バックトラッキングアルゴリズム: 組み合わせ問題を解決しましょう!

バックトラッキングアルゴリズム: 組み合わせ問題を解決しましょう!

[[379493]]

バックトラッキングアルゴリズムをほとんど忘れてしまいましたか?組み合わせ問題を解く方法をまだ覚えていますか?ハハハハ

バックトラッキング アルゴリズムは、実際にはブルート フォース検索です。ブルート フォース検索であるなら、なぜバックトラッキングを使用する必要があるのでしょうか。それは、ブルート フォース検索で解決できる問題もあり、これより良い方法がないからです。

2 つの整数 n と k が与えられた場合、1 ... n 内の k 個の数値のすべての可能な組み合わせを返します。

この問題を解決するためにネストされた for ループを使用する場合、n が 100、k が 50 であれば、50 層の for ループが存在することになります。この時点で、単純なブルート フォースは機能しないことがわかります。

ここでバックトラッキング アルゴリズムが登場します。

バックトラックアルゴリズムで再帰を使用して、for ループのカスケードとネストを実行します (k 層の for ループを開くと理解できます)

各再帰で for ループがネストされている場合、再帰によって多層ネストされたループの問題を解決できます。

私の記事「バックトラッキング アルゴリズム: 組み合わせ問題の解決!」でも、バックトラッキング 3 部作について説明しました。この方法によれば、バックトラッキング アルゴリズムは難しくないことがわかります。

問題リンク: https://leetcode-cn.com/problems/combinations/

バックトラッキング アルゴリズムのテンプレートは次のとおりです。

  1. void バックトラッキング(パラメータ) {
  2. if (終了条件) {
  3. 結果を保存します。
  4. 戻る;
  5. }
  6.  
  7. for (select: 現在のレイヤーセット内の要素 (ツリー内のノードの子の数はセットのサイズです)) {
  8. 処理ノード。
  9. backtracking(パス, 選択リスト); // 再帰
  10. バックトラック、処理結果の取り消し
  11. }
  12. }

この記事はWeChatの公開アカウント「Code Thoughts」から転載したもので、以下のQRコードからフォローできます。この記事を転載する場合は、Code Thoughts の公開アカウントにご連絡ください。

<<:  目録:2021年1月の人工知能分野における資金調達活動のリスト

>>:  2021年に最も役立つ顔認識ソフトウェア9選をチェック

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

ロボット犬が3トンの飛行機を10メートル引っ張った

今日のロボット犬は、人間に簡単につまずかされるような時代をとうに過ぎています。新しく公開されたビデオ...

...

2019 年に TensorFlow は王座から退いたのでしょうか?

この記事では、著者は GitHub、Medium の記事、arXiv の論文、LinkedIn など...

...

AIOps が IT 管理を変革する方法

世界がコロナウイルス危機の影響に取り組む中、業界団体は競合するネットワーク リソース、高まるユーザー...

スタンフォード大学の学生が出会い系アプリをハッキング! GAN モデルを使用して男性に変装し、顔認識システムを欺く

誰かが本当にあなたの顔を真似して、顔認識システムを回避できるのです! 最近、スタンフォード大学の研究...

一言で女の子がN着の服を着替えてくれた。Googleが動画生成を新たな高みへ。ネットユーザー「競争が激化」

Google はたった 1 つの動きで、AI ビデオ生成を新たなレベルに引き上げました。文章からビ...

...

...

ハイパーオートメーション — AIの新時代における自動化

ハイパーオートメーションとは何か、そして AI 主導のオートメーションが製品プロセスを改善してより迅...

機械学習 = 「新しいボトルに入った古いワイン」の統計?いいえ!

最近、ディープラーニングと人工知能に関するジョークがソーシャルメディア上で広く流布しており、この2つ...

マスク氏:プログラマーの62%が人工知能が武器化されると考えている

常に人工知能の脅威論を支持してきたシリコンバレーの「鉄人」マスク氏は、今回、プログラマーたちの間で支...

...

推奨に値する 7 つの優れたオープンソース AI ライブラリ

[[406029]] [51CTO.com クイック翻訳]人工知能 (AI) 研究の分野では、Ten...