5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【囲碁?】囲連星のAIを作ってみよう【連珠?】

1 :名前は開発中のものです。:2006/08/03(木) 16:13:45 ID:jCmv785l
フリーソフト囲連星のAIを自作してみませんか?(囲碁+連珠)
デフォルトのAIが弱いので今なら囲連星AIの第一人者になれる。
もし名人より強いAIを作成すればそのAIが名人位に。
詳しいことはソフトダウンロード後、ヘルプメニューを参考に。

作成方法:AI部分をプログラムしコンパイルしたものをファイルコピーすればOK
ソフトダウンロード:http://irensei.com/

445 :東陶基:2007/12/27(木) 14:20:00 ID:nFT7zy5G
>>444
そうですね9路は本体はないですね。
19路の方のソースは公開してるのである程度流用で簡単にいくところもありますが
逆にGUIなどはどうでしょうねぇ。
個人的には本当に簡易なものでもいいと思うんですけどね。
それであれば本体を作るのもそれほど負担にならないかもと思ったりもします。

色々不便をおかけしますが検討してみてください。

446 :名前は開発中のものです。:2008/01/05(土) 04:49:17 ID:t/bMff4b
このスレでRuby/tk詳しい人います?


447 :名前は開発中のものです。:2008/01/05(土) 11:18:40 ID:t/bMff4b
Ruby/tkで9路の本体作ってみました。

http://www.uploda.net/cgi/uploader4/index.php?file_id=0000024536.zip

とりあえず、IrenseiGUI.rbを実行してみてください。
コメントやドキュメントは全然書いて無いですが需要がありそうだったらぼちぼち書いて見ます。

rubyとtkl/tkのインストールはこの辺
http://www4.ocn.ne.jp/~holmes17/html/rubytk.html

448 :名前は開発中のものです。:2008/01/05(土) 12:57:46 ID:i0mhi2vp
なぜか上手く動かない。出来ればexeみたいな状態にしてもらえると・・・

449 :名前は開発中のものです。:2008/01/05(土) 19:15:25 ID:t/bMff4b
>>448
exeにしようとexerbやRubyscript2exeを試してみたのですが、なかなか上手くいきません。
とりあえず、Cygwinのrubyで試してみてください。

あとIrenseiCUI.rbのほうにはバグがありました。
もし使う人がいたら修正します。

450 :名前は開発中のものです。:2008/01/05(土) 21:07:10 ID:t/bMff4b
9路の本体ダウンロードしていただいた方、何かレスしていただけると助かります。
動いたとか、動かなかったとか。


451 :名前は開発中のものです。:2008/01/05(土) 22:53:12 ID:+41VOTzo
exeでないと無理です

452 :名前は開発中のものです。:2008/01/05(土) 22:54:09 ID:WFjXXdLC
囲碁板にも書き込んだらどうだろう。
でもそっちだとexeとかじゃないと見てくれないかもね。

HPに載せれば意見も聞けるだろうけど
ゲームできる状態になってないと厳しそうだしね

453 :名前は開発中のものです。:2008/01/05(土) 22:56:35 ID:WFjXXdLC
俺も動かなかったくちだがもう後でCygwinで試してみるから
447も頑張って作ってみてくれ、楽しみに待ってるよ。
9路のコンピュータと対戦してみたいから

454 :Y:2008/01/05(土) 23:34:10 ID:Y297lJT3
exeに変換することが出来たのですが、アップロードしましょうか?
もちろん、作者の方から許可して下されば、という話ですが。

455 :東陶基:2008/01/06(日) 01:49:14 ID:LO0BYfd6
>>454
Yさんありがとうございます。作者の方が良いということになったら上げてみてください。
exeにしといた方がみなさん気軽に試せると思うので。
あと作者の方がexeにする方法でどのあたりが上手くいかなそうかも教えてあげれたら
作者の方としても助かるかもしれませんね。

456 :447:2008/01/06(日) 09:00:17 ID:xl70frxU
447です。
Yさん、exe化ありがとうございます。
ぜひアップしてください。
よろしくお願いします。


457 :Y:2008/01/06(日) 10:04:10 ID:V5rG8ep3
↓にアップロードしました。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000024589.zip

・ActiveTclをインストール
・環境変数の設定
・tcl8.4.dllとtk8.4.dllがないとエラーが出たので、tcl8.3.dllとtk8.3.dllを
それぞれtcl8.4.dllとtk8.4.dllにファイル名を変更
後は↓を参考にRubyScript2Exeを使ってexeに変換。
http://jitte.net/index.php?%E6%97%A5%E8%A8%98%2F2005-12-17

という手順だったと思います。

458 :Y:2008/01/06(日) 11:23:08 ID:V5rG8ep3
さっきアップロードしておいたのが消えてたのでもう一度。
http://www11.axfc.net/uploader/20/so/He_61381.zip.html
パスワードはirenseiです

459 :名前は開発中のものです。:2008/01/06(日) 13:00:26 ID:N90zFTn1
動作見てみたけど七連の範囲もコウも問題なく動いてるみたい。
後はAIだけだねw

460 :名前は開発中のものです。:2008/01/06(日) 13:01:41 ID:N90zFTn1
これも19路のようにAI外付けにできると良さそうだけど

461 :名前は開発中のものです。:2008/01/06(日) 13:03:16 ID:N90zFTn1
ごめん、良く見たら外付けできるんだ。これはすごい。ルビー以外でもOKなんだよね?

462 :名前は開発中のものです。:2008/01/06(日) 13:52:16 ID:B1WaK7CG
もしかして画面の意見を求めてるのであれば
・最終着手がわかるようにしてほしい
・操作をわかりやすくしてほしい
でしょうかね
具体的に言えば、リストボックスの上に先手:後手と言った表示があって
その下にstartなりnewgameがあればわかりやすい
あとリストボックスが二つ有るけど片方しか選択状態にならないのは
わかりづらいかも知れません。選択したのが上のテキストに表示されるより
リストが選択状態に2つともなってるほうが良いかも

最後に碁盤の画面はこういうのでOKだと思う変に凝っても見づらいし

463 :447:2008/01/06(日) 19:20:11 ID:xl70frxU
Yさん、アップロードありがとうございます。

>>461
一応、AIはC/C++などでもかけますが、その場合Ruby拡張ライブラリという形式にしてやる必要があります。
SWIGとか調べてみてください。

>>462
了解です。実装してみます。
あと、9路だとパスもできないとまずいですね。


464 :東陶基:2008/01/07(月) 01:03:11 ID:904GEeEI
9路の場合はすぐにAIが強くなりそうですね。
今ソースをみたらポインタもなかったので自分にもつくれるかもしれない。
って思ったけどYさんの作ってくれたexeはもうその中にAI入ってるのかな。
でも同じディレクトリから.rbファイル消すとAI選択から消えますね・・・。
.rbのソースを変更しても打ち方が変わらないから既にexeに入ってそうだけど。

465 :Y:2008/01/07(月) 03:17:19 ID:P/lAoHc7
>>464
自分でAIを変更できるように修正しました。
http://www11.axfc.net/uploader/20/so/He_61636.zip.html
パスはirenseiです。

>>447さん
この修正のために、IrenseiGUI.rbの14行目の
require ai

require ".\\"+ai
に変更しました。
何か問題があるようならアップロードしたファイルを削除します。

466 :447:2008/01/07(月) 08:14:30 ID:HOZiCfP8
>>465
447です。
ソース変更は自由に行ってくださって結構です。



467 :447:2008/01/07(月) 22:14:45 ID:HOZiCfP8
447です。

ちょっと修正したのでアップします。
http://www.uploda.net/cgi/uploader4/index.php?file_id=0000024689.zip

変更点
1.最終着手をわかるようにした。
2.パスに対応。
3.リストボックスの上に先手、後手を表示
4.SGFファイルを出力できるようにした。出力先はresult.sgf
5.Yさんの>>465の修正を取り込み

リストボックスを両方選択状態にする方法はよくわかりませんでした。
あとexe化も、もうちょっと待ってください。
へたれですいません。





468 :名前は開発中のものです。:2008/01/07(月) 22:36:48 ID:mPVfGXHb
リストボックスなんかは普通は両方選択状態になるのが普通っぽいけど
なんでそうなるんだろう。

もしかしたら2つのリストボックスの名前が被ってるとかかな。

469 :447:2008/01/08(火) 23:40:31 ID:/VcEwGwK
447です。
exe化に成功したっぽいのでアップします。

http://gamdev.org/up/upload.php

囲連星で検索してください。
皆さんの環境でも動作するか動かしてみてください。
よろしくお願いします。

リストボックスの件はもうちょっと待ってください。


470 :東陶基:2008/01/09(水) 06:45:25 ID:nhDyM98a
447さん、かなりいい感じですね。ところで447さんはその9路のAIも開発する予定ですか?
もしそうで実際ゲームとして完成したらどうします?
vectorとかで配布します?
もしそうでしたら完成時には囲連星のHPからもリンクを貼らせてもらえると
ありがたいです。
ただそのあたりは447さんにお任せします。

471 :名前は開発中のものです。:2008/01/09(水) 07:02:25 ID:guDTKllr
9字はルール変更しないとだめだろ 狭いからさ

472 :東陶基:2008/01/09(水) 07:55:11 ID:nhDyM98a
とりあえず447さんの採用している1線のみの7連のみ禁止で行ってみようと思ってます。
それなりに強いAIが出てきた時に何か不都合があれば考えますがしばらくはこのルールで。

473 :447:2008/01/09(水) 19:10:07 ID:oVDwlVq9
447です。
もちろんAIは作ります。
完成したら配布するつもりですが配布方法とかまではまだ考えて無いです。
リンクも大歓迎ですが、ちゃんと完成するかどうか?まあ、気長に地道にやっていきます。

あと、私以外の方にもAI作成してほしいと思っているので、
当面はソースにコメント入れたりドキュメントを書いたりしようと思います。
特にC/C++でAIを作る方法は結構難しそうなのでドキュメントが必要だと思っています。



474 :名前は開発中のものです。:2008/01/09(水) 19:54:27 ID:aUJmFK73
ほかの人に作ってもらうためにはドキュメントやコメントは必要だね
あと19路のように本当にAIだけ作るのに専念できるように本体との
依存関係は出来るだけ無くして欲しいかな。

475 :447:2008/01/10(木) 23:58:09 ID:ezZj7kjF
447です。
ちょっと仕事が忙しくなりそうです。
しばらくの間、囲連星の開発はペースダウン(ストップ?)すると思いますがご勘弁を。


476 :東陶基:2008/01/11(金) 07:57:13 ID:DTEdfBMq
はい。のんびり作ってもらってOKですよ。
ちなみにブログにも書きましたが2/14の週刊アスキーの別冊に囲連星が
掲載される事になったので本屋に寄れる方は立ち読みでもしてみて下さい。

477 :447:2008/01/20(日) 18:46:01 ID:Vrmd9fTv
447です。
C++でAIを作ってみようと思ったのですが、どうもその場合VC++6.0が必要になるみたいです。
(RubyそのものをコンパイルしたコンパイラとAIをコンパイルするコンパイラは同じでなくてはいけない。)
困りました。VC++6.0はもう販売終了してしまっています。
RubyのほうをVC.netでコンパイルするという荒業もあるみたいですが…
何かよい回避策を知ってる方いらっしゃらないでしょうか。


478 :名前は開発中のものです。:2008/01/20(日) 19:22:18 ID:6cAmnzhQ
関数名修飾ならdefファイル使えばOK
あとこう書けばいいのでは
extern "C" int __stdcall func(){}

479 :名前は開発中のものです。:2008/01/20(日) 19:37:51 ID:wIjUHx1F
>>477
これはだめ?
http://ashitani.jp/wiki/index.rb?p=Ruby%E6%8B%A1%E5%BC%B5%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E3%83%93%E3%83%AB%E3%83%89

480 :447:2008/01/22(火) 00:14:52 ID:glJ36pWp
>>478-479
レスありがとうございます。
参考にさせていただきます。
ちょっと時間掛かりそうですが、がんばります。

あとAIのインターフェースについてなんですが、19路だとイニシャライズやファイナライズ、デバッグ機能がありますね。
デバッグ機能はともかく、イニシャライズ、ファイナライズは無いとまずいでしょうか?





481 :東陶基:2008/01/23(水) 10:56:28 ID:x/x8zXN5
ありがとうございます。

自分が詳しくない為皆さんにお手数かけてすいませんが
わかる方はわかる範囲で質問にこたえて頂けると嬉しいです。

>477さん
デバッグなどですが別に後からつけてもOKですよ。
後からつけると意識しながら作れば後から機能をつけるときもそれほど問題はないと思うので。
でもイニシャライズとかはAI作る段階で既に必要かもしれませんが。
そのあたりはお任せします。

482 :名前は開発中のものです。:2008/01/26(土) 02:47:49 ID:ycooaH5q
19路の数字を9にすればいいのでは

483 :447:2008/01/29(火) 19:52:41 ID:nYm1lhmU
447です。
仕事のほうですが、暇になりそうですw。

VC++2008でAIがコンパイルできたようなのでいったんアップします。
といってもAIの内容は左上から右下に向かって斜めに打つだけです。
aicpp.dllというのがVC++で作ったAIです。
すいませんが皆さんの環境でも動作するか試してみてください。
ご協力お願いします。

http://www.uploda.net/cgi/uploader1/index.php?file_id=0000288158.zip

>>482
そういえば、19路の本体のソースってどうなってるんでしたっけ?


484 :447:2008/01/30(水) 23:03:55 ID:J8Li6yDh
447です。
ダウンロードされた方は動いたとか動かなかったとか、なにかレスしていただけるとありがたいです。


485 :名前は開発中のものです。:2008/01/31(木) 02:33:55 ID:hxvyzfSk
動きましたよ
ただすぐComputer invalid move!になるけどw

486 :447:2008/02/01(金) 21:22:40 ID:Y7UWVU/K
>>485
レスありがとうございます。
これからAI作成に励みます。

そういえば、ドキュメントを書くとか言っといてて、書いて無いな。



487 :東陶基:2008/02/06(水) 16:14:58 ID:8pmw6hr4
自分も動かしてみましたがなぜかhuman VS humanしか出来なかったような。

逆に9路のソースも公開すれば誰かが意見をくれるかもしれませんね。

488 :447:2008/02/06(水) 18:40:55 ID:HPOwrnYR
>>487
AIにプレーさせようとすると具体的にどうなるのか教えていただけますか。
random vs randomも動かないですか?
一応、Aicpp vs Aicppだと黒が一手だけ指してinvalid moveになるのが仕様どおりの動作です。


489 :Y:2008/02/06(水) 19:58:15 ID:Dl695xKp
>>487
↓のVC++2008のランタイムが入ってないのでは?
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf

>>447さん
自分の環境では9路のAIは仕様どおりに動きました。

490 :東陶基:2008/02/15(金) 00:24:50 ID:kWGIwLmu
コンビニに寄ったら週刊アスキーの別冊ありました。
相変わらず小さいですが掲載されてました。
ただ小さいのは囲連星のゲーム画面そのものが対局中の碁盤の画面しかないので
どうしようもないですけどね。
キャラクターとか作ってRPG風とかにすればもしかしたら・・・。

>>489
そうですね。ランタイム入ってませんでした。すいません。

491 :447:2008/02/17(日) 17:26:22 ID:lVgpuZPm
とりあえず、実装が簡単そうなのでモンテカルロとやらを試してみたが、遅い。
絶望的に遅くて、あんまり強くない。一応それっぽい手は打つけど。
Yさんのプログラムは壮絶な工夫がされてるに違いない。


492 :東陶基:2008/02/17(日) 17:56:52 ID:rfwDCYcL
そうですね。モンテカルロは時間を考えておかないととてつもないらしいです。
今まで試された方も実用的なレベルまでいかなくてYさんのが出来た時には
正直自分も驚きましたね。

あとモンテカルロ(と言うよりは時間のかかるAI)の場合はPCによっても
速度が変わってくるので速いPCだけで試していると遅いPC持ってる人が
「全然遅いよ!」って言われるのでそこも注意が必要ですね。

Yさんのだと速い人だと一手2,3秒らしいですが遅いPCの人は30秒とか
かかるらしいです。ただ30秒かかるPCは普通の用途でも遅いと感じる事が
多いんでしょうけど。

493 :Y:2008/02/18(月) 00:17:26 ID:wlhjcsGc
>>491
論文を読んでそのとおりに実装しただけで、
あんまりたいした工夫はしてません
ご存知かもしれませんが、MoGoやCrazyStoneの
論文を翻訳して公開して下さっている方がいます
もしまだ見てなければ、目を通して見ると良いと思います
http://www.geocities.jp/hideki_katoh/


囲連星にも囲碁のCGOSや将棋のfloodgateの
ようなものがあったら面白そうですね
今は参加者が少なくて成り立たないかも知れませんが…

494 :447:2008/02/18(月) 20:12:28 ID:wi+Meyt5
これを理解するのは相当しんどそうですね。
がんばります。(TдT)。

495 :東陶基:2008/02/27(水) 20:38:36 ID:+ayULpRy
レンタルサーバーを変更した時に一部DLファイルが移されてなくてDLできない状態でした。
今は直っているのでDL出来なかった人は再度試してみてください。

そういえばそろそろ名人戦やってみようかな。対局場閉じちゃったから人集まるか
不安ではありますが、もし誰かここ見てて参加したいと思ってる人がいたら手を上げてみてください。
数人いたら開催しようかな・・・。

496 :東陶基:2008/02/27(水) 20:41:11 ID:+ayULpRy
あと別冊アスキーを買って読んでると他にも色々便利なソフトありました。
レジストリを綺麗にしてくれるソフトとか、メモリを整理してくれるソフト、
CPUが暇な時に勝手にデフラグしてくれるやつや、果てはコーディック集まで。
囲連星が載ってる時以外はそういう本をあんまり買わないのでたまに読むと便利ですね。

497 :447:2008/03/04(火) 21:47:46 ID:RB345PkJ
気分転換に9路のMOGOやってみたがあまりの強さにびっくりした。
白でも黒でもほとんど勝てない。
19路なら勝てるけど。
囲連星でもこれぐらい強いのを作りたいところですね。


498 :東陶基:2008/03/16(日) 13:35:11 ID:OKk0hogZ
最近ふと思うけどAIを追加するとAI Paramsってメニューバーに出てしまうのがどうかと。
当時は深く考えなかったから、せっかくならAI開発用とかってすれば良かったなと。

499 :東陶基:2008/03/16(日) 13:37:39 ID:OKk0hogZ
>>497
9路だと19路より検索するパターンが少ないのでAIが19路よりは強くなるはずなんですよね。
多分Yさんのとかも同じロジックでも9路にカスタマイズすれば時間が早いなり同じ時間なら強いなり
すると思います。

500 :Y:2008/03/24(月) 16:07:22 ID:d5pAvHIK
9路用のAI作ってみました。
それらしい打ち方をするようになったので公開してみます。

自分で打ったところ、うっかりミスをしなければ負けない
程度の強さでした。

思考時間が多少かかるので試していただける方は
本でも読みながら気長にやってみてください。

URL:http://www-2ch.net:8080/up/download/1206342283000125.Q78KG8

501 :名前は開発中のものです。:2008/03/24(月) 17:50:27 ID:2nQQGfNN
なんとか勝てた

502 :447:2008/03/24(月) 19:17:15 ID:x/ZiBdll
先をこされてしまいましたか。
こっちのAI作成は全然進んでません。(TдT)

AI強いです。結構やられます。

あと、*は+とかぶって見難いですw
せめて@とかに

そういえば、GUIもGTP準拠とかにすればみんな好きな言語で開発できるんですよね。
そっちのほうがいいのかなぁ。

503 :Y:2008/03/24(月) 20:51:40 ID:d5pAvHIK
>>501
使って下さってありがとうございます。
人間に勝ち越せるようになるまでには、
まだまだ先が長そうですね。

>>502
>こっちのAI作成は全然進んでません。(TдT)
今は多少時間が取れるのですが、これから忙しくなりそうなので
しばらく開発が停滞してしまうかもしれしまそうです。
お互い地道にがんばりましょう!
>あと、*は+とかぶって見難いですw
>せめて@とかに
なるほど、自分でやってるとあまりわからないので、
指摘してくださって助かります。
黒は@に修正しておきます。
あと、個人的な意見ですが、Ruby拡張ライブラリよりは
GTPで通信する方が嬉しいです。

>>500にルールを書き忘れてました。
ルールは1線のみの7連禁止です。

504 :東陶基:2008/03/25(火) 01:34:09 ID:OHwpcpTI
>>500
9路のプログラムありがとうございます。
なんとか勝てました。
確かに対人間だと微妙かもしれませんが
そもそも9路だと囲碁の要素が強いので対囲碁を知らない人間だと
もしかしたらかなり強いのかも知れないですね。

ちなみにこれもモンテカルロでしょうか?
となると環境によって時間が違ったりするのかな。
自分の環境だと1手が20秒弱くらいかな。体感なのでなんとも言えないですが。

>>502
GUIに関してはどうでしょうね。19路のみたくコンパイルしたAIを取り込む
と言うのももちろんありなんでしょうけどそのためには誰かがまずAIを取り込めるような
GUIを作らないといけないですからねぇ・・・ただ447さんの言われるようにどんな言語でも
最小限の労力で作れるようになるのが理想ですけどね。


505 :東陶基:2008/03/25(火) 01:35:26 ID:OHwpcpTI
>>503
ルールを今までHPで明記しわすれててすいません。
公式HPにも9路の有効範囲をルールに追加しときました。

506 :Y:2008/03/25(火) 10:16:02 ID:yDxumcP9
>>東陶基さん

>ちなみにこれもモンテカルロでしょうか?
>となると環境によって時間が違ったりするのかな。
はい、モンテカルロです。
どこでも同程度の強さになるように、一手あたりのシミュレーション回数を
同じにしているので環境によって時間は違うと思います。

507 :447:2008/03/26(水) 19:39:47 ID:Sa6G/n2e
Yさんの9路AIをGUIで遊べるようにしました。

以下のファイルをDLしておなじフォルダにYさんのプログラムを置いてください。
http://www-2ch.net:8080/up/download/1206527187565943.IG14zh

ただ、ちょっとバグがあってIrensieGUI.exeを終了してもirensei_9.exeが
生きたままになってCPUを100%消費することがたまにあります。

すいませんがそのときはタスクマネージャでirensei_9.exeを殺してください。

デバッグにはもうちょっと時間が掛かりそうです。


508 :東陶基:2008/03/27(木) 01:48:37 ID:w94tKXJv
447さんありがとうございます。
確かにGUIあると使いやすいですねw
個人的にはYさんのコンピュータ勝率予想(?)みたいなのも
ちょっと興味ありました。
51%とかどうやって算出してるんだろう?って。

509 :東陶基:2008/03/27(木) 02:08:40 ID:w94tKXJv
今打ったら負けてしまった。
これもしバグ取れて普通にプレイできるようになったら
Vectorとかで配布したらどうでしょうか?
結構十分なレベルだったりしてと思ったりします。

510 :Y:2008/03/27(木) 13:36:56 ID:5wYi5zoZ
>>447さん
まさかGUIで打てるようにして下さるとは思いませんでした。
GUIだと一目で盤面が理解できて良いですね。

>>東陶基さん
表示している勝率は、ランダムシミュレーションの結果
をそのまま表示しています。
まあ、ほとんど当てになりませんがw

511 :447:2008/03/27(木) 22:36:33 ID:9NYfj3YY
Vectorで配布ですか。
YさんのAIがないと遊べない状態なので、
配布するなら一緒に配布しないと意味無いんですけど、
Yさんはその辺どうなんでしょう?

あと、いまさらですが、YさんのAIはともかくGUIはなんというかショボイから
あんまり派手にやるのはちょっと気が引けるというか。
アップローダに上げて2chで宣伝するくらいでいいのかなとも思ったり。

ところでYさんの9路AIはパスしたり投了したりしますか?
このまえ、GUIで打ってたら不正終了してしまったので、
ひょっとしたらパスか投了したのかなと思いました。


512 :Y:2008/03/28(金) 01:39:01 ID:o6omg+qs
配布に関しては自由にして下さって構いません。

>ところでYさんの9路AIはパスしたり投了したりしますか?
バグが無ければ、AIはパスや投了はしないはずです。

513 :東陶基:2008/03/28(金) 14:59:03 ID:mDsBMoGV
>>511
多分YさんのはGUIは暫定的に作ってるだけだと思うので
そこはいいんじゃないでしょうか。あくまでAIを確認するためのGUIだと思うので。

それと2chで宣伝するよりはVectorの方が地味でリスク少ないので
安心してくださいw

あと折角Yさんが待ち時間の割合?(10%・・・15%・・・みたいなの)をアウトプットしてくれてるので
447さんのGUIの方でそれを表示してもらえると使ってる人が時間がどれくらいなのか
わかりやすくて良いです。棒グラフみたいなのでもいいですが。


514 :東陶基:2008/03/28(金) 15:06:46 ID:mDsBMoGV
あと個人的ボタンはAI選択の下の方が良いかも。
いまだと右のAIを選択してnew gameボタンが左上なので
流れとしてどうかと。
それならボタン群はAI選択の下にあった方がいいかなと。

でそのボタンの下にCPUの思考時間バーみたいなのを表示というのが
一番わかりやすいかも。

あとコマンドプロンプトは非表示になったらいいかもGUIの画面だけ立ち上がるのが理想かな。

まぁこれらは個人的な感想なので無理ならいいですよ。

515 :東陶基:2008/03/28(金) 15:13:22 ID:mDsBMoGV
それで配布するとなると

1.ソフトを完成させる
2.HPを作る(1ページとかの簡単なので可、ただし連絡先のアドはつける)
3.ベクターに公開し、HPからリンクを貼る

と言った流れですね。2は雑誌掲載などの依頼が来るかも知れないので
(出来がよければ商品化とかも依頼は来る可能性はあります。なかなか実現は難しいですけどねw)
2.3.はこちらでやってもいいですが折角作ったのですからYさんや447さんで管理されたら
良いのかなと。雑誌掲載依頼とかベクターでのDL数のメールとか来ると作った人だと
ちょっと嬉しいもんだと思いますよ。

追記>>514
×個人的ボタンは → ○個人的にはボタンは

516 :447:2008/03/28(金) 21:53:56 ID:iU+CaPuh
>>513-515
Yさんのユーザインターフェースは普通CUIと呼ばれるものでGUIではないです。
この場合、しょぼいGUIといってるのはIrenseiGUI.exeのことです。
Vectorで配布されてるような囲碁関連のソフトと比べると明らかに見劣りするというか。

とりあえず、まだ完成までにはやることがあるし、ベクターで配布できるぐらいのものができたらそのとき考えましょう。
思考時間の表示やレイアウトの変更などはやってみます。

一応、出来るだけ多くの人に遊んで欲しいとは思っているので、がんばります。


517 :名前は開発中のものです。:2008/03/28(金) 22:41:22 ID:dWOI7A5J
がんばれ〜応援してるよ

ちなみに俺のPC(セレロン北森2G)で一手に30秒くらいかかりますw
難易度と言うか時間設定みたいなのがあればうれしいかも

518 :東陶基:2008/03/29(土) 01:40:33 ID:9fcbO7Qi
>>516
そうですね。確かに言われてみればCUIですね。
ただVectorでも個人が作ってるのはGUIそんなにすごくないのもありますよ。
あとGUIは結構すぐにぱっと見は良く出来ますし。

>>517
一手あたりの検索数を減らせばその分早くなるみたいですよ。
ただ今のAIの10分の1の検索数にした場合にどんな強さになるのかは
Yさんだけしかわからないですが。

519 :Y:2008/03/29(土) 10:57:27 ID:wkSnyIia
>>517
わかりました
時間等を自分で設定できるようにしておきます

520 :東陶基:2008/03/29(土) 13:07:32 ID:JtCEFsyB
>>519
時間というよりは検索回数でいいかも。
5000回(弱い)・10000回(普通)・20000回(強い)みたいに。
回数は表示しなくて、弱い・普通・強いから選択みたいな。
もちろん激弱・最強とかも入れて5段階とか10段階とかにしてもいいと思う。


521 :名前は開発中のものです。:2008/03/29(土) 13:18:52 ID:j1oEtUCs
MTからXORSHIFTにするといいとおもわれ 

522 :447:2008/03/29(土) 18:38:20 ID:9DnVCJgw
思ったんですけど、GTP対応のAIなら私がGUI作らなくても、
すでに囲碁用の良いクライアントがたくさんあるんですよね。
クライアントが囲連星のルールを理解していたほうがいいことはいいんですけど、必須ではないし。

なんかGUIは作らなくてもいいような気がしてきましたw。



523 :447:2008/03/29(土) 19:19:17 ID:9DnVCJgw
あ〜でも、囲連星を知らない人がプレーするときはやっぱりクライアントがルール知らなきゃだめかな。
それに長連とか7連が出来るときの自殺手とかあるし。




524 :447:2008/03/29(土) 21:55:56 ID:9DnVCJgw
Yさんにお願いがあるんですが、思考時間の%の表示なんですけど一回%を表示するたびに改行しれくれませんか。
改行がないとRuby側で上手く情報を取得できないのです。
改行が無いと100%になるまで何も取得できないで、100%になってから全ての%がドバッと出てくるという感じです。
IO.flushとかも試してみたのですが駄目でした。

525 :Y:2008/03/30(日) 00:45:56 ID:oZ9Fjkmb
>>東陶基さん
始めは直接探索回数を指定してもらって
強い、普通、弱いの区別はしないつもりです
細かい事はAIがもうちょいマシになってから考えようと思います

>>521
9路の方では440さんのコードを使わせてもらってます
これがXORSHIFTですよね?多分

>>447さん
わかりました。%の表示は変更しておきます

526 :東陶基:2008/03/30(日) 18:14:40 ID:e+rNeAO7
>>525
そうですね。まだそういう細かい調整をする段階ではないですよね。
逆に回数指定であればGUIの方から呼べそうですしね。

例)GUIの方で弱いを選べばAIに回数5000回というパラメータを送って実行
強いを選べば20000回をパラメータとして実行

みたいな方が融通は利きそうですね。

527 :東陶基:2008/03/30(日) 18:20:13 ID:e+rNeAO7
ちなみにそういうイン・アウトの標準を考えた場合に

・GUI→AI (探索回数・ユーザーの打った手)
・AI→GUI (AIの打った手・探索の%)

ってところですかね?
あと今だと打った手の正当性はどっちで判断してるんでしょうかね?
自殺手やすでに石がある場所への手のチェックなどです。
あと勝敗の判断はどうなんだろう。

まぁ今の状態でも普通にプレイ出来てるので両方でやってる事はあっても
両方ともやってないという事はないので問題はなさそうですけど。



528 :名前は開発中のものです。:2008/03/30(日) 18:54:47 ID:yz6E/aNO
9路はかなり良いと思う。
小さい画面でも遊べるから携帯やDSでもいける。
ルールも19路よりわかりやすいしパズル性も高い。
コンピュータゲームとしては19路より上では。

529 :XORSHIFTの派生 精度・速度が違う:2008/03/30(日) 19:04:22 ID:TX8QqB2k
42 :デフォルトの名無しさん:2007/11/11(日) 19:11:45
unsigned long xor32(){
static unsigned long y=2463534242;
y?=(y<<13);y=(y>>17);return (y?=(y<<5));}

unsigned long long xor64(){
static unsigned long long x=88172645463325252LL;
x?=(x<<13);x?=(x>>7);return(x?=(x<<17));}

unsigned long xor96(){
static unsigned long x=123456789,y=362436069,z=521288629;unsigned long t;
t=(x?(x<<20))?(y?(y>>11))?(z?(z<<27))?(w?(w>>6));x=y;y=z;z=w;return(w=t);}

unsigned long xor128(){
static unsigned long x=123456789,y=362436069,z=521288629,w=88675123;unsigned long t;
t=(x?(x<<11));x=y;y=z;z=w;return(w=(w?(w>>19))?(t?(t>>8)));}

unsigned long xor160(){
static unsigned long x=123456789,y=362436069,z=521288629,w=88675123,v=5783321;unsigned long t;
t=(x?(x>>7));x=y;y=z;z=w;w=v;return v=(v?(v>>6))?(t?(t>>13));}

unsigned long xor192(){
static unsigned long x=123456789,y=362436069,z=521288629,w=88675123,v=5783321,d=6615241;unsigned long t;
t=(x?(x>>2));x=y;y=z;z=w;w=v;v=(v?(v<<4))?(t?(t<<1));return(d+=362437)+v;}
こんな具合か


43 :42:2007/11/11(日) 19:16:33
コピペ丸張りで色々とおかしくなってることに気付く。
後悔はしていない。


530 :447:2008/03/30(日) 23:24:20 ID:IldVvNmG
レイアウトを変えて、試験的に思考時間の表示の機能を追加してみました。
http://www-2ch.net:8080/up/download/1206886383510742.oHUDOP

コマンドプロンプトも非表示にしてみたんですが、
IO.popenでAIを起動するとコマンドプロンプトが開いてしまいます。
これを開かないように出来るかどうかはまだわかってません。

531 :Y:2008/03/30(日) 23:33:23 ID:2KJiXzs+
>>529
XORSHIFTにも色々種類があるのですね。
精度が上がると速度が多少落ちるってことなのかな。
早速xor32を使わせてもらいます。
^が?に文字化けしてしまっているようですね。

あと、%の表示と、探索回数を修正したのでアップロードしました。
think.txtというファイルにシミュレーション回数を書いてください。
ファイルが見つからない場合、125000回になります。
http://www-2ch.net:8080/up/download/1206886440149113.n4OO2x

532 :447:2008/03/31(月) 18:52:53 ID:K8wAjTcS
>>531のAIに対応しました。
以下のファイルと>>530>>531のを同じフォルダにおいてください。
http://www-2ch.net:8080/up/download/1206956556178240.q9fczr

あと、Vectorの囲碁関連のソフト見てみましたが、
確かに個人で作ってるものは、そんなにすごくないのもありますね。
あんまりビビら無くてもいいのかもしれませんね。




533 :447:2008/04/01(火) 21:02:12 ID:xHqE3byv
>>447です。
YさんのAIはプレイヤー側のパスに対応してますでしょうか。
ルール上はパスできることになっているので、対応よろしくお願いします。

あと、コマンドプロンプトを出さなくする件ですが、プログラム板のRuby初心者スレッドで教えていただきました。
Cygwinのrun.exeを使うか、AIをGUIモードでコンパイルするとOKとのことです。
Cygwinのrun.exeで上手くいくことは確認しました。
AIをGUIモードでコンパイルするというのは簡単なのでしょうか?
もし簡単であれば、GUIモードでのコンパイルをお願いします。
面倒な作業が必要であればrun.exeを使いたいと思いますが、run.exeって再配布可能なんですよね?



534 :東陶基:2008/04/01(火) 22:05:50 ID:MMTpi4NN
>>533
別にパスに関してはGUIからパスボタンを外すとかでいいですよ。
あえてAIの方まで修正して対応する必要はないので。
ルールを全部踏まえなくても支障がないものはソフトからは外して良いと思ってます。
テニスゲームでラケットが壊れて予備のラケットを用意とかしなくても良いのと
同じ感覚だと思ってもらえれば。
多分19路のソフトもパスには対応してないと思います。

535 :Y:2008/04/01(火) 22:39:56 ID:zk/l8Y+F
どちらも簡単に対応できそうなので、
出来次第アップロードします。

536 :Y:2008/04/01(火) 22:56:33 ID:zk/l8Y+F
コンソールを表示しないようにしたのと、
パスに対応しました。

相手の打ち手が
-1 -1
の時にパスと判断します。
http://www-2ch.net:8080/up/download/1207057492005796.jmzcE3

537 :447:2008/04/02(水) 20:49:04 ID:gZvyD45G
>>536のパスに対応しました。
http://www-2ch.net:8080/up/download/1207136247505268.KzM9Nb

あと、ちょっと気になったんですけど、もしかしてYさんのAIはこちらが同じ手をうてば、AIも毎回同じ手を打ちます?


538 :Y:2008/04/02(水) 21:37:11 ID:q1Iu1KJo
>>447さん
乱数を初期化するの忘れてました。
それが原因で毎回同じ手を打っていたようです。
修正したAIです。
http://www-2ch.net:8080/up/download/1207139223165821.cDVCvj

539 :東陶基:2008/04/03(木) 16:38:23 ID:q5JvUg/2
コマンドプロンプト消えましたねw
もうこれくらいであればバグ取りしたら十分公開して大丈夫なんじゃないかと思います。
あとはソフトの名前でも考えてください。

さっき探索回数を変更して試してみましたが折角なら447さんの方のGUIでコンボボックスとかで
弱い・普通・強いって感じで探索回数を投げれれば良いんですが、今テキストから読んでるから
GUIで対局時にそのファイルを書き換えてAIを起動するようにすればいいんでしょうかね。

ただとりあえず1.00バージョンは今のままでバグ取りとファイル名やソフト名を整理して
readmeつければ良いと思います。

540 :東陶基:2008/04/03(木) 16:53:17 ID:q5JvUg/2
ちょっと気になったのは
途中で終了するとプロセスは残っててCPUを使用し続けた状態になってる気が
しなくもないです。
どうすれば良いのかはわからないですが、ウィンドウ終了時とかのイベントで
AIを終了させないといけないのかな。
見当違いだったら忘れてください。

541 :447:2008/04/03(木) 22:14:58 ID:PhsqGseN
そうなんですよね。AIのプロセスが生き残ってしまうんです。
そのAIを終了させる方法なんですが、popenで開いたプロセスを単にcloseすればいいのかと思ったんですが
そうすると「問題が発生したため、irensei_9.exeを終了します。ご不便をおかけして申し訳ありません。」
と言うダイアログが出てきてしまいます。
あとゲーム途中でnew gameを押してもおかしくなるようです。

まだまだ完成は遠いです。



542 :Y:2008/04/03(木) 23:43:29 ID:gmxHe00S
強い、普通、弱いを選択するためにGUIを変更するのは
面倒だと思うので、適切な探索回数を設定した3つのAIを
ai_strong, ai_normal, ai_weak
のようにしてGUIと一緒に配布するのが楽で良いんじゃないかと
思いますがどうでしょうか。

あと、

Process.kill("KILL", @io.pid)
のようにすると、問題無くAIを終了できるようでした。
ただ、Rubyのことはほとんどわからないので、
不適切な方法だったりするかもしれません。

AIが少し強くなったのでアップロードしました
http://www-2ch.net:8080/up/download/1207232550803324.V4Pg4d
良かったら試してみて下さい。

543 :Y:2008/04/04(金) 11:11:21 ID:TrRomni/
また乱数の初期化を忘れていたので
>>542にあげたファイルを修正しました。
http://www-2ch.net:8080/up/download/1207274487131124.dInClh

544 :447:2008/04/04(金) 20:22:16 ID:bcGjLQEd
Yさんありがとうございます。
AIを正常終了させるようにしました。

http://www-2ch.net:8080/up/download/1207307640752402.86SDGQ

ただし、まだ完璧では無い可能性もあるのでしばらくの間、
皆さんでいろいろ動かしてみてください。
もしAIが不正終了しましたら、報告お願いします。
すいませんが、ご協力お願いします。

一応GUI本体のソースも付けときます。

264 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)