※2013.12.4完成版(おそらく) ※おそらく任意の条件で正常な結果を返せますが、プログラムのバグで厳密な最大値が出ていなくても責任は負えません。 ※最長しりとりが複数通り存在する場合、そのうち一つの結果しか表示されません。 ※ひらがな・カタカナは区別されます。濁点半濁点の有無を区別するかは選択可能です(デフォルトでは区別されません)。
アルゴリズムを理解するのにビジュアル化することは非常に有効で、プログラムをビジュアル化することで理解が進むのもまた同じ。そこで、アルゴリズム・プログラミングの理解が進むようにと、アルゴリズムを記述したプログラムコードを一挙にビジュアル化することで、アルゴリズム&プログラミングを同時に学習できる一挙両得なサービス「VisuAlgo」が公開されています。 VisuAlgo - visualising data structures and algorithms through animation https://visualgo.net/en 上記のVisuAlgoサイトで試しにソートアルゴリズムの基本プログラム「バブルソート」をビジュアル化してみます。「Sorting」の「bubble」をクリック。 検索窓の下に「bubble」と表示されたのを確認したら「Sorting」の画像をクリック。
今回は機械学習アルゴリズム、SCW(Exact Soft Confidence-Weighted Learning)の紹介です。 まずはどれだけすごいか見てみてください。 使用しているデータセットはscikit-learnの手書き文字認識用のものです。 上がSCW、下がscikit-learnのSVCで学習、分類した結果です。timeは学習にかかった時間、accuracyは精度を表しています。 結果を見ればわかるように、SCWは非常に高速に学習することができます。 また、SCWは逐次学習が可能です。すなわち、データをひとつずつ入力しても学習することができます。つまり、データを全てメモリ上に展開して学習させなくてもよいのです。 精度はデータセットに依存します。というのも、SCWは線形分類器だからです。 線形分離不可能なデータに対してはSCWでは精度が落ちてしまいますが、線形分離可能、もしくは
先日、TimSortというソートアルゴリズムが話題になりました。TimSortは、高速な安定ソートで、Python(>=2.3)やJava SE 7、およびAndroidでの標準ソートアルゴリズムとして採用されているそうです。 C++のstd::sort()よりも高速であるというベンチマーク結果1が話題になり(後にベンチマークの誤りと判明)、私もそれで存在を知りました。実際のところ、ランダムなデータに対してはクイックソート(IntroSort)ほど速くないようですが、ソートというシンプルなタスクのアルゴリズムが今もなお改良され続けていて、なおかつ人々の関心を引くというのは興味深いものです。 しかしながら、オリジナルのTimSortのコードは若干複雑で、実際のところどういうアルゴリズムなのかわかりづらいところがあると思います。そこで今回はTimSortのアルゴリズムをできるだけわかりやすく解
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く