[site top]

将棋にて、コンピューターの思考時間と人間の振る舞いの実験のまとめ | きのあ将棋

トップに戻る | Back Top

実験の概要

将棋にて、コンピューターが少し待ってから
着手をすることで、人間(ユーザー)の振る舞いがどうなるかを調べてみました。

コンピューターが少し待ってから、指すことで若干ではあるがユーザーの勝率の向上の可能性が確認されました。
早く指すほうが重宝された時代(昔の思考時間が長いソフトが多い時)とちがい、
コンピューターが少し待ってから、指すほうが、ユーザーに優しい可能性が確認されました。

実験でやったこと

・人間とコンピューターが将棋の対局。
・コンピューターの思考結果後に、ディレイ時間(待ち時間)を追加。
・人間の思考時間は、制限なし。
・ディレイごに勝敗結果をサーバで保存。
・人間の勝率の変化を調査。

実験の結果

- ユーザー先手の時 ユーザー後手の時
ディレイ時間 勝率 (分母) 勝敗到達率 (分母) 勝率 (分母) 勝敗到達率 (分母)
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)

ユーザーの勝率のグラフ
グラフ

ユーザーの勝敗到達率のグラフ
グラフ

実験の結果を踏まえて

・コンピューターがすぐに指さないことで、人間の勝率が少し上がる傾向。(人間に思考時間の制限がなくとも)
  →時間のかかった対局を丁寧にさすため?(今回人間の思考時間を集計していないので不明)
  →つられて早く指さないため?
  →相手の時間に考えるため?

・相手が人間ならば、ミスを誘いたいときには早くさすことは有効かも。(いわゆる時間攻め)

・先手の勝敗到達率(将棋を勝敗が決まるまで指した確立)を見ると、0.5-3秒程度なら、
  コンピューターとの対局でも、途中で対局を放棄することが増加しない。
  →ただし、後手(現在のインターフェイスでは、将棋になれたユーザーが選択することが多い)を選ぶユーザー
    では、コンピューターがすぐ指すか、3秒以上長く考えたほうが、継続率が高い。
      →おそらく、「将棋に慣れているユーザーが気楽に指したい需要」「それなりにじっくり指したい需要」
        に分かれているのではないか?

・実験の制度をあげるためには、まだデータが足らなかった。
・思考時間、通信時間などの影響で、ディレイ時間が0.5秒が正しく反映されていないケースがどの程度あるのか不明。

実験の詳細について

以下、実験にかかわる詳細についてです。

データ収集について

以下の手順、条件でデータを収集した。

  1. ユーザーに実験をする旨は伝えてあるが、内容は伏せている。
  2. ユーザーが対局相手と先手後手を選ぶ。
  3. 将棋の対局画面ページが表示される。このときにランダムで、デュレイ時間のケースが決定される。
  4. ユーザーかコンピューターが着手したところで、将棋の対局がされたものと判定される。
  5. コンピューターの思考をサーバーが行い、ユーザーが着手後からサーバーの着手を受信した時間(ユーザーが待った時間)を計算。
  6. 上記の時間(ユーザーが待った時間)が、デュレイ時間設定以下なら、デュレイ時間設定分を待ってから、コンピューターの着手を表示。
  7. ユーザーの思考時間は制限なし。(厳密には48時間)
  8. 将棋の対局の結果をサーバーに保存する。

この手順を受けた留意として

※この手順では、ユーザーのマシン環境、通信時間、サーバーの状況などで、ディレイ設定がユーザーに正しく反映されないことがある。
 つまり、ディレイ時間が短いケースほど、実験の精度が落ちることを留意する必要がある。
※インターフェイスの都合上、先手を選択して対局するケースが多くなる。
※後手を選択して対局するユーザーは、将棋に慣れているプレイヤーであることが多い。
※対局画面をブラウザでリロードなどで、ユーザー側でキャッシュ表示した場合に、ケースごとの分母が若干隔たるなどの事象が発生している。
※まれに、対局画面ページを介さずに対局をするユーザーも発生しているために、ケースごとの分母が若干隔たるなどの事象が発生している。
※ユーザーの思考時間の制限は基本的にないので、ディレイ時間が長くても、ユーザーの思考時間には直接影響はない。

ディレイのケースを振り分けするプログラムの乱数の精度

乱数でケースを振り分けるプログラムのコードでどのようなケースごとの分散になるか確認した。
今回の実験結果のデータと比較すると、実際の実験での対局のケースごとの分母がよりばらついている。
これは、ページリロードをした際に、同じ実験ケースで対局が行われることがあるためと推測される。

ケース振り分け用のテスト用ソース(掲載のため一部修正)

$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 :サイト全般のデザイン調整を受けた微修正。