「自由将棋」の解析ソフト

114 views
Skip to first unread message

Madoka Kitao

unread,
Sep 16, 2011, 12:54:49 AM9/16/11
to ginsho会(仮)
北尾です。

初心者用のメソッドとして小さな将棋や動きを制限した教育用の将棋ルールを考える作家用に
ルールを調整して、そのつど解析してくれるプログラムがほしいな、と思っています。

イメージは
詰将棋作家さんが、詰み手順を確認するために
駒を配置して、余詰めや変化手順を確認するようなものです。

盤の大きさとか、駒の種類、配置、などの設定を変更して勝ちを検索する
「自由将棋」の解析です。

オプションとして
各種反則、取った駒を使えるか否か、トライルール、○段目からの成り などを選択する。

※na2hiroさんの将棋ったーにはたくさんの変則将棋がありますが
私のばあいは3x4やほかのルールを考える作家なので
仮にこれらの将棋系ゲーム(王を取るのを主目的とする)を「自由将棋」と呼んでみます。

ユーザーは少ないかもしれませんが、
将棋ったーと連動させたら面白いなぁと思いましたし、
チェスやシャンチーなど、すべての将棋系ゲームに応用が利くようになったら
ものすごく発展するのではないかとおもいます。

小さい将棋を私が考案して、
人力でテストプレイするのはすごく労力がかかるのと、
ひとつひとつプログラム書いてもらって解析して、また直して、
という作業を想像したらとても大変に思えたので、提案してみました。

詰将棋解析ソフトで「○手で詰みました」というように
先手の必勝法があった場合に「15手で先手の勝ちです」と
読みきってくれたら便利かと。

その結果
対戦系のゲームとして考えたものに解答がでた場合、
それはゲームではなく教育用の教材としてアレンジができます。

---------------------------------------------------------
プログラマの皆さんは、どのくらい需要があるのか?
ということを考えられるとおもうのですが

とりあえず現状で検索したいものがいくつかあります。
 ※興味と実用と両方です。

・有名?な3x3の将棋。
 (11玉 33玉で 持ち駒・銀歩。解答すでにでてるかもしれません)
・ミニシャンチー http://p.twipple.jp/RAzTY
 (私がツイートしたもの。)
・未発表新ルール
 駒の動きにかなり制約がある、1、3x5の15マス 2、5x5の25マス
 ※おそらく、1はすぐに必勝法が見つかると思うのですが。

ご興味ある方がいらっしゃると嬉しいなぁ。

na2hiro

unread,
Sep 18, 2011, 2:45:28 PM9/18/11
to ginsho会(仮)
どうぶつしょうぎと同じような,駒の動きや盤のサイズがアレンジされた将棋の解析でしょうか.

今話が進んでいる棋譜形式ですが,ルールファイルを別にしてプログラムが読み込むようにしたらどうかという話になっています.
もしそれが一般的になれば,棋譜を並べるソフトや手を読んで行く思考ルーチンなんかも,自分が自由に作った設定ファイルを
読み込んで,動いてくれるようになるかもしれません.

将棋ったー上でも,少しいじれば設定ファイルを読み込んで自分の好きな駒を動かせるようになるとは思いますが,
思考ルーチンについては自分で書いた事がないのであまり詳しく分かりません.
どうぶつしょうぎの解析にように,小さい盤面なら総当たり的な探索を行っても結論を導けるようです.
http://media.itc.u-tokyo.ac.jp/ktanaka/dobutsushogi/animal-private.pdf

こういう大量のデータを扱うものには少し興味があり,できるかはわかりませんがやってみたい気はあります.

Madoka Kitao

unread,
Sep 20, 2011, 4:41:28 AM9/20/11
to ginsho会(仮)
> どうぶつしょうぎと同じような,駒の動きや盤のサイズがアレンジされた将棋の解析でしょうか.

そうです。

たとえば、前の投稿で書いた3x3の将棋の解析とかいかがでしょうか。
・初期配置 先手33玉 後手11玉
・初期持ち駒…銀歩
・取った駒…使える
・成…一段目
・反則…打ち歩詰め 二歩 行き所のない歩打ち、連続王手の千日手 以上はすべて禁止
・千日手…あり
・入玉の概念…なし。

先手勝ち/後手勝ち/千日手 いずれかの結論がでるはずで、
このルールを紹介されていた方が結論はすでにでていると
ネット上でかかれていたのをよんだことがあるのですが
私はまだ読みきれていません。

初手 ▲2二銀、△1二玉、で、▲1三歩は打ち歩詰め。
というわけで、▲3二玉が有力だと思うのですが・・・・こんなに小さくても難しいです。

-----------------
ところで、どうぶつしょうぎの 「ぞう」を「銀」に、「きりん」を「金」にしたら
どうなるのか、ちょっと興味のあるところではあります。
だいぶゲームバランスが変わってきます。

-----------------

これとはまた別で私が考えたルールですが
3x5マスとかなりイレギュラーな形の上、駒の動きがまたもや将棋と異なります。
未発表ですが、もし解析していただけるようでしたら、直通メールでルールをお送りします。
ご興味ありましたら、ぜひ。

北尾

Hidetchi

unread,
Sep 26, 2011, 4:25:12 PM9/26/11
to ginsho会(仮)
脱線しますが、81Dojoに3x3将棋を実装してみました。

どうやら先手勝ちの解析結果が出ているようです。
http://d.hatena.ne.jp/mkomiya/20081116/1226811412

na2hiro

unread,
Sep 30, 2011, 6:36:01 PM9/30/11
to ginsho会(仮)
返答が遅れて済みません.

グラフデータベースに局面を蓄積してやってみようと思うのですが,今まで使ったことがないので少し学習時間が必要です.
3x3の解析が出来たらご報告します.そのアレンジで色々な将棋の解析が出来るはずです.
もしどなたか先に試されるならどうぞ.

na2hiro

unread,
Sep 30, 2011, 7:47:59 PM9/30/11
to ginsho会(仮)
3x3将棋の局面数上限をざっと概算してみました.250万局面を超えることはないようです.条件は
・左右反転したら同じになる局面も重複カウント
・二歩や打ち歩詰めなどのあり得ない局面もカウント
・玉で玉を取れる局面は除外

具体的な計算は,次です.

玉の位置は真ん中を除く,4隅(1)またはそのあいだの4カ所(2)
1) 相手玉は5通りの場所.4*5
2) 相手玉は3通りの場所.4*3
で,玉の位置は計32通り.

銀と歩は簡略化のために多めに見積もっています.
銀は,(A)位置取り,(B)盤上の先手後手,(C)成不成,(D)先後の持ち駒の数,の積.

1. 盤上に2枚の場合,(A) 7C2 (B) 2^2 (C) 2^2 (D) 1 積は336
 この時,歩は
 1. 盤上に2枚の場合,(A) 5C2 (B) 2^2 (C) 2^2 (D) 1 積は160
 2. 盤上に1枚の場合,(A) 5C1 (B) 2 (C) 2 (D) 2 積は20
 3. 盤上に0枚の場合, (A) 5C0 (B) 1 (C) 1 (D) 3 積は3
 計160+20+3=183
計336*183=61488

2. 盤上に1枚の場合,(A) 7C1 (B) 2 (C) 2 (D) 2 積は56
 この時,歩は
 1. 盤上に2枚の場合,(A) 6C2 (B) 2^2 (C) 2^2 (D) 1 積は240
 2. 盤上に1枚の場合,(A) 6C1 (B) 2 (C) 2 (D) 2 積は24
 3. 盤上に0枚の場合, (A) 6C0 (B) 1 (C) 1 (D) 3 積は3
 計267
計267*56=14952

3. 盤上に0枚の場合, (A) 1 (B) 1 (C) 1 (D) 3 積は3
 この時,歩は
 1. 盤上に2枚の場合,(A) 7C2 (B) 2^2 (C) 2^2 (D) 1 積は336
 2. 盤上に1枚の場合,(A) 7C1 (B) 2 (C) 2 (D) 2 積は56
 3. 盤上に0枚の場合, (A) 7C0 (B) 1 (C) 1 (D) 3 積は3
 計336+56+3=395
計395*3=1185

計(61488+14952+1185)*32=2484000

どうぶつしょうぎの理論上最大15億,実在局面2.5億よりは少ないです.
盤面の大きさもさることながら,駒数が多いと局面数も多くなりますね.

盤面に銀が2枚あり,同じ向きの時に二重カウントしてしまう,などは把握していますが,
もしこれより多いのではないかというならどなたか教えてください.
それともちろん,より正確な計算があればお願いします.

Reply all
Reply to author
Forward
0 new messages