「分枝と限定法 – アルゴリズムをゼロからコーディングする」

『美容とファッションの世界 - 独自のアルゴリズムを構築する方法』

Pythonプログラミング言語におけるアルゴリズムの深い理解

はじめに

Photo by JJ Ying on Unsplash

もし、入門記事「分枝限定法 – コーディング前のアルゴリズム理解」から来たのであれば、ここからはアルゴリズムの理解を深めるために、スクラッチからコーディングする部分です。これは常に、私が職業に必要なアルゴリズムの動作を理解し、アルゴリズム的な思考や計算思考を進めるのに役立ちます。

もし、この記事にたまたま辿り着いたけれども、入門記事を読んでいない場合は、コードの前にアルゴリズムの背後にある概念を読んで理解することをおすすめします。冗長な内容を避けるため、ブランチとバウンドのアルゴリズムの説明は省略し、直接コーディングに入ります。

アルゴリズムの簡単なレビュー:

Image from Author: Coding from Scratch is Easier with a Flowchart to Follow

ブランチとバウンドアルゴリズムは、線形プログラムの解決と整数プログラミングの文脈で使用されるときに、以下の一般的な手順に従います。

  1. 初期化 — 変数の値を最適でない値に初期化します。最大化の場合、値は負の無限大に設定され、最小化の場合は逆です。これは、コードの再帰的なプロセスがより良い解を見つけることを目指し、アルゴリズムの実行によってすでにより良い解が得られるためです。
  2. 線形プログラミング緩和 — 整数の制約が強制されていない場合、主問題は解決されます。したがって、その制約を「緩和」し、通常の線形プログラムとして扱います。これは、すべてのサブ問題に対して行われます。
  3. 整合性の確認 — 最初の解が既に整数である場合、プログラムは終了します。この条件は、すべてのサブ問題に対してもテストされます。
  4. 分岐 — 最適解が整数でない場合、問題はより小さなサブ問題に分割(または「分岐」)されます。これは、制約を追加することで行われます…

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

「リオール・ハキム、Hour Oneの共同創設者兼CTO - インタビューシリーズ」

「Hour Oneの共同創設者兼最高技術責任者であるリオール・ハキムは、専門的なビデオコミュニケーションのためのバーチャルヒ...

機械学習

もし芸術が私たちの人間性を表現する方法であるなら、人工知能はどこに適合するのでしょうか?

MITのポストドクターであるジヴ・エプスタイン氏(SM '19、PhD '23)は、芸術やその他のメディアを作成するために生成的AIを...

AIテクノロジー

「LXTのテクノロジーバイスプレジデント、アムル・ヌール・エルディン - インタビューシリーズ」

アムル・ヌール・エルディンは、LXTのテクノロジー担当副社長ですアムルは、自動音声認識(ASR)の文脈での音声/音響処理と機...

人工知能

「マーク・A・レムリー教授による生成AIと法律について」

データサイエンス内で新しい分野が現れ、研究内容が理解しにくい場合は、専門家やパイオニアと話すことが最善です最近、私た...

データサイエンス

「Adam Ross Nelsonによる自信のあるデータサイエンスについて」

データサイエンスの中で新たな分野が現れ、研究内容が理解しにくい場合は、専門家や先駆者と話すのが最善です最近、私たちは...

人工知能

「UVeyeの共同設立者兼CEO、アミール・ヘヴェルについてのインタビューシリーズ」

アミール・ヘヴァーは、UVeyeのCEO兼共同創設者であり、高速かつ正確な異常検出により、自動車およびセキュリティ産業に直面...