2013-11-01から1ヶ月間の記事一覧

Sudoku(数独) を Mathematicaで解く(14): 数独を解くMain(2)

目次へ戻る Main(2): NakedSingle とHiddenSingle の探索を繰り返す 前回に示したNotebookの構造に従い main(2) を追加します。 初期設定 ini = Module[{b},{{b, 7, b, b, b, b, 5, b, b}, {5, 3, 1, b, b, b, 4, b, b}, {8, b, b, 6, 4, b, b, b, b},(* *) …

Sudoku(数独) を Mathematicaで解く(13): Notebookの構造(2)

目次へ 第6回で「Notebookの構造」を説明しましたが、第12回で新しくcode5 が加わったので再度Notebook の構造を次の図に示します。ただし、 main(2) は次回に説明するものです。新たにこの構造のNotebook を作り次の回に続けます。 続く 目次へ

目次: 数独(Sudoku)をMathematicaで解く

主目次へ戻る 目次へ: ニコリの数独 を Mathematica で解く- 2019 目次へ: Sudoku hard, The guardian を Mathematica で解く- 2019 目次へ: Sudoku hard, The guardian を Mathematica で解く- 2018 主目次へ戻る このシリーズの説明が長くなったので目次を…

Sudoku(数独) を Mathematicaで解く(12): code5: HiddenSingles

目次へ 第9 回で HiddenSingleRow、第10回で HiddenSingleColumn、第9 回で HiddenSingleBox を説明した。今後これを使うことを考慮して、関数のまとめ作る。これを code5:HiddenSingle と呼ぶことにする。 (* code5: HiddenSigle *) (* == findHiddenSingle…

Sudoku(数独) を Mathematicaで解く(11): HiddenSinglesBox

目次へ ボックス内で「隠れたシングル」を探す 「裸のシングル」 が見つからないゲームの行列は ini4 であった。ini4 については第9回を参照。 mapini4 = makeMap[ini4]; Show[Rasterize[plotMapGridsColoredByNakedSingle[ini4]], ImageSize -> 350] 候補図…

Mac OS X 上で OpenBUGS+R2OpenBUGS を使用する

「Mac OS X 上で、WinBUGS+R2WinBUGS を使用する」に刺激されて「Mac OS X 上で、OpenBUGS+R2OpenBUGS を使用する」を試みた。 実際に参考にしたWeb情報は次です。 Running WinBUGS on MacOSX via Wine Running OpenBUGS on Mac Using Wine OpenBUGS pc の環…

Sudoku(数独) を Mathematicaで解く(10): HiddenSingleColumn

目次へ 10.1 HiddenSingleColumn について この関数は前回(9)で説明した行に関する探索 HiddenSingleRow とほぼ同じです。行を列に変えればよい。 「裸のシングル」 が見つからないゲームの行列は ini4 であった。前回の(9)に定義が書いてあります。 mapini4…

Sudoku(数独) を Mathematicaで解く(9): HiddenSinglesRow

目次へ 9.1 HiddenSingle の説明 Naked Single「裸のシングル」が見つからない場合には、次の選択として Hidden Single「隠れたシングル」を探す。 この解法は The logic of sudoku by Andrew C Stuart に解説が書いてある。これを参考にしている。 http://s…

Sudoku(数独) を Mathematicaで解く(8): Main(1)

目次へ戻る 8.1 NakedSingleの探索を繰り返す 前回の(7) で示した code1,code2,code3,code4 の後に、これから示す Main を追加して、NakedSingleの探索を繰り返すプログラムを作ります。このプログラムの構造は(6)で示した図になります。 実行は code1, code…

Sudoku(数独) を Mathematicaで解く(7): codes

目次へ戻る 今後、ノートブック上にプログラムを作るために、(6)で説明したグループ化された関数の集まり code1, code2, code3, code4 を整理して以下に示します。 コードの中に書いてある (* begin{Section} *) と (* end{Section} *) はノートブックの中で…

Sudoku(数独) を Mathematicaで解く(6) Notebookの構造

目次へ戻る 6. Notebook でプログラムを作る Mathematica のインターフェイスは Notebook です。そこに Mathematica のコマンドを書き入れ、shift + return を入力すれば実行でき、計算結果が表示される。インタープリター形式なので、プログラムの開発には…

Sudoku(数独) を Mathematicaで解く(5): Coloring

目次へ 5.1 数独格子の数字に色をつける 数独格子(グリッド)に埋めこんだ数字に色を付けて分かりやすく表示する方法について説明する。 新しい関数 plotGameSeq の定義を以下に示す。 plotGameSeq[ini_?MatrixQ,xylist:{{_,_}..}]:=Grid[ini, ItemStyle->{Di…

数独(Sudoku)をMathematica で解く(4): NakedSingle を求める

目次へ これまでに作った関数のまとめ plotGame[ini_] (1)で説明 plotMapGrid[ini_, mapini_] (2)で説明 makeMap[ini_] (3)で説明 前回で作った関数makeMapを使って 候補のリストmapini を作る。これを表示したものが次である。 mapini=makeMap[ini]; Show[R…