Hatena::ブログ(Diary)

あまつぶ@はてなダイアリー RSSフィード

あまつぶWikiあまつぶ過去ログMacソフトWinソフト掲示板
<カレンダー>
2003 | 09 | 10 | 11 | 12 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 03 | 04 | 05 | 06 | 07 | 09 | 11 |
2011 | 02 | 07 | 08 | 11 |
2012 | 04 | 11 |
2013 | 07 | 09 | 10 |
2014 | 11 |
2015 | 11 |

<< 2004/11 >>
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

<最近の見出し>




POPFile の Mac OS X(Panther/Tiger/Leopard/Snow Leopard/Lion/Mountain Lion/Mavericks/Yosemite)用インストーラをお探しの方は、POPFile プロジェクトのダウンロードページへ。
 | 

2004-11-07 PilotGoJ を改造する

[]PilotGoJ を改造する PilotGoJ を改造するを含むブックマーク

prc-tools をインストールしたのは、PilotGoJ を改造したかったから。PilotGoJ は、Palm OS 用のオープンソース囲碁ソフトに改良を加えたものなのだけど、ところどころ変なところがある。これらを改善してみようというわけだ。

まず、(細かいけど)ハンディキャップ(置き石)の場所が変なこと。5 つまではこれでいいと思うのだけど、6、7、8 つのときに置かれる場所が、私の知っている置き方とは違うのだ。なんか気になるので、まずはここから修正してみる。置き石の処理は、main.c の SetHandicap で行われているようなので、ここを修正する。

また、置き石のときは、白が先に打つことになるはずなのに、なぜか黒からになってしまっているので、これも修正する。これは、main.c の SubNewGame 内に Palm が黒だったら先に打つという処理があるので、置き石がある場合は、白だったら先に打つように修正。人間どうしの場合はこれだけでは不足なような気がするけど、とりあえずは保留。

それから、コミが、5 目半しか選べない。今は 6 目半が主流だと思うので、どちらかを選択できるように改造。これには、prefs.c とリソースファイル?(pilotgoj.rcp.in)を修正する必要があった。置き石のときは通常コミなしにすると思うので、main.c の SubEndGame も修正。

とりあえずここまでで気になったところは改善できたかな。他にも、スコア表示のあとに下の 2 行くらいの表示が乱れるとか、undo 時に画面が乱れることがある(ポン抜きを undo した場合かな?)とか、若干気になるところがあるので追々直してみようかなと思う。

実際には、こんな細かい部分を修正したいのではなくて、悲しいほど弱いので、もっと強くなってほしいのだ。gnugo をもとにして作られているようだけど、バージョンが古い(おそらく 1.2)からかかなり弱い。WING でまだ 1 勝もできていない私が、9 子置かせても勝ててしまうというのは問題だ。gnugo のバージョンをもっと新しいものにすればいいと単純に考えたのだけど、新しいバージョンは 1.2 と比べてかなり複雑になってしまっている。その次の安定バージョンの 2.6 (3.2 よりも 4 級くらい弱いらしい)でも、1.2 とは別物としか思えない。

ということで gnugo の新しいバージョンを載せるという計画はほとんど挫折しているわけだけど、おもしろそうな課題なのでぼちぼちさわってみようと思う。

[]バケツをまとめる バケツをまとめるを含むブックマーク

FAQ に新しい項目が追加されたので、翻訳。バケツをひとつにまとめる

単純に考えると、それぞれのバケツの単語数を足しあわせればいいのではないかと思うのだけど、話はそう単純ではないようだ。以下に、足し合わせではうまくいかないことを説明してみる。

A,B,C のバケツにそれぞれ 100 単語ずつが入っていて、X という単語が、A には 1 個、B には 5 個、C には 4 個入っているとする。

この場合、A,B,C のそれぞれから適当に単語を取り出したときにその単語が X である確率は、1/100、5/100、4/100 で、ベイズの定理により、X が

A から取り出したものである確率 1/10

B から取り出したものである確率 5/10

C から取り出したものである確率 4/10

で、バケツ B の確率が最も高い。

ここで、A と B の二つのバケツをまとめて A' というバケツを作った場合、単純に単語数を足しあわせれば、このバケツに含まれる単語数は 200 で、単語 X は 6 個含まれることになる。

すると、A' から単語を取り出したときにその単語が X である確率は、6/200 = 3/100。先ほどと同じように、ベイズの定理により、X が

A' から取り出したものである確率 3/7

C から取り出したものである確率 4/7

となり、今度はバケツ C の確率が最も高くなってしまう。

本来は、A から取り出したもの、あるいは B から取り出したものである確率と同じになるべきだから、バケツ A' から取り出したものである確率は 6/10 にならなくてはならないはず。ということは、A' から単語を取り出したときにその単語が X である確率は、6/100 でなければならないということだ。要は、単語数ではなくて、確率を足しあわせなければいけないということだ。

では、確率を足しあわせるということが現実にできるのかというと、これが実は不可能なのだ。バケツ A から取り出した単語が X1 である確率、バケツ B から取り出した単語が X1 である確率、バケツ A から取り出した単語が X2 である確率、……をすべて足しあわせると、2 になってしまう。すべての事象の確率を足しあわせて 2 になることはあり得ない。

ということで、単語数をやりくりして、もとと同じ状態を維持するということは不可能。やはり、ドキュメントに書かれているように、リセットして最初からやりなおすというのがいい方法のようだ。

[]パズル 17 回の解答と解説 パズル 17 回の解答と解説を含むブックマーク

パズル 17 回「3659」の解答と解説を掲載。

次回の問題は「5316」で、11/20 まで。

おまけ:「74」の最小解は?(これだと思うものを見つけたら、コメント欄へどうぞ)

crossingpointcrossingpoint 2004/11/08 20:32 フツーに解くと100-13*2[7]でいいんだろうけどわざわざおまけにするからには4とか5で解けるのかしらなどと勘繰ってみたり(笑)

amatubuamatubu 2004/11/08 20:50 7 ははずれです。
たいしたおまけではないんですが(汗)、1 から 100 までの中で、[?] になる解答をなかなか見つけることができなかった数字なんですよ。

crossingpointcrossingpoint 2004/11/08 21:55 これってパズルと同じルールでいいのですよね?それとも違う話でしたか?ま、とりあえず5316の方をなんとかせねば(笑)

amatubuamatubu 2004/11/08 23:05 桁数が 2 桁である以外は同じルールですよ。

yosshiyosshi 2004/11/10 18:22 (1000-100)/12-1[6]でどうでしょう。

amatubuamatubu 2004/11/10 21:38 ありがとうございます。あたり(想定していた答え)です。
実は、次の問題を 7474 にしようかなとも考えていたんですよ。((1000-100)/12-1)*101 [8] を答えに想定して。しかし、もっと単純に 10000-10100/4-1 [8] が出てくることに気がつき、なしになりました(汗)

 | 
468860