以前、東公平さんが面白いコラム将棋雑話『電子計算機と将棋』を書かれていたので、これを現時点で考察してみる。
当時はHITAC 5020Fを用い、左図の詰物を36秒で解いたということである。
謎電では、これをBarton/3000+[*1]を用いて、8,962局面[*2]、平均1,203[clocks/局面]、約0.005秒で解く。アルゴリズムは原始的な「深さに基づく反復深化・王手全幅応手全幅・AND-OR探索」。単純計算で約7,000倍速くなったということになる(私的基準で)。短手数の詰物ならばマシンの性能差のみが現れるものとして考えると、(36年間に7,000倍高速化したとすれば、7,0001/36なので[*3])年間平均1.28倍程度は高速化していることになる。
因みに越智利夫さんは、この成果を数学セミナー(1968.6)で発表されている。恐らく、詰将棋をマシンで解こうというアイデアは旦代晃一さんがコンピュータチェスから得たのだろうと思われるが、詰将棋に適用してみるというのは相当の困難があっただろう。何故ならば、当時と今では、その開発環境に雲泥の差がある筈だからだ。
[*1] AthlonXP 2.16GHz FSB333MHz Memory:PC2700使用。Barton/3000+はいささか古いマシンなので、現在x86系MPUでは最速と思われるOpteronあるいはAthlon64FXあたりを用いれば1.5倍は高速化すると思われる。もし、StratixIIやVirtex4などのFPGAを用いてハードウエア探索で解くならば、更に1桁の高速化が可能だろうし、金に糸目をつけずフルカスタムASIC化するならば2桁は難くない。
[*2] この時の、反復深化毎の探索量の変化を次に示す。
当時はHITAC 5020Fを用い、左図の詰物を36秒で解いたということである。
謎電では、これをBarton/3000+[*1]を用いて、8,962局面[*2]、平均1,203[clocks/局面]、約0.005秒で解く。アルゴリズムは原始的な「深さに基づく反復深化・王手全幅応手全幅・AND-OR探索」。単純計算で約7,000倍速くなったということになる(私的基準で)。短手数の詰物ならばマシンの性能差のみが現れるものとして考えると、(36年間に7,000倍高速化したとすれば、7,0001/36なので[*3])年間平均1.28倍程度は高速化していることになる。
因みに越智利夫さんは、この成果を数学セミナー(1968.6)で発表されている。恐らく、詰将棋をマシンで解こうというアイデアは旦代晃一さんがコンピュータチェスから得たのだろうと思われるが、詰将棋に適用してみるというのは相当の困難があっただろう。何故ならば、当時と今では、その開発環境に雲泥の差がある筈だからだ。
[*1] AthlonXP 2.16GHz FSB333MHz Memory:PC2700使用。Barton/3000+はいささか古いマシンなので、現在x86系MPUでは最速と思われるOpteronあるいはAthlon64FXあたりを用いれば1.5倍は高速化すると思われる。もし、StratixIIやVirtex4などのFPGAを用いてハードウエア探索で解くならば、更に1桁の高速化が可能だろうし、金に糸目をつけずフルカスタムASIC化するならば2桁は難くない。
[*2] この時の、反復深化毎の探索量の変化を次に示す。
-- 1: 4 ( 4+ 0.000*) 3: 40 ( 36+ 10.000*) 5: 216 ( 176+ 5.400*) 7: 945 ( 729+ 4.375*) 9: 3,928 ( 2,983+ 4.156*) 11: 8,962 ( 5,034+ 2.281*) --[*3] 因みに、Google検索で、"7000^(1/36)" と入力すると、自動的に電卓機能が働き、1.27881664の結果を得ることが出来る(但し、埋め込みの間接検索ではなく本家で直接検索の時のみ)。