タグ

将棋とプログラミングに関するobaratchのブックマーク (2)

  • 将棋プログラムの作り方

    将棋プログラムを作ってみましょう。 お断り:私はC++で書くのが一番速くコードが書けるので、コード例はC++で書いています。(しかも、いきあたりばったりに書いてます…読みづらくてごめんなさい。)内容はそんなに難しくない(…ということもないかも…)ので、他の言語で書くのもそう難しくないと思います。 将棋プログラムの基礎 駒と局面の内部表現を決める ここが実はとてもとてもとても重要なのですが、最初は試しに単純に作ってみましょう。 駒については、歩香桂銀金角飛王とそれぞれの成り駒、そして敵味方の区別が必要です。 敵味方の区別には、Cならビット演算が使えると高速でしょう。 で、ざっくりと駒の内部表現を考えると、 enum KOMAINF { OUT_OF_BOARD = 64, EMPTY = 0, FU = 1, KY = 2, KE = 3, GI = 4, KI = 5, KA = 6, H

  • いかに戦ったのか――「米長邦雄永世棋聖 vs. ボンクラーズ プロ棋士対コンピューター 将棋電王戦」を振り返る

    コンピューター将棋と最強の棋士が指したらどっちが強いのか――将棋ファンの間では、ここ数年コンピューター対人間の対決が大きなトピックスとなっている。そのきっかけとなったのは、2006年に行われた渡辺明竜王vs.ボナンザ戦で、コンピューター将棋ソフトであるボナンザが大方の予想を覆し善戦。敗れはしたものの、コンピューター将棋の強さを見せつけた。その後、2008年にはトップアマチュアを撃破。2010年には女流棋士最強の1人、清水市代女流王将(当時)を破り、人間側でコンピューターの挑戦を誰が受けるのかが注目されていた。 そこに、対局相手として名乗りを上げたのが米長邦雄・日将棋連盟会長で、プロ棋士対コンピューターの新棋戦「電王戦」を創設。1月14日にその第1ラウンドとして「米長邦雄永世棋聖 vs ボンクラーズ プロ棋士対コンピューター 将棋電王戦」を、東京・千駄ヶ谷を東京将棋会館で開催した。当日はニ

    いかに戦ったのか――「米長邦雄永世棋聖 vs. ボンクラーズ プロ棋士対コンピューター 将棋電王戦」を振り返る
  • 1