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

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

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

人工知能

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

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

人工知能

エンテラソリューションズの創設者兼CEO、スティーブン・デアンジェリス- インタビューシリーズ

スティーブン・デアンジェリスは、エンタラソリューションズの創設者兼CEOであり、自律的な意思決定科学(ADS®)技術を用いて...

人工知能

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

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

人工知能

『DeepHowのCEO兼共同創業者、サム・ジェン氏によるインタビューシリーズ』

ディープハウのCEO兼共同創設者であるサム・ジェンは、著名な投資家から支持される急速に進化するスタートアップを率いていま...

AIテクノロジー

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

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

機械学習

「機械学習 vs AI vs ディープラーニング vs ニューラルネットワーク:違いは何ですか?」

テクノロジーの急速な進化は、ビジネスが効率化のために洗練されたアルゴリズムにますます頼ることで、私たちの日常生活を形...