【囲碁】 バグを直そうぜ☆?(^~^)?<その2>

2016-06-30 08:28

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「写真屋さん、

首からぶら下げる横長カード用の写真を撮ってくれるか

伺いたいんだが 10時開店だって☆」

KIFUWARABE_80x100x8

「スマホで撮ればいいのに……☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「写真加工できないし☆」


 

11:38

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「日本ルールと 中国ルールで 結果が異なるケースの

話しはしたかだぜ☆?」

KIFUWARABE_80x100x8

「聞いたぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「あれを直す方法を考えようぜ☆」


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「うそ面の 上にある 相手の石は 死に石 なんだが、

うそ面に必要な 囲っている石 が死に石になっていることが

あるよな☆」

MOMOCHI_Madoka_80x80x8_01_futu

「あっちを立てれば こっちが立たず、を無視した計算方法よね」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「Aを立てれば B、C が立たない、

Bを立てれば A が立たない、

Cを立てれば A が立たない、

となれば B、C を立てて A を立てないという選択肢も

見えてくるんだが、

要素が40個あれば 組み合わせは 膨大そうだぜ☆」

KIFUWARABE_80x100x8

「それぞれの場面で

黒、白別に 大きいもの順に並べて

黒の視点で掃除していったらどうだぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「黒が 10、2、1、1、1 みたいな要素で、

白が 10、8、6、4、2 みたいな要素だったら、

白の視点で 見てほしいものだぜ☆」

MOMOCHI_Madoka_80x80x8_01_futu

「黒、白は 分けない方がいいんじゃないかしら?

10、10、8、6、4、2、2、1、1、1 みたいに並べて

大きいものから確定していくとか」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「5、5、5、5、5、5、5、5、4、3 みたいな場面じゃ、

大きいものから確定していくのは 期待できないわね」

UEUESHIMA_Komado_80x80x8_03_jitoo

「人間なら 見りゃわかるのになだぜ☆」


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「検査用のメソッドを作れないかどうか☆

A、B、C、D と複数の主張を入力して、

それが無矛盾かどうかを判定するメソッド☆(^q^)

IsConsistency( )☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「有用かどうかは置いておいて、有っても困らないわよね」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「作っておくか…………☆」


 

17:01

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「そんなの 作れなかったぜ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「なんでよ」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「A、B、C、D は 矛盾しないようなリストなので

IsConsistency( リスト ) は 常に 無矛盾☆

適当なリストに IsConsistency( リスト ) なんかしても

結果は常に テキトー☆」


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「超越ルーチンというのを 今 考えているんだぜ☆

このような図があるとき☆」

emptywhitewhitewhitewhite

emptywhiteemptyemptyempty

whitewhiteblackblackblack

blackblackblackemptywhite

emptyemptyblackblackblack

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「プレイアウトして 最後まで打ち尽くせば、

2眼の有無は判定できるぜ☆」

blackblackblackblackBoxblack

blackblackblackblackblackBox

blackBoxblackblackblackblack

blackblackblackblackblackBox

blackBoxblackblackblackblack

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「この結果を、さっきの対局停止図にフィードバックさせるぜ☆」

blackBoxwhiteDeadwhiteDeadwhiteDeadwhiteDead

blackBoxwhiteDeadblackBoxblackBoxblackBox

whiteDeadwhiteDeadblackblackblack

blackblackblackblackBoxwhiteDead

blackBoxblackBoxblackblackblack

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「日本式では 石はカウントしないので……☆」

blackBoxblackBoxWhiteDeadblackBoxWhiteDeadblackBoxWhiteDeadblackBoxWhiteDead

blackBoxblackBoxWhiteDeadblackBoxblackBoxblackBox

blackBoxWhiteDeadblackBoxWhiteDeadblackNoCountblackNoCountblackNoCount

blackNoCountblackNoCountblackNoCountblackBoxblackBoxWhiteDead

blackBoxblackBoxblackNoCountblackNoCountblackNoCount

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「答えが出るんじゃないか☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「フィードバックって、どんな動きなのよ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「生き石は 盤上から消えないだろ☆

すると プレイアウト後の色と必ず一致するから、

生き石は確定できるな☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「ふむ」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「あとは 生き石 が伸びて うそ面 にどんどん

侵略していくと思うので、

ここは 未確定うそ面 とするぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「未確定うそ面 ばっかりじゃないの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「侵略されている石は、死に石 と確定できるだろ☆

盤上の 生き石 と 死に石は 確定できるな☆」

KIFUWARABE_80x100x8

「じゃあ、その部分だけ作ろうぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「名前は JudgeDeadOrAliveStones( )とか

かっこよくないかだぜ☆?」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「やってみましょう」


 

2016-07-01 01:45

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ひゃ~☆

Rayを飛ばしてたんだが、こんなことになってしまったぜ☆」

wakuwakuwakuwakuwakuwaku

wakublackRayblackwhitewhiteRaywaku

wakublackblackwhitewhiteRaywaku

wakuwhitewhitewhitewhiteRaywaku

wakuwhiteRaywhiteRaywhiteRayemptywaku

wakuwakuwakuwakuwakuwaku

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「右下の 端っこが 駄目 になってしまったぜ☆

なんてこっただぜ☆」

KIFUWARABE_80x100x8

「4方向が枠だから、駄目になったのかだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ループを2週すれば 埋まるんだろうけど、

エレガントでないことだぜ☆」

 


 

03:15

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「日本ルールの実装がマシになったぜ☆

ルーチン名は、『超越』と『楽園』だぜ☆」

KIFUWARABE_80x100x8

「寝ろ☆(^q^)」


 

03:35

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「べっちゃん、

パスに釣られて パスするみたいだぜ☆?(^q^)」

KIFUWARABE_80x100x8

「べっちゃんって わたしのことかだぜ☆(^q^)

ペッタンコみたいだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「序盤の 追いかけパス はバグに見えるから

境界線が引かれるまでパスしないように 今度 直そうぜ☆」

KIFUWARABE_80x100x8

「おう☆」


 

03:51

201607010350

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「すかすかの局面で 地を計算させると

へんなところに 地を数えているな☆」

KIFUWARABE_80x100x8

「楽園ルーチンのログを 1週目と2週目の2つ出すかだぜ☆?」

 


 

04:24

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「うっ☆ いろいろ眠い ここまで」

KIFUWARABE_80x100x8

「おつ☆」

 

はてなブックマーク - 【囲碁】 バグを直そうぜ☆?(^~^)?<その2>
[`yahoo` not found]
[`yahoo_buzz` not found]
このエントリーを Google ブックマーク に追加
Digg にシェア
Facebook にシェア
reddit にシェア
LinkedIn にシェア
[`evernote` not found]
StumbleUpon にシェア
GREE にシェア
email this
LINEで送る
Pocket

【囲碁】 バグを直そうぜ☆?(^~^)?

2016-06-29 20:06

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「パスを繰り返していると きふわらべ が投了するんだって☆ 2手目とか☆」

KIFUWARABE_80x100x8

「投了するぜ☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「直しなさいよ!」


 

20:15

201606292016

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「きふわらべは 自分が勝ってると思っているから

パスするみたいだな☆ 投了じゃないぜ☆」

KIFUWARABE_80x100x8

「でも 投了するぜ☆?(^q^)」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「もっと条件を合わせてみるかだぜ☆」


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「日本式ルールで 計算失敗しているところを見ると

うそ面 が 2 に満たないときは、

勝利を確信してのパスはまだしない、

といった制約を付けておくかだぜ」

KIFUWARABE_80x100x8

「いいんじゃないか☆? やってみようぜ☆?」

ISOZONO_Tama_80x80x8_01_Futu

「うそ面の数を毎回数えるのかだぜぃ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「勝ちを確信してパスをする条件が揃ったときに

確認を入れるようにしようぜ☆(^q^)」


 

21:47

201606292146

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「よし、少なくとも 輪っかを 1つ作るまで

勝利を確信したパスは しないようにしたぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「2眼ができるように うそ面 は3つにした方がよくない?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「慎重だな……☆ じゃあ そうするぜ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「なんで2目しか 地をカウントしていないの?

輪っかの 外側も地でしょ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「黒と白の地の差が なるべく少なくなる答えを選ぶルーチンなんだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「正しい答えにならないじゃないのよ」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「もっと 黒の線と 白の線が ぶつかった場面を

想定したルーチンなんだぜ☆」


 

22:04

201606292204

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「よし、輪っかを2つ作ったぜ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「2眼にならないケースもあるけど、

簡易式としては十分でしょう」


 

22:21

201606292220

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ありゃ……☆ 1秒指しだと プレイアウト2回しかしてなくて

勝率0%になって 負けたと思っちゃってるんだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「相手が うそ面を3つ作ってない間は

諦めないようにしましょう!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「なっる☆!」


 

 

はてなブックマーク - 【囲碁】 バグを直そうぜ☆?(^~^)?
[`yahoo` not found]
[`yahoo_buzz` not found]
このエントリーを Google ブックマーク に追加
Digg にシェア
Facebook にシェア
reddit にシェア
LinkedIn にシェア
[`evernote` not found]
StumbleUpon にシェア
GREE にシェア
email this
LINEで送る
Pocket

【囲碁】 細かなルールの違いに対応していこうぜ☆(^~^)

2016-06-28 11:01

\ ぼけ~っ☆ /

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「…………☆」

KIFUWARABE_80x100x8

「お父んが無心になっているぜ☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「放心というのよ」


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「プレイアウトなんだが、次の図の n1 には

黒石を置かないようにしているんだぜ☆」

 

emptyemptyemptyemptyempty

emptyemptyblackemptyempty

emptyblackn1blackempty

emptyemptyblackemptyempty

emptyemptyemptyemptyempty

UEUESHIMA_Komado_80x80x8_02_nitaari

「何やってるんだぜ☆? 混ぜろだぜ☆!」

KIFUWARABE_80x100x8

「 n1 に 白石を置くのは 自殺手 になるので

着手禁止点と呼ばれ 石を置けないんだが、

黒石 を置くのは いいんじゃないのか☆?」

 

UEUESHIMA_Komado_80x80x8_02_nitaari

「こうかだぜ☆!」

emptyemptyemptyemptyempty

emptyemptyblackemptyempty

emptyblackblackDropblackempty

emptyemptyblackemptyempty

emptyemptyemptyemptyempty

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「そう、可能☆

目を埋めた方がいい場面もあるぜ☆

でも 目を埋めた方がいい場面を考えていると、

モンテカルロ木探索深さ1 分速17000回 では

弱くなるのな☆」

MOMOCHI_Madoka_80x80x8_01_futu

「なんで弱くなるのかしら?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「9路盤は 81手ぐらい指すだろ☆

そのうち黒番は41手☆ 盤上は81マス☆

目を埋める手は 打ちやすいし、

黒白がお互い 二眼を潰しあっているようでは

勝敗判定はまったく 宛てにならなくなるぜ☆

勝敗判定ができないようでは 弱くなるぜ☆」

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「…………☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「そこで わたしの プレイアウトでは、

囲碁のルールとは別に、

着手禁止点 を追加しているんだぜ☆

DoNotDropStone_FourstonesEye」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「この図形のとき、1 には 黒石を置いてはいけない、

という 制約 の追加だぜ☆」

wakuwakuwakuwakuwaku

wakuwakublackwakuwaku

wakublackn1blackwaku

wakuwakublackwakuwaku

wakuwakuwakuwakuwaku

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「白石のときも同様☆」

KIFUWARABE_80x100x8

「いいんじゃないか☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「この制約が問題になるときがあるんだぜ☆」


 

ISOZONO_Tama_80x80x8_01_Futu

「どういうときに問題になるんだぜぃ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「制約は コンピューター・プレイヤー に付いている分にはいいんだが、

人間プレイヤーにもついていると、打てる場所に打てない☆」

ISOZONO_Tama_80x80x8_01_Futu

「コンピューター・プレイヤーと 人間は区別しようぜぃ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「他にも、

中国ルールでは 盤面全体が同じ形になる 同形反復 は禁止で

スーパー・コウ・ルール と呼ばれているんだが、

日本ルールでは 部分が同じ形になる 同型反復 は禁止で

コウ・ルール、 または シンプル・コウ・ルール と呼ばれているんだぜ☆

これも分けたいぜ☆」

ISOZONO_Tama_80x80x8_01_Futu

「区切ってしゃべってくれだぜぃ」


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「複数の問題を解決するために、

ビットフィールドとして利用できる列挙型を作ろうぜ☆」

ISOZONO_Tama_80x80x8_01_Futu

「自分で作れだぜぃ」

 


 

19:06

KIFUWARABE_80x100x8

「お父ん、地の計算が動いていないみたいだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「システム結合テストって そんなもんだろ☆

バグが出てきてよかったな☆」

KIFUWARABE_80x100x8

「……………………………………☆」

 


 

20:23

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「これなんか いい例だぜ☆

中国ルールでは 白勝ちなんだが、 日本ルールでは 黒勝ち になる例☆

地の数 を数える日本ルールと、

石と地の数 を数える中国ルールでは 結果が異なる例だぜ☆」

201606282022

KIFUWARABE_80x100x8

「中国ルールでは 白勝ちなので、

日本ルールでも 白勝ち だろうと思って 白勝ち前提で計算したら

日本ルールでは 黒勝ち になるのが正しいケースかだぜ☆」

 


 

22:58

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「ふらふらー☆」

KIFUWARABE_80x100x8

「みんなもう寝てるぜ☆(^~^)? 寝ろ☆(^q^)」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「……………………☆

日本ルールでは 盤面の同形反復 は無視するようにしたり、

地の計算を 精度優先、速度優先の2つに分けたり、

『地』 の読み方は 『じ』 だというので、Chi をTerritory に置換したり、

ごほっ ごほっ☆」

KIFUWARABE_80x100x8

「もちつけ☆ 寝ろ☆(^q^)」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「思考をばっさり切り上げて

1.5秒で バシバシ 打つモードも追加したんだぜ☆」

KIFUWARABE_80x100x8

「寝ろ☆(^q^)」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「…………………………………………☆」

 


 

2016-06-29 0:01

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「.HasFlag に対応☆ 寝る☆(^q^)」

KIFUWARABE_80x100x8

「おやすーだぜ☆(^▽^)」

はてなブックマーク - 【囲碁】 細かなルールの違いに対応していこうぜ☆(^~^)
[`yahoo` not found]
[`yahoo_buzz` not found]
このエントリーを Google ブックマーク に追加
Digg にシェア
Facebook にシェア
reddit にシェア
LinkedIn にシェア
[`evernote` not found]
StumbleUpon にシェア
GREE にシェア
email this
LINEで送る
Pocket

【囲碁】 Fuegoと戦ってみようぜ☆(^~^)

2016-06-27 18:13

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「ふらふらー☆」

KIFUWARABE_80x100x8

「今日は何をやるんだぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「きふわらべ、 Fuego と戦ってみようぜ☆(^~^)」

KIFUWARABE_80x100x8

「任せろだぜ☆(^▽^)」


 

18:54

201606271854

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「Fuegoは何ルールで計算してるんだぜ☆?」

KIFUWARABE_80x100x8

「計算方式 領地 が 中国ルールで、

計算方式 地 が 日本ルールのようだが、

Fuego は中国ルールでも コミ6.5 で計算しているようだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「中国ルールの計算で きふわらべに比べて

白が1目少ないのは

Fuegoのコミが 6.5 のせいかだぜ☆

ちゃんと中国ルールなら コミ7.5 にしてほしいものだぜ☆」

 


 

20:15

201606272014

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「あれっ☆? 白番きふわらべ、Fuegoに勝ったんだけど☆?」

KIFUWARABE_80x100x8

「まかせろや、おらーっ☆!(^▽^)」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「2000局ぐらい対局してデータを取りたいところね」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「無理……☆(^q^)」


 

2016-06-28 00:17

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「…………☆

思考時間の設定と、待った を内部的に付けておいたぜ☆

GUI担当が 好きなように調理してくれるだろ☆」

KIFUWARABE_80x100x8

「やったな☆!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「やったぜ☆!」

KIFUWARABE_80x100x8

「寝ろ☆(^q^)」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「…………☆」

 

はてなブックマーク - 【囲碁】 Fuegoと戦ってみようぜ☆(^~^)
[`yahoo` not found]
[`yahoo_buzz` not found]
このエントリーを Google ブックマーク に追加
Digg にシェア
Facebook にシェア
reddit にシェア
LinkedIn にシェア
[`evernote` not found]
StumbleUpon にシェア
GREE にシェア
email this
LINEで送る
Pocket

【囲碁】 地の判定の精度を上げようぜ☆?(^~^)<その2>

2016-06-26 20:08

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「前の記事の改造アルゴリズムの名前は、

背理法による所有地判定法

(land judging method by reduction to the absurd)

と名付けるわよ!」

KITASHIRAKAWA_Chiyuri_80x100x8_03_Ahee

「うぶぶぶ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「根拠としては……」

emptywh3emptybk1

emptywh3bk2empty

wh4emptybk2bk2

 

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「この図で もし 5 が正しければ」

b5b5b5bk1

b5b5bk2n6

b5b5bk2bk2

OKAZAKI_Yumemi_80x80x8_01_Damaru

「白には bk1 bk2 n6 を埋める うそ面が」

 

bl7whitebl8bl8

bl7whitebl8bl8

whitebl8bl8bl8

OKAZAKI_Yumemi_80x80x8_02_Syaberu

bl8 しかないわけだけど、bl8 は b5 と被るので不可!

よって必然的に n6 も 黒のうそ面になるのだけど、

そうすると 盤上が全面 黒のうそ面 になるわ」

KIFUWARABE_80x100x8

「盤上が全面 黒のうそ面 になるのが正しい場合もあるんじゃないのか☆?」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「手を動かして 中国ルールとの 誤差を比較しましょう。

このサンプルでの 中国ルールの計算結果は 黒5、白5 だったわね」

 

b5b5b5blackNoCount

b5b5blackNoCountb6

b5b5blackNoCountblackNoCount

ISOZONO_Tama_80x80x8_01_Futu

「黒8、白0 で 中国ルールとの誤差は 8 だぜぃ」

MOMOCHI_Madoka_80x80x8_01_futu

「誤差を縮めるという発想が間違っているんじゃないかしら。

中国ルールは 引き分け を示しているのだから、

ミニゲーム・ルールでも 引き分けに一番近い答えを探すのが

良いんじゃないかしら?」

ISOZONO_Tama_80x80x8_01_Futu

「じゃあ、こうだぜぃ」

bl7whiteNoCountemptyblackNoCount

bl7whiteNoCountblackNoCountb6

whiteNoCountemptyblackNoCountblackNoCount

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「まあ、そうなんだが☆

誤差ってダメなの☆?」

KIFUWARABE_80x100x8

「結末の微差よりも、

もっと でかい要素が 計算の序盤で あるということなんじゃないか☆?」

 


OKAZAKI_Yumemi_80x80x8_02_Syaberu

「勝ち、引き分け、負け。

結論さえ合っていれば、ちょっとぐらい 判定が間違っていても

問題ないんじゃないかしら?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「その判定の 正確さの精度を上げようと思って

誤差に 目を付けているのに……☆」

MOMOCHI_Madoka_80x80x8_01_futu

「面積の誤差を見ても、盤面は見えてないんじゃないかしら?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「じゃあ どうしよ☆」

UEUESHIMA_Komado_80x80x8_09_Nikoniko

「今は どういう感じで 不正確なんだぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「えーと、あれ、不具合が起こらないな……、

あっ、別件のバグを1つ発見☆」

KIFUWARABE_80x100x8

「それを直したら 案外 古いルーチンが うまく動くんじゃないかだぜ☆(^~^)?」


 

22:25

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「いくつか バグ取ったんだが、

死に石 をカウントしていないので、なんとかカウントしたいぜ☆」

emptyemptybk1wh2emptyempty

wh3emptybk1wh2emptyempty

emptyemptybk1wh2emptyempty

emptyemptybk1wh2emptyempty

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「 wh3 が死に石な☆

これで 白は1点減点だぜ☆

今は これを カウントしていないので、点数に差が出ていると思うんだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「背理法というより、

帳簿の 借方と 貸方の 帳尻合わせ に似てきたわね」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「デッキに含まれている数だけ

盤上の うそ面 を走査して 相手色の石を数えるかだぜ☆」


 

23:37

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「うっ☆ 死に石は 考慮したけど、

そろそろ タイムアップだぜ☆」

KIFUWARABE_80x100x8

「予定通り、ぜんぜんテストできてないな☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ひとまず ビットバケツに ファイルはアップロードしておいたぜ☆

この 不完全な土台で 囲碁きふわらべ を

トンカンットンカンッ していこうぜ☆」

KIFUWARABE_80x100x8

「おう☆ 頼むぜ☆(^▽^)」

UEUESHIMA_Komado_80x80x8_02_nitaari

「おっ☆ 完成か☆? やったな☆(^▽^)」

KIFUWARABE_80x100x8

「やったぜ☆!」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「まあ、いいんじゃないの」

KIFUWARABE_80x100x8

「まあ、いいんだぜ☆!」

ISOZONO_Tama_80x80x8_01_Futu

「飴ちゃん食べるか?」

KIFUWARABE_80x100x8

「電気野菜味にしてくれだぜ☆」

MOMOCHI_Madoka_80x80x8_01_futu

「もう囲碁で遊べるのかしら?」

KIFUWARABE_80x100x8

「今日はもう遅いぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「あー、改造したいぜ☆」

KIFUWARABE_80x100x8

「もう 開発期間ないだろ☆ 諦めろ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「へろへろ~、やり残しマンだぜ☆」

KIFUWARABE_80x100x8

「お父ん、おつだぜ☆(^q^)

たまちゃんも おつだぜ☆(^▽^)」

 

 

 

はてなブックマーク - 【囲碁】 地の判定の精度を上げようぜ☆?(^~^)<その2>
[`yahoo` not found]
[`yahoo_buzz` not found]
このエントリーを Google ブックマーク に追加
Digg にシェア
Facebook にシェア
reddit にシェア
LinkedIn にシェア
[`evernote` not found]
StumbleUpon にシェア
GREE にシェア
email this
LINEで送る
Pocket

【囲碁】 地の判定の精度を上げようぜ☆?(^~^)

2016-06-26 11:29

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「アルゴリズムの名前は、

誤差縮小推論所有地判定法(Error reduction reasoning land judging method)

と名付けるぜ☆」

KIFUWARABE_80x100x8

「くそ長い漢字を見ると お父んのブログらしさがあるぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「じゃあ、各部名称を説明するぜ☆」

KIFUWARABE_80x100x8

「うむ☆」

UEUESHIMA_Komado_80x80x8_09_Nikoniko

「よっしゃ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「まず、囲碁のことは一旦忘れて 新しいミニゲームと思って 見てほしい☆」

emptywhiteemptyblack

emptywhiteblackempty

whiteemptyblackblack

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「このような盤面があるとして、名前を付ける代わりに、数字を振るんだぜ☆

まず、黒石、白石に番号を振るぜ☆」

emptywh3emptybk1

emptywh3bk2empty

wh4emptybk2bk2

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「縦横につながっているものを 連(れん)と呼ぶ☆

石の番号は、石の連の番号だぜ☆」

KIFUWARABE_80x100x8

「ふむ☆」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「次に、盤面から白石を取り除くんだぜ☆」

emptyemptyemptyblack

emptyemptyblackempty

emptyemptyblackblack

MOMOCHI_Madoka_80x80x8_01_futu

「はいはい」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「今度は、空間に番号を振るぜ☆ これを うそ面(- めん) と造語するぜ☆」

b5b5b5black

b5b5blackb6

b5b5blackblack

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「イカスミのかかっている おいしそうな うそめん だぜ☆(^q^)」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「これも、タテヨコにつながっているものを 1つの連 として分けるぜ☆

ナナメにはつながっていない☆」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「白も 同じようにするぜ☆」

bl7whitebl8bl8

bl7whitebl8bl8

whitebl8bl8bl8

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「ホワイトチョコで コーティングされているぜ☆(^q^)」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「では、ここで 1~8 を再掲するぜ☆

この1つ1つの一般名詞を、トランプゲームになぞらえて

カード(手札) と造語するぜ☆」

MOMOCHI_Madoka_80x80x8_01_futu

「独自の解法だから、専門用語がないのね」

 

(1)

wakuwakuwakubk1

wakuwakuwakuwaku

wakuwakuwakuwaku

(2)

wakuwakuwakuwaku

wakuwakubk2waku

wakuwakubk2bk2

(3)

wakuwh3wakuwaku

wakuwh3wakuwaku

wakuwakuwakuwaku

(4)

wakuwakuwakuwaku

wakuwakuwakuwaku

wh4wakuwakuwaku

(5)

b5b5b5waku

b5b5wakuwaku

b5b5wakuwaku

(6)

wakuwakuwakuwaku

wakuwakuwakub6

wakuwakuwakuwaku

(7)

bl7wakuwakuwaku

bl7wakuwakuwaku

wakuwakuwakuwaku

(8)

wakuwakubl8bl8

wakuwakubl8bl8

wakubl8bl8bl8

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「 waku は、透明なアクリル板とでも思ってくれだぜ☆

下が透けて見える☆」

ISOZONO_Tama_80x80x8_01_Futu

「わかったぜぃ」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「このアルゴリズムの目的は、

1~8 のカードから 都合の悪いカードを捨てていって、

最終的に b6、 bl7 のカードだけが残れば正解だぜ☆」

UEUESHIMA_Komado_80x80x8_03_jitoo

「ほう☆」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「このアルゴリズムは、次のような 問題 を解くための方法として開発した☆

下の例を見てほしいんだぜ☆」

emptyemptyblackemptyblackwhiteemptyemptyempty

emptyemptyemptyblackblackwhiteemptyemptyempty

emptyemptyblackblackwhitewhiteemptyemptyempty

emptyemptyblackwhiteemptywhiteemptyemptyempty

emptyemptyblackwhiteemptywhitewhitewhiteempty

blackblackblackblackwhiteemptyblackemptyempty

whitewhiteblackwhitewhitewhitewhiteblackempty

emptywhitewhiteblackwhiteblackwhiteemptyempty

emptyemptyemptyemptyblackblackemptyemptyempty

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「これは 次のような答えに 落ち着いてほしいんだぜ☆」

bbwakubwakuwakublblbl

bbbwakuwakuwakublblbl

bbwakuwakuwakuwakublblbl

bbwakuwakublwakublblbl

bbwakuwakublwakuwakuwakubl

wakuwakuwakuwakuwakublblblbl

wakuwakuwakuwakuwakuwakuwakublbl

blwakuwakublwakublwakublbl

blblblblblblblblbl

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「このように 黒と 白 を分けるいい方法があるのなら、

推論所有地判定法 なんて要らないんだぜ☆」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「それでも 『そんなん簡単だろ』 という人がいる場合は、

応用問題を置いておくので 答えを出してほしい☆」

emptywhitewhiteblackblackblackwhitewhiteempty

whiteemptyblackwhiteemptywhiteblackemptywhite

whiteemptywhiteblackblackblackwhiteemptywhite

whiteblackwhiteblackemptyblackwhiteblackwhite

blackwhiteblackwhitewhitewhiteblackwhiteblack

blackemptyblackemptywhiteemptyblackemptyblack

blackemptyblackwhitewhitewhiteblackemptyblack

blackemptywhiteblackemptyblackwhiteemptyblack

emptyblackblackwhitewhitewhiteblackblackempty

KIFUWARABE_80x100x8

「簡単だな☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「みな 簡単 って言うんだぜ☆

話しを進めよう☆」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「囲碁には、

モンテカルロ式木探索深さ1 というアルゴリズムと、

中国ルール というゲームのルールがあるんだぜ☆

これを使って ゲームの勝敗の 結論を先に出すものとする☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ミニゲームも同様に、ゲームの勝敗は 先に結論が出ているものとするぜ☆

このような問いを与えれば……☆」

emptywh3emptybk1

emptywh3bk2empty

wh4emptybk2bk2

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「次のような結論が すでに 先に 出ているものとするぜ☆」

blblemptyb

blblbb

blemptybb

 

UEUESHIMA_Komado_80x80x8_03_jitoo

「なんか、思ってたのと ちょっと違うな……☆

思ってた結論は こうなんだが☆」

blemptyemptyempty

blemptyemptyb

emptyemptyemptyempty

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「中国ルールの結論は 白5、黒5 で 引き分けだぜ☆

ミニゲームの正解は 白2、黒1 で 白の勝ちだぜ☆

中国ルールの結論を 利用して、 ミニゲームの正解を導き出すのが

誤差縮小推論所有地判定法 が、推論の判定と 名前を冠する所以だぜ☆」

KIFUWARABE_80x100x8

「まあ、答えが出るのなら なんでもいいんじゃないか☆?」

 

解法

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「まず、 うそ面 のカードを 黒、白に分けて 面積の広い順に並べるぜ☆

カードゲームになぞらえて、デッキを作ると表現するぜ☆」

 

黒のデッキ

(5)

b5b5b5waku

b5b5wakuwaku

b5b5wakuwaku

(6)

wakuwakuwakuwaku

wakuwakuwakub6

wakuwakuwakuwaku

 

白のデッキ

(8)

wakuwakubl8bl8

wakuwakubl8bl8

wakubl8bl8bl8

(7)

bl7wakuwakuwaku

bl7wakuwakuwaku

wakuwakuwakuwaku

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「で、とりあえず 黒優先で 面積の大きいものから順に

判定を繰り返していくぜ☆ まず b5 のカード☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ここで、b5 のカードには、それを取り囲む 石の連を 一旦

一緒に含むぜ☆」

 

(5)+囲い

b5b5b5bk1

b5b5bk2waku

b5b5bk2bk2

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「次に 白デッキのすべてのカードについて、

『(5)+囲い』 を下に敷いて、アクリル盤のカードを重ねたとき、

うそ面や 石で 黒いのを 一部分でも 敷いてしまっているもの を、

衝突カード(インターセクト – ) と呼ぶことにするぜ☆」

UEUESHIMA_Komado_80x80x8_02_nitaari

「インターセクト・カード☆(^▽^)wwww」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「衝突(インターセクト)するカードは bl8、 bl7

このときの一連の流れを、

『 b5 が主張すると bl8bl7 と衝突する。衝突しない白はない 』

と表現することにするぜ☆」

UEUESHIMA_Komado_80x80x8_09_Nikoniko

「ふむふむ☆ アクリル板を覗きこめばいいわけだな☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「上から覗きこんでても分からないぜ☆

横に回り込んで ちゃんと 下に敷いていないか 確認しろだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「次に、次のように言い換えるぜ☆

『 b5 が主張する盤面は b5b6、白なし だ。

これを計算すると 黒8マス、白0マス で、黒の8マス勝ちとなる。

中国ルールの結論 黒5マス、白5マス で引き分け、

よって b5 の主張は 誤差が 8 とする』

と表現するぜ☆」

 

 

誤差 = [ 黒8 - 中国黒5 ] + [ 白0 - 中国白5 ]

※[ ]記号の中身の計算結果は -符号を取る。絶対値。

MOMOCHI_Madoka_80x80x8_01_futu

「大変な計算ね」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「中国ルールの答えと ぴったり一致すると 間違いだから、

誤差は ちょっとあるのが正解なことが多いはずだぜ☆」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「こうやって、全部の うそ面 のカードについて、

(a)主張する盤面 と (b)衝突した色、 (c)誤差 を求めていくぜ☆

今、こうなっている☆」

b5 :  (a)b5 ,b6  (b)bl8 ,bl7  (c) 8

 

ISOZONO_Tama_80x80x8_01_Futu

「おっ、むずっさん。 表形式でデータをまとめるということを 覚えたのかだぜぃ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「あとで集計しやすいだろ☆」

ISOZONO_Tama_80x80x8_01_Futu

「あとで集計することを覚えたのかだぜぃ。 成長しているぜぃ」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「次にでかいカードは 白のbl8 」

wakuwh3bl8bl8

wakuwh3bl8bl8

wh4bl8bl8bl8

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「 bl8 が主張すると b5 、 b6 と衝突する☆

bl8 が主張する盤面は bl8 、 bl7 。

これは 黒0、白9 で、 中国ルールの 黒5、白5 とは 誤差が 9☆

これをまとめに追加すると 次の通りだぜ☆」

 

b5 :  (a)b5 ,b6  (b)bl8 ,bl7  (c) 8

bl8 :  (a)bl8 ,bl7  (b)b5 ,b6  (c) 9

 

UEUESHIMA_Komado_80x80x8_02_nitaari

「おおっ☆! bl8 より b5 の方が

主張が通りやすいんじゃないかだぜ☆(^▽^)!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「気づいたか ワラベンチャー☆

じゃあ 次の主張は bl7 だぜ☆

たまちゃん、やってみろだぜ☆」

ISOZONO_Tama_80x80x8_01_Futu

「自分でやれだぜぃ。

bl7 が主張すると……」

 

bl7wh3wakuwaku

bl7wh3wakuwaku

wh4wakuwakuwaku

 

ISOZONO_Tama_80x80x8_01_Futu

「 b5 と衝突するぜぃ。 b6 は下に敷かないぜ☆

bl7 が主張する盤面は bl7 と……、 b6 か bl8 のどっちだぜぃ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「そこは 原理的に 大量のカードと、その組み合わせが出てくる☆

ほんとは ここもぜんぶ 推論 でやりたいんだが……、

開発期間が切れそうなんで、

無作為に抽出しようぜ☆? 今回は 仮に b6 で☆」

ISOZONO_Tama_80x80x8_01_Futu

bl7 が主張する盤面は bl7 と b6 だぜぃ。

これは 黒1、白2 で、 中国ルールの 黒5、白5 とは 誤差が 7。

これをまとめに追加すると 次の通りだぜぃ」

 

b5 :  (a)b5 ,b6  (b)bl8 ,bl7  (c) 8

bl8 :  (a)bl8 ,bl7  (b)b5 ,b6  (c) 9

bl7 :  (a)bl7 ,b6  (b)b5       (c) 7

 

UEUESHIMA_Komado_80x80x8_02_nitaari

「おっ☆! bl7 きたコレ☆!

(c) が小さい方が 偉いんだろ☆(^▽^)

何で 答えに近づいてくるんだぜ☆!?(^q^)」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「それを 解法(かいほう) という☆

カッコよく言うと アルゴリズム☆」

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「じゃあ えんちゃん、 b6 を やってみろだぜ☆」

MOMOCHI_Madoka_80x80x8_01_futu

「わたしにも できるのかしら?」

MOMOCHI_Madoka_80x80x8_01_futu

b6 が主張すると……」

 

wakuwakuwakubk1

wakuwakubk2b6

wakuwakubk2bk2

MOMOCHI_Madoka_80x80x8_01_futu

「こうなって、下敷きにするのは bl8 だけね。

b6 が主張する盤面は、 b6 ,bl7

黒1、白2 になるから、 中国ルールの 黒5、白5 との誤差は 7 よ。

これを リストに追加すると……」

 

b5 :  (a)b5 ,b6  (b)bl8 ,bl7  (c) 8

bl8 :  (a)bl8 ,bl7  (b)b5 ,b6  (c) 9

bl7 :  (a)bl7 ,b6  (b)b5       (c) 7

b6 :  (a)b6 ,bl7  (b)bl8       (c) 7

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「で、これを (c) の昇順で並び替えるぜ☆」

 

bl7 :  (a)bl7 ,b6  (b)b5       (c) 7

b6 :  (a)b6 ,bl7  (b)bl8       (c) 7

b5 :  (a)b5 ,b6  (b)bl8 ,bl7  (c) 8

bl8 :  (a)bl8 ,bl7  (b)b5 ,b6  (c) 9

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「同着1位は どっちが先頭でもいいだろ☆

次に 1着から順に (b) を蹴落としていくぜ☆

bl7 の (b) は b5 なので、b5 をリストから消すぜ☆」

 

bl7 :  (a)bl7 ,b6  (b)b5       (c) 7

b6 :  (a)b6 ,bl7  (b)bl8       (c) 7

bl8 :  (a)bl8 ,bl7  (b)b5 ,b6  (c) 9

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「次☆ b6 の(b)は bl8 なので、bl8 をリストから消すぜ☆」

 

bl7 :  (a)bl7 ,b6  (b)b5       (c) 7

b6 :  (a)b6 ,bl7  (b)bl8       (c) 7

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「はい、いっちょあがり☆

bl7 と b6 が残ったな☆」

 

ISOZONO_Tama_80x80x8_01_Futu

「(a)は 何に使うんだぜぃ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「動作確認用だぜ☆ 人間がログ出力を見るときに書いてないと検算できないぜ☆」

MOMOCHI_Madoka_80x80x8_01_futu

「途中で 開発期間が切れそうなんで 無作為抽出と言って b6 を選んでいたけど、

bl8 を選んでいたら どうなったの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ここで(a)の登場だぜ☆ 計算結果は こうなるぜ☆」

 

b6 :  (a)b6 ,bl7  (b)bl8       (c) 7

b5 :  (a)b5 ,b6  (b)bl8 ,bl7  (c) 8

bl8 :  (a)bl8 ,bl7  (b)b5 ,b6  (c) 9

bl7 :  (a)bl7 ,bl8  (b)b5       (c) 9

 

MOMOCHI_Madoka_80x80x8_01_futu

「あら、 b6、 b5 の黒一色になってしまうわよ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「実用的には、カードが40枚になることとか、あるんだぜ☆

(a)のカードの組み合わせリストを正しく抽出することがまず無理なんだぜ☆

そこで てきとーに 151回ぐらい 判定を行う☆

b6b5 の組み合わせのときの (c)の平均は 7.5☆

bl7b6 の組み合わせのときの (c)の平均は 7☆

こうやって 運頼み で、誤差の少ない方、少ない方を選び、

最終的に 正しい組み合わせ に近いものが できてくれることを 願う☆」

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「…………………………☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「まあ、実装して どれぐらい当たるか 見てみようぜ☆?」

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「1発で ドンピシャな解法じゃないのかだぜ☆」

 


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ところで 中国ルールとか、ミニゲーム・ルールの 誤差の話しを ざっくり 説明するぜ☆」

 

blackblackblackemptywhitewhite

blackblackblackwhitewhitewhite

blackblackemptywhitewhitewhite

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「中国ルールは 石の数を数えるので、黒8、白8 だぜ☆

ミニゲーム・ルールは 石が囲んでいる空き地を数えるので 黒0、白0 だぜ☆」

KIFUWARABE_80x100x8

「囲碁の話しか☆」

 

emptyemptyblackemptywhiteempty

emptyemptyblackwhiteemptyempty

emptyblackemptywhiteemptyempty

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「これだと 中国ルールで 黒8、白8☆

ミニゲーム・ルールで 黒5、白5 だぜ☆」

 

emptyemptyblackemptywhiteempty

blackblackblackwhiteemptyempty

emptyblackemptywhiteemptyempty

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「これだと これだと 中国ルールで 黒8、白8☆

ミニゲーム・ルールで 黒3、白5☆

中国ルールと、 ミニゲーム・ルールは ケッコウ違うだろ☆

でも うまいプレイをすると 黒と白の差は

例えば 中国ルールで 1マス差で黒の勝ち なら、

ミニゲーム・ルールでは 1マス差、または 2マス差で黒の勝ち になるとか、

勝敗の誤差はおおよそ 1マス に収まるんだぜ☆」

KIFUWARABE_80x100x8

「まあ、実装してみようぜ☆?」



19:28

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「うっ☆ 誤差 が 的外れなんじゃないかだぜ☆?」

KIFUWARABE_80x100x8

「ダメだったのかだぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「大きなマスに比べて、

小さなマスって 必要なものの数が多くなるんだが、

小さなマスは たくさんのランダムな組み合わせが増えちゃって

誤差 が大きくなるんだぜ☆」

KIFUWARABE_80x100x8

「ショートケーキの大きなピースから食べていく法

を使わないからだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「こうしたらいいのよ」

bl8 :  (a)bl8 ,bl7  (b)b5 ,b6  (a´) 9  (b´) 8

 

OKAZAKI_Yumemi_80x80x8_01_Damaru

「(b) は (a) の対抗馬でしょ。

両方の誤差を計算して、対抗馬の方が誤差が少なければ、

このカードは ナシ よ」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「そんなので行けるのかだぜ……、調べてみるか☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「(a)の主張する盤は、主張するカードの他は、全部 相手の色で補完しなさい。

対立候補が出てこなければ waku で埋めるのよ。

waku が付いていれば、 盤面全部 自分の色 っていう意味ね。

誤差は求めなくていいわ」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「なんのこっちゃだぜ☆ やってみるか……☆」

 

b5 :  (a)b5 ,waku  (b)bl8 ,bl7  (a´)/ (b´)9

bl8 :  (a)bl8 ,waku  (b)b5 ,b6  (a´)/ (b´)8

bl7 :  (a)bl7 ,b6  (b)b5(※waku) (a´)7  (b´)/

b6 :  (a)b6 ,bl7  (b)bl8(※waku) (a´)7  (b´)/

※は (a)を参照して補完。

 

OKAZAKI_Yumemi_80x80x8_01_Damaru

「ほら、bl7 b6 が残ったわよ。

いっちょあがり」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「…………☆」

 

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「アルゴリズムの名前は、

背理法による所有地判定法

(land judging method by reduction to the absurd)

と名付けましょう!」

KITASHIRAKAWA_Chiyuri_80x100x8_03_Ahee

「うぶぶ☆

どういう理屈なんだぜ☆?」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「じゃあ、次の記事に移るわよ」

はてなブックマーク - 【囲碁】 地の判定の精度を上げようぜ☆?(^~^)
[`yahoo` not found]
[`yahoo_buzz` not found]
このエントリーを Google ブックマーク に追加
Digg にシェア
Facebook にシェア
reddit にシェア
LinkedIn にシェア
[`evernote` not found]
StumbleUpon にシェア
GREE にシェア
email this
LINEで送る
Pocket

【囲碁】 投了のタイミングを作り直そうぜ☆(^~^)

2016-06-25 03:57

KITASHIRAKAWA_Chiyuri_80x100x8_02_Hidosu

「…………☆」

KIFUWARABE_80x100x8

「…………☆」


KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「きふわらべ で想定しているのは、次の通りだぜ☆」

 

(1) 勝ち目が無くなったので、境界線モードへ。

(2) 境界線を引く宛てがなくなったので、投了を意味するパス。

(3) 勝っていると思っているので、地を減らしたくないのでパス。

(4) 勝っていると思っているときに相手がパスをしてきた場合の、合わせパス。

(5) 打つと損するので、パス。

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「これが 囲碁きふわらべ憲法な☆

なんか、抜けある☆?」

KIFUWARABE_80x100x8

「いいんじゃないか☆?」

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「朝っぱらから何やってるんだぜ☆! 邪魔するぜ☆!」


 

06:58

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「うーん、そうか、

パスは 石を置くのと同じ 1手 とカウントするんだが、

プレイアウトの中でも パス をする可能性はあるのかだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「プレイアウト前に、あとで原状復帰できるように パスのコピーを残しておこう☆

メモリは 本番用、コピー用 の2つ確保して 再利用だぜ☆」



 

2016-06-25 11:52

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「(1) ○ 一手打つ(投了でもいい)

(2) ● これは勝っただろパス

(3) ○ 一手打つ

うーむ、(3)は何なのか……☆」

KIFUWARABE_80x100x8

「最後に打った手で リサイン・フラグ を立てたのなら、

相手のパスに合わせて パス したらどうだぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「やってみるぜ☆」


 

12:19

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「…………☆」

201606251219

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「突然 自信を無くしているのかだぜ☆?」

201606251238

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「100%勝ちと、 0%勝ち は全然違うだろ☆」

201606251308

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ああそうか……☆ 1秒指しだと 試行回数が全然足りないんだぜ☆」

KIFUWARABE_80x100x8

「しっかりしろ、お父ん☆」

 


 

16:31

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「地の計算のテスト・フレームワークを作っているんだが、

死に石の 白黒の地が 数えにくいぜ☆」

201606251630

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「色を反対にするか……☆」

KIFUWARABE_80x100x8

「やってみろだぜ☆(^q^)」


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「次は判定の精度を上げていきたいぜ☆」

201606251748

KIFUWARABE_80x100x8

「上げていこうぜ☆(^~^)?」

 


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「あっ、そうか☆

中国ルールは 石も数えるんだが

日本ルールは 石を数えないんで、

地の数は ぴったり同じじゃないんだぜ☆

黒地と白地の差は 1目違いに収まることが多いだけで☆」

KIFUWARABE_80x100x8

「気づいたか☆(^~^)」


 

19:14

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「あっ☆ そうか☆

中国ルールだと 盤面だけみて地を数えるんだが、

日本ルールだと アゲハマも数えるんだっけ☆」

KIFUWARABE_80x100x8

「気づいたか☆(^~^)」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「地の白黒判定は、盤面だけ見て一致させたいぜ☆」


 

19:25

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「あっ☆ そうか☆

日本ルールだと 石は数えないんだったぜ☆(^~^)」

KIFUWARABE_80x100x8

「気づいたか☆(^~^)」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「地を石を描いちゃうと 数えにくいぜ☆」

201606251925

KIFUWARABE_80x100x8

「地を数えやすいようにしろだぜ☆」

 

 

 

はてなブックマーク - 【囲碁】 投了のタイミングを作り直そうぜ☆(^~^)
[`yahoo` not found]
[`yahoo_buzz` not found]
このエントリーを Google ブックマーク に追加
Digg にシェア
Facebook にシェア
reddit にシェア
LinkedIn にシェア
[`evernote` not found]
StumbleUpon にシェア
GREE にシェア
email this
LINEで送る
Pocket

【囲碁】 境界線をつなごうぜ☆?(^~^)?<その3>

2016-06-23 04:52

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「ぶくぶくぶくぶく.。o○☆(^~^)」

KIFUWARABE_80x100x8

「起きてきたかだぜ☆(^~^)」


KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「モードを切り替えるためには、

前に打った手の勝率を覚えておきたいんだったな☆

コンピューター・プレイヤー用のデータを

覚えておくか☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「……、ハコは作ったけど、

いつ 勝率を入れるんだぜ☆?(^q^)」

KIFUWARABE_80x100x8

「メソッドが一本化されてないのか……☆(^~^)

局面のハッシュデータを作っているところは

必ず通るだろ☆ そこらへんで入れておけばどうか☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「よし……☆ やってみるぜ☆」


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「previousRate というプロパティ名より、

latestRate という名前の方がいいななんだぜ☆

ループの中は くるくる回っていて どこが頭で どこが尻尾か 分からないからな☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「前回打った手 という名前より、

最後に打った手 という名前の方が わかりやすいだろ☆」

 


KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「前回の勝率は記憶させた……☆(^q^)

碁盤の下に 前回の勝率: 0.50 って出てるだろ☆ 初手は5割で決め打ちで☆」

20160623_0619

KIFUWARABE_80x100x8

「最後に打った手の勝率 に名前を変えようぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「細かいな……☆ 正確くん かだぜ☆(^q^)」


 

201606230626

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ほら、ちゃんと 出てるぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「あら、ちゆり。 もう起きてたの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「起きてるぜ☆」

KIFUWARABE_80x100x8

「次は 勝率を使って GoToWin と DrawBorder のスイッチングだぜ☆

閾値は 0.01 あるか、無いかで☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「よしよし……☆ きふわらべは 賢いななんだぜ☆(^q^)」

 


 

201606230641

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「こんな感じで 似たようなメソッドを2つ用意して、

勝率 0.01 を閾値として スイッチングしようぜ☆」


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「DrawBorder なんだが、石をどこに打つ手 に絞り込もうかだぜ☆?

こんな感じになるだろ☆」

emptyLiveemptyLiveemptyLiveemptyemptyemptyempty

emptyLiveblackemptyemptyemptyemptyempty

emptyLiveemptyblackemptyemptyemptyempty

emptyemptyemptyemptyLiveemptyemptyempty

emptyemptyemptyemptyblackemptyemptyLive

emptyemptyemptyemptyemptyblackemptyLive

emptyemptyemptyemptyemptyLiveemptyLiveemptyLive

KIFUWARABE_80x100x8

「囲碁で、線をつなげようと思って つなげられたら

スーパー・マーベラス・プレイヤーだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「むむっ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「じゃあ、単純に 1つ 伸ばす手を 打ちましょう」

emptyemptyLiveemptyemptyemptyemptyempty

emptyLiveblackemptyemptyemptyemptyempty

emptyemptyblackemptyemptyemptyempty

emptyemptyemptyemptyLiveemptyemptyempty

emptyemptyemptyemptyblackemptyemptyLive

emptyemptyemptyemptyblackblackemptyLive

emptyemptyemptyemptyLiveemptyLiveemptyLiveemptyLive

OKAZAKI_Yumemi_80x80x8_01_Damaru

「連 ではなく、

ナナメにもつながる 八方連 という概念を用意して、

(1)八方連をつなげる手

(2)枠につながっていない八方連を枠につなげる手

を打つのよ」

KIFUWARABE_80x100x8

「ナナメにつながっているだけで 境界線 と言い張るのは

無理があるのでは☆?(^q^)」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「ナナメにも つながっていなければ、境界線にも ならないでしょ!

境界線ステップ1 とでも言ったところね」

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「あっ☆ お父ん 横になるぜ☆ 頭痛なので……☆」

KIFUWARABE_80x100x8

「ちゃんと境界線になるように 横になってくれだぜ☆」



 

15:35

\ むくり☆ /

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「しまったぜ☆ 今日は生ごみの日だったぜ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「あら、もう起きてきたのね。はい、バナナ」

KIFUWARABE_80x100x8

「まだ 境界線のままでいいのに……☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「八方連を伸ばす手を考えるんだっけ☆?」

KIFUWARABE_80x100x8

「こんなケースの黒石では どうするんだぜ☆?」

blackemptyemptywhiteemptyemptyblack

emptyblackemptywhiteemptyblackempty

emptyemptyemptywhiteemptyemptyempty

whitewhitewhitewhitewhitewhitewhite

emptyemptyemptywhiteemptyemptyempty

emptyblackemptywhiteemptyblackempty

blackemptyemptywhiteemptyemptyblack

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「そんなの、こうだろ☆」

blackemptyblackLivewhiteblackLiveemptyblack

emptyblackemptywhiteemptyblackempty

emptyemptyemptywhiteemptyemptyempty

whitewhitewhitewhitewhitewhitewhite

blackLiveemptyemptywhiteemptyemptyblackLive

emptyblackemptywhiteemptyblackempty

blackemptyemptywhiteemptyemptyblack

 

KIFUWARABE_80x100x8

「二眼にならないから 境界線を引くだけ 無駄なのに……☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「二眼を作る余地があるかどうかの判定は むずかしいんだぜ☆

あくまで 終局処理をしようという、姿勢を見せるんだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「じゃあ、二眼が作れる こういうケースは どうなの?」

blackemptyemptywhiteemptyemptyblack

emptyblackemptywhiteemptyblackempty

emptyemptyemptywhiteemptyemptyempty

emptyemptyemptywhiteemptyemptyempty

emptyemptyemptywhiteemptyemptyempty

emptyblackemptywhiteemptyblackempty

blackemptyemptywhiteemptyemptyblack

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「困難だと思うが……☆」

 

blackemptyblackLivewhiteblackLiveemptyblack

emptyblackemptywhiteemptyblackempty

emptyemptyemptywhiteemptyemptyempty

emptyemptyemptywhiteemptyemptyempty

blackLiveemptyemptywhiteemptyemptyblackLive

emptyblackemptywhiteemptyblackempty

blackemptyemptywhiteemptyemptyblack

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「こうだろ☆」

KIFUWARABE_80x100x8

「二眼が作れていないぜ☆(^q^)

囲碁をやろうぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「自分の地を最大にするような境界線を引く、

というような終局処理は、

すでに

自分の地を最大にするような境界線を引ける見込みがある

かどうか、チェックする必要があるんじゃないか☆?」

KIFUWARABE_80x100x8

「わたしは 地の大きさ なんか見てないぜ☆

勝率がなくなれば 投げるんで☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「地の大きさなんか見てたら、コンピューター囲碁ソフトは

弱くなるって言うじゃない」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「あくまで、終局処理なんで……☆(^q^)」

KIFUWARABE_80x100x8

「まだ勝ちの目がある 接戦の状況では 境界線なんか引かないぜ☆

境界線を引くほど 負けている状況では 境界線を引く余裕もないぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「勝ちの目がなくなったら、確定地を最大にする目標に

切り替えられないの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「モンテカルロ木探索深さ1 の 勝敗判定アルゴリズムを、

確定地最大化アルゴリズム に差し替えたらいいんじゃないか☆?」

KIFUWARABE_80x100x8

「そんなことが できるのかだぜ☆?」

 


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「現在は 地計算をして、勝ちか負けかのON/OFF判定だろ☆

で、ON/OFFを累計してONの比率を出し、ONの比率が高い方へ持っていっている☆

これを 確定地があるか、ないかのON/OFF判定に緩めたら どうだろうかだぜ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「確定地が有るか/無いか の判定はどうやるのよ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「プレイアウトした最終局面で、地が残ってるなら 確定地 だろ☆」

KIFUWARABE_80x100x8

「やってみようぜ☆?」


 

17:19

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「現状、CalculateGameResult メソッドで

プレイアウト後に お絵描きをして 地をカウントしているのか……☆

ここを if文で割って、どう書き換えるかだな☆」

 


 

17:59

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「うわーっ☆ ホームページが無くなってるぜ~☆!」

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「うっ☆」

KIFUWARABE_80x100x8

「まだ 境界線になっていていいのに……☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「アフィリエイト事業は停止な☆」

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「突然だぜ~~☆(^~^);;;」

MOMOCHI_Madoka_80x80x8_01_futu

「開業閉店状態だった同ソ・マガも 終わっちゃってるわね」

ISOZONO_Tama_80x80x8_01_Futu

「ツイッターボットも止まっているぜぃ」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「そうそう……☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「かいさーん☆!」

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「え~っ☆!」

UEUESHIMA_Komado_80x80x8_02_nitaari

「じゃあ この きふわらべブログ に居座るぜ☆!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「まあ、居ててもいいけど……☆ 1円にもならないけどな☆」


 

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「Zzz……☆」

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「お父んが寝込んでいるぜ☆ 仕事はどうしたんだぜ☆?」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「メールボックスに 誠に残念ながらメールを蓄えて

寝込んでいるのよ」

UEUESHIMA_Komado_80x80x8_03_jitoo

「きふわらべは どうしたんだぜ☆?」

KIFUWARABE_80x100x8

「ここにいるが……☆」

UEUESHIMA_Komado_80x80x8_02_nitaari

「ここ以外、ぜーんぶ閉店だぜ☆」

KIFUWARABE_80x100x8

「お父んは最近、働くことをさぼって寝ているからな☆」

UEUESHIMA_Komado_80x80x8_02_nitaari

「囲碁ゲームを作ったら 儲からないのかだぜ☆?」

KIFUWARABE_80x100x8

「希望的観測だな☆」

UEUESHIMA_Komado_80x80x8_03_jitoo

「ここに寝ているのは 働かないのかだぜ☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「勝率が5割を切ってからの モンテカルロ木探索深さ1 が

碁盤の角に石を置くように、

分かりやすく 布団に入っているわね」

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「なんということだぜ……☆」


 

UEUESHIMA_Komado_80x80x8_01_futu

「お父んのやり残したプログラム……、

プログラムは さっぱり分からないぜ☆」

ISOZONO_Tama_80x80x8_01_Futu

「むずっちのプログラムは 変数がいっぱいあるんだぜぃ。

誰にも読めないぜぃ」

UEUESHIMA_Komado_80x80x8_03_jitoo

「たまちゃんが書き直してくれだぜ☆」

MOMOCHI_Madoka_80x80x8_01_futu

「あっ、でも たまちゃんが いじると

お父んさん 頭が爆発するわよ?」

KIFUWARABE_80x100x8

「寝てても進まないぜ☆ いじろうぜ☆?(^q^)」

 


 

ISOZONO_Tama_80x80x8_01_Futu

「プレイヤーの勝率に応じて 処理を切り替えればいいのかだぜぃ?」

KIFUWARABE_80x100x8

「現状では、囲碁の中国ルール、日本ルールに応じて

盤上の石や地をカウントして GameResult という変数にまとめていて、

プログラムから 計算仮定の各種変数を呼び出せるようになっているぜ☆

この変数を使って 地の計算を行い、

黒と白のどちらが勝ったか 答えを出しているぜ☆」

ISOZONO_Tama_80x80x8_01_Futu

「囲碁の中国ルール、日本ルール というのが分からないぜぃ?」

KIFUWARABE_80x100x8

「中国ルール、日本ルールの違いは いったん 置いておこうぜ☆

GameResult の中に GetChinese()、 GetJapanese() というのがあるな☆」

ISOZONO_Tama_80x80x8_01_Futu

「あるぜぃ」

KIFUWARABE_80x100x8

「GetChinese() で GameResultChinese という変数を取得できるぜ☆

この変数は さらに GetBlackChi()、 GetWhiteChi() というメソッドを持っている☆」

ISOZONO_Tama_80x80x8_01_Futu

「あるぜぃ」

KIFUWARABE_80x100x8

「これが 中国ルールで地計算したときの、黒地の数、白地の数だぜ☆

今回は この2変数を使って、

黒地が多い、引き分け、白地が多い の3つの結果を出してほしいんだぜ☆」

ISOZONO_Tama_80x80x8_01_Futu

「それは簡単だぜぃ」

KIFUWARABE_80x100x8

「このとき、GameResult という変数自体が

IsWinBlack()、IsWinWhite()、IsDraw() というメソッドを持っていて

どちらが勝っているか答えてくれるんだが、

これとは別に ExistsBlackChi()、ExistsWhiteChi() の2つがあればいいと思うんだぜ☆

この2つのメソッドは、黒地が有る/無い、白地が有る/無い の2択だぜ☆」

ISOZONO_Tama_80x80x8_01_Futu

「すぐに組めるぜぃ」

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「謎の会話だぜ☆」

KIFUWARABE_80x100x8

「じゃあ次に モンテカルロ木探索深さ1 というルーチンなんだが、

UtilMonteCarloDeep1Search というクラスに書いてあるぜ☆」

ISOZONO_Tama_80x80x8_01_Futu

「そのまんまな 名前だぜぃ」

KIFUWARABE_80x100x8

「この中は ステップ1、 2、 3 に分かれていて、

IsWinBlack()、IsWinWhite()、IsDraw() というメソッドを使っているのは

ステップ1 と、 2 だぜ☆

ここを 最後に打った手の勝率が……、そうだな、1割に満たないときにしようぜ☆、

1割に満たないとき、

IsWinBlack()、IsWinWhite()、IsDraw() ではなく、

ExistsBlackChi()、ExistsWhiteChi() を使うように if文で分けてほしいんだぜ☆

黒プレイヤーの時は、黒地があれば勝ち、無ければ負け、

白プレイヤーの時は、白地があれば勝ち、無ければ負け、

という動きを追加してほしいんだぜ☆」

ISOZONO_Tama_80x80x8_01_Futu

「わかったぜぃ」

UEUESHIMA_Komado_80x80x8_09_Nikoniko

「よっしゃ☆!(^▽^) たまちゃんが やってくれるぜ☆!」

MOMOCHI_Madoka_80x80x8_01_futu

「でも

たまちゃんのコーディングは お父んさんには読めなくて お父んさん以外のみんなには読めて、

お父んさんのコーディングは お父んさんと きふわらべさんには読めて お父んさんと きふわらべさん以外のみんなには読めないのよ。

お父んさん、起きてきたら ひっくり返って また寝てしまうわよ?」

UEUESHIMA_Komado_80x80x8_03_jitoo

「お父んは きふわらべに通訳してもらいながら たまちゃんのコードを読んだらいいのでは☆?」

ISOZONO_Tama_80x80x8_01_Futu

「ちゃちゃっとやって 稼ごうぜぃ?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「やりましょう! お父んは寝てるだけだし!」

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「う~…………、う~…………

机の上に まんじゅう が有っただろ、持ってきてくれだぜ☆」

KIFUWARABE_80x100x8

「やれやれ、仕方ないな……☆」


 

ISOZONO_Tama_80x80x8_01_Futu

「GetChinese( ) と、GetJapanese( ) があるんだが、

GetChinese( ) の方を使うので 間違いないのかだぜぃ?」

KIFUWARABE_80x100x8

「GetChinese( ) は、機械的に 囲碁盤の上を打ち進め 仮の終局局面を使って

地の計算をしているから、計算結果は あてずっぽうだが、まずまず、マシなんだぜ☆

GetJapanese( ) は、囲碁盤の上に境界線が作られていないと

地を全取り、地を全取られ、といった極端な答えしか返さないんだぜ☆

そこで GetChinese( ) を使う☆

コンピューター囲碁ソフトで 正しい地の計算ができるのがあれば、

そいつは もう プロ9段レベルだぜ☆」

UEUESHIMA_Komado_80x80x8_02_nitaari

「きふわらべは プロ何段レベルなんだぜ☆?」

KIFUWARABE_80x100x8

「スマホアプリで 2級以下じゃないか☆?(^q^)」

UEUESHIMA_Komado_80x80x8_04_achaa

「…………☆(^q^)」


 

ISOZONO_Tama_80x80x8_01_Futu

「ふむふむ、きふわらべちゃんの言ってる通りのプログラムになっているぜぃ」

UEUESHIMA_Komado_80x80x8_02_nitaari

「よっしゃ!」

MOMOCHI_Madoka_80x80x8_01_futu

「夕食にしましょう!」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「うちは 2人前のカレーしかないわよ?」

MOMOCHI_Madoka_80x80x8_01_futu

「どういう生活を送っているのかしら……?」


 

ISOZONO_Tama_80x80x8_01_Futu

「きふわらべちゃん、

プレイヤーは 黒か白か 交互に石を置いているみたいなんだが、

最後に打った勝率で 黒も白も

IsWinBlack()、IsWinWhite()、IsDraw() の組みと、

ExistsBlackChi()、ExistsWhiteChi() の組みを

スイッチングするのかだぜ☆?」

KIFUWARABE_80x100x8

「碁盤の上に 石を置く ことを決定することと、

計算のために 石を置く プレイアウトは 分けて考えてほしいんだぜ☆

ステップ1、ステップ2 の中で

IsWinBlack() のグループにするか、

ExistsBlackChi() のグループにするかだが、

石を置く前に 勝率が1割を切っていた方のプレイヤーのみ、

ずっと ExistsBlackChi() のグループにして欲しいんだぜ☆」

ISOZONO_Tama_80x80x8_01_Futu

「すると 『最後に打った手の勝率』 というのは プレイアウトする前に

別の変数に退避して 残してもっていなければいけないぜぃ」

KIFUWARABE_80x100x8

「そうだぜ☆(^▽^)」

 


 

20:36

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「ぶくぶくぶく.。o○☆(/_\)」

KIFUWARABE_80x100x8

「寝てろだぜ☆(^q^)」

ISOZONO_Tama_80x80x8_01_Futu

「むずっさんの プログラムは 何が何をする、の主語が でかいぜぃ。

アプリケーションが何をする、を

プレイヤーが何をする、

にまとめようぜぃ」

UEUESHIMA_Komado_80x80x8_03_jitoo

「どんどん やろうぜ☆!」


 

ISOZONO_Tama_80x80x8_01_Futu

「おやっ! むずっさん、 プレイヤーが アプリケーションの直下にあるぜぃ。

プレイヤーは 対局データの直下の方がいいんじゃないかだぜぃ?」

UEUESHIMA_Komado_80x80x8_03_jitoo

「どんどん 直そうぜ☆!」

ISOZONO_Tama_80x80x8_01_Futu

「はーん、プレイヤーがゲームをしている、という順に組んであるので

ゲームの外に プレイヤーがいるんだぜぃ。

この構造は直すと大変だぜぃ。 このままにしておこうぜぃ」

UEUESHIMA_Komado_80x80x8_03_jitoo

「じゃあ そのままでだぜ☆!」

ISOZONO_Tama_80x80x8_01_Futu

「プレイアウトを開始する前に、

GetNextTurn( ) で色を別変数に退避しておいて、

最後に打った手の勝率も このとき 別変数に退避しておくかだぜぃ」


 

ISOZONO_Tama_80x80x8_01_Futu

「きふわらべちゃん、

このプログラムだと 黒地が多い/少ない は判定できないぜぃ?

黒地が1つある/1つもない だけの判定になるぜぃ?」

KIFUWARABE_80x100x8

「そうか☆!(^~^) じゃあ、それで☆」

ISOZONO_Tama_80x80x8_01_Futu

「分かったぜぃ」


 

ISOZONO_Tama_80x80x8_01_Futu

「実装はしたんだが、コンピューターがすぐに投了してしまうぜぃ?」

KIFUWARABE_80x100x8

「(^q^)」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「勝率が0.1%を切ったときに DrawBorder モードに切り替わるんだけど、

そこで 黒地を1つも作れないと分かったとたんに 勝率が0に下がって

投了へのショートカットをしているのかもしれないわね!」

KIFUWARABE_80x100x8

「そうか……☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「勝率が 0.1% を切ったときは、

モンテカルロ木探索深さ1 のルーチンの 石を打つ場所の絞り込みを解除して

全ての合法手を対象にしましょう!」

ISOZONO_Tama_80x80x8_01_Futu

「どうすればいいんだぜぃ?」


 

ISOZONO_Tama_80x80x8_01_Futu

「きふわらべちゃん、

今のままだと 境界線を引くモード の勝率が 1割 を達成していると

勝ちを目指すモード に寄り戻ってしまうぜぃ?」

KIFUWARABE_80x100x8_02_Hidosu

「ぬぐぐ☆! どうすればいいんだぜ☆!」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「GoToWinモードで勝率1割を切った場合は DrawBorder モードへ遷移、

一度 DrawBorder モードへ遷移した場合は GoToWin モードには戻らない、

というふうに組みましょう!」

ISOZONO_Tama_80x80x8_01_Futu

「わかったぜぃ」


 

ISOZONO_Tama_80x80x8_01_Futu

「夢美ちゃん、

プレイアウトで石を置いている場所は ランダムだぜぃ?

石を置く場所の絞り込みは やってないぜぃ?」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「それは そうだったわね。

じゃあ そこの改造は ナシ で」

 


 

ISOZONO_Tama_80x80x8_01_Futu

「やはり すぐに投了してしまうぜぃ?」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「何回かテストして 様子をみてみましょう」


 

OKAZAKI_Yumemi_80x80x8_01_Damaru

「あら? 総トライ回数が 53回 になっているところがあるわねぇ。

この数字は 5000 ぐらいないといけないんだけど。

ログを見てみましょう」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「……、試行時間が 1秒 になってるのよ。

テスト用に ちゆり が何か改造したのね」

ISOZONO_Tama_80x80x8_01_Futu

「試行時間をどこで設定しているのか 探すぜぃ」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「ワーニングが1個出てるでしょ。クリックしてちょうだい」


 

KIFUWARABE_80x100x8

「あっ☆! 間違えていたぜ☆!

ExistsBlackChi( ) ではダメなんだぜ☆!

境界線を作るためには、1 < GetBlackChi( ) である必要があるぜ☆!」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「じゃあ、ExistsBlackBorder( ) というメソッド名に変更して、

その中で 1 < GetBlackChi( ) としましょう」


 

ISOZONO_Tama_80x80x8_01_Futu

「黒石ばっかり勝っているぜぃ?

なぜだぜぃ?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「白石の動きが バグっぽいわよねぇ」

KIFUWARABE_80x100x8

「勝率の見方が 白手番のときに逆になっていないか、

見てくれだぜ☆ たまちゃん☆」

ISOZONO_Tama_80x80x8_01_Futu

「テストが動いている間は見れないぜぃ」

 


23:00

OKAZAKI_Yumemi_80x80x8_01_Damaru

「とりあえず、勝率が 0.08 の次は 投了しているから、

0.1 を切った直後の次の一手が 投了の閾値 勝率 0.01 を下回っちゃって

DrawBorderモードに遷移する間もなく 投了するのかもしれないわね」

KIFUWARABE_80x100x8

「勝率 0.15 を下回ったら DrawBorderモードへスイッチングするかだぜ☆(^q^)」

 


 

ISOZONO_Tama_80x80x8_01_Futu

「スイッチングが うまく行っていないみたいだぜぃ」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「ブレークポイントを置いて、デバッグモードで実行してみましょう!」

ISOZONO_Tama_80x80x8_01_Futu

「直ったぜ☆ DrawBorderモードに遷移するようになったぜぃ」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「よしっ!」

UEUESHIMA_Komado_80x80x8_09_Nikoniko

「うまく行ったのかだぜ☆?」

ISOZONO_Tama_80x80x8_01_Futu

「1手 約1秒で 打たせてみて、

1手13回プレイアウトしたものは 勝率が 0.0769 ぐらいあるんだが、

1手を16回プレイアウトすると 軒並み 勝率が 0.000 に落ちているぜ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「ハイブリッド・きふわらべ が境界線を引いているのが ダメ なのよ」

KIFUWARABE_80x100x8

「えっ☆!」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「指し手の絞り込みを行うハイブリッドじゃない

モンテカルロきふわらべ に境界線を引かせなさい」

ISOZONO_Tama_80x80x8_01_Futu

「調べてみるぜぃ」

 


 

23:56

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「うぇーい☆」

KIFUWARABE_80x100x8

「お父んは今起きてくると 昼夜が逆転してしまうぜ☆(^q^)

寝てろ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「うう…………☆」

ISOZONO_Tama_80x80x8_01_Futu

「ステップ2 は ランダム打ちの プレイアウトをしているだけで、

ステップ1 の方で 1手目の打ち場所の絞り込みをしているみたいだぜぃ」

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「あーー…☆」

KIFUWARABE_80x100x8

「寝てろ☆(^q^)」

ISOZONO_Tama_80x80x8_01_Futu

「そもそも Player変数の DoBestmove で

モンテカルロ式にするか、ハイブリッド式にするか分けているのかだぜぃ。

ここで DrawBorderモードの場合は モンテカルロ式を強制するように

できないか調べてみるぜぃ」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「お願いね!」


ISOZONO_Tama_80x80x8_01_Futu

「DrawBorderモードでは 負けが多くて

勝率の有効桁数が小さくなっているんじゃないかだぜぃ?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「じゃあ、DrawBorderモードは 勝ち1点と 引き分け0.5点の2択にして、

勝率が どんどん 上がっていく仕組みにしましょう!」

ISOZONO_Tama_80x80x8_01_Futu

「ざっくりだぜぃ」

ISOZONO_Tama_80x80x8_01_Futu

「今度は投了しなくなったぜぃ?」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「ダメか」

KIFUWARABE_80x100x8

「引き分けではなく、負けにしようぜ☆?」

ISOZONO_Tama_80x80x8_01_Futu

「今度は投了するぜぃ?」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「自分の目を潰しちゃってるけど、ひとまず前進かなぁ」

 


OKAZAKI_Yumemi_80x80x8_02_Syaberu

「確かに 境界線を引いて 地を1個 作るところまでは やるんだけど……」

KIFUWARABE_80x100x8

「やったな☆!」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「やったわ!」

ISOZONO_Tama_80x80x8_01_Futu

「やったぜぃ!」

UEUESHIMA_Komado_80x80x8_09_Nikoniko

「おっ☆ やったのかだぜ☆!」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「地を1個で満足せず、

確定値の最大化を目指して欲しいわねぇ」

KIFUWARABE_80x100x8

「確定地が2個あれば 2勝ということにするかだぜ☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「やってみましょう!」

ISOZONO_Tama_80x80x8_01_Futu

「わかったぜぃ」

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「うぶぶ……☆(>_<)」


OKAZAKI_Yumemi_80x80x8_01_Damaru

「なんか ひどい手を打つようになってしまったわね。

最後に石を打ったときの地より 地が増えていたら1勝、

という風には変えられないかしら?」

ISOZONO_Tama_80x80x8_01_Futu

「やってみるぜぃ」

KIFUWARABE_80x100x8

「あっ☆! 地の連の数 になっていないぜ☆!

現状だと 地の目数 だぜ☆!」

ISOZONO_Tama_80x80x8_01_Futu

「なんだぜぃ?」

KIFUWARABE_80x100x8

「現状、目を数えているが……」

n1blackn2

n3blackn4

n5blackn6

 

KIFUWARABE_80x100x8

「できれば 連の数を数えてほしいんだぜ☆」

n1blackn2

n1blackn2

n1blackn2

 

ISOZONO_Tama_80x80x8_01_Futu

「そんなの、簡単にできるのかだぜぃ?」

KIFUWARABE_80x100x8

「お父んが 機能は作っているはずだぜ☆」


 

2016-06-24 1:52

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「うーん、うーん☆(^q^)」

KIFUWARABE_80x100x8

「寝てろ☆(^q^)」

ISOZONO_Tama_80x80x8_01_Futu

「これ作れないと 儲からないのかだぜぃ?」

KIFUWARABE_80x100x8

「作っても 儲かるとは限らないぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「作らないと 儲けは 0 ね」

ISOZONO_Tama_80x80x8_01_Futu

「ひどい赤字事業だぜぃ」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「ただでは潰れないのよ!」


02:51

\ カタカタカタカタ /

\ うつらうつら /

ISOZONO_Tama_80x80x8_01_Futu

「…………」

KIFUWARABE_80x100x8

「あっ、たまちゃん、それは 『うそ地の連』 だぜ☆ 『地の連』は別だぜ☆」

ISOZONO_Tama_80x80x8_01_Futu

「えっ、ダメなのかだぜぃ?」

KIFUWARABE_80x100x8

「あとで 差し替えようぜ☆」

 

\ うつらうつら /

ISOZONO_Tama_80x80x8_01_Futu

「うむ……」

 


3:14

ISOZONO_Tama_80x80x8_01_Futu

「ダメだぜぃ、 確定うそ地の連 の最大化をしようにも

rate が 0 になってしまうぜぃ」

KIFUWARABE_80x100x8

「たまちゃんも もう寝ろだぜ☆(^q^)」

 


 

3:59

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

ぶくぶくぶくぶく

がーがーがー☆!

KIFUWARABE_80x100x8_02_Hidosu

「うっ うるせーっ☆!」

 

\ ドタドタドタドタ /

UEUESHIMA_Komado_80x80x8_07_piririUmauma

「なんだぜ☆? Zzz」

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「最後の1分1秒まで プログラム☆!」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「うるさいっ! 寝ろっ」

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

よこせーっ☆! たまちゃん☆!

ISOZONO_Tama_80x80x8_01_Futu

「じゃあ あとは 頼むぜぃ」 \ すやあっ /

 


4:04

KITASHIRAKAWA_Chiyuri_80x100x8_02_Hidosu

「…………☆? 何をやってたところだぜ☆?」

KIFUWARABE_80x100x8

「コンピューターが勝率 1割5分を切ったとき、

境界線を引くルーチンに切り替える動きを

付けようとしていたんだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_02_Hidosu

「むー☆?」

KIFUWARABE_80x100x8

「中国ルールでプレイアウトすれば終局図ができるだろ☆

そこで 地の連 を計算して、

地の連が2個以上あれば 境界線ができている、

という判断にしようと思ったんだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_02_Hidosu

「ふむ……☆」

KIFUWARABE_80x100x8

「そうしようと持ったんだが、

地の連 ではなく うそ地の連 を判定しているのな☆

これを 地の連 に変えたい☆」

KITASHIRAKAWA_Chiyuri_80x100x8_02_Hidosu

「むむむ…………☆」

KIFUWARABE_80x100x8

「現状、モンテカルロ木探索深さ1 のUCB1 地に

うそ地が2つ以上ある/ない を 勝敗の代わりに突っ込んでいるんだが、

こうすると rate が 0.0000 になってしまうと

たまちゃんが言っていたぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_02_Hidosu

「むむむむむ…………☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「うそ地の連を2つ作るのが そんなに難しいのかだぜ☆?」

KIFUWARABE_80x100x8

「試行時間1秒 でテストしていたからな☆

もしかすると もっと長い時間が必要なのかもしれないな☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「やってみようぜ☆」


 

4:32

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「…………☆(^q^)

なんか 白手番は わざと負けるように 打ってないかだぜ☆?」

201606240435

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ほら、1三 とか打てば 地になるって言ってるんだろ☆

これを選ばずに 他のを選んでいるぜ☆」

KIFUWARABE_80x100x8

「たまちゃんも言っていたような……☆(^q^)

調べてくれだぜ☆(^q^)」


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「黒勝ち、黒負け……という考え方じゃだめなわけかだぜ☆

自分勝ち、自分負け……にしないといけないわけかだぜ☆

こりゃ ちょっとした改造になるぜ☆」

KIFUWARABE_80x100x8

「やってくれだぜ☆」


 

05:14

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「黒と白が 5割ぐらい勝ってて、

ぜんぜん 境界線モードとやらに 行ってくれないんだぜ☆?」

KIFUWARABE_80x100x8

「バグが直ったか☆! やったな☆!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「やったぜ☆!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「さて、勝率1割5分を切るまで見るか☆」


 

05:18

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「勝率30%から逆転も十分ありえるな☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「勝率25%から 勝率20.0%、0.33% と3ステップで

急落して投了したぜ☆?」

KIFUWARABE_80x100x8

「勝率23%を下回ったら DrawBorderモードに遷移するように

定数を変えてくれだぜ☆(^q^)」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「やってみるかだぜ☆」


 

05:30

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「高速モードで観戦してたんだが、

ぐちゃぐちゃになるまで お互い 投了しなかったぜ☆」

KIFUWARABE_80x100x8

「5秒指しモードがあってもいいかもしれないな☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「付けてみるか……☆」


05:45

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「おっ☆ DrawBorder モードに突入したぜ☆

そして 端とか、相手の地の中とか 変なとこに

打ちだしたぜ☆」

KIFUWARABE_80x100x8

「前進だな☆

今、地が2つ以上あると 勝利、

という作りになっているので、

地が2つあるから もう適当に打っているんだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「……☆」

KIFUWARABE_80x100x8

「確定地を拡大していくように変更してくれだぜ☆(^q^)

まずは、

地の連の数が2つ以上を最低限の目標として、

現在達成できる地の目の数より、目を多くできるように

目指してくれだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「じゃあ、

地の連の数が2つ以上あれば 引き分け以上、

現在の地の目の数より 目を多くできれば勝利、

引き分け以下なら投了、みたいな感じかだぜ☆?」

KIFUWARABE_80x100x8

「やってみてくれだぜ☆(^q^)」


05:52

201606240551

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「今こんな感じだぜ☆(^q^)」


 

06:47

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「暫定の 境界線を引くモード を付けたら、

rate は 1 にほぼ固定になってしまった上に

投了をしなくなってしまったぜ☆」

KIFUWARABE_80x100x8

「よく見直そうぜ☆?(^q^)」


07:35

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「あっ、スペルミスで

引き分けを 勝ちにカウントしていたぜ☆」

KIFUWARABE_80x100x8

「直そうぜ☆」


07:40

201606240740

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「よし、境界線を引くモードを 簡易実装だぜ☆!」

KIFUWARABE_80x100x8

さすがお父んだぜ☆!

やったな☆!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「やったぜ☆!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「たまちゃんが ほとんど 作ってくれていたぜ☆」

KIFUWARABE_80x100x8

「たまちゃんは寝てるぜ☆(^q^)」


 

08:06

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「コンピューターは、自分が勝ってると思ってるのなら、

相手がパスしてきたら 自分もパスしようぜ☆?」

KIFUWARABE_80x100x8

「まったくだぜ☆(^q^)」


 

08:55

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「うーん、テストが足りないぜ☆

自分の投了を見て 相手が投了してると思っているし、

パスの合わせ方が合ってない気がするぜ☆」

KIFUWARABE_80x100x8

「よく見直そうぜ☆?(^~^)」

はてなブックマーク - 【囲碁】 境界線をつなごうぜ☆?(^~^)?<その3>
[`yahoo` not found]
[`yahoo_buzz` not found]
このエントリーを Google ブックマーク に追加
Digg にシェア
Facebook にシェア
reddit にシェア
LinkedIn にシェア
[`evernote` not found]
StumbleUpon にシェア
GREE にシェア
email this
LINEで送る
Pocket

【囲碁】 境界線をつなごうぜ☆?(^~^)?<その2>

2016-06-21 15:19

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「まず スイッチング を付けようぜ☆

ThinkingType とでも列挙型を作って、

GoToWin モードと、DrawBoarder モードの2つに分けるんだぜ☆」

KIFUWARABE_80x100x8

「よっしゃ☆」


 

15:35

KITASHIRAKAWA_Chiyuri_80x100x8_04_Aozame

「へろへろへろへろへろへろへ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~☆」

KIFUWARABE_80x100x8

「あれっ☆? お父んが ふにゃふにゃ になってしまったぜ☆?」

 


 

 

はてなブックマーク - 【囲碁】 境界線をつなごうぜ☆?(^~^)?<その2>
[`yahoo` not found]
[`yahoo_buzz` not found]
このエントリーを Google ブックマーク に追加
Digg にシェア
Facebook にシェア
reddit にシェア
LinkedIn にシェア
[`evernote` not found]
StumbleUpon にシェア
GREE にシェア
email this
LINEで送る
Pocket

【囲碁】 境界線をつなごうぜ☆?(^~^)?

2016-06-21 00:52

KIFUWARABE_80x100x8

「お父んが フラフラ だぜ☆

なぜだぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_02_Hidosu

「不採用通知を送ってこないところもあるのな☆

どこも連絡がこないワロス☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「たぶん、ハローワークに行けば 落ちていますね とか

教えてくれると思うぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「バッド・ノウハウが溜まっているわね」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「今週、電車賃だけで お札1枚、2枚は飛びそうだぜ☆

泣けてくるほっほ☆」

KIFUWARABE_80x100x8

「まあ、がんばれだぜ☆」


 

201606210047

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「で、おまえ 境界線をつながずに 投げるだろ☆」

KIFUWARABE_80x100x8

「投了だぜ☆(^q^) 負けが確定してるんだから

境界線を引く必要もないだろ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「対局相手のことも考えようぜ☆?(^q^)

境界線を引いて、つないで、駄目を埋めて、

地を確定してから 何目差でどちらの勝ちです、

と こうやると 気持ちいいだろ☆」

KIFUWARABE_80x100x8

「早く投げた方がたくさん遊べるだろ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「対局相手は 囲碁のルールとか 分からない人が

いっぱいだぜ☆

囲碁のルールを教えてやるつもりで 打ってくれ☆」

KIFUWARABE_80x100x8

「指導碁か……☆ そうか しかたないな☆(^q^)」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「うむ☆(^~^)」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「負けてる方が 指導碁 って言わないのよ!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「じゃあ、 接待碁 で☆」

 


 

やさしい囲碁入門講座 『陣地の境界線を引く』

http://yasashiigo.com/basic/basic_4/4_1.html

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「モンテカルロって、プレイアウトしてから 勝敗を付けるだろ☆

境界線をつなぐのに必要なのは、

境界線の有無を判定してから、次の手を選ぶことだぜ☆」

KIFUWARABE_80x100x8

「境界線判定ルーチンを1つ作って、

それが YES になるまで プレイアウトを途中まで進める、

プレイセーフ とでも造語するような アイデア が必要だな☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「きふわらべちゃんは アイデア豊富ねぇ」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「じゃあ プレイワイル にしようぜ☆? play while ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「プレイワイルで モンテカルロ木探索深さ1 するの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「そうそう……☆

今あるルーチンを遅くしたくないぜ☆

ルーチンの、いい同居の方法を考えないとな☆」


KIFUWARABE_80x100x8

「境界線がつながっているか どうかの判定は、どうやるんだぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「目が2つできていれば いいんじゃないか☆?」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「2眼って、トポロジー(位相幾何学)的には 目は3つよ?」

 

n1n1n1blackn2n2blackn3n3

blackblackblackblackblackblackblackn3n3

n3n3n3n3n3n3n3n3n3

n3n3n3n3n3n3n3n3n3

 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「じゃあ、 相手の石を盤上から取り除いて、

目が3つある場合は 眼があることにしようじゃないかだぜ☆」

KIFUWARABE_80x100x8

「こんなケースは どうするんだぜ☆?」

n1n1n1n1n1n1n1n1n1

n1blackblackblackn1blackblackblackn1

n1blackn2blackn1blackn3blackn1

n1blackblackblackn1blackblackblackn1

n1n1n1n1n1n1n1n1n1

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「これは2眼じゃないぜ☆ 1眼が2つ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「トポロジー(位相幾何学)的には 次のように解決するのよ」

n1blackRayn2

blackRaywakublackRay

n3n3n3

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「1が 北東南西 に腕を伸ばしたときには 2種類の目が、

2も同じ、3も同じ。 これが2眼よ!

そして……」

n1n1n1n1n1n1n1n1n1

n1wakublackRaywakun1wakublackRaywakun1

n1blackRayn2blackRayn1blackRayn3blackRayn1

n1wakublackRaywakun1wakublackRaywakun1

n1n1n1n1n1n1n1n1n1

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「1は 2と3 につながっているけれど、

2と3 は 1 にしかつながっていない、

これが きふわらべちゃんの言う 1眼が2つ よ」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「ぷっ☆(^з^) 草の生える講義だぜ☆

就職活動をしながら こんなアルゴリズムを実装するのは

カンベンしてほしいぜ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「むしろ 就職すれば こんなアルゴリズム実装しなくても

家賃が払えるのよ」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「会社に入ると、

会社の就業期間中に考えたアイデアは会社の環境のお陰だ!

とかいって 青色LED の特許料 全額 払ってくれないんだろ☆

つまんないぜ☆」

KIFUWARABE_80x100x8

「会社では椅子に座っているだけでいいんだぜ☆

時計を見ながら……」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「wwwwwwwwwwwwwwwwwwwwwwww」

 


KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「でも探索中に 1手進むたびに こんな判定してたら

遅くてかなわないぜ☆

それに 2眼が作れるかどうかは 頭の中の見込み で済ますのが

日本式ルールで、

盤上に2眼が作れていなくても 境界線を引いていて、

2眼が作れるだろうと思われるときは それでOKなんだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「アルゴリズムを実直に実装するのは ない ぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「二眼が作れるかどうかの みなし って、どうやってるのよ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「棋力を発揮して、脳内で探索して 判定している☆

パターンや 定石、手筋、総動員しているのかもしれないな☆

きふわらべには無理☆(^q^)」

KIFUWARABE_80x100x8

「うむ☆(^q^)」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「どうすればいいのよ」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「二眼が作れるかどうかなんて、どうもしなくていいんじゃないか☆?

わたしの うそ地判定アルゴリズム は

その辺が不要なほど知的に圧倒的に優れているぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「じゃあ トポロジーの実装はなしで」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「そうそう……、単に

ショートケーキの上に 線を1本引いて、

2つのピースに分けられればいい……☆」

KIFUWARABE_80x100x8

「こんなケースは どうするんだぜ☆?(^q^)」

emptyemptyemptyemptyemptyemptyempty

emptyemptyemptyblackemptyemptyempty

emptyemptyemptyblackemptyemptyempty

emptyblackblackblackblackblackempty

emptyemptyemptyblackemptyemptyempty

emptyemptyemptyblackemptyemptyempty

emptyemptyemptyemptyemptyemptyempty

KIFUWARABE_80x100x8

「4つの地が作れることが見えるが、

2つの地を作るだけで 満足してしまうのかだぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「人間の目には一瞬だが、

コンピューターには探索が必要だぜ☆

まあ……☆」

emptyemptyemptyblackemptyemptyempty

emptyemptyemptyblackemptyemptyempty

emptyemptyemptyblackemptyemptyempty

blackDropblackblackblackblackblackempty

emptyemptyemptyblackemptyemptyempty

emptyemptyemptyblackemptyemptyempty

emptyemptyemptyemptyemptyemptyempty

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「これで満足しようぜ☆?(^q^)」

KIFUWARABE_80x100x8

「しかたないな……☆」


OKAZAKI_Yumemi_80x80x8_01_Damaru

「目が2つできてるって、どうやって判定するのよ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「盤上から相手の石を取り除いて、

空点の連 に、番号を振るんだぜ☆

1、2 と番号を振ったところで 実行打ち切り☆

どうだぜ☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「じゃあ、それで やってみましょう!」


 

KIFUWARABE_80x100x8

「2つの、空点の連が できれば、

勝利、という扱いにして モンテカルロ木探索深さ1 に乗せるのかだぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「そうそう、それで 勝率の1番高い手を打てば、

境界線を引く動きに 近づいていくだろ☆」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「やってみなくちゃ わかんないわよ!」


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「じゃあ 必要な部品を考えようぜ☆」

KIFUWARABE_80x100x8

「勝利獲得モードと、境界線を引くモードの

2つと、そのスイッチングを用意しようぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「なんか 後者って 寂しいな……☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「モンテカルロ木探索深さ1 を、3つのステップに分けて

実装していたわよね。

(1) 選択肢絞り込み抽出

(2) 探索と勝敗判定

(3) 最善手選択

これを、

(1) 選択肢全選択

(2) 探索と勝敗判定(改)

(3) 最善手選択(変更なし)

に変えないといけないわね」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「選択肢の全選択は無いだろう☆

選択肢の選び方を 別の専用パターンにしようぜ☆

探索は同じでいいや、勝敗判定は付け替え可能な部品にしないと

いけないな☆

あとは同じで☆」

KIFUWARABE_80x100x8

「それだけ実装すれば 境界線を引く のはできるんじゃないか☆?」


 

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「選択肢の選び方の別パターンって、

具体的にはどうするんだぜ☆?」

OKAZAKI_Yumemi_80x80x8_01_Damaru

「今はどうなってんのよ?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「碁盤の角には打ちたくない、碁盤の辺には打ちたくない、

石と石は 間を開けて置きたい、とか そういう感じだぜ☆」

KIFUWARABE_80x100x8

「石から 辺に向かって、太さ3目の垂線を引いたらどうだぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「その途中に相手の石があるときは 打ち切るように

枝を刈っておくと 良さそうだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「隅とか辺とか 間隔を開けて置くとか、

そういった性癖は 全部消しちゃいましょう!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「うむ☆(^~^) よさげ☆」


KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「勝敗判定は……、

盤から相手の石を取り除いたとき、2目できていれば勝ち、

そうでなければ負け、

でいいかなんだぜ☆」

KIFUWARABE_80x100x8

「勝率 0.01 以下なら それこそ 投了でもいいかもしれないな☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「よし、揃ってきたぜ☆

就職活動の合間に 実装しようぜ☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu

「えいえいおーっ!」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu

「イーアイ イーアイ オー☆!」

KIFUWARABE_80x100x8

「えいえいおー と、イーアイ イーアイ オーって何だぜ☆?(^q^)」

はてなブックマーク - 【囲碁】 境界線をつなごうぜ☆?(^~^)?
[`yahoo` not found]
[`yahoo_buzz` not found]
このエントリーを Google ブックマーク に追加
Digg にシェア
Facebook にシェア
reddit にシェア
LinkedIn にシェア
[`evernote` not found]
StumbleUpon にシェア
GREE にシェア
email this
LINEで送る
Pocket