コンピューティング技術を変えた偉大なアルゴリズムを数えてみましょう

コンピューティング技術を変えた偉大なアルゴリズムを数えてみましょう

これまで、多くの独創的なコンピュータ アルゴリズムの設計が私たちのコンピューティング技術を変えてきました。標準的なコンピュータが提供する中間演算子を操作することで、多くの効率的な関数を生成できます。これらの機能はコンピュータ プログラムの複雑さと多様性につながり、今日のコンピュータ時代の急速な発展の重要な理由でもあります。以下に、コンピューターの使用方法を変えたアルゴリズムをいくつか示します。

圧縮技術

ハフマン符号化

[[110280]]

ハフマン符号化はロスレスデータ圧縮に広く使用されています。効率的なバイナリコードを見つけるために、ハフマンは 1951 年に文字の頻度でソートされたバイナリツリーというコーディング方法を提案しました。この方法は最も効果的なエンコード方法であることが証明されています。この方法はシンプルで効率的であるため、DEFLATE (PKZIP 圧縮ソフトウェアのアルゴリズム) などの多くの圧縮方法や、JPEG や MP3 などの多くのマルチメディア エンコーディングで使用されています。

暗号化

公開鍵暗号

[[110278]]

暗号化アルゴリズムには、2 つの異なるキーが必要です。公開キーは、プレーンテキストを暗号化したり、デジタル署名を検証したりするために使用されます。秘密鍵は、暗号文を復号化したり、デジタル署名を生成するために使用されます。公開鍵暗号化により、ユーザーはパブリック チャネルを介してデータを安全に送信できます。この方法は 1997 年に公開されましたが、1973 年に英国政府通信本部 (GCHQ) の James H. Ellis、Clifford Cocks、Malcolm Williamson によって設計され、使用されました。

検索アルゴリズム

ダイクストラ最短経路アルゴリズム

[[110281]]

このアルゴリズムは 1956 年にダイクストラによって完成され、グラフ用に設計された検索アルゴリズムです。これは、単方向グラフ内の最短経路問題を解決するため、最短経路ツリーの生成にも使用できます。このようなアルゴリズムは、パス計画やサブパス選択のための多くのグラフベースのアルゴリズムで使用されます。上の図は、このようなアルゴリズムを使用して一方向グラフ内の最短経路を見つけるプロセスを示しています。

二分探索アルゴリズム

[[110282]]

バイナリ検索アルゴリズムは、すでにソートされた配列内のキーワードの位置を見つけるために使用されます。言葉の意味を説明する辞書では、言葉の並びは基本的に整然としています。電話帳では、記録は名前、住所、電話番号で分類されます。このようなアルゴリズムにより、人の名前に基づいて電話帳内の対応する電話番号と住所をすばやく見つけることができます。

ソートアルゴリズム

クイックソート

[[110283]]

このアルゴリズムは 1960 年に Tony Hoare によって設計されました。このアルゴリズムはもともと、翻訳する単語の順序を辞書の順序とより一致させて翻訳しやすくするために調整するために使用されていました。このアルゴリズムは、Unix システムのデフォルトのソート アルゴリズムとして使用されたため有名になりました。同時に、このアルゴリズムは、C 言語の標準ライブラリの関数名「qsort」にちなんで命名されています。

#p#

数学的手法

Karatsuba高速乗算アルゴリズム

[[110284]]

このアルゴリズムは、乗算の数学演算をより速く完了するために使用されます。 1962年にアナトリー・アレクセーエヴィッチ・カラツバによって提案された。乗算に必要な演算回数を減らし、高速な乗算方法を提供します。このアルゴリズムの改良版が Toom-Cook アルゴリズムです。ただし、大きな数を乗算する場合は、Schönhage-Strassen アルゴリズムの方が高速なソリューションです。

ユークリッドの互除法(ユークリッドの互除法)

[[110285]]

ユークリッドの互除法を使用すると、最大公約数を計算できます。つまり、2 つの正の整数で割り切れる数値の最大数です。このアルゴリズムは減算と比較のみを使用して最大公約数を見つけますが、多くの高度なアルゴリズムで使用されます。このアルゴリズムはユークリッドが発明したと考えられており、ユークリッドのアルゴリズムはユークリッドの時代(紀元前 300 年頃)にまで遡る最も古いアルゴリズムの 1 つと考えられています。

グラフィックスの発展

ブレゼンハムのラインアルゴリズム

このアルゴリズムは、1962 年に IBM で働いていたジャック・エルトン・ブレゼンハムによって提案されました。このアルゴリズムはもともと、コンピュータ画面上に直線を描くために使用されていました。アルゴリズムで使用される演算は非常に単純で、整数の加算、減算、シフト演算です。これはコンピュータグラフィックスにおける非常に高度な方法です。この方法に基づいて、アルゴリズムは後に円描画アルゴリズムなどの一連の拡張を受けました。このアルゴリズムは、その高い効率性と速度により、今でも非常に重要であり、多くのハードウェア (プロッターや最新のグラフィック カードなど) で使用されています。 。

高速平方根逆数アルゴリズム

このアルゴリズムは、平方根の逆数を高速に計算する方法を提供します。この方法は、光と投影の関係を決定するために 3D 画像で広く使用されており、1 秒あたり数千万回の計算が必要になる場合があります。このようなアルゴリズムは Quake III: Arena のソース コードにすでに存在していましたが、2002 年までは広く使用されていませんでした。このアルゴリズムは、一連の単純な操作を使用して複雑な問題を解決します。このアルゴリズムは John Carmack によって開発されたと多くの人が信じていますが、SGI と 3dfx は、Gary Tarolli によって実装されたバージョンを使用して、すでにこのアルゴリズムを自社製品に使用していました。

オリジナルリンク: docsity 翻訳: Bole Online - programmer_lin

翻訳リンク: http://blog.jobbole.com/61815/

<<:  インスピレーションプログラミング: 最大公約数アルゴリズムの分析

>>:  比較ベースのアルゴリズムでは、5 つの要素をソートするのに 7 回のパスが必要だと言われるのはなぜですか?

ブログ    

推薦する

AIoT: 次世代コンバージェンスの利点と用途を理解する

人工知能 (AI) とモノのインターネット (IoT) は、過去 10 年間を定義してきました。ビッ...

市場動向 | 人工知能が光接続の需要を急増させる

世界のデジタル経済が急速に発展するにつれ、クラウド コンピューティングによってデータ転送速度に対する...

Google のような大企業を辞めた後、彼らはどうやって次の仕事を見つけるのでしょうか?

今年上半期、中国と米国のインターネット・テクノロジー企業は、程度の差はあれ、レイオフや人員削減を経験...

知識共有: 管理距離と最大ホップ数の違いに関するルーティングアルゴリズムの分析

管理距離は、ルーティング プロトコルの優先度を表す人工的に指定された数値です。数値が小さいほど、ルー...

ウー・ジアン:nEqual は、優れたユーザー エクスペリエンスで企業がスマートなビジネスを構築できるよう支援します

[原文は51CTO.comより] 1月中旬に開催されたAdMaster再編メディアカンファレンスで、...

150億のパラメータと60%以上の初回合格率を持つHuaweiの大規模モデルが登場、コーディング能力はGPT3.5を超える

大規模モデルが AI 開発の新たなパラダイムとなるにつれ、大規模言語モデルをプログラミング分野に統合...

ナレッジグラフの紹介

1.1 ナレッジグラフの開発履歴ナレッジグラフは 1950 年代に始まり、大きく 3 つの開発段階に...

C# はデジタル変換のための中国語アルゴリズムを記述します

C# はデジタル変換のための中国語アルゴリズムを記述します最近、プロジェクト上の理由により、C# で...

テンセントが独自開発したHunyuanモデルが正式にリリースされ、Tencent Cloudを通じて一般に公開されました。

国産大型モデルはパラメータ優先から実用性優先へとシフトし、長期化期に入っている。 9月7日、2023...

Alimama は曲率空間学習フレームワークと連合学習ソリューションをオープンソース化し、共通の進歩のために AI 技術を一般に公開します。

9月15日、Alimamaは、曲率空間学習フレームワークと連合学習ソリューションという2つのAI技...

人工知能はどのような通信分野に応用されていますか?

1. 異常なネットワークトラフィックの検出コンピュータネットワークは現代人の生活に欠かせないもので...

ロボットは購入するよりもレンタルした方が良いのでしょうか?新モデルの普及には「4段階をクリア」する必要がある

ロボットの重要性は明らかです。ロボットは効率的で柔軟性があり、安定した動作特性を備えているため、人間...

...

カスタマーサービスで AI ボットを使用する 5 つのメリット

Zendesk は、企業と顧客の距離を縮めるために設計された顧客サービス プラットフォームを開発しま...

Metaがオープンソース「AIアベンジャーズアライアンス」の結成を主導、AMDと他の同盟国が800億ドルでOpenAI Nvidiaと戦う

今日、MetaとIBMが主導し、50を超えるテクノロジー企業、大学、機関が共同でAIアライアンスを設...