そーいえばテトリス

いろいろ調べてたときにこんなもんを見つけた。
http://www.hozen.org/bbs/84/48313/
ここでは議論がむちゃくちゃになってしまっているが、強いCPUとは、ということに少し興味があったので考えてみよう。


テトリスが強いCPUというには、強さの基準が必要である。
例えばテトリスDSのルールで人間と同じようにアクションゲームで対戦して、相手を効率よく倒すアルゴリズムを考える、とか。
どれだけ最適化してみても、結局のところ先のブロックはわからないので運に左右されるわけだが、運による誤差をできるだけ減らしつつ、攻撃力を強化しつつ、たとえばテトリスグランドマスターをやりこんじゃった人みたいな超人とどれだけ戦えるようになるか。
そのレベルの相手だと、操作を最適化したところで、人間側もほぼ究極に最適化されているから、その点では互角だ。
相手の状況によって攻撃的な置き方をしたり、やばくなったら防御的な置き方をしたり、そういった状況判断のパラメータなども難しい。
先の予想できないゲームにおいて、コンピュータが最強ということは、単純には言えない。
チェスや囲碁も、解のあるゲームではあるが、計算量的に無理があって、現時点では予想できないのと同じだから、勝ったり負けたりするわけで。
テトリスでも全ての可能性を計算するのはリアルタイムでは無理そうで、そういう取捨選択アルゴリズムも考える必要がある。
なかなか面白そうだ。
まあ、テキトーに作っただけでも常人では勝てなくなりそうだが。
だって1ラインずつ丁寧に消すだけのもの作っただけで俺では勝てなさそうだもの。
でもうまい人だと巧妙に積み上げて、各種テクニックを駆使して相手を即死させることもできるわけで、事前にブロックを送りつけて防いだりしないといけない。
そういうレベルの話。


あとは、リアルタイムじゃない勝負にするとか。
まずブロックが100個あって、これはお題として順番が決まっているとする。
んでもって、横に1回動かすと1手、回転すると1手、落とすのはタダ、ラインが消えるのは数によらず5手、とか決めて、100個置いたときに全部消えるのが最低条件で、最も少ない手で終える手順を考える、みたいな。
これは解のあるゲームだが、計算量はかなり多いかもしれない。
でもタダのパズルだな。


やっぱアクションで対戦させるのがいいね。