将棋にて、コンピューターの思考時間と人間の振る舞いの実験のまとめ | きのあ将棋
実験の概要
将棋にて、コンピューターが少し待ってから
着手をすることで、人間(ユーザー)の振る舞いがどうなるかを調べてみました。
コンピューターが少し待ってから、指すことで若干ではあるがユーザーの勝率の向上の可能性が確認されました。
早く指すほうが重宝された時代(昔の思考時間が長いソフトが多い時)とちがい、
コンピューターが少し待ってから、指すほうが、ユーザーに優しい可能性が確認されました。
実験でやったこと
・人間とコンピューターが将棋の対局。 ・コンピューターの思考結果後に、ディレイ時間(待ち時間)を追加。 ・人間の思考時間は、制限なし。 ・ディレイごに勝敗結果をサーバで保存。 ・人間の勝率の変化を調査。
実験の結果
- | ユーザー先手の時 | ユーザー後手の時 | ||
---|---|---|---|---|
ディレイ時間 | 勝率 (分母) | 勝敗到達率 (分母) | 勝率 (分母) | 勝敗到達率 (分母) |
0.5秒 | 31.4% (2753) | 61.3% (4489) | 38.0% (1327) | 70.1% (1892) |
1.0秒 | 31.4% (2682) | 61.6% (4352) | 38.8% (1282) | 68.6% (1869) |
1.5秒 | 32.5% (2559) | 60.1% (4261) | 36.8% (1136) | 66.1% (1719) |
2.0秒 | 33.0% (2569) | 61.8% (4160) | 36.9% (1080) | 64.9% (1665) |
2.5秒 | 36.4% (2476) | 60.7% (4076) | 40.5% (1109) | 66.1% (1678) |
3.0秒 | 34.3% (2650) | 61.4% (4314) | 43.8% (1143) | 71.2% (1606) |
ユーザーの勝率のグラフ |
---|
ユーザーの勝敗到達率のグラフ |
---|
- 6手以上指した対局を集計。
- [ユーザー勝率] = [勝ち数] / ([勝ち数] + [負け数])
- [勝敗到達率] = ([勝ち数] + [負け数]) / ([勝ち数] + [負け数] + [中断数] + [放棄数])
実験の結果を踏まえて
・コンピューターがすぐに指さないことで、人間の勝率が少し上がる傾向。(人間に思考時間の制限がなくとも) →時間のかかった対局を丁寧にさすため?(今回人間の思考時間を集計していないので不明) →つられて早く指さないため? →相手の時間に考えるため? ・相手が人間ならば、ミスを誘いたいときには早くさすことは有効かも。(いわゆる時間攻め) ・先手の勝敗到達率(将棋を勝敗が決まるまで指した確立)を見ると、0.5-3秒程度なら、 コンピューターとの対局でも、途中で対局を放棄することが増加しない。 →ただし、後手(現在のインターフェイスでは、将棋になれたユーザーが選択することが多い)を選ぶユーザー では、コンピューターがすぐ指すか、3秒以上長く考えたほうが、継続率が高い。 →おそらく、「将棋に慣れているユーザーが気楽に指したい需要」「それなりにじっくり指したい需要」 に分かれているのではないか? ・実験の制度をあげるためには、まだデータが足らなかった。 ・思考時間、通信時間などの影響で、ディレイ時間が0.5秒が正しく反映されていないケースがどの程度あるのか不明。
実験の詳細について
以下、実験にかかわる詳細についてです。
データ収集について
以下の手順、条件でデータを収集した。
- ユーザーに実験をする旨は伝えてあるが、内容は伏せている。
- ユーザーが対局相手と先手後手を選ぶ。
- 将棋の対局画面ページが表示される。このときにランダムで、デュレイ時間のケースが決定される。
- ユーザーかコンピューターが着手したところで、将棋の対局がされたものと判定される。
- コンピューターの思考をサーバーが行い、ユーザーが着手後からサーバーの着手を受信した時間(ユーザーが待った時間)を計算。
- 上記の時間(ユーザーが待った時間)が、デュレイ時間設定以下なら、デュレイ時間設定分を待ってから、コンピューターの着手を表示。
- ユーザーの思考時間は制限なし。(厳密には48時間)
- 将棋の対局の結果をサーバーに保存する。
この手順を受けた留意として
※この手順では、ユーザーのマシン環境、通信時間、サーバーの状況などで、ディレイ設定がユーザーに正しく反映されないことがある。
つまり、ディレイ時間が短いケースほど、実験の精度が落ちることを留意する必要がある。
※インターフェイスの都合上、先手を選択して対局するケースが多くなる。
※後手を選択して対局するユーザーは、将棋に慣れているプレイヤーであることが多い。
※対局画面をブラウザでリロードなどで、ユーザー側でキャッシュ表示した場合に、ケースごとの分母が若干隔たるなどの事象が発生している。
※まれに、対局画面ページを介さずに対局をするユーザーも発生しているために、ケースごとの分母が若干隔たるなどの事象が発生している。
※ユーザーの思考時間の制限は基本的にないので、ディレイ時間が長くても、ユーザーの思考時間には直接影響はない。
ディレイのケースを振り分けするプログラムの乱数の精度
乱数でケースを振り分けるプログラムのコードでどのようなケースごとの分散になるか確認した。
今回の実験結果のデータと比較すると、実際の実験での対局のケースごとの分母がよりばらついている。
これは、ページリロードをした際に、同じ実験ケースで対局が行われることがあるためと推測される。
ケース振り分け用のテスト用ソース(掲載のため一部修正)
$arCase = array();
$krCase = 10000;
for( $i = 1; $i <= 6; $i++ ) {
$arCase[$i] = 0;
}
for( $i = 0; $i < $krCase; $i++ ) {
$select_delay = mt_rand( 1, 6 );
$arCase[$select_delay] += 1;
}
for( $i = 1; $i <= 6; $i++ ) {
printf( "case%d :%d cnt (%.1f rate)\n", $i, $arCase[$i], (100*$arCase[$i] /$krCase) );
}
実行結果
$ php -f test-rand.php case1 :1678 cnt (16.8 rate) case2 :1682 cnt (16.8 rate) case3 :1672 cnt (16.7 rate) case4 :1627 cnt (16.3 rate) case5 :1685 cnt (16.9 rate) case6 :1656 cnt (16.6 rate) $ php -f test-rand.php case1 :1665 cnt (16.6 rate) case2 :1626 cnt (16.3 rate) case3 :1664 cnt (16.6 rate) case4 :1694 cnt (16.9 rate) case5 :1642 cnt (16.4 rate) case6 :1709 cnt (17.1 rate) $ php -f test-rand.php case1 :1604 cnt (16.0 rate) case2 :1679 cnt (16.8 rate) case3 :1619 cnt (16.2 rate) case4 :1663 cnt (16.6 rate) case5 :1714 cnt (17.1 rate) case6 :1721 cnt (17.2 rate) $ php -f test-rand.php case1 :1697 cnt (17.0 rate) case2 :1704 cnt (17.0 rate) case3 :1605 cnt (16.1 rate) case4 :1693 cnt (16.9 rate) case5 :1675 cnt (16.8 rate) case6 :1626 cnt (16.3 rate) $ php -f test-rand.php case1 :1667 cnt (16.7 rate) case2 :1687 cnt (16.9 rate) case3 :1632 cnt (16.3 rate) case4 :1628 cnt (16.3 rate) case5 :1684 cnt (16.8 rate) case6 :1702 cnt (17.0 rate) $ php -f test-rand.php case1 :1647 cnt (16.5 rate) case2 :1666 cnt (16.7 rate) case3 :1677 cnt (16.8 rate) case4 :1626 cnt (16.3 rate) case5 :1697 cnt (17.0 rate) case6 :1687 cnt (16.9 rate) $ php -f test-rand.php case1 :1702 cnt (17.0 rate) case2 :1632 cnt (16.3 rate) case3 :1635 cnt (16.4 rate) case4 :1714 cnt (17.1 rate) case5 :1672 cnt (16.7 rate) case6 :1645 cnt (16.4 rate)
コンピューターの思考設定ごとのデータ
ディレイ時間が変わっても、コンピューターの思考設定のどれをユーザーが選ぶかが隔たることで
実験の制度に問題がある可能性があるので、これも集計してみました。
文章の資料にするのが、ちょっと大変なので画像ですが、気になる方は見てください。
[コンピューターの思考設定ごとのデータ]
その他
この資料は、出典元さえ書いてあれば、転用可。
実験とレポートの履歴
2011/12/09 :朝方に、実験開始。
2011/12/28 :02:30ごろに、実験終了。
2011/12/29 :実験の内容の集計とか。
2011/12/31 :実験の内容と結果をまとめ完成、公開。
2015/07/31 :サイト全般のデザイン調整を受けた微修正。