No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
0.py
1.py
2.py
3.py
4.py
LICENSE
README.md
hex.out
hex.py
three_wise_men.pdf

README.md

竹内の「3人の賢者問題」の求解

このレポジトリには,[組合せゲーム・パズル 第11回 研究集会](http://www.alg.cei.uec.ac.jp/itohiro/Games/Game160307.html, 組合せゲーム・パズル プロジェクト 第11回 研究集会]での発表「SMTソルバを用いた「竹内の3人の賢者問題」の求解」関係のファイルを置きます.


スライド (three_wise_men.pdf)


プログラムの説明と実行

python version 3用のプログラムです. [Z3](https://github.com/Z3Prover/z3, Z3)のpython bindingをインストールする必要があります.


0.py

  • 1 – n の相異なるカードをA, B, Cに配れる最小のnを求めるプログラムです.
  • 当然ながらn = 3 が解答になります.

1.py

  • ニッコリが1回続く最小のnを求めるプログラムです.
  • n = 5が解答になります.

2.py

  • ニッコリが2回続く最小のnを求めるプログラムです.
  • n = 9が解答になります.

3.py

  • n = 20 に対してニッコリが最大何回続くかを求めるプログラムです.
  • 3回続きます.

4.py

  • n = 20 に対してニッコリが最大回数続いた後,自分の勝ちを宣言できるカードの組合せを求めます.
  • 70通りになります.

関連リンク


おまけ

組合せゲーム・パズル 第11回 研究集会で田中の前に発表した九州大学山中さん の発表「『数の六角パズル』を頭だけ使って解こう」の追試をするz3プログラム (hex.py) と出力 (hex.out) も置きます.