アルゴリズムは、問題の解決やタスクの実行を目的として体系的に実行される一連の命令またはコマンドです。
「アルゴリズム」という言葉は、9世紀に住んでいたアラビアの数学者Al Khowarizmiを指し、数式の規則を説明しています。
アルゴリズムはケーキのレシピのようなものです。最終目標である完成したケーキに到達するまで実行する必要のある一連のアクションです。
アルゴリズムは、単純な日常のタスクから、インターネット上の消費者の行動を識別する複雑なコンピュータープログラムやツールに適用されます。
すべてのコンピュータ機能、 スマートフォン そして タブレットたとえば、はアルゴリズムの結果です。 これらのマシンは、数秒で数十億のコマンドを実行できます。
アルゴリズムの仕組みの例
アルゴリズムは、代数方程式の規則を記述するために数学で発生しますが、問題を解決しようとする一連の有限アクションに適用できます。
私たちが日常的に実行するすべてのタスクは、アルゴリズムに変換できます。決定された目的を達成するために必要なすべてのアクションを解明するだけです。
たとえば、コーヒーを準備するためのアルゴリズムを作成した場合、次の手順を実行できます。
- 水を沸騰させます。
- 粉末をフィルターに入れます。
- 水を止めます。
- コーヒーパウダーに水を通します。
コンピュータで使用されるアルゴリズムはより複雑であり、可能性も伴います。 インターネットブラウザ上でのマウスの例を考えてみましょう。
画面を閉じるコマンドは、次のことを理解するアルゴリズムによって与えられます。
- マウスが「x」をクリックした場合は、ページを閉じる必要があります。
- マウスが「x」をクリックしない場合は、何もする必要はありません。
このアルゴリズムは、フローチャートで構成できます。
基本的に、アルゴリズムは入力データで構成されています(入力)、データの処理と出力(出力). この構造は、電卓の例で簡単に理解できます。
- 入力データ: 実行する値と操作
- 処理: マシンによって実行される計算
- 出力データ: 操作の結果
アルゴリズムはコンピュータープログラミングで使用されます
すべてのマシンとコンピュータープログラムは、タスクの実行につながる一連の有限アクションから動作するため、アルゴリズムはプログラミングにとって非常に重要な概念です。
コンピュータとソフトウェアのプログラミングを行う人の役割は、タスクのすべてのステップについて考え、コンピュータがそれらを実行できるように客観的かつ明確な方法でそれらを説明することです。
例としては、学生が特定の科目に合格したかどうかを示すプログラムがあります。 最終成績が学期に行われた2つのテストの平均であることを考慮すると、コマンドは次のようになります。
- 実行された2つのテストで成績を収集します。
- それらの間の算術平均を計算します。
- 結果が7より大きい場合、学生は合格しました。
- 結果が7未満の場合、学生は失敗しています。
ただし、コンピューターはこのように記述された言語を理解しないため、プログラマーはこれらのコマンドをプログラミング言語に「翻訳」する必要があります。 のいくつかの例 プログラミング言語 彼らです:
- Java
- C言語
- C ++言語
- C言語#
- Python
アルゴリズムの操作は、マシンによって非常に迅速に実行されます。 たとえば、一般的なノートブックは、通常、1秒あたり10億を超える操作を実行します。
この操作速度は、人間が実行するのに数日、数か月、さらには数年かかる非常に短い時間で計算を実行できるため、計算の世界に革命をもたらしました。
インターネット上のアルゴリズム
アルゴリズムは、インターネット、特に検索エンジンやソーシャルネットワークでも使用されています。
検索エンジンでのアルゴリズムの使用
最も記憶に残っている例の1つは、Google検索エンジンアルゴリズムです。このアルゴリズムは、さまざまな操作を実行して、検索結果がユーザーに表示される方法を整理します。
ユーザーがGoogleで「民主主義とは」などのキーワードを検索すると、 表示される結果は、アルゴリズムがそれらをその中に入れるために実行したいくつかの計算に依存します ポジション。
これらの計算は、コンテンツの品質と適時性、コンテンツが掲載されているサイトの品質、ユーザーがそのページにとどまる傾向がある時間など、いくつかの変数に基づいています。
Googleのアルゴリズムは非常に複雑であり、より良いエクスペリエンスを提供し、ユーザーに最高の結果を提供するために、随時更新されます。
ソーシャルネットワークでのアルゴリズムの使用
ソーシャルネットワークも複雑なアルゴリズムでプログラムされています。 君は フィード たとえば、Facebook、Instagram、Twitterは、ユーザーの行動に応じて投稿や広告を表示します。
これは、友達からのすべての投稿があなたの投稿に表示されるわけではないことを意味します。 フィード. これらのソーシャルネットワークのアルゴリズムは、好みに応じて最も意味のあるものを選択します。
Facebookのアルゴリズムは、 EdgeRankたとえば、次のようないくつかの要因に従って、最も関連性の高いコンテンツを選択します。
- あなたが好きな出版物やページ;
- あなたが交流する人々;
- コメントを残すページ。
- あなたの株。
Spotifyは、アルゴリズムを使用してユーザーにさらにパーソナライズされたエクスペリエンスを提供するアプリとソーシャルネットワークのもう1つの例です。 アプリは毎週提供しています プレイリスト 「今週の発見」と呼ばれます。
それ プレイリスト アプリでユーザーが再生したことのない30曲が含まれていますが、これはユーザーが通常聴いている他の曲と似ています。
目的は、ユーザーがまだ知らない曲やバンドをユーザーに提示することですが、それはおそらく彼の音楽の好みと互換性があります。
の意味も参照してください ソフトウェア そして ハードウェア.