約 1,380,005 件
https://w.atwiki.jp/dooooornob/pages/20.html
アルゴリズムとは? あるデータを集めてきて統計学者さんなんかに見せるとそこから色々な情報を提供してくれます。 ではこれが「学者」みたいな人ではなく、手続き―つまり、このようにすれば持ってきたデータから所望のデータを得られるという手順―のことをアルゴリズムと言います。 以下では種々の用語を定義していきます。 1)入力(input)・・・アルゴリズムに与えるデータのこと。学者の例で言えば集めたデータ。 2)出力(output)・・・アルゴリズムから得られるデータ。 3)入力の大きさ(input size)/問題の大きさ(problem size)・・・与える入力データの数のこと。 アルゴリズムの優劣 入力をいれて出力を取り出すこの「アルゴリズム」というのは非常に広範な概念です。 たとえば、「1~100までの数を入力して、その合計を出力する」といったようなアルゴリズムを考えることができます。 さて、これを解くための最も堂々たる単純な方法はすべて足しあげることですね。 1+2+3+…=? 少なくとも手計算で流行りたくないですね。これを簡単に計算する方法として有名(?)な次の方法があります。 1)一番小さい数と一番大きい数を足し合わせる。この和をXとする。(この場合 X=1+100=101) 2)この数は「k番目に小さい数とk番目に大きい数を足し合わせた数」として一般化できる。(例えばk=3ならば 3+98=101でXと同じ数になる) 3)よって、入力の数nの半分 n/2 個の組み合わせの和がすべて1)で求めた数Xになるので、が求める答えになる。(n=100なので、101×100/2=5050が答え) さて、初めの地道に足し合わせる方法と、上の方法、どちらが「優秀」なアルゴリズムかというのは言うまでもないと思います。 このように、ある結果を求めるためにどの程度計算が必要なのか、という指標を計算量と言います。 オーダーという概念 前節のことをまとめれば「計算量が少ないほど、そのアルゴリズムは優秀」ということになります。 しかし、たとえば「4個の数を地道に足しあげる」のか「5000個の数を『優秀』な方法で足しあげる」のか、どちらが早いかといわれるといくら「優秀」なアルゴリズムでも負けてしまいそうです。 直感的にも明らかですが、アルゴリズムの計算量というのは入力の数nが増えれば増える程増加する場合がほとんどです。 (nが増えても計算量が変わらないことはありますが、少なくとも計算が簡単になることはないでしょう。) ですからただ単に計算量が多いか少ないかではなくて、「nが増えることによってどの程度計算量が大きくなるのか」ということで考える方が、よりいい指標になりそうです。 そこで次の定義があります。 [定義]関数および任意の実数$a$に対して が成立しているとき と表記する。またfはgで押さえられているといったり、fはgのオーダーであると言ったり。 さらに、ここで使われた記号のをランダウの記号と言います。 要するに「単純に計算量だけで比較しちゃダメ」だということだから、入力に対する「関数」と比較してしまえ、ということです。 複雑度 さて、今までは計算量だけで物事を考えてきましたが、計算機でアルゴリズムを動かす時にはもう一つ『容量』の概念が重要です。 入力nが増えるにしたがって爆発的にメモリを食ってしまうような計算はいくら早くても稼働させることができないからです。 ここで以上の2つのアルゴリズムに関する指標、計算量のオーダーの事を時間複雑度(time complexity)、記憶容量のオーダーのことを空間複雑度(space complexity)と言います。 またこれらを合わせて複雑度(complexity)といいます。
https://w.atwiki.jp/kuronekonene/pages/54.html
阪大 過去問 基本アルゴリズム
https://w.atwiki.jp/projectpn/pages/37.html
古今東西の様々な素数判定・素因数分解アルゴリズム。 まだ作りかけです。 基本 試し割り法(trial division) 単一の数字の素数判定に向いているアルゴリズム 確率的素数判定アルゴリズム フェルマーテスト(Fermat primality test) Solovay-Strassen素数判定法(Solovay-Strassen primality test) ミラー・ラビン素数判定法(Miller–Rabin primality test) Baillie-PSW素数判定法 決定的素数判定アルゴリズム AKS素数判定法 楕円曲線素数証明 特殊な数にのみ使えるアルゴリズム リュカ-レーマーテスト(Lucas-Lehmer primality test) 多数の数字の素数判定に向いているアルゴリズム エラトステネスの篩 アトキンの篩 素因数分解アルゴリズム p-1法 p+1法 ポラード・ロー法
https://w.atwiki.jp/tokuyamalab/pages/15.html
ランダムアルゴリズム Randomized Algorithms アルゴリズムの実行時に乱数を利用したアルゴリズムのこと。
https://w.atwiki.jp/dentu-os/pages/18.html
OSがページアウトするページを決める際のアルゴリズムとしてLRUがある。 これは最も参照されていない期間が長いページをページアウトするアルゴリズムである。 しかしながら、すべてのページついて参照された時刻を記録して比較することは あまりに大きなオーバーヘッドとなるため、近似的なアルゴリズムを用いることになる。 一つの考え方としてページに付加されたrefarence bitとdirty bitを利用する方法がある。 refarence bit read時にsetされる。 dirty bit 更新時にsetされる。 これを利用した置換アルゴリズム 1.OSが定期的にrefarence bit とdirty bit をclearする。 2.ページング処理ではclearされているページを選ぶ
https://w.atwiki.jp/bonchu/pages/27.html
ソートアルゴリズム ある数字列を並び替えるにはどのようなアルゴリズムがあるだろうか。 クイックソート 一番左の数字を基準にそれより大きいほうと小さいグループに分ける。分けたグループ内で同じことをし、グループが全て単体になったらソート完了 最も早い。標準Nlog(N)、最大N^2 マージソート 要素を分割していき、単体から順にソートしながらマージしていく。 比較的早い。標準・最大Nlog(N) ヒープソート 挿入ソート バブルソート 一番左の数字と二番目の数字を比較し、大きいほうを右側にする。次に二番目と三番目で同じことを行い、三番目と四番目、四番目と五番目とソートしていく 最も単純で遅い
https://w.atwiki.jp/tellia/pages/21.html
遺伝的アルゴリズムとは 遺伝的アルゴリズムとは適応によって最適解を導きだすアルゴリズムの一つである。 その仕組みはまず、理想の状態がベクトルx=(a1,a2,a3,a4,...)で表されるとする。 報酬関数E(x) 0を導入しこの値が小さければ状態が理想に近づくということとにする。 以下のアルゴリズムを用いて最適解を求める。 交差 x=(a1,a2,a3,...) y=(b1,b2,b3,...) これら二つのベクトルのn番目以降の要素を入れ替える。nはランダムに決まる。 つまり x =(a1,a2,...,an-1,bn,bn+1,...) y =(b1,b2,...,bn-1,an,an+1,...) という二つのベクトルを新たに生成する。 選択 ルーレット式選択 E()の値をもとにより最適解に近いベクトルが生き残る確率が高くなるようにして ランダムにベクトルを消去する。 突然変異 低い確率でたまにの一成分を変化させる。 =(a1,a2,a3,...an,...) ↓ =(a1,a2,a3,...a n,...) これらを繰り返すことで最適解を得る。 しかし初期値によっては極大値に収束してしまうなどの問題もはらんでいる。
https://w.atwiki.jp/jyohousyori/pages/17.html
FIFO First In First Outの略で先入先出しのこと。最も昔にロードされたものを置換え対象とするアルゴリズムです。 LFU Least Frequently Usedの略。最も使用頻度(回数)の少ないものを置換え対象とするアルゴリズムです。 LIFO Last In First Outの略で後入先出しのこと。最も新しくロードされたものを置換え対象とするアルゴリズムです。 LRU Least Recently Usedの略。"最後に参照された時刻"が、最も昔であるものを置換え対象とするアルゴリズムです。
https://w.atwiki.jp/inclurithm/pages/49.html
会話インクルードのアルゴリズムA 一口に会話インクルードといっても、その機能を表現するアルゴリズムは無限に存在すると言ってもいいでしょう。 それらのアルゴリズムの中からサンプルとして一つの形を取り上げ、それについて紹介と解説をしていきます。 アルゴリズムのスケルトン タグを処理するアルゴリズム
https://w.atwiki.jp/utauuuta/pages/725.html
ふかくていあるごりずむ【登録タグ ふ 三日月P 曲 樹神 歌造ツバメ】 作詞:樹神 作曲:三日月P 編曲:三日月P 唄:歌造ツバメ 曲紹介 ツバメさんの誕生日が近いので作りました。ツバメさんはおれのよm(ry (動画説明文より転載) 歌詞 言葉は記号の集まりで 君に贈りたい言葉さえ 脳から伝わる命令なのだとしても 僕は言葉にするよ 人口言語でも 愛を語ることできるけど そうじゃない それじゃない 僕が求めるのは アルゴリズムが正しくなくてもいい 君に届けばそれでいい 僕の心を電子分解しても 君への想いは変わらないだろう 世界が少しずつ寂れて いつしか大切な言葉さえ 廃れて忘れられてしまうのだとしても 僕は覚えているよ コピーではなくて オリジナルを君にあげたい 嘘じゃない 本当だ 僕が言いたいのは アルゴリズムが正しくなくてもいい 君が分かればそれでいい 0と1の間 君と一緒なら 探せるだろうとデータが告げた 言葉の並びに意味がある 形も音にも意味がある 君からたくさん教えてもらったから 僕は知っているよ 君からもらった 命令を守り続けよう できるのは それだけだ 僕が残せるのは アルゴリズムが正しくなくてもいい 君といれればそれでいい メモリの中の君はいつも笑顔で 優しい想いを運んでくれた 約束の地で今日も僕は 君を待っているから 朽ちる前 散る前に 早く早く 早く来てください コメント 名前 コメント