N-Queen25 pages

第6回 pythonでNQueen(エイトクイーン)バックトラック(2)

第6回 pythonでNQueen(エイトクイーン)バックトラック(2)

pythonを勉強しながらNQueen(エイトクイーン)問題を解いていきます。今回は第6回目。今回はバックトラックについて説明します。解を出すmainメソッドなどプログラムの概要を説明します。 mainメソッド概要 今回は前回から引き続きバックトラックを説明していきたいと思います。 プログラムソースは以下のURLにあります。 https://github.com/suzukiiichiro/N-Queens/blob/master/03Python/py03_nqueen.py 429-4…

第5回 pythonでNQueen(エイトクイーン)バックトラック(1)

第5回 pythonでNQueen(エイトクイーン)バックトラック(1)

pythonを勉強しながらNQueen(エイトクイーン)問題を解いていきます。今回は第5回目。今回はバックトラックについて説明します。 バックトラック 今回はバックトラックを説明していきたいと思います。 今回のバックトラックのロジックは前回の配置フラグの拡張版です。 配置フラグは上…

第4回 pythonでNQueen(エイトクイーン)配置フラグ(制約テスト高速化)(2)

第4回 pythonでNQueen(エイトクイーン)配置フラグ(制約テスト高速化)(2)

pythonを勉強しながらNQueen(エイトクイーン)問題を解いていきます。今回は第4回目。今回は配置フラグ(制約テスト高速化)について図で示しながら詳細な動きを説明します。再帰とfor文が絡み合っている時にどうやって動くのかを中心に説明します。 配置フラグ(制約テスト高速化) 今回も引き続き配置フラグ(制約テスト高速化)を説明していきたいと思います。 前回はプログラムの概要を説明しました…

第3回 pythonでNQueen(エイトクイーン)配置フラグ(制約テスト高速化)(1)

第3回 pythonでNQueen(エイトクイーン)配置フラグ(制約テスト高速化)(1)

pythonを勉強しながらNQueen(エイトクイーン)問題を解いていきます。今回は第3回目。今回は配置フラグ(制約テスト高速化)について説明します。 配置フラグ(制約テスト高速化) 前回は全くアルゴリズムを使わないで全パターン1行に1つずつクイーンを設置するブルートフォース 力任せ探索でした。…

第2回 pythonでNQueen(エイトクイーン)ブルートフォース 力任せ探索(2)

第2回 pythonでNQueen(エイトクイーン)ブルートフォース 力任せ探索(2)

pythonを勉強しながらNQueen(エイトクイーン)問題を解いていきます。今回は第2回目。再帰の挙動などアルゴリズムを使わないブルートフォース力任せ探索についてプログラムの詳細部分を説明します。 グローバル変数 今回は、前回からの引き続きでブルートフォース力任せ探索のプログラムの詳細部分を説明します。 プログラムのソースは以下のURLをご…