コンピュータアルゴリズムとは何ですか。どのように動作しますか?

目次:

コンピュータアルゴリズムとは何ですか。どのように動作しますか?
コンピュータアルゴリズムとは何ですか。どのように動作しますか?
Anonim
数学やプログラミングに参加していない限り、「アルゴリズム」という言葉はあなたにとってギリシャ語かもしれませんが、この記事を読むために使用しているすべての要素のビルディングブロックの1つです。ここでは、それらが何であるか、どのように機能するかについて簡単に説明します。
数学やプログラミングに参加していない限り、「アルゴリズム」という言葉はあなたにとってギリシャ語かもしれませんが、この記事を読むために使用しているすべての要素のビルディングブロックの1つです。ここでは、それらが何であるか、どのように機能するかについて簡単に説明します。

免責事項:私は数学やコンピュータサイエンスの教師ではないので、私が使用する用語のすべてが技術的なものではありません。それは、私が平易な英語ですべてを説明しようとしているからです。それは数学が関わっていると言われており、やむを得ないことです。数学のオタクたちは、コメントを修正するか自由に説明してください。しかし、数学的に私たちの間で嫌われているので、それを簡単にしておいてください。

イメージ イアン・ルオサラ

アルゴリズムとは何ですか?

「アルゴリズム」という言葉は、「代数」に類似した語源を持っていますが、それはアラブ人の数学者自身、アル=クワリツミ(単なる興味深いお菓子)を指しています。私たちの中で非プログラマのためのアルゴリズムは、入力Aを受け取り、何らかの方法で関与するデータを変更する出力Bを提供する一連の命令です。アルゴリズムにはさまざまなアプリケーションがあります。数学では、より高度なものの中から、データセット内のポイントから関数を計算するのに役立ちます。プログラム自体での使用とは別に、ファイル圧縮やデータ暗号化などの主要な役割を果たします。

命令の基本セット

あなたの友人が食料品店でお会いしており、あなたが彼をあなたの方に導いているとしましょう。あなたは、「右側のドアを通って来てください」、「左側の魚セクションを渡してください」、「乳製品を見ればあなたは私を渡しました」といったようなことを言います。我々は、フローチャートを使用して、事前に知っている基準に基づいて手順を説明するか、プロセス中に見つけ出すことができます。

(「Icebreaking Routine」というタイトルの画像編集:Trigger and Freewheelの礼儀)
(「Icebreaking Routine」というタイトルの画像編集:Trigger and Freewheelの礼儀)

STARTから、あなたは道を下り、何が起こったかに応じて、「流れ」を最終結果に追いかけるでしょう。フローチャートは、コンピュータによって使用される一連の命令をより理解しやすく表現できるビジュアルツールです。同様に、アルゴリズムは、より多くの数学ベースのモデルでも同様に役立ちます。

グラフ

グラフを使って指示を与えるさまざまな方法を説明しましょう。

このグラフは、すべてのポイント間の接続として表現できます。この画像を再現するために、他の人に一連の指示を与えることができます。
このグラフは、すべてのポイント間の接続として表現できます。この画像を再現するために、他の人に一連の指示を与えることができます。

方法1

これを一連の点として表すことができ、その情報はgraph = {(x1、y1)、(x2、y2)、…、(xn、yn)}の標準形式に従う。

graph = {(0,0), (3,0), (3,3), (5,5), (7,10), (8,7), (9,4), (10,1)}

各点を順番にプロットして、前の点に接続するのはかなり簡単です。しかし、千点または複数のセグメントがすべてどのように行っているかを想像してください。そのリストにはたくさんのデータがあるでしょうか?そして、一度に1つずつ接続する必要があり、痛みを伴うことがあります。

方法2

私たちができるもう一つのことは、始点、それと次の点との間の線の傾きを与え、次の点を標準のグラフ= {(始点)、[m1、x1、h1 x、yのいずれであるかを問わず、 'h'はどのようにしてどのようにカウントされるのかを示す変数です(m、xn、hn)それぞれの動きの後にポイントをプロットすることも覚えておくことができます。

graph = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,1], [-3,x,1], [-3,x,1]}

あなたは同じグラフで終わるでしょう。この式の最後の3つの項は同じであることがわかります。そのため、「何度も繰り返す」という言い方をすると、それを取り除くことができます。変数 'R'が表示されるときはいつでも、最後のことを繰り返すことを意味します。できるよ:

graph = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,1], [R=2]}

もし個々の点が本当に重要ではなく、グラフ自体だけはどうでしょうか?最後の3つのセクションを次のように統合することができます:

graph = {(0,0), [0,x,3], [0,y,3], [1,x,2], [2.5,x,2], [-3,x,3]}

以前の場所から少し上に物事を短縮します。

方法3

これを別の方法で試してみましょう。

y=0, 0≤x≤3 x=0, 0≤y≤3 y=x, 3≤x≤5 y=2.5x-7.5, 5≤x≤7 y=-3x+29, 7≤x≤8 y=-3x+29, 8≤x≤9 y=-3x+29, 9≤x≤10

ここでは、純粋な代数学の言葉でそれを持っています。もう一度、ポイント自体は問題ではなく、グラフだけがそうであれば、最後の3つのアイテムを統合することができます。

y=0, 0≤x≤3 x=0, 0≤y≤3 y=x, 3≤x≤5 y=2.5x-7.5, 5≤x≤7 y=-3x+29, 7≤x≤10

さて、どの方法を選ぶかはあなたの能力によって決まります。おそらく、数学とグラフ作成には優れているので、最後のオプションを選択してください。たぶんあなたがナビゲートしているので、2番目のオプションを選択することができます。しかし、コンピュータの分野では、さまざまな種類のタスクを実行しており、コンピュータの能力は実際には変化しません。したがって、アルゴリズムは、完了したタスクに対して最適化されます。

注意すべきもう一つの重要な点は、各メソッドがキーに依存していることです。命令の各セットは、あなたがそれらと何をするべきかを知らない限り無用です。それぞれの点をプロットして点を結ぶはずがわからない場合、最初の点集合は何も意味しません。 2番目の方法で各変数の意味を理解していない限り、暗号のキーのように、変数の適用方法はわかりません。そのキーは、アルゴリズムを使用するうえで不可欠な要素でもあり、そのキーはコミュニティや「標準」を介して検索されることがよくあります。

ファイルの圧縮

.zipファイルをダウンロードすると、その中にあるものを使用できるように内容が抽出されます。今日、ほとんどのオペレーティングシステムは、通常のフォルダのように.zipファイルに潜り込み、バックグラウンドですべてを実行できます。 10年以上前の私のWindows 95マシンでは、手動ですべてを抽出してから、ファイル名以上のものを見ることができました。これは、ディスク上に.zipファイルとして格納されていたものが、使用可能な形式ではないためです。プルアウトソファを考えてみましょう。あなたはベッドとして使用したいときは、クッションを取り外して展開しなければなりません。あなたがそれを必要としないとき、またはそれを運ぶときは、それを元に戻すことができます。

圧縮アルゴリズムは、対象とするファイルの種類に合わせて調整され、最適化されます。例えば、オーディオフォーマットは、オーディオコーデックによってデコードされたときに元の波形に類似したサウンドファイルを提供するデータを格納するために、異なる方法を使用します。これらの相違点の詳細については、前の記事「すべてのオーディオ形式の違いは何ですか?」を参照してください。無損失のオーディオ形式と.zipファイルは、共通して1つのことがあります。元のデータは、元のデータを元の形式に戻します。損失の多いオーディオコーデックでは、人間の耳に聞こえない周波数をトリミングしたり、セクション内の波形を滑らかにして細かい部分を取り除くなど、ディスクスペースを節約するための他の手段を使用します。最終的には、MP3とCDトラックの違いを実際に聞くことはできないかもしれませんが、前者の情報の欠如は間違いありません。

データ暗号化

アルゴリズムは、データまたは通信回線を保護するときにも使用されます。ディスクスペースを少なくするようにデータを格納するのではなく、他のプログラムでは検出できない方法で格納されます。誰かがあなたのハードドライブを盗み出し、それをスキャンし始めると、データの転送先がなくなっても、データ自体が残っているので、ファイルを削除してもデータを取り込むことができます。データが暗号化されている場合、格納されているものは何でも見えません。通常、断片化が時間の経過とともに蓄積しているかのように、ランダムに見えます。データを保存して別の種類のファイルとして表示することもできます。画像ファイルや音楽ファイルは、例えば疑惑を引かないとかなり大きくなる可能性があるため、これには適しています。これらのすべては、ある種の入力を受け取り、他の非常に特殊なタイプの出力に変換する数学的アルゴリズムを使用して行われます。暗号化の仕組みの詳細については、HTG Explains:暗号化とは何か、それはどのように機能するのかをチェックしてください。
アルゴリズムは、データまたは通信回線を保護するときにも使用されます。ディスクスペースを少なくするようにデータを格納するのではなく、他のプログラムでは検出できない方法で格納されます。誰かがあなたのハードドライブを盗み出し、それをスキャンし始めると、データの転送先がなくなっても、データ自体が残っているので、ファイルを削除してもデータを取り込むことができます。データが暗号化されている場合、格納されているものは何でも見えません。通常、断片化が時間の経過とともに蓄積しているかのように、ランダムに見えます。データを保存して別の種類のファイルとして表示することもできます。画像ファイルや音楽ファイルは、例えば疑惑を引かないとかなり大きくなる可能性があるため、これには適しています。これらのすべては、ある種の入力を受け取り、他の非常に特殊なタイプの出力に変換する数学的アルゴリズムを使用して行われます。暗号化の仕組みの詳細については、HTG Explains:暗号化とは何か、それはどのように機能するのかをチェックしてください。

アルゴリズムは、コンピュータサイエンスでさまざまな用途を提供する数学的ツールです。彼らは、一貫した方法で開始点と終了点の間にパスを提供し、それに従うための指示を提供します。私たちが強調した以上のことを知っていますか?コメントにあなたの説明を共有してください!

人気のあるトピック

専門家の助言