初めて、「イラストロジック」という本を手にして、自分でやってみたのですが、とても歯が立ちませんでした。 それではと小さい問題から始めたのですが、30x30程度でも3時間ぐらい掛かり、さらに大きなサイズは最初の段階で立ち往生でした。
今回 掲載したのは9月号のジャンボですが、こんな問題、どのようにして解くんだろうと今でも信じられません。
プログラムを作るようになってからも、困難は極め、どのようにロジックを作っていいか分らなかったのですが、1つ1つのケースをプログラミングしていくうちにようやく解けるようになりました。
ですが、私の作ったプログラムでは、このようなジャンボサイズの問題を解いてしまうのに、これよりやさしいはずの小さい問題の中に解けないのが出てきました。
どうしてだろう?
この手の問題は “すべて論理的に解く” という原則があるはずだ と思っていたからです。 ですが、最近「お絵かきロジック」という本を見たら、私の悩みを解決してくれました。 この本によると、どこからやっても(論理的に)解けなくなったとき、あるマスを仮定して解析を進め、途中で矛盾が出てきたら、最初の仮定は間違っている と判断して解析を進めていく というのです。
な〜んだ。 というのが私の本音です。
私は、現在でも この考え方をプログラムロジックに組み込んでいません。 なぜなら、この考え方を取り入れて完全な解析プログラムを作るよりも、今のままのプログラムのほうが 断然楽しく遊べるからです。 つまり、この考え方が認められるなら、すべてのマスが黒マスか白マスと断定して解いていく必要はないわけだから、任意の時に この仮定処理を 取り入れても構わないはずです。
EXCELで解くと、1フレーズごとに画面(その都度シート)を作っていくことが出来ます。 任意の場所(シート)を選び、その画面のどのマスを仮定してもかまわないわけです。
開始前に 任意のマスを仮定してから プログラムをスタートする。