たくさん学びました!世界で最も遅いソートアルゴリズム!

たくさん学びました!世界で最も遅いソートアルゴリズム!

今日は、世界で最も遅いソートアルゴリズムである Bogo ソートについてお話ししたいと思います。

では、早速擬似コードを見てみましょう。

  1. int bogo_sort(int& arr[], int n){
  2. while( false == is_sorted(arr[n])){
  3. ランダムシャッフル(arr[n]);
  4. }
  5. 0を返します。
  6. }

このゲームがモンキーソーティングと呼ばれる理由は、猿がキーボードをランダムに長く叩くと、シェイクスピアの詩を入力できるという喩えから来ています。

疑似コードを見ると、中心となる考え方が次のとおりであることが簡単にわかります。

(1)ソートする配列が順序どおりであるかどうかを判定する。順序どおりであれば、完了したソートを返す。

(2)配列が乱れている場合は、配列をランダムにシャッフルする。

(3)(1)を繰り返す。

実行時間が十分に長く、ランダム回数が十分に長い限り、常にソートされた結果が得られます。これは世界で最も遅いソートアルゴリズムとして知られています。

それで、質問は、このソートの用途は何なのかということです。

私が思いつくのは、大学のアルゴリズムの授業で時間計算量の導出演習をすること、就職面接で時間計算量の計算を問われること、あるいは自分の知性を誇示するための話題くらいです。それ以外は、何の役にも立たないように思えます。

このソートアルゴリズムの時間計算量はどれくらいですか?

簡単に分析してみましょう。

n 個の要素がランダムにシャッフルされた n! の組み合わせがあります。

  • ソートが成功する確率は p1 = 1/n! であり、ソートが失敗する確率は p2 = 1-p1 です。
  • 2 回のソートが成功する確率は p2*p1 です。ナレーション: 1 回目は失敗し、2 回目は成功しました。
  • 3 回のソートが成功する確率は p2^2*p1 です。ナレーション: 最初の 2 回は失敗し、3 回目は成功しました。
  • k 回のソートが成功する確率は p2^(k-1)*p1 です。ナレーション: 最初の k-1 回は失敗し、k 回目は成功しました。

したがって、ソートが成功すると予想される平均数は次のようになります。

E(X) = 1 回 * 1 回の成功の確率 + 2 回 * 2 回の成功の確率 + 3 回 * 3 回の成功の確率 + ... + k 回 * k 回の成功の確率 + ...

今すぐ:

最後に、大学で学んだ無限級数の数学的知識に基づくと、その時間計算量は O(n*n!) であり、階乗レベルのアルゴリズムであることが「簡単に」わかります。

[この記事は51CTOコラムニスト「58 Shen Jian」によるオリジナル記事です。転載については原作者までお問い合わせください。]

この著者の他の記事を読むにはここをクリックしてください

<<:  ロボットは「赤ちゃんを作る」こともできる:世界初の生きたロボットが生命の新たな繁殖方法を生み出す

>>:  人気の説明: キャッシュ、キャッシュ アルゴリズム、キャッシュ フレームワークの概要

ブログ    
ブログ    
ブログ    

推薦する

1.3MB の超軽量 YOLO アルゴリズム!すべてのプラットフォームで利用可能、45% 高速 | オープンソース

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

人工知能が都市の健康に革命をもたらす方法

今日、健康は精神的、社会的、政治的、経済的、都市的健康など、さまざまな分野に関連しています。今日、都...

人工知能業界では無視できない技術分野「ナレッジグラフ」

[[384932]] 2012 年に、Google は Metaweb から派生した Knowle...

ブロックチェーンが人工知能に役立つ10の方法

ここでは、ブロックチェーンが AI を支援する 10 の方法と、それがもたらすメリットについて説明し...

Transformer のコンテキスト学習機能はどこから来るのでしょうか?

トランスフォーマーはなぜ優れたパフォーマンスを発揮するのでしょうか?多くの大規模言語モデルにもたらさ...

旅の途中を超えて?文脈学習に基づく画像拡散モデルのトレーニング [Frontiers]

1. 背景知識 - テキスト画像生成の現状まずは背景知識をご紹介します。テキスト画像生成モデルにつ...

5G と AI のユースケース - 5G が人工知能の実装にどのように役立つか

マイケル・バクスター氏は、5Gは人工知能の可能性を解き放つだろうと語った。しかし、AI と 5G は...

2020 年の人工知能におけるトップ 10 の技術進歩

[[373610]]編集者注: 2020年が過ぎようとしています。今年、人工知能の分野ではどんな大き...

スマートビルディングテクノロジーを導入する前に考慮すべき7つのこと

スマートビルディングの設備やシステムを評価する際には、体系的なアプローチを取る必要があります。これら...

ゼロコード機械学習の秘密

この段階では、人工知能の応用シナリオが増加し、市場規模が拡大しており、機械学習の価値がますます顕著に...

...

...

FacebookがFaissオープンソースリソースライブラリをリリース。精度と効率をトレードすることが機械学習の発展方向となるのか?

[51CTO.com クイック翻訳] 機械学習の分野では、データセット内の類似性を実現するために使...

住宅地での顔認識が論争を巻き起こす。所有者には「好意を示すことを拒否する」権利がある

[[349278]]今は「顔を見る時代」であり、「顔をスキャンする時代」でもあります。明らかに、後者...