アルゴリズムは 、問題を解決したりタスクを実行したりする ことを目的として体系的に実行される 一連の命令またはコマンド です。
「アルゴリズム」という言葉は、9 世紀に生き、数学の方程式の規則を説明したアラビアの数学者 アル・フワリズミ を指します。
アルゴリズムはケーキのレシピのようなもので、最終目標であるケーキの完成を達成するために実行する必要がある一連のアクションです。
アルゴリズムは、単純な日常業務だけでなく、インターネット上の消費者の行動を識別する複雑なコンピューター プログラムにも適用されます。
たとえば、コンピューター、 スマートフォン 、 タブレット のすべての機能はアルゴリズムの結果です。これらのマシンは、わずか数秒で数十億のコマンドを実行できます。
アルゴリズムの例
アルゴリズムは、コンピューター プログラミングやインターネット、特に検索エンジンやソーシャル ネットワークでも使用されます。
検索エンジンのアルゴリズム ( Google )
最も記憶に残る例の 1 つは、 Google 検索エンジンのアルゴリズムです。このアルゴリズムは、検索結果がユーザーに表示される方法を整理するためにいくつかの操作を実行します。
ユーザーが Google で「民主主義とは」などのキーワードを検索すると、表示される結果の順序は、その位置に結果を配置するためにアルゴリズムが実行したいくつかの計算に応じて決まります。
これらの計算は、コンテンツの品質と最新性、コンテンツが配置されている Web サイトの品質、ユーザーがそのページに滞在する傾向のある時間など、いくつかの変数に基づいています。
Google のアルゴリズムは非常に複雑であり、より良いエクスペリエンスを提供し、ユーザーに最良の結果を提供するために随時更新されます。
ソーシャルネットワークのアルゴリズム
ソーシャル ネットワークも複雑なアルゴリズムでプログラムされています。たとえば、 Facebook 、 Instagram 、 Twitter フィードでは 、ユーザーの行動に基づいて投稿や広告が表示されます。
つまり、友達の投稿すべてがあなたの フィード に表示されるわけではありません。これらのソーシャル ネットワークのアルゴリズムは、ユーザーの好みに応じて最も意味のあるものを選択します。
たとえば、 EdgeRank と呼ばれる Facebook のアルゴリズムは、次のようないくつかの要素に従って、ユーザーに最も関連性の高いコンテンツを選択します。
- お気に入りの出版物やページ。
- あなたが交流する人々。
- コメントを残すページ。
- あなたの株。
Spotify は 、アルゴリズムを使用してユーザーによりパーソナライズされたエクスペリエンスを提供するアプリとソーシャル ネットワークのもう 1 つの例です。アプリケーションは毎週、「今週の発見」と呼ばれる プレイリスト を提供します。
この プレイリストには、 ユーザーがアプリで再生したことはないが、普段聴いている他の曲に似ている 30 曲が含まれています。
目的は、ユーザーがまだ知らない曲やバンドをユーザーに提示することですが、それらはおそらくユーザーの音楽的趣味と互換性があります。
ソーシャルネットワークで使用されるアルゴリズムも変更される可能性があります。この良い例は YouTube です。当初、プラットフォームは再生回数が最も多いビデオを優先していました。
しかし、 クリックベイト や ウェブ ロボット ( ボット )、つまり再生回数のカウントをだまし、人為的に再生回数を増やすトリックが急増したため、 YouTube は アルゴリズムの指標を変更し、動画の視聴時間を優先するようになりました。
計算プログラミングにおけるアルゴリズム
すべてのマシンとコンピューター プログラムは、タスクの完了につながる有限のアクションのシーケンスに基づいて動作するため、アルゴリズムはプログラミングにとって非常に重要な概念です。
プログラマーの役割は、タスクのすべてのステップを考え、コンピューターが実行できるようにそれらを客観的かつ明確に記述することです。
例としては、学生が特定の科目に合格したか不合格かを示すプログラムが挙げられます。最終成績が学期中に受けた 2 回のテストの平均であることを考慮すると、コマンドは次のようになります。
- 実施された 2 つのテストの成績を収集します。
- それらの間の算術平均を計算します。
- 結果が 7 より大きい場合、学生は合格です。
- 結果が 7 未満の場合、その生徒は不合格です。
ただし、コンピューターはこのように書かれた言語を理解できないため、プログラマーはこれらのコマンドをプログラミング言語に「翻訳」する必要があります。プログラミング言語の例としては次のようなものがあります。
- ジャワ
- C言語
- C++言語
- C#言語
- パイソン
アルゴリズムの操作はマシンによって非常に迅速に実行されます。たとえば、一般的なノートブックは通常、1 秒あたり 10 億回を超える操作を実行します。
この動作速度は計算の世界に革命をもたらしました。人間が実行するには数日、数か月、場合によっては数年かかる計算を、機械は非常に短い時間で実行できるからです。
アルゴリズムを日常生活に応用する
アルゴリズムは、代数方程式の規則を記述するために数学で発生しますが、問題を解決しようとする一連の有限アクションに適用できます。
私たちが日常的に実行するすべてのタスクはアルゴリズムに変換でき、決定された目的を達成するために必要なすべてのアクションを解明するだけです。
たとえば、コーヒーを準備するためのアルゴリズムを作成した場合、次の手順を実行できます。
- 水を沸騰させる。
- 粉末をフィルターに入れます。
- 水を止めます。
- コーヒー粉に水を通します。
コンピュータで使用されるアルゴリズムはより複雑であり、可能性も伴います。インターネットブラウザ上にマウスを置く例を考えてみましょう。
画面を閉じるコマンドは、次のことを理解するアルゴリズムによって与えられます。
- マウスで「x」をクリックした場合は、ページを閉じる必要があります。
- マウスで「x」をクリックしない場合は、何もする必要はありません。
このアルゴリズムはフローチャートで構成できます。
基本的に、アルゴリズムは入力データ、処理データ、出力データで構成されます。この構造は、電卓の例で簡単に理解できます。
- 入力データ :実行する値と操作
- 処理 :機械による計算
- 出力データ :演算結果
参考文献:
- オリヴェイラ、ジェイル F.マンツァーノ、ホセ・アン アルゴリズム : コンピューター プログラミング開発のためのロジック。サンパウロ:エリカ/サライバ、2016年。
-
CORMEN、Thomas H. 他 。 アルゴリズム : 理論と実践。アムステルダム:エルゼビア、2012 年。
以下も参照してください。
参考資料
参考画像一覧
参考動画一覧
線形方程式の解法 / HHL アルゴリズム
Will It Re-Render? React Game Show
Replace all HEADER FIlES with one SINGLE HEADER FILE in C++ | Coding Tips #shorts
How To Remove Stopwords From Text with nltk in python | Natural language processing (NLP) Help





























