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

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

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

人工知能

「15Rockの共同創業者兼CEO、ガウタム・バクシ氏によるインタビューシリーズ」

「ガウタム・バクシは、気候リスク管理とアドバイザリーサービスのグローバルリーダーである15Rockの共同創設者兼CEOですガウ...

人工知能

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

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

データサイエンス

「Seerの最高データオフィサーであるDr. Serafim Batzoglouによるインタビューシリーズ」

セラフィム・バツォグルはSeerのチーフデータオフィサーですSeerに加わる前は、セラフィムはInsitroのチーフデータオフィサー...

データサイエンス

2023年にAmazonのデータサイエンティストになる方法は?

ほとんどのビジネスは現在、膨大な量のデータを生成し、編集し、管理しています。しかし、ほとんどのビジネスは、収集したデ...

人工知能

ディープAIの共同創業者兼CEO、ケビン・バラゴナ氏- インタビューシリーズ

ディープAIの創設者であるケビン・バラゴナは、10年以上の経験を持つプロのソフトウェアエンジニア兼製品開発者です彼の目標...

データサイエンス

「2023年にデータサイエンスFAANGの仕事をゲットする方法は?」

データサイエンスは非常に求められる分野となり、FAANG(Facebook、Amazon、Apple、Netflix、Google)企業での就職は大きな成...