アルゴリズム講座/はじめに/>魔物の正体 ホームページへ戻る 目次へ戻る
パズル問題解法のアルゴリズム講座

はじめに

魔物の正体

 コンピュータに思考能力などはありません。与えられた単純な多量の演算を高速に実行するというのがコンピュータの持つ能力なのです。例えばこのような問題を考えてみましょう。

例題1)
 左図の筆算が成立するように■の中に数字を埋めなさい。
これは、「虫食い算」というパズルです。
 
 人がこの問題を解く場合、例えばこんな方法で解くでしょう。

・もし、最上段の2桁の数が81なら、「81×99=8019」でも最下段の4桁目が9に満たない。
 従って、最上段の2桁の数は「91」でなければならない。

・もし、二段目の2桁の数が98なら、「91×98=8918」でも最下段の4桁目が9に満たない。
 従って、二段目の2桁の数は「99」でなければならない。

・結果、「91×99=9009」が答えである。

 解法の糸口を発見できたので、見事に解答が出ました。では、次の問題はどうでしょう。

例題2)
 左図の筆算が成立するように■の中に数字を埋めなさい。
これは、「虫食い算」というパズルです。
 
 これは、解法の糸口がつかみにくい問題です。でもコンピュータなら、例題1も例題2も、同じ解き方で簡単に解答を求めてしまうでしょう。コンピュータはこんな方法で解きます。

・2桁の数は、10から99の90種類ある。従って、2桁×2桁の組み合わせは全部で「90×90=8100」通りある。

・このすべての組み合わせを試みて題意に一致するものを選び出す。

 全く呆れ果てた方法です。でも、コンピュータは単純な多量の演算を高速に実行するという能力を持っているのです。


目次へ戻る   次の頁へ進む