タグ

アプレットに関するahyapiraのブックマーク (1)

  • 数独(ナンバープレイス)を解く

    ■探索アルゴリズについて 一般的にペンシルパズルの解き方は、局所的な部分に対して解を確定出来る部分を探し、それを何よりも優先します。これによって、また新たな部分で解を特定出来るという状況が連鎖的に発生して、やがて総てのマスが埋め尽くされるという性質を持っています。 このような解き方を「制約伝播」と言いますが、このような人が解く解き方をそのまま真似てプログラミングしても、特に上級レベルの問題では最後まで解けない場合が出てきます。 かと言って、しらみ潰しのバックトラッキングを使って解こうとしても始めの空きマスの量は非常に多く、答えを出すまでの探索時間は膨大なものになってしまいます。 そこで選択の余地なく確定出来るマスは制約伝播で優先的に書き込んでしまう。という処理をバックトラッキングの中に組み込むことによって、探索空間を常に縮小しながらのバックトラッキングとなり、とても効率良く探索を行うことが

  • 1