N-Queen25 pages

アルゴリズム日記 2022/10/12

アルゴリズム日記 2022/10/12

NQueenのロジックを研究してます。NQueenを別のアプローチから検証するためにアルゴリズムの勉強をはじめました。まずは基礎からで経路探索へ向かいたいと考えています。試行錯誤したことを備忘録として日記に追加することにしました。 10月12日 今マージソートを勉強しているのですが難しいので日記をつけて整理することにしました。 プログラムソースは以下です。 https://github.com/suzukiiichiro/Algorithms-And-Data-Structures/blob/master/Bash/05_1MergeSort.sh ロジ…

アルゴリズム日記 2022/09/29

アルゴリズム日記 2022/09/29

NQueenのロジックを研究してます。NQueenを別のアプローチから検証するためにアルゴリズムの勉強をはじめました。まずは基礎からで経路探索へ向かいたいと考えています。試行錯誤したことを備忘録として日記に追加することにしました。 9月29日 今日はバイナリサーチでツリーの中身を表示するメソッドを作成します。 こんな感じでルートノードから下に向かってツリーの中身を出力します…

アルゴリズム日記 2022/09/27

アルゴリズム日記 2022/09/27

NQueenのロジックを研究してます。NQueenを別のアプローチから検証するためにアルゴリズムの勉強をはじめました。まずは基礎からで経路探索へ向かいたいと考えています。試行錯誤したことを備忘録として日記に追加することにしました。 9月27日 アルゴリズムの勉強を始めました。 まずは基礎から。 バイナリサーチからスタートします。 それまでのものは鈴木先生が作成している以下のgi…

第9回 pythonでNQueen(エイトクイーン)対象解除法(2)

第9回 pythonでNQueen(エイトクイーン)対象解除法(2)

pythonを勉強しながらNQueen(エイトクイーン)問題を解いていきます。今回は第9回目。対象解除法が正しいことの検証をしてみたいと思います。プログラムを改造してクイーンの配置を出力するようにします。 対象解除法が正しいか検証してみよう 今回は対象解除法が正しいかどうかを検証するためプログラムを改造してクイーンを設置した場所を出力するようにし…

第8回 pythonでNQueen(エイトクイーン)対象解除法(1)

第8回 pythonでNQueen(エイトクイーン)対象解除法(1)

pythonを勉強しながらNQueen(エイトクイーン)問題を解いていきます。今回は第8回目。今回から対象解除法が登場します。解を見てみると左右反転だったり90度、180度回転すると同じものがあります。この性質を利用して探索回数を減らそうというアルゴリズムです。今回は対象解除法の概要を説明します。 対象解除法 今回から対象解除法を取り扱います。 解を見てみると左右反転だったり90度、180度回転すると同じものがあります。この性質を利用して探…

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

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

pythonを勉強しながらNQueen(エイトクイーン)問題を解いていきます。今回は第7回目。今回はバックトラックについて図で示しながら詳細な動きを説明します。バックトラックは上下左右対角線上のフラグをチェックするので探索がより効率よくなっています。 バックトラック 今回も引き続きバックトラックを説明していきたいと思います。 前回はプログラムの概要を説明しましたが、今回はnqueenメソッドの…