この記事はWeChatの公開アカウント「JS Daily Question」から転載したもので、著者はHuihuiです。この記事の転載についてはJS Daily Question公式アカウントまでご連絡ください。 1. 貪欲アルゴリズム貪欲アルゴリズムは、貪欲アルゴリズムとも呼ばれ、アルゴリズム設計における考え方の一種です。 各段階は局所的な最適選択であり、全体最適を達成することを期待しているが、結果は必ずしも最適ではない。 コイン交換の例を見てみましょう。1元、2元、5元のコインを複数持っていて、それを一定の金額に交換したいのですが、必要なコインの最小数は 今 11 元を両替したい場合、貪欲アルゴリズムの考え方に従って、まず最も額面が大きい 5 元硬貨を選択して両替します。すると、11 = 5 + 5 + 1 となり、これが最適な選択肢となります。 しかし、持っている硬貨の額面が 1、3、または 4 で、それを 6 元に交換したい場合、貪欲アルゴリズムによれば、6 = 4 + 1 + 1 が選択されますが、これは最良の選択ではありません。 上記の例から、貪欲アルゴリズムにはいくつかの欠点があることがわかります。貪欲アルゴリズムが使用されるシナリオには、次のような特徴があります。 貪欲法によって問題を解決できる場合、貪欲法が一般的にその問題を解決する最善の方法となります。 貪欲アルゴリズムを選択するかどうかは、主に次の 2 つの特性があるかどうかによって決まります。
2. バックトラッキングアルゴリズムバックトラッキング アルゴリズムもアルゴリズム設計におけるアイデアです。問題の解決策を徐々に見つけて構築する戦略です。 バックトラッキング アルゴリズムは、問題に対する可能な解決策から始まります。それが機能しない場合は、問題が解決されるまでバックトラックして別のアクションを選択します。 バックトラッキング アルゴリズムを使用する問題には、次の特性があります。
一般的な疑似コードは次のとおりです。
次の 3 つの問題の解決に重点を置きます。
たとえば、古典的なバックトラッキング アルゴリズムは、次のように完全な順列問題を解決するために使用されます。 重複する数字のない配列 nums の場合、すべての可能な順列を返したいとします。この問題を解決するアイデアは次のとおりです。
コードは次のとおりです。
結論分割統治法と動的プログラミングについても学習しました。次は貪欲アルゴリズムとバックトラッキング アルゴリズムについて学習します。 分割統治法、動的計画法、貪欲戦略のソリューションは次のとおりです。 これら 3 つに対応する典型的な問題は次のとおりです。 参考文献 https://zh.wikipedia.org/wiki/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95 https://leetcode-cn.com/problems/permutations/solution/dai-ma-sui-xiang-lu-dai-ni-xue-tou-hui-s-mfrp/ https://cloud.tencent.com/developer/article/1767046 |
<<: 人間の農業の将来は主にロボットに依存することになるのでしょうか?基本的に人間の介入は必要ありません
1. 「企業が人工知能やモノのインターネットなどの新しいテクノロジーの導入を検討するにつれ、攻撃対象...
[[405913]]センサー、ビッグデータ、人工知能 (AI) を融合したスマート ビルの出現は、...
機械学習の応用は急速に成長しており、医療、電子商取引、銀行業務などのさまざまな分野で不可欠な要素とな...
9月28日、市場調査会社オールリサーチが発表したレポートでは、2027年までに人工知能ガバナンス市場...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
長年続いていた室温超伝導の謎が解明されたようだ。昨日、ネイチャー誌は「LK-99は室温超伝導体ではな...
2020年ももうすぐ終わります! 12月15日、IDCとInspurは共同で「2020~2021年...
アナリスト会社ガートナーは10月13日、2026年までに企業の80%以上が生成型AIアプリケーション...
生成モデルは画像生成の分野で大きな成功を収めてきましたが、この技術を 3D 分野に拡張するには常に多...
コンピューティングは、私たちのほとんどが直感的に理解できる馴染みのある概念です。関数 f (x) =...