フリーソフト囲連星のAIを自作してみませんか?(囲碁+連珠)
デフォルトのAIが弱いので今なら囲連星AIの第一人者になれる。
もし名人より強いAIを作成すればそのAIが名人位に。
詳しいことはソフトダウンロード後、ヘルプメニューを参考に。
作成方法:AI部分をプログラムしコンパイルしたものをファイルコピーすればOK
ソフトダウンロード:http://irensei.com/
【囲碁?】囲連星のAIを作ってみよう【連珠?】
■ このスレッドは過去ログ倉庫に格納されています
2006/08/03(木) 16:13:45ID:jCmv785l
536Y
2008/04/01(火) 22:56:33ID:zk/l8Y+F コンソールを表示しないようにしたのと、
パスに対応しました。
相手の打ち手が
-1 -1
の時にパスと判断します。
http://www-2ch.net:8080/up/download/1207057492005796.jmzcE3
パスに対応しました。
相手の打ち手が
-1 -1
の時にパスと判断します。
http://www-2ch.net:8080/up/download/1207057492005796.jmzcE3
537447
2008/04/02(水) 20:49:04ID:gZvyD45G >>536のパスに対応しました。
http://www-2ch.net:8080/up/download/1207136247505268.KzM9Nb
あと、ちょっと気になったんですけど、もしかしてYさんのAIはこちらが同じ手をうてば、AIも毎回同じ手を打ちます?
http://www-2ch.net:8080/up/download/1207136247505268.KzM9Nb
あと、ちょっと気になったんですけど、もしかしてYさんのAIはこちらが同じ手をうてば、AIも毎回同じ手を打ちます?
538Y
2008/04/02(水) 21:37:11ID:q1Iu1KJo >>447さん
乱数を初期化するの忘れてました。
それが原因で毎回同じ手を打っていたようです。
修正したAIです。
http://www-2ch.net:8080/up/download/1207139223165821.cDVCvj
乱数を初期化するの忘れてました。
それが原因で毎回同じ手を打っていたようです。
修正したAIです。
http://www-2ch.net:8080/up/download/1207139223165821.cDVCvj
539東陶基
2008/04/03(木) 16:38:23ID:q5JvUg/2 コマンドプロンプト消えましたねw
もうこれくらいであればバグ取りしたら十分公開して大丈夫なんじゃないかと思います。
あとはソフトの名前でも考えてください。
さっき探索回数を変更して試してみましたが折角なら447さんの方のGUIでコンボボックスとかで
弱い・普通・強いって感じで探索回数を投げれれば良いんですが、今テキストから読んでるから
GUIで対局時にそのファイルを書き換えてAIを起動するようにすればいいんでしょうかね。
ただとりあえず1.00バージョンは今のままでバグ取りとファイル名やソフト名を整理して
readmeつければ良いと思います。
もうこれくらいであればバグ取りしたら十分公開して大丈夫なんじゃないかと思います。
あとはソフトの名前でも考えてください。
さっき探索回数を変更して試してみましたが折角なら447さんの方のGUIでコンボボックスとかで
弱い・普通・強いって感じで探索回数を投げれれば良いんですが、今テキストから読んでるから
GUIで対局時にそのファイルを書き換えてAIを起動するようにすればいいんでしょうかね。
ただとりあえず1.00バージョンは今のままでバグ取りとファイル名やソフト名を整理して
readmeつければ良いと思います。
540東陶基
2008/04/03(木) 16:53:17ID:q5JvUg/2 ちょっと気になったのは
途中で終了するとプロセスは残っててCPUを使用し続けた状態になってる気が
しなくもないです。
どうすれば良いのかはわからないですが、ウィンドウ終了時とかのイベントで
AIを終了させないといけないのかな。
見当違いだったら忘れてください。
途中で終了するとプロセスは残っててCPUを使用し続けた状態になってる気が
しなくもないです。
どうすれば良いのかはわからないですが、ウィンドウ終了時とかのイベントで
AIを終了させないといけないのかな。
見当違いだったら忘れてください。
541447
2008/04/03(木) 22:14:58ID:PhsqGseN そうなんですよね。AIのプロセスが生き残ってしまうんです。
そのAIを終了させる方法なんですが、popenで開いたプロセスを単にcloseすればいいのかと思ったんですが
そうすると「問題が発生したため、irensei_9.exeを終了します。ご不便をおかけして申し訳ありません。」
と言うダイアログが出てきてしまいます。
あとゲーム途中でnew gameを押してもおかしくなるようです。
まだまだ完成は遠いです。
そのAIを終了させる方法なんですが、popenで開いたプロセスを単にcloseすればいいのかと思ったんですが
そうすると「問題が発生したため、irensei_9.exeを終了します。ご不便をおかけして申し訳ありません。」
と言うダイアログが出てきてしまいます。
あとゲーム途中でnew gameを押してもおかしくなるようです。
まだまだ完成は遠いです。
542Y
2008/04/03(木) 23:43:29ID: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
良かったら試してみて下さい。
面倒だと思うので、適切な探索回数を設定した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
良かったら試してみて下さい。
543Y
2008/04/04(金) 11:11:21ID:TrRomni/544447
2008/04/04(金) 20:22:16ID:bcGjLQEd Yさんありがとうございます。
AIを正常終了させるようにしました。
http://www-2ch.net:8080/up/download/1207307640752402.86SDGQ
ただし、まだ完璧では無い可能性もあるのでしばらくの間、
皆さんでいろいろ動かしてみてください。
もしAIが不正終了しましたら、報告お願いします。
すいませんが、ご協力お願いします。
一応GUI本体のソースも付けときます。
AIを正常終了させるようにしました。
http://www-2ch.net:8080/up/download/1207307640752402.86SDGQ
ただし、まだ完璧では無い可能性もあるのでしばらくの間、
皆さんでいろいろ動かしてみてください。
もしAIが不正終了しましたら、報告お願いします。
すいませんが、ご協力お願いします。
一応GUI本体のソースも付けときます。
545名前は開発中のものです。
2008/04/04(金) 20:53:19ID:bcGjLQEd あと、>>518で簡単にぱっと見は良く出来るということですが、どうすればいいですか。
盤や石に画像を使うとかでしょうか。
盤や石に画像を使うとかでしょうか。
546東陶基
2008/04/07(月) 21:06:50ID:1vbpdyH7547447
2008/04/09(水) 06:35:36ID:q2Mrokfy548名前は開発中のものです。
2008/04/09(水) 06:43:10ID:SE8IFXGS ルール部分だけCのヘッダで提供してくれる神はいないものか?
549447
2008/04/09(水) 20:21:05ID:q2Mrokfy550東陶基
2008/04/10(木) 22:05:49ID:b+qyfGnp ルール部分に限らずAI以外の部分を考えなくても良いようなGUIというかツールが
理想だとは思いますが、今の段階ならルール部分だけ切り離して共有すると言うのも
ありなのかなと言う気はします。
まぁ447さんがAIのdllなりexeなりがあれば読み込めるGUIを作ってくれる日が来ることを
願ってと言うことでw
理想だとは思いますが、今の段階ならルール部分だけ切り離して共有すると言うのも
ありなのかなと言う気はします。
まぁ447さんがAIのdllなりexeなりがあれば読み込めるGUIを作ってくれる日が来ることを
願ってと言うことでw
551447
2008/04/10(木) 23:37:18ID:aOS5RN4b ルールだけなら共有してもあんまり面白く無いけど、
詰み、必勝形、シチョウとかのルーチンとかをみんなで持ち寄って
強いAIを作っていくというなら面白そうな気はします。
詰み、必勝形、シチョウとかのルーチンとかをみんなで持ち寄って
強いAIを作っていくというなら面白そうな気はします。
552名前は開発中のものです。
2008/04/15(火) 06:26:32ID:1kY+3Eh3 447さん
ルールをきちんと間違いなく作るのが大変です 最終的には誰が作ってもルールは同じになるので熟練者が作成してくれると便利です
ルールをきちんと間違いなく作るのが大変です 最終的には誰が作ってもルールは同じになるので熟練者が作成してくれると便利です
553447
2008/04/15(火) 21:02:50ID:dBCsvj9U C++でテンプレート(STLとか)使っていいなら書いてみるけど、正直Cはあんまり好きじゃないのでCは勘弁してください。
554447
2008/04/15(火) 21:56:37ID:dBCsvj9U RubyとかになれちゃうとCでリンクリストとか自分で実装するのしんどいですw。
へたれですいません。
へたれですいません。
555名前は開発中のものです。
2008/04/16(水) 08:00:43ID:f0/FtBAE C++でいいです
おねがいします
おねがいします
556447
2008/04/16(水) 18:19:29ID:acSBJ7Nl 単に動くものを作るなら一応作れるんですけど、
どうせならみんなで改良、拡張しやすく、かつみんなで手を入れても壊れにくい、
かつコンパクトで直行性のある、それでいて実行速度は速い、そんなコードがいいですよね。
(わかったようなことを言ってみる。)
どうすればそんなコードになりますかね?
Yさんや他の人にもご意見いただきたいです。
どうせならみんなで改良、拡張しやすく、かつみんなで手を入れても壊れにくい、
かつコンパクトで直行性のある、それでいて実行速度は速い、そんなコードがいいですよね。
(わかったようなことを言ってみる。)
どうすればそんなコードになりますかね?
Yさんや他の人にもご意見いただきたいです。
557447
2008/04/16(水) 18:27:47ID:acSBJ7Nl たとえば平凡な碁盤クラスがあって、それを使ったAIがあったとしますよね。
そのAIはメモリを馬鹿食いして困っているとします。
で、他の人がビット演算を駆使したメモリ使用量の少ない碁盤クラスを作成して
そのAIの碁盤クラスを差し替えたらメモリ使用量が下がってめでたしめでたし。
のようなストーリーを可能な限り少ない労力で達成できないものかとか、考えています。
そのAIはメモリを馬鹿食いして困っているとします。
で、他の人がビット演算を駆使したメモリ使用量の少ない碁盤クラスを作成して
そのAIの碁盤クラスを差し替えたらメモリ使用量が下がってめでたしめでたし。
のようなストーリーを可能な限り少ない労力で達成できないものかとか、考えています。
558名前は開発中のものです。
2008/04/16(水) 18:57:38ID:MgjETZYp 内部のデータ構造は気にせずに、(x,y)に石が置けるかどうかと、置いたら詰みかどうかを判定すればいいんではないでしょうか?
559名前は開発中のものです。
2008/04/16(水) 18:59:14ID:MgjETZYp より速く判定できるっていう人が、初めのプログラムの入出力と同じ値を返却すれば良いと思います
560447
2008/04/16(水) 19:19:00ID:acSBJ7Nl データ構造とアルゴリズムを分離するというとテンプレートを使ったり抽象クラスを使ったり
するんでしょうが、抽象クラスを使うと仮想関数呼び出しになってスピードダウンするんですよね。
テンプレートはスピードダウンしないけど、複雑怪奇になって手に負えなくなるという印象が。
まあ、これは私のスキルの問題でしょうけど。
この2つ以外で上手い方法ってありますかね。
いまのところテンプレートを駆使して頑張ってみようかと考えています。
するんでしょうが、抽象クラスを使うと仮想関数呼び出しになってスピードダウンするんですよね。
テンプレートはスピードダウンしないけど、複雑怪奇になって手に負えなくなるという印象が。
まあ、これは私のスキルの問題でしょうけど。
この2つ以外で上手い方法ってありますかね。
いまのところテンプレートを駆使して頑張ってみようかと考えています。
561名前は開発中のものです。
2008/04/16(水) 19:27:57ID:MgjETZYp 将棋でもオセロでもルールを取り替えたら同じ思考ルーチンで動くようにするって事ですか?
囲連星だけなら 例えばboardというクラスを作って、hantei(x,y)で石が置けるかと詰みかを整数で返却すればいいのでは?
囲連星だけなら 例えばboardというクラスを作って、hantei(x,y)で石が置けるかと詰みかを整数で返却すればいいのでは?
562名前は開発中のものです。
2008/04/16(水) 19:54:21ID:acSBJ7Nl さすがに将棋やオセロまでやるつもりは無いです。囲連星だけを考えています。
問題なのはboardクラスの実装をひとつに限定するのではなく、2つ3つとあったときに
(たとえば、スピードは速いけどメモリを食う実装とスピードは遅いけどメモリは少ない実装とか。)
いかに他のプログラムに変更を強いることなく差し替えられるようにするかってことです。
たとえばboardクラスの実装が
Board1,Board2,Board3とあったとして、
#define Board Board1
とかやってこのdefineを変更することで差し替えるのもひとつの手ですが、
なんとなくかっこ悪いというかもっと上手い方法がありそうな気がしてるのです。
問題なのはboardクラスの実装をひとつに限定するのではなく、2つ3つとあったときに
(たとえば、スピードは速いけどメモリを食う実装とスピードは遅いけどメモリは少ない実装とか。)
いかに他のプログラムに変更を強いることなく差し替えられるようにするかってことです。
たとえばboardクラスの実装が
Board1,Board2,Board3とあったとして、
#define Board Board1
とかやってこのdefineを変更することで差し替えるのもひとつの手ですが、
なんとなくかっこ悪いというかもっと上手い方法がありそうな気がしてるのです。
563名前は開発中のものです。
2008/04/16(水) 20:02:01ID:acSBJ7Nl あと、データのほうの差し替えだけでなくアルゴリズムの差し替えも
他の部分をなるべく変更することなく出来るといいです。
他の部分をなるべく変更することなく出来るといいです。
564名前は開発中のものです。
2008/04/16(水) 20:14:24ID:MgjETZYp Boardクラスが定義されているヘッダファイルを取り替えるだけでは?
後続の開発者は先人のの入出力と同じにすればクラス内でどんな処理していても関係ないですが
後続の開発者は先人のの入出力と同じにすればクラス内でどんな処理していても関係ないですが
565名前は開発中のものです。
2008/04/16(水) 20:28:43ID:acSBJ7Nl ヘッダファイルを取り替えるというのは実装を差し替えるたびにファイルをリネームするということですか。
なんとなく気持ち悪いですがそれが最善の解決策ならばしかたないですね。
もっといい案知っているという人はいませんでしょうか。
なんとなく気持ち悪いですがそれが最善の解決策ならばしかたないですね。
もっといい案知っているという人はいませんでしょうか。
566東陶基
2008/04/16(水) 20:46:39ID:QBmnJOhL 詳しくは読んでないですが
折角なのでとりあえずAI以外の部分のソースをどこかに公開するようにしますか?
適当にHP作ってファイルのDLやソースの公開をする程度で良いと思いますが。
それがあれば具体的にあそこがどうだ、ここがどうだと話しやすいと思うのですが。
折角なのでとりあえずAI以外の部分のソースをどこかに公開するようにしますか?
適当にHP作ってファイルのDLやソースの公開をする程度で良いと思いますが。
それがあれば具体的にあそこがどうだ、ここがどうだと話しやすいと思うのですが。
567名前は開発中のものです。
2008/04/16(水) 21:07:33ID:acSBJ7Nl すいません。まだコードは一行も書いてませんw。
最終的にはどこかに公開するようにしたいと思いますが。
コードを書く以前の基本設計で迷ってしまったので質問しました。
最終的にはどこかに公開するようにしたいと思いますが。
コードを書く以前の基本設計で迷ってしまったので質問しました。
568東陶基
2008/04/16(水) 21:10:07ID:QBmnJOhL >>567
とりあえずrubyのソースでも良いと思いますよ。
言語でどうこうという問題はそんなにないと思いますし、
逆にrubyの方がわかる人もいると思うので
とりあえず出来てるソースを公開するので良いのでは。
それとは別に概要みたいな説明があるといいですね。
とりあえずrubyのソースでも良いと思いますよ。
言語でどうこうという問題はそんなにないと思いますし、
逆にrubyの方がわかる人もいると思うので
とりあえず出来てるソースを公開するので良いのでは。
それとは別に概要みたいな説明があるといいですね。
569名前は開発中のものです。
2008/04/16(水) 21:22:16ID:acSBJ7Nl いや、そうではなくて。
とりあえず動くものを出すというならそんなに難しくないんですが、
せっかくならもうちょっと先を見据えたものを作りたいなと思いまして。
とりあえず動くものを出すというならそんなに難しくないんですが、
せっかくならもうちょっと先を見据えたものを作りたいなと思いまして。
570名前は開発中のものです。
2008/04/16(水) 21:41:29ID:acSBJ7Nl あんまり悩んでもしょうがないのでぼちぼちコーディング開始します。
ご意見は随時受付中。
ご意見は随時受付中。
571名前は開発中のものです。
2008/04/16(水) 21:46:07ID:acSBJ7Nl あ、いっときますけど結構時間かかるとおもうので気長に待っててください。
572東陶基
2008/04/17(木) 01:07:18ID:dUWIZdxG573名前は開発中のものです。
2008/04/17(木) 15:22:49ID:xGNUWWEc >>565
違うヘッダを使う毎に別のフォルダを作ればいい。
*nix ならそのヘッダをシンボリックリンクにすればファイル名も同じでいい。
極端にスマートというわけでもないが、キモチ悪いというほどでもないと思うよ。
違うヘッダを使う毎に別のフォルダを作ればいい。
*nix ならそのヘッダをシンボリックリンクにすればファイル名も同じでいい。
極端にスマートというわけでもないが、キモチ悪いというほどでもないと思うよ。
574名前は開発中のものです。
2008/04/17(木) 15:46:52ID:1Q17DnmX 高速なやつ出来れば当分変更しないとおもうんですけど
576名前は開発中のものです。
2008/04/18(金) 11:36:23ID:EknzEEy6577447
2008/04/18(金) 20:03:39ID:vj6JGiSx >>572
>>569=>>447です。
IDを見ていただければわかると思います。
話がかみ合って無いですか?
>>573
了解です。
>>574
当分変更しないかもしれませんが、誰かにいいアイディアが沸いて変更したくなったときに、
そのための作業が面倒くさいとその人は諦めてしまうかもしれません。
そうするといいアイディアが人知れず死んでいくことになります。
それはたった一回のことでも大きな損失になるかもしれません。(大げさ?)
とにかく下げれるハードルはなるべく下げておくほうが後々いいことあると思います。
>>575
今のところ連の情報はBoardクラスには含めないつもりです。
一つ一つのクラスはなるべく必要最小限の機能しか持たせなくして、独立して扱えるようにするつもりです。
そのほうが取り回しがよいと思うので。
一応以下のような構想です。
Point 座標を表すクラス。
Board 局面を表すクラス。9x9のマスのどこにどの石がおかれているか、劫の情報、手番の情報を持つ。
PointSet 座標の集合のクラス。
StoneSet 連のクラス。連に含まれる石の座標の集合とその連の隣接点の座標の集合の情報をもつ。
Game ゲームを管理するクラス。囲連星のルールに従って着手したり、勝敗の判定をする。
もし連の情報とBoardの情報を持ったクラスを作りたければ
BoardとStoneSetを使ってそれらをもった新しいクラスを作ることは可能です。
>>569=>>447です。
IDを見ていただければわかると思います。
話がかみ合って無いですか?
>>573
了解です。
>>574
当分変更しないかもしれませんが、誰かにいいアイディアが沸いて変更したくなったときに、
そのための作業が面倒くさいとその人は諦めてしまうかもしれません。
そうするといいアイディアが人知れず死んでいくことになります。
それはたった一回のことでも大きな損失になるかもしれません。(大げさ?)
とにかく下げれるハードルはなるべく下げておくほうが後々いいことあると思います。
>>575
今のところ連の情報はBoardクラスには含めないつもりです。
一つ一つのクラスはなるべく必要最小限の機能しか持たせなくして、独立して扱えるようにするつもりです。
そのほうが取り回しがよいと思うので。
一応以下のような構想です。
Point 座標を表すクラス。
Board 局面を表すクラス。9x9のマスのどこにどの石がおかれているか、劫の情報、手番の情報を持つ。
PointSet 座標の集合のクラス。
StoneSet 連のクラス。連に含まれる石の座標の集合とその連の隣接点の座標の集合の情報をもつ。
Game ゲームを管理するクラス。囲連星のルールに従って着手したり、勝敗の判定をする。
もし連の情報とBoardの情報を持ったクラスを作りたければ
BoardとStoneSetを使ってそれらをもった新しいクラスを作ることは可能です。
578Y
2008/04/19(土) 01:29:28ID:iiK1YGD1 >>576
多分>>543と多分同一のものをあげときました。
http://www-2ch.net:8080/up/download/1208535840197938.M9PcLj
>>577
なるほど、わかりました。
多分>>543と多分同一のものをあげときました。
http://www-2ch.net:8080/up/download/1208535840197938.M9PcLj
>>577
なるほど、わかりました。
579名前は開発中のものです。
2008/04/19(土) 03:00:38ID:tZVNWLtB580東陶基
2008/04/19(土) 09:58:57ID:wuZsEwfZ アップローダーはどうなるかわかりませんが
とりあえず公式HPとは別に囲連星のAIコミュニティサイトみたいなのを作りましょうか。
そこにこのスレでUPしてもらったファイルをそのサイトからDL出来るようにすればいいかなと。
とりあえず公式HPとは別に囲連星のAIコミュニティサイトみたいなのを作りましょうか。
そこにこのスレでUPしてもらったファイルをそのサイトからDL出来るようにすればいいかなと。
582名前は開発中のものです。
2008/04/19(土) 11:07:57ID:tZVNWLtB583447
2008/04/19(土) 11:47:43ID:bybo7FLQ 447です。
GUIを再アップしました。
http://www-2ch.net:8080/up/download/1208573058915527.9QsKxs
このファイルとYさんのAIを同じフォルダに入れて、IrenseiGUI.exeを実行してください。
それにしてもファイルが流れるのはやいですね…
GUIを再アップしました。
http://www-2ch.net:8080/up/download/1208573058915527.9QsKxs
このファイルとYさんのAIを同じフォルダに入れて、IrenseiGUI.exeを実行してください。
それにしてもファイルが流れるのはやいですね…
584名前は開発中のものです。
2008/04/19(土) 12:17:59ID:Nxclwo9L 2chロダは3日ぐらいしかもたないので
こういうファイルのやりとりにはあまり良くないんじゃないですか?
以前使ってたうpろだ.orgか
会長さんが新しく用意してくださるコミュニティサイトの方が
たぶんいいでしょうね
こういうファイルのやりとりにはあまり良くないんじゃないですか?
以前使ってたうpろだ.orgか
会長さんが新しく用意してくださるコミュニティサイトの方が
たぶんいいでしょうね
585東陶基
2008/04/19(土) 12:23:24ID:wuZsEwfZ586名前は開発中のものです。
2008/04/19(土) 12:59:40ID:tZVNWLtB587名前は開発中のものです。
2008/04/19(土) 13:03:48ID:tZVNWLtB あと、9路囲連星のルールについて質問なのですが、
1線で7連を作った場合は勝ちにならないのでしょうか?
それでも本家と違って、1線の石を含む7連はOKなのですよね?
そのへんのルールの細かい部分が良く分かりませんでした・・・
1線で7連を作った場合は勝ちにならないのでしょうか?
それでも本家と違って、1線の石を含む7連はOKなのですよね?
そのへんのルールの細かい部分が良く分かりませんでした・・・
588名前は開発中のものです。
2008/04/19(土) 13:14:59ID:yn7cP96h >>587
含むのはOK。9路は単純に1線のみの7連だけがダメと理解すればOK。
含むのはOK。9路は単純に1線のみの7連だけがダメと理解すればOK。
589名前は開発中のものです。
2008/04/19(土) 15:29:22ID:Y2QR1vlW 447さん、初めから9*9しかやらないつもりなんですか?
590447
2008/04/19(土) 16:22:44ID:bybo7FLQ591名前は開発中のものです。
2008/04/19(土) 17:09:13ID:Y2QR1vlW AIではないんです Cのルールの事です
592名前は開発中のものです。
2008/04/19(土) 19:53:05ID:SnX/iDTQ593447
2008/04/19(土) 22:35:57ID:bybo7FLQ 19路のルールなら本家のソースがあるのでそちらを使うといいと思います。
594名前は開発中のものです。
2008/04/19(土) 22:51:05ID:Y2QR1vlW595名前は開発中のものです。
2008/04/20(日) 01:12:18ID:y0rkqz3b チュートリアルの文書は見つけた?
596名前は開発中のものです。
2008/04/20(日) 12:54:06ID:pQ5Uoy2G ルールのアルゴリズムわかりました ホームページのAuto対戦のソースがわかりやすいです ありがとう
597名前は開発中のものです。
2008/04/21(月) 00:06:41ID:zSd5krN3 会長が歯が立たないAI作れば10万出るんでよね? 2006/11となってますけど…
598東陶基
2008/04/21(月) 00:26:15ID:dzQ1S9+/ >>597
はい、歯が立たない(先手で10回打って1回も勝てないくらい)レベルで10万と思ってます。
会長自身で判断できるのはそこまでの強さなので。
ただCPUの思考時間だけ注意してください。一手に何十秒も考えるようだとフリーソフトに
組み込めないので。要するに強いAIに賞金を出すと言うよりはフリーソフトに組み込める
AIに支払うというスタンスだと思ってください。
はい、歯が立たない(先手で10回打って1回も勝てないくらい)レベルで10万と思ってます。
会長自身で判断できるのはそこまでの強さなので。
ただCPUの思考時間だけ注意してください。一手に何十秒も考えるようだとフリーソフトに
組み込めないので。要するに強いAIに賞金を出すと言うよりはフリーソフトに組み込める
AIに支払うというスタンスだと思ってください。
599名前は開発中のものです。
2008/04/21(月) 00:28:12ID:zSd5krN3 PCで強くて速いやつ作れたら、携帯で月額100円とかで販売できないかな?
600名前は開発中のものです。
2008/04/21(月) 00:33:01ID:zSd5krN3601東陶基
2008/04/21(月) 00:39:41ID:dzQ1S9+/ >>599
販売そのものは出来ると思いますよ。
実際DL形式での販売なら何度かそういう話もありましたが
フリーソフトで公開してるのでほぼ同じものを販売するのは気が引けたので
やめてます。
作られた方(GUIも含めて作った場合)が売りたいと言うことであれば日本囲連星協会としては気にしないので
どうぞ販売してください。ただぼったくりとか法外な価格で詐欺まがいに売るのは辞めてね。
一応商標も取ってますが囲連星の名前はどうぞ自由に使ってください。
販売そのものは出来ると思いますよ。
実際DL形式での販売なら何度かそういう話もありましたが
フリーソフトで公開してるのでほぼ同じものを販売するのは気が引けたので
やめてます。
作られた方(GUIも含めて作った場合)が売りたいと言うことであれば日本囲連星協会としては気にしないので
どうぞ販売してください。ただぼったくりとか法外な価格で詐欺まがいに売るのは辞めてね。
一応商標も取ってますが囲連星の名前はどうぞ自由に使ってください。
602名前は開発中のものです。
2008/04/21(月) 01:13:30ID:zSd5krN3 いえいえそんな気はないです 携帯の販売や開発経験ないしそういう話がくる事もないので…
例えばそういう展開もあるかなと思っただけです
例えばそういう展開もあるかなと思っただけです
603447
2008/04/21(月) 23:39:45ID:CIuKF2oH 一応ルールのコーディングは終わりました。
これからテストです。
今後の事を考えるとやっつけのテストじゃなくて、
使いまわしの利くテストを書いたほうがいいんですよね…
囲連星もちゃんと産業になれば面白いんでしょうけどね。
なにをやるにも会長の持ち出しってワケにも行かないだろうし。
これからテストです。
今後の事を考えるとやっつけのテストじゃなくて、
使いまわしの利くテストを書いたほうがいいんですよね…
囲連星もちゃんと産業になれば面白いんでしょうけどね。
なにをやるにも会長の持ち出しってワケにも行かないだろうし。
604東陶基
2008/04/24(木) 17:03:08ID:ORh7oz3C 4/27(Sun)の19:00にオンライン対局場で
臨時の定例会を開きますので参加できる方はよろしくお願いします。
http://dojo.irensei.com/
ただ臨時でいきなり告知をしたので
何人くらい参加してくれるのかはわからないです。
臨時の定例会を開きますので参加できる方はよろしくお願いします。
http://dojo.irensei.com/
ただ臨時でいきなり告知をしたので
何人くらい参加してくれるのかはわからないです。
605東陶基
2008/04/24(木) 17:07:05ID:ORh7oz3C >>603
一応HPにアドセンス貼ってみたので持ち出しのたしにでもなればと。
興味がある広告がありましたら見てください。
そうですね今後のことを考えたら19路みたくAIだけ作ればGUIは使いまわせるように
なると新しく開発する人は楽でしょうね。
そういう意味ではテストは基本的なバグ取りだけでもとりあえずはいい気がしますけどね。
こっちでも打ってみますので447さんが軽くテストしてもらえば残りはみんなで
使ってテストにするという形式でも良いと思いますよ。
一応HPにアドセンス貼ってみたので持ち出しのたしにでもなればと。
興味がある広告がありましたら見てください。
そうですね今後のことを考えたら19路みたくAIだけ作ればGUIは使いまわせるように
なると新しく開発する人は楽でしょうね。
そういう意味ではテストは基本的なバグ取りだけでもとりあえずはいい気がしますけどね。
こっちでも打ってみますので447さんが軽くテストしてもらえば残りはみんなで
使ってテストにするという形式でも良いと思いますよ。
606名前は開発中のものです。
2008/04/25(金) 05:29:05ID:IMNDdpFi 短手数で決着するなら、黒が有利だけど
盤面がかなり埋まるような段階になれば白が断然有利だね
黒は端の2つを含むものは作れないし、8連も作れないけど
白は端も含められるから
盤面がかなり埋まるような段階になれば白が断然有利だね
黒は端の2つを含むものは作れないし、8連も作れないけど
白は端も含められるから
607名前は開発中のものです。
2008/04/25(金) 09:46:57ID:Qhtjlc8m どういうこと?端ってなんだろ
608名前は開発中のものです。
2008/04/25(金) 10:22:00ID:IMNDdpFi 19*19の盤面の端の2行と2列は、7連にカウントしないルールがある
しかし、黒は端を含めて8連作ると反則負け
しかし、黒は端を含めて8連作ると反則負け
609447
2008/04/25(金) 21:49:02ID:PdEP2I8H 9路のルールのソースを一旦アップします。
http://www-2ch.net:8080/up/download/1209126828686063.wHdBWa
すいません。
あんまりテストしてません。とりあえず動かしてみてください。
バグがあったら報告or可能ならソースを修正お願いします。
Mainというディレクトリにmakefileが入ってますのでmakeしてください。
makefileのことはあんまり知らないので出来がよくないかも
しれませんが誰か書き直してくれるとありがたいです。
拡張性がどうのこうのといいましたが、
特別な仕掛けなどは何も無いです。
あと、doxygenのコメント入れてみました。
htmlというディレクトリにDoxygenのドキュメントが入ってるので見てみてください。
わかりずらいところがあったら報告お願いします。
http://www-2ch.net:8080/up/download/1209126828686063.wHdBWa
すいません。
あんまりテストしてません。とりあえず動かしてみてください。
バグがあったら報告or可能ならソースを修正お願いします。
Mainというディレクトリにmakefileが入ってますのでmakeしてください。
makefileのことはあんまり知らないので出来がよくないかも
しれませんが誰か書き直してくれるとありがたいです。
拡張性がどうのこうのといいましたが、
特別な仕掛けなどは何も無いです。
あと、doxygenのコメント入れてみました。
htmlというディレクトリにDoxygenのドキュメントが入ってるので見てみてください。
わかりずらいところがあったら報告お願いします。
610名前は開発中のものです。
2008/04/28(月) 12:55:27ID:1byUW4+2 19路を開発している者ですが、石がいくつつながっているか調べるのに
縦横斜めの列をビットとして登録して表引きするのと、その都度数えるのではどちらが良いんでしょうか?
前者は局面の更新に手間がかかりますが、石が何処でつながっているか直ぐに調べられます。
縦横斜めの列をビットとして登録して表引きするのと、その都度数えるのではどちらが良いんでしょうか?
前者は局面の更新に手間がかかりますが、石が何処でつながっているか直ぐに調べられます。
611名前は開発中のものです。
2008/04/28(月) 13:10:25ID:1byUW4+2 >>610ですが、縦横斜めをビット列で記録するのは、やめました。
黒の、縦横斜めの石の個数を記録しておき、8個以上になった場合だけ合法手なのか精密検査します。
黒の、縦横斜めの石の個数を記録しておき、8個以上になった場合だけ合法手なのか精密検査します。
612名前は開発中のものです。
2008/05/07(水) 18:03:54ID:dWjoNhTk 将棋はアマトップがコンピュータに負けちゃったね。
613東陶基
2008/06/15(日) 17:42:15ID:jt59rKjf そういえば折角なので九路のやつ完成させませんか?
折角ちゃんと動いているので。
折角ちゃんと動いているので。
614東陶基
2008/06/15(日) 17:52:44ID:jt59rKjf 今動かしてみたらちょっと直した方がいいかなと思ったところはファイル名を直しただけでOKでした。
・irenseiGUI.exeだとなんなのでirensei.exeにならないかな→ファイル名直しても正常に動いた
・ai_Yというのはいかがなものか?→ファイル名をAIに変更したら表示も変わった
上の二つが出来たのでそのままVectorに公開してしまおうと思いますがどうでしょうか?
AIの表示名はもっといいのがあれば教えてください。
AI(Y氏考案)とかでもいいですし
・irenseiGUI.exeだとなんなのでirensei.exeにならないかな→ファイル名直しても正常に動いた
・ai_Yというのはいかがなものか?→ファイル名をAIに変更したら表示も変わった
上の二つが出来たのでそのままVectorに公開してしまおうと思いますがどうでしょうか?
AIの表示名はもっといいのがあれば教えてください。
AI(Y氏考案)とかでもいいですし
615東陶基
2008/06/15(日) 18:04:06ID:jt59rKjf 訂正。
2番目の変更は出来なかったです
表示は変わりますが対局になったら落ちた
2番目の変更は出来なかったです
表示は変わりますが対局になったら落ちた
616名前は開発中のものです。
2008/06/15(日) 19:34:59ID:v4adpNPP 九路じゃ勝負つかんだろと思いましたが
やってみると最初から終盤戦みたいな感じで難しいですね><
やってみると最初から終盤戦みたいな感じで難しいですね><
617447
2008/06/15(日) 20:39:29ID:2kcLN95s >>615
ai_Y.rbのファイル名を変える場合にはai_Y.rbの5行目の
module Ai_Y
のところをファイル名にあわせてください。
ファイル名はaiで始まる必要があり、
moduleのところはAiで始まる必要があります。
モジュール名に日本語は使えないので、(Y氏考案)は現状、無理です。
ai_Y.rbのファイル名を変える場合にはai_Y.rbの5行目の
module Ai_Y
のところをファイル名にあわせてください。
ファイル名はaiで始まる必要があり、
moduleのところはAiで始まる必要があります。
モジュール名に日本語は使えないので、(Y氏考案)は現状、無理です。
618東陶基
2008/06/16(月) 21:06:13ID:/6RHEGTR >>617
ありがとうございました。
とりあえず普通に動いてますので
ちょっとテストしてベクターとかに上げてみましょうかね。
特に誰かやってみたい人(プログラムの管理など)がいなければ
こちらで登録はしますがどうですかね。
ありがとうございました。
とりあえず普通に動いてますので
ちょっとテストしてベクターとかに上げてみましょうかね。
特に誰かやってみたい人(プログラムの管理など)がいなければ
こちらで登録はしますがどうですかね。
620名前は開発中のものです。
2008/06/27(金) 22:31:39ID:D2uucQB5 ベクターで9路囲連星発見age
621東陶基
2008/06/28(土) 00:13:20ID:HxTuCd3K >>620
昨日くらいから公開されてますね。
先週くらいに登録の申し込みをしたんですがベクターはそこそこ公開まで時間かかるんですよね。
このスレの皆さんのおかげで無事公開することが出来ました。
これからも宜しくお願いします。
昨日くらいから公開されてますね。
先週くらいに登録の申し込みをしたんですがベクターはそこそこ公開まで時間かかるんですよね。
このスレの皆さんのおかげで無事公開することが出来ました。
これからも宜しくお願いします。
622Y
2008/07/10(木) 19:39:12ID:z2yflhep 19路の囲連星でネット対戦するためのDLLを作っていて,
家ではうまく動くようになったので,
実際にネットワーク越しに試してみたいので,
誰か協力してくれませんか?
参考までに,ローカルで動かしたときの動画です.
http://f58.aaa.livedoor.jp/~protest/irensei.mp4
家ではうまく動くようになったので,
実際にネットワーク越しに試してみたいので,
誰か協力してくれませんか?
参考までに,ローカルで動かしたときの動画です.
http://f58.aaa.livedoor.jp/~protest/irensei.mp4
623名前は開発中のものです。
2008/07/11(金) 04:05:32ID:6UPHLp/0624東陶基
2008/07/11(金) 04:43:57ID:+vNPdJdk625名前は開発中のものです。
2008/07/11(金) 18:48:47ID:/Z6x+J07626Y
2008/07/11(金) 23:27:31ID:pvwxkCb0 DLLをアップロードしました.
DLパスはirenseiです.
http://www-2ch.net:8080/up/download/1215785494532021.anWBg5
ここに少しですが説明を書きました.
http://f58.aaa.livedoor.jp/~protest/tut.htm
今日起きている間は囲連星を立ち上げて待ってますんで,
もし試してくれるなら,
囲連星の新規対局ボタンを押して
・黒番にenemy(client)
・白番にplayer(client)
をそれぞれ選択して,出てきたプロンプトに,
・アドレス:219.116.88.30
・ポート:12346
を入力してください.
DLパスはirenseiです.
http://www-2ch.net:8080/up/download/1215785494532021.anWBg5
ここに少しですが説明を書きました.
http://f58.aaa.livedoor.jp/~protest/tut.htm
今日起きている間は囲連星を立ち上げて待ってますんで,
もし試してくれるなら,
囲連星の新規対局ボタンを押して
・黒番にenemy(client)
・白番にplayer(client)
をそれぞれ選択して,出てきたプロンプトに,
・アドレス:219.116.88.30
・ポート:12346
を入力してください.
627Y
2008/07/11(金) 23:46:07ID:pvwxkCb0 負けた〜
どなたか存じませんが,ありがとうございました.
本日は終了します.
どなたか存じませんが,ありがとうございました.
本日は終了します.
628Y
2008/07/12(土) 02:29:09ID:J9dnDjTK クライアント側が接続に失敗した場合に,
”接続に失敗しました”というエラーメッセージを
表示するようにしました.
http://www.dotup.org/uploda/www.dotup.org2456.zip.html
”接続に失敗しました”というエラーメッセージを
表示するようにしました.
http://www.dotup.org/uploda/www.dotup.org2456.zip.html
629東陶基
2008/07/12(土) 03:28:46ID:zK9BElCJ 遅かった・・・
対局できなかったから的違いかもしれないけど疑問点を
1、IPを告知するのは必須?
2、黒番、白番を自分と相手を指定するのは必須?
3、名前とかチャットとか可能?
対局できなかったから的違いかもしれないけど疑問点を
1、IPを告知するのは必須?
2、黒番、白番を自分と相手を指定するのは必須?
3、名前とかチャットとか可能?
630東陶基
2008/07/12(土) 03:31:31ID:zK9BElCJ 1は要するにIPを告知しなくても対局できるようになれば便利かなと
ただ昔からこういう通信の対戦のゲームありますがハンゲームとかみたいなサイト型でなく
この類の対戦だと実際は告知する必要ありそうなんですよね・・・
2は黒が敵とか白が敵とか指定しないといけない場合は自分がサーバーになるか
クライアントになるか以外にも分岐というか選択肢が出て来てわかりづらいかなと
多分この類の問題は一台サーバーとして常時立ち上げていてそこに必ず接続しに行って
そこから登録しているメンバーを表示して選択するとその相手のマシンのIPとやり取りする
という形になれば一番自然なんでしょうけど常時接続のサーバーとそこでのプログラムが
必要ってことになりますからやっぱり大変かな。
そのあたりはYさんも既に分かっていての一番シンプルなこの方法でやってるんだと思いますが。
ただ昔からこういう通信の対戦のゲームありますがハンゲームとかみたいなサイト型でなく
この類の対戦だと実際は告知する必要ありそうなんですよね・・・
2は黒が敵とか白が敵とか指定しないといけない場合は自分がサーバーになるか
クライアントになるか以外にも分岐というか選択肢が出て来てわかりづらいかなと
多分この類の問題は一台サーバーとして常時立ち上げていてそこに必ず接続しに行って
そこから登録しているメンバーを表示して選択するとその相手のマシンのIPとやり取りする
という形になれば一番自然なんでしょうけど常時接続のサーバーとそこでのプログラムが
必要ってことになりますからやっぱり大変かな。
そのあたりはYさんも既に分かっていての一番シンプルなこの方法でやってるんだと思いますが。
631東陶基
2008/07/12(土) 03:35:42ID:zK9BElCJ まぁ折角なので通信対戦したくなったらとりあえず気軽にすぐ出来るようになると
楽しそうですよね。今のままでも掲示板とかにIPとポートを書き込むとかでOKなのかも
知れないですが。
いつもすばらしいプログラムありがとうございます。>Yさん
楽しそうですよね。今のままでも掲示板とかにIPとポートを書き込むとかでOKなのかも
知れないですが。
いつもすばらしいプログラムありがとうございます。>Yさん
632名前は開発中のものです。
2008/07/12(土) 03:46:41ID:aNr6MbEw 囲連星のホームページで使っているサーバーでは駄目ですか?
633名前は開発中のものです。
2008/07/12(土) 03:52:23ID:aNr6MbEw634名前は開発中のものです。
2008/07/12(土) 03:53:48ID:6MEjsGS3 LAN内以外で対戦する場合は、サーバー側だけがポート開放すればいいんですか?
クライアント側は開けなくてもいいのでしょうか?
クライアント側は開けなくてもいいのでしょうか?
635名前は開発中のものです。
2008/07/12(土) 03:55:24ID:6MEjsGS3 利便性との兼ね合いもあるのでわかりませんが、
今みたいにP2Pで対戦できるのは好きですね
運営サーバーが無くなってもプログラムは生き続けますから
今みたいにP2Pで対戦できるのは好きですね
運営サーバーが無くなってもプログラムは生き続けますから
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★3 [ニョキニョキ★]
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★4 [ニョキニョキ★]
- 日本と中国を結ぶ12航空路線で全便欠航 中国人に最も人気の海外旅行先は日本から韓国に ★2 [ぐれ★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★3 [ぐれ★]
- 防衛費増額「賛成」62・8% 「反対」32・2%を大きく上回る 賛成「18~29歳で8割」世代差あらわ 産経FNN合同世論調査 ★3 [尺アジ★]
- 【テレビ】鈴木福&あのちゃんW主演 テレ東で押見修造氏の漫画『惡の華』実写ドラマ化決定! 累計325万部を突破した伝説的漫画 [冬月記者★]
- 【実況】博衣こよりのえちえち朝こよ🧪★2
- 【実況】博衣こよりのえちえち朝こよ🧪
- 【悲報】小野田紀美さん、宇宙人みたいな服を着てしまう…また、そのことを突っ込まれブチ切れ中www [856698234]
- 【悲報】セブンイレブンの納豆巻きの値段、限界突破wwwwwwwwwwwwwwwwww [977261419]
- 🏡
- お前らっていつもここにいるよな
