プログラム・アルゴリズム
仕事のあとちょっと話題に上って、なかなか面白そうだったのでメモ書き。
話は簡単、皆ご存知のじゃんけんに関するものである。例えば人間のプレイヤーと
コンピュータ(ランダムに手を決める)が勝負をするとして、その勝敗判定を
どのように行うか、という問題。
もっとも単純にして見た目に判りやすいのは、
「プレイヤーがグーの時『comがグー』『comがチョキ』『comがパー』」
「プレイヤーがチョキの時『comがグー』『comがチョキ』『comがパー』」
「プレイヤーがパーの時『comがグー』『comがチョキ』『comがパー』」
と、全ての場合についてIF文を書くものであろう。
だがこれではあまりに頭を使っていない印象を受けてしまうし、汎用性にも欠ける。
#参加者が増えた時に、更にIF文を増やすというのか?それは悪夢だ。
知人とこの話を論じていて、3人以上の時の汎用的な判定はそれなりの
アルゴリズムを思いついたのだが、それを2人の場合に適用すると
かえって処理が多すぎる感があった。なので、2人の時専用の簡単に処理できる
アルゴリズムはないかと考えていたのだが、なかなか良いものが浮かばなかった。
現在でもまだ考えている。