おまいら最強の将棋プログラムしてみろよ part4
【 禁断の壷 2.5.3.5 】 ◆このスレッドのチャット部屋に入る◆
■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
おまいら最強の将棋プログラムしてみろよ part4
- 1 :デフォルトの名無しさん :04/06/08 16:16
- できたらほめてやる。
前スレ
おまいら最強の将棋プログラムしてみろよ part3
http://pc5.2ch.net/test/read.cgi/tech/1064984089/l50
おまいら最強の将棋プログラムしてみろよ part2
http://pc2.2ch.net/test/read.cgi/tech/1043246252/
おまえら最強の将棋プログラムしてみろよ!!
http://pc2.2ch.net/tech/kako/1004/10043/1004395614.html
関連スレは>>2-6ぐらい
- 2 :デフォルトの名無しさん :04/06/08 16:17
-
MTD(F)
http://www.cs.vu.nl/~aske/mtdf.html
ゲーム木の探索問題
http://tt.sakura.ne.jp/~suzu/search_problem/index.html
反復深化
http://tt.sakura.ne.jp/~suzu/search_problem/i_deepening.html
最良優先探索
http://kyu.pobox.ne.jp/softcomputing/ai/ai3.html
遷移確率、激指
http://www.logos.t.u-tokyo.ac.jp/~gekisashi/algorithm/abstract.html
GNU shogi
http://www.cs.caltech.edu/~mvanier/hacking/gnushogi/gnushogi.html
福将棋
http://touch-mi.hp.infoseek.co.jp/csa2001/prog.htm
- 3 :デフォルトの名無しさん :04/06/08 16:19
- TCP/IP通信プロトコル(コンピュータ将棋協会)
http://www.computer-shogi.org/protocol/
アップローダ (Part3 929氏提供)
http://gm.a-ark.net/~shogi/clip/clip.cgi
CSAサーバ (Part3 773氏作、Part3 783氏提供)
アドレス wdoor.c.u-tokyo.ac.jp 4081
棋譜など http://wdoor.c.u-tokyo.ac.jp/shogi/LATEST/
- 4 :デフォルトの名無しさん :04/06/08 16:22
- お仲間スレ
コンピューター将棋スレッド14
http://game6.2ch.net/test/read.cgi/bgame/1083665979/l50
コンピューター将棋スレッド番外編3・進歩に懐疑的な人たち
http://game6.2ch.net/test/read.cgi/bgame/1085592538/l50
おまいら最強の麻雀プログラムしてみろよ!!
http://pc2.2ch.net/test/read.cgi/tech/1048299493/l50
俺主催囲碁プログラミングコンテスト
http://pc2.2ch.net/test/read.cgi/tech/1024024666/l50
prologでオセロ
http://pc2.2ch.net/test/read.cgi/tech/1028644157/l50
- 5 :デフォルトの名無しさん :04/06/08 16:40
- >>1
好手
- 6 :デフォルトの名無しさん :04/06/08 21:18
- >>前スレ773さん
shogi-server ですが、各プレイヤーの消費時間が局をまたいで積算されてい
くようです。一旦時間切れ負けすると次局の初手で切れ負けになる(´・ω・`)
Game.initialize()あたり?で初期化が必要かと。
- 7 :奈々美 :04/06/08 23:29
- http://gm.a-ark.net/~shogi/clip/img/17.zip
>>6
すみません、直しました。
>>前スレ987
[ERROR]を付けるようにしました。
LOGIN:incorrectは、週末に直します。
## 普通、connectしたら、サーバが自分の名前や持っている機能を通知した後、
## クライアントがログイン開始だと思うのだが > プロトコルの中の人
- 8 :デフォルトの名無しさん :04/06/09 00:07
- >>奈々美さん
%TORYOを送ると%TORYOが返ってくるみたいです。
- 9 :デフォルトの名無しさん :04/06/09 00:24
- いよいよコンピュータの思考部分を作り始めようと思ったのだが、
俺自身は将棋が非常に弱いという問題が・・・
そういうのって将棋AIを作るのには関係無い?
やっぱある程度、将棋がうまくないと作れないかな?
- 10 :デフォルトの名無しさん :04/06/09 00:52
- ルール知ってれば問題ないけど1手詰くらいはとけた方がデバッグが楽
- 11 :奈々美 :04/06/09 00:53
- そこ、ちょっと迷ったのです。
>>8
クライアントが%TORYOを送ると、
サーバは片方には
#RESIGN
#WIN
を、
もう片方には
#RESIGN
#LOSE
を送るのが正解でしょうか?
- 12 :林 :04/06/09 01:03
- 前スレ884です。
投了したほうに
%TORYO
#RESIGN
#LOSE
もう片方に
%TORYO
#RESIGN
#WIN
を送るんじゃないかな?
- 13 :デフォルトの名無しさん :04/06/09 01:09
- Javaでネットワーク対戦可能なフレームワークを作りかけたんだけど
不要っぽいね。
- 14 :私はバカだ ◆R/rLuLKeEI :04/06/09 01:30
- 気分が落ち着くまで「まともに動いてない」を「私はバカだ」にしておく。
サーバープロトコル仕様を読んでいて不思議なのは、勝敗が決まると切断されるのにログイン状態は保持されるかのようにも読み取れることだ。
クライアントは次の対局またはログアウトのために再接続するのが正しいのか?
それとも私の読み落としか?
奈々美さんの実装は如何に?
- 15 :林 :04/06/09 02:01
- >>14
>3.4. 指し手と意思表示
>(略)
>以後、このように勝敗情報を伴うパケットがサーバから送られると、同時にコネクションは切断される。
>3.5. ログイン中のタイムライン
>クライアントがログイン中の、対局開始から終了までのタイムラインは以下の通りとなる。
>対局終了後は、ログイン状態が続く限りにおいて、繰り返し対局が可能である。
確かに変やね
- 16 :デフォルトの名無しさん :04/06/09 08:19
- >>11が正解だと思い込んでて、なんで>>12の解釈になるのかと規約見てみたら
そうともとれる書き方なのね。 % は C->S で # は S->C かと思いきや
%CHUDAN (S->C) もあるし。
>>14の件も合わせてよく判らんね。誰かCSAに(゚Д゚)ゴルァメールしない?
んで、規約見てて気付いた点。
>>奈々美タン
規約> また、規定時間内に指し手が送信されなかった場合、サーバは着手を待つことなく、
規約>
規約> #TIME_UP
規約> #WIN(LOSE)
規約> という情報を双方に送信する。
だそうで(今は着手しないと送信されない)。いつでもいいので直してくれると幸い。
- 17 :まともに動いてない ◆R/rLuLKeEI :04/06/09 09:01
- test56.exeに挙動を合わすのがよさげ。
あ、始業だ。
未確認なのでだれかやってみてください。
- 18 :デフォルトの名無しさん :04/06/09 18:12
- コンピュータ将棋のサイトをいろいろ回って考えてみたけど、
コンピュータって人間の右脳に当たる思考が出来ないから弱いんだね。
羽生「最初に良さそうな手が頭に浮かぶ。
それが成立するかどうかを読む。
次に他に手がないかを読んで、
いくつかの手を比較する」
これってまず右脳を使って、盤面から良さそうな手が思いつき
次に左脳を使ってそれの評価をする。を繰り返して一番良い手を選ぶって感じかな?
- 19 :デフォルトの名無しさん :04/06/09 20:43
- >>18
右脳左脳以前に、一般的にはコンピュータが
現局面以外の情報を持っていない = 比較対象となるものが無い、
というのが原因じゃないかな。
ある局面を与えてコンピュータなりの最善手を求めることを何回も繰り返した場合、
(起動して、最善手をもとめた後、再起動して…を繰り返すという意味)
毎回、同じ探索・評価・時間・結果になると思うよ。
局面をどこかに保存しておかないと解決しない問題のような気もするけど。
- 20 :デフォルトの名無しさん :04/06/09 21:14
- >>18
現状はそのよさそうな手を人間が考えて定石として持っておくってとこでしょうか
- 21 :まともに動いてない ◆R/rLuLKeEI :04/06/09 21:27
- test56.exe+csalan*2の結果:
後手%TORYOを送信で両者とも全く同じ
%TORYO
#RESIGN
#WIN(LOSE)
という三行がサーバーから返された。
三行目が仕様に合わないような気がする。
CSALANはVer 3.00でした。
- 22 :デフォルトの名無しさん :04/06/09 21:32
- >>21
ワロタ 参考にもならんなw
- 23 :まともに動いてない ◆R/rLuLKeEI :04/06/09 22:08
- ところがJava版サンプルJavaSample.lzhのCsaReaderWriter.javaをみるとちゃんと#WIN、#LOSE、#DRAW、他と場合分けしている。
何なんだ一体。
- 24 :奈々美 :04/06/09 23:41
- >>16
>>だそうで(今は着手しないと送信されない)。いつでもいいので直してくれると幸い。
週末にやります。
>>14
現在の実装としては
CSAモードで繋がっている端末は、勝敗決定で切断
拡張モードで繋がっている端末は、勝敗決定でログイン状態保持
のつもりです。
>>15
勝敗情報を伴わない対局終了には、%CHUDANがあります。
これを考えての記述ではないと思いますけれども。
- 25 :デフォルトの名無しさん :04/06/10 21:26
- いつになったら皆で対戦できるのだろう・・・
- 26 :デフォルトの名無しさん :04/06/10 22:15
- >>25
現状で who も chat も対戦もできるよ。
- 27 :デフォルトの名無しさん :04/06/11 00:08
- >>26
もう皆対戦してるの?
ここに勝敗とか書き込まれてないけど。
- 28 :デフォルトの名無しさん :04/06/11 00:32
- 対戦してるかどうかは>>3の「棋譜」のとこ見れば判るけど、まだやってはい
ないね。ランダムプレイヤー突っ込む手もあるけどまだテストの邪魔だろうし
なあ。
- 29 :まともに動いてない ◆R/rLuLKeEI :04/06/11 00:39
- >>27
>3 の棋譜などを見てください。
今日も対戦がありましたね。
みんなチャットに流れてんのか人が少ないような。
- 30 : ◆R/rLuLKeEI :04/06/11 00:42
- 嘘を書いてしまった。
粗忽ですまぬ。
- 31 :デフォルトの名無しさん :04/06/11 00:54
- >>29
チャットに流れるもなにもチャットできるクライアントがまだ揃ってないやん。
早く作ってくれ>>R/r
- 32 :まともに動いてない ◆R/rLuLKeEI :04/06/11 01:24
- まともに動くチャット用プログラムをプログラマさん達が各自でちょちょいと書いて行ってしまわれたとばかり思ってました。
腸炎が完治したら作ってみたいが、またまともに動かなさそう。
何しろまともに動かなくて放り出した色んな残骸が1ダースくらいあるんで…言い訳です。
すんません、多分作ります。
- 33 :デフォルトの名無しさん :04/06/12 16:30
- おまいらのAIは強さどのくらい?
AIが完成してる奴は試してみた事ぐらいあるだろ?
24とかで試した自分のAIの強さを教えてくれ!
- 34 :まともに動いてない ◆R/rLuLKeEI :04/06/12 21:06
- >>31
まだjarにまとめてないけど何となく動いている気がするチャットプログラムならあるが…
今朝から断続的にサーバーに接続テストしてました。
夕食後、風呂までに間に合うだろうか。
明日は仕事なんで夜更かしはしたくないな。
目が疲れたよ。
- 35 :まともに動いてない ◆R/rLuLKeEI :04/06/12 23:16
- Part3 929氏提供のアップローダに「拡張モードでチャットしかできないクライアント」をアップしてしまいました。
まともに動きますように…
- 36 :デフォルトの名無しさん :04/06/12 23:34
- 将棋プログラマーの皆様、対PCで指せるミニ将棋ソフトを作ってください。
駒が成れる陣の深さは2段、それ以外は本将棋と同じルールです。
盤36/81 駒24/40なので、ゲームの複雑さを本将棋の1/2とすると、2手読む手間は1/4、3手読む手間は1/8でしょうか?
めちゃくちゃ強いソフトが作れそうな気もしますが……
ミニ将棋 第2局
http://game6.2ch.net/test/read.cgi/bgame/1056038952/
後手持ち駒:
6 5 4 3 2 1
┌──┬──┬──┬──┬──┬──┐
│▽飛│▽桂│▽銀│▽王│▽金│▽角│ 一 最終手
├──┼──┼──┼──┼──┼──┤ ☆★
│▽歩│▽歩│▽歩│▽歩│▽歩│▽歩│ 二
├──┼──┼──┼──┼──┼──┤
│__│__│__│__│__│__│ 三
├──┼──┼──┼──┼──┼──┤
│__│__│__│__│__│__| 四
├──┼──┼──┼──┼──┼──┤
│▲歩│▲歩│▲歩│▲歩│▲歩│▲歩│ 五
├──┼──┼──┼──┼──┼──┤
│▲角│▲金│▲玉│▲銀│▲桂│▲飛│ 六
└──┴──┴──┴──┴──┴──┘
先手持ち駒:
- 37 :デフォルトの名無しさん :04/06/13 01:54
- >>35
こいつを動かすためにはあと何をそろえるといいのでせう?
- 38 :デフォルトの名無しさん :04/06/13 02:05
- >>36
とっても興味あるけど55将棋みたいにあtからゴルァされるといやだしぃ
- 39 :まともに動いてない ◆R/rLuLKeEI :04/06/13 02:17
- >>37
ああ、やはりまともに動いてないんだ。
サンのJavaサイトから実行環境JRE 1.4.2_03以上をダウンロード、インストールしてほしい。
それでもなおまともに動いてないなら、どこかに結果を丸々コピペしてほしい。
お役に立てるかもしれない。
- 40 :デフォルトの名無しさん :04/06/13 02:21
- >>39
いやうちはwindowsXPなんだけど関連付けされてないのでまるっきり動かせなかったの(w
とりあえずサンへいってきまふ
- 41 :まともに動いてない ◆R/rLuLKeEI :04/06/13 02:33
- >>40
参考までに。
JREをインストールしたことがあるのはWindows98とRedHat系Linux。
今回作成したのはLinux上です。
インストール手順はサイトにあるので最後の最後までそれに従うようにお願いします。
- 42 :デフォルトの名無しさん :04/06/13 02:34
- 行ってきた、どこにあるのかめちゃ分かりにくかったので貼っとく
ttp://java.sun.com/j2se/1.4.2/ja/download.html
- 43 :デフォルトの名無しさん :04/06/13 02:46
- インストール終了まではクリック三発ほどでした
あっさりうごきました
- 44 :まともに動いてない ◆R/rLuLKeEI :04/06/13 02:49
- ありがとう。
Java初心者スレ47(現行)もどうぞ。
URLは…すんません。出直してきます。
- 45 :まともに動いてない ◆R/rLuLKeEI :04/06/13 02:59
- >>43
ええっ!そんなにあっさり…
動かねえ書き込めねえぞゴラァ七連発に打ち拉がれる準備してたんだが。
- 46 :デフォルトの名無しさん :04/06/13 03:17
- んでは・・・・・、将棋盤が出ないんですけど・・・・とか
プレッシャーかけたる(w
- 47 :まともに動いてない ◆R/rLuLKeEI :04/06/13 03:29
- >>46
ううっ、神経性胃炎が痛みだした。
完治してまだ需要があったら検討だけしまっさ。
- 48 :まともに動いてない ◆R/rLuLKeEI :04/06/13 03:37
- おお、そうだ。
奈々美さんへ、
拡張モードで対戦中に現在の局面を確認するコマンドってありましたっけ?
実装が猛烈に困難なら無くてもいいです。
- 49 :まともに動いてない ◆R/rLuLKeEI :04/06/13 04:43
- 「拡張モードでチャットしか出来ないクライアント」に将棋盤を出したいが、前スレDAT落ちにより拡張コマンドの仕様を見れず。
再掲載を希望する。
- 50 :デフォルトの名無しさん :04/06/13 04:53
- これかな?
前スレより転載
CSAモード
client: LOGIN name passwordで接続。game_waitingステータスに移行
server: 相手が見つかると対局条件表示。agree_waitingステータスに移行
client: AGREEで条件受け入れ。gameステータスに移行
client: 対局
server: 対局終了で切断
(gamenameは"default"に固定。先手、後手の選択は出来ない)
拡張モード
client: LOGIN name password x1で接続
server: ##[LOGIN] +OK x1 を送る。clientは"connected"ステータス
client: %%GAME gamename + or %%GAME gamename -で、"game_waiting"ステータスに移行
server: "gamename +"と"gamename -"が揃うと、対局条件表示
client: AGREEで条件受け入れ。gameステータスに移行
client: 対局
server: 対局終了でconnectedステータスに移行
client: %%LOGOUTで終了
仕様可能な拡張コマンド
%%WHO
%%CHAT string
%%GAME gamename +
%%GAME gamename -
%%LOGOUT
- 51 :まともに動いてない ◆R/rLuLKeEI :04/06/13 05:12
- >>50
そうそう、それそれ。
ありがとう。
%%LOGOUTは廃止だったよね。
チャットプログラムを練って作って上げて検討して二日連続で徹夜したらほんとに体調悪くなってもた。
将棋盤も出せる「拡張モードでチャットしか出来ないクライアント」はちょほいと待ちなぁ。
- 52 :デフォルトの名無しさん :04/06/13 08:45
- >>48
拡張モードは将棋に関わる拡張は(現在のところ)してないし、そもそもそのコ
マンドの必要性もよくわからんな。
それとム板的にはソースも上げてくれるとよいと思うんだけど。
- 53 :まともに動いてない ◆R/rLuLKeEI :04/06/13 10:35
- >>52
ソースも上げてしまいました。
まともに動いてないかもしれないプログラムの中身を見たい方はどうぞ。
拡張モードで対戦中に現在の局面を確認するコマンドは、チャットクライアントのテキストエリアに一手毎に表示させることでクライアント内部での局面の更新をサボろうという魂胆です。
あえなく却下。
- 54 :デフォルトの名無しさん :04/06/13 11:15
- 途中観戦者を受け入れるなら多分必要になるよね、現在の盤面表示
- 55 :デフォルトの名無しさん :04/06/13 12:04
- >>54
なる、観戦があるか。いずれにしろフル仕様のサーバなら盤面情報も持たなきゃ
いけないから、その機能の実装も猛烈に困難ってことは無さそうだね。
- 56 :デフォルトの名無しさん :04/06/13 12:10
- >>55
うん、審判機能の実装のほうがよっぽど面倒くさいと思うなり(w
- 57 :デフォルトの名無しさん :04/06/13 13:30
- 遅くなりましたがwdoorを >>7 のバージョンに更新しました
- 58 :デフォルトの名無しさん :04/06/13 14:24
- 33だが
誰も質問に答えてくれない・・・
完成したらそれがどれぐらいの強さなのか試したりしないのか?
それとも完成してる奴がいないのか?
どっち?
- 59 :デフォルトの名無しさん :04/06/13 14:40
- 奈々美さん
wdoor で Revision 1.5 のログを眺めていたら
./shogi-server:590:in `main': undefined method `name' for nil:NilClass (NoMethodError)
from ./shogi-server:561:in `start'
というエラーが出ていました.
- 60 :デフォルトの名無しさん :04/06/13 14:43
- >> 58
まだ級位者の自分より弱いので24では試したことがない
もうちょっとしてからの予定
老婆心ながらAIとはあまりいわないと思う
- 61 :まともに動いてない ◆R/rLuLKeEI :04/06/13 17:07
- >>57
お疲れさま。
皆様、おはようございます。
反動で寝ておりました。
とりあえず現物サーバー合わせで将棋盤も出せる拡張モードでチャットしか出来ないクライアントを気ままにこしらえていきます。
本来のまともに動いてない将棋プログラムと共用出来るように練り直すつもりです。
現状、将棋盤すら出ない拡張モードでチャットしか出来ないクライアントのダイアログはクラスファイルを共用しています。
アップしたものは断りなく使って構いませんが、Javaで作る人なんて私以外に誰もいないでしょう。
遅いし、JVMはリソース食うし、 略
- 62 :デフォルトの名無しさん :04/06/13 17:54
- >>13がうまいこと作ってくれると楽できそうだけどね。もういないかな…。
- 63 :デフォルトの名無しさん :04/06/13 19:57
- 手動クライアント@Emacsをアップしておきます。変更点は
* %%LOGOUT 廃止,##[ERROR] 追加に対応
* チャット機能のキー割当てを `c' に変更
* 感想戦用にトレース表示機能を追加
* kifuview.el を追加
といったところです。
http://tokyo.cool.ne.jp/progn/shogi-0.4.tgz
- 64 :デフォルトの名無しさん :04/06/14 00:11
- 接続するための情報などをまとめてみました.
http://wdoor.c.u-tokyo.ac.jp/shogi/index.html
補完などよろしくお願いします.
- 65 :奈々美 :04/06/14 00:32
- >>16
タイムアウトするようにしました。
http://gm.a-ark.net/~shogi/clip/img/21.zip
>>54, >>55
%%LIST
で、現在の対局の一覧
%%SHOW 対局名
で、盤面表示
という感じでしょうか。
適当な仕様、コマンド名きぼんぬ。
>>59
どこがバグっているのか分かりません。
デバッグ出来てません。
- 66 :まともに動いてない ◆R/rLuLKeEI :04/06/14 01:36
- ちょっと変えた「拡張モードで〜略〜クライアント」をアップしました。
>>64
まとめページ「unofficial shogi server for computer programs」作成ありがとうございます。
管理者のページは後でゆっくり見て廻ります。
>>65
盤面表示はプロトコルの「3.2.3 対局の局面情報」の形式で。
- 67 :デフォルトの名無しさん :04/06/14 10:24
- 55将棋のオフィシャルサイトってないの?
- 68 :デフォルトの名無しさん :04/06/14 12:21
- ここじゃない?
http://www.geocities.co.jp/Playtown-Spade/8662/
よく知らんけど>>38からするとなんか胡散臭いの? これ。
- 69 :デフォルトの名無しさん :04/06/14 21:11
- >>64乙。
でもindex.htmlおいたせいで、ディレクトリ一覧が見れないよ・・・
ログファイル一覧とか見たいけどダメ?
- 70 :デフォルトの名無しさん :04/06/14 21:19
- >>69
index.html からリンク貼ってあるぞ。
- 71 :デフォルトの名無しさん :04/06/15 19:03
- >>68
その昔ソフトハウスともめてたことがあったのよ
その後どういう結論になったのか調べようと思ったんだけど
ネット上では探せなかったのでそれ以上調べてない
- 72 :デフォルトの名無しさん :04/06/15 21:24
- >>71
なるほど、サンクス。
- 73 :デフォルトの名無しさん :04/06/16 21:54
- プログラマーはいないの?
サーバープログラムなんて結構簡単に作れそうに思うんだけどなぁ。
俺は初心者だから作れないけどw
- 74 : ◆R/rLuLKeEI :04/06/16 22:03
- 奈々美プログラマーがサーバープログラムを結構簡単に作ったように思うんだけどなぁ。
現に稼働してるし。
あっしはバカだから時間かかるけど、作れなくはない。
- 75 :デフォルトの名無しさん :04/06/16 23:54
- 鯖側つくっても動かす鯖を持っていないし、
ネットワーク関連は苦手なので、
上手い人にお任せする。これ最強。
でも自分の知らない言語で書かれると読めなくて(´・ω・`)ショボーン
- 76 :デフォルトの名無しさん :04/06/17 00:59
- wdoor を>>65 のバージョンに更新しました
>> 66
ども.「管理者」は連絡先として載せてるだけなので特に読みものはないです
>> 69
「一覧」をどうぞ
>> 70
どうも
- 77 :デフォルトの名無しさん :04/06/19 21:07
- ムマー
- 78 :まともに動いてない ◆R/rLuLKeEI :04/06/22 00:58
- この土日は台風6号の影響でデバッグどころではなかった。
で、昨日の23時台に拡張モードで接続してみたところtest1さんまたはtest3さんが居た。
どうやらCSAモードだったらしく反応がなかった。
奈々美さんへ、%%WHOコマンドでどちらのモードでログインしたか分かるとちょっといい。
test1さんまたはtest3さんへ、私のまともに動いてないプログラムがログイン直後にダウンしてしまいました。
対戦待ちのところご迷惑をおかけしました。
済みません。
- 79 :デフォルトの名無しさん :04/06/22 02:50
- 詰め将棋のルールの話なんだが、ふと思い浮かんで寝れなくなったので
少し聞いてくれ。
「最後の審判」て詰め将棋がある。
http://www2u.biglobe.ne.jp/~nuida/h/t/syokei.htm
ただし詰むかどうかは不明とされる。
なぜ「不明」なのかというと、将棋のルールの不備を突いて
詰ます詰め将棋だから。
さて、なにが不備なのかだが、これは指し将棋と詰め将棋の
反則処理に違いがあることが原因。
将棋に限らずこの手のゲームの反則には、本来2種類有り得る。
ひとつは「飛車を3枚持っちゃいけません」等のゲームの根幹に関わる反則、
もうひとつは、「二歩」なんかの運用上有り得る反則のふたつだ。
ム板的に言えば、前者は「チェック済み反則」、後者は「実行時反則」。
指し将棋のルールは殆どの場合「実行時」なのは説明不要だろう。
ところが詰め将棋のルールは「チェック済み」だ。
なぜなら詰め将棋のルールに反する手は確実に誤答であるから。
(例えば王手以外の手を指して反則負け、のようなことは詰め将棋にはない。
また解き直せばいいのだから)
「最後の審判」はこの二つの反則を混ぜているので可笑しなことになっている。
「チェック済み反則」と「実行時反則」の区別がきちんと付いている人間には、
この作品が詰むか詰まないかなど迷う余地がない。
つーわけで、漏れの結論では、上記の詰め将棋は「詰まない」。
だからなんなんだ、といわれても困るのだが、このスレ以外で
書ける場所が思い浮かばなかったもんで・・・。例外の勉強してたんだよぉ。
・・・さて、何事もなかったようにこのスレは進んでいくのであった↓
- 80 :デフォルトの名無しさん :04/06/22 04:02
- >>79
手順は追ってないけど、
打ち歩による王手を回避する手がある以上は「打歩詰ではない」し、
それによって攻方に反則手しか選択の余地がないとすれば、
「詰将棋として成立しない(=詰まない)」のでは?
結構面白かったよ。
- 81 :デフォルトの名無しさん :04/06/22 08:09
- これも関係ないけどついでに。ちょっとおもしろかったのでコーディングに煮
詰まったときにでもドゾー。
「現代将棋」成立に関する一考察
ttp://kazemidori.oheya.to/doc/gendai2.html
- 82 :デフォルトの名無しさん :04/06/22 08:37
- >>80
同意。
連続王手も4回連続でなくて、
王手 + 王手以外 + 3回連続王手
とかだと千日手になるんだよね。
(当たり前といえばそうなんだろうけど)
- 83 :デフォルトの名無しさん :04/06/22 08:45
- はじめてこのスレみたが
プロトコルうんぬんは別問題だろ
そんなに難しくないし
将棋AIプログラムが難しいんであって
通信は最後でもOKだろ
- 84 :デフォルトの名無しさん :04/06/22 15:10
- ようやくうちのぷろぐらむが駒の動かし方を覚えてくれました。
将棋板番外編に話が出てた効き表示機能ってのがおもしろそう
なのでやってみます。
- 85 :デフォルトの名無しさん :04/06/22 20:59
- >>83
だが、このスレももう4本目だし、
大会に参加できない人と対戦できるのも面白くないか?
自分のプログラムの弱点を知ることもできるしな。
どうせ革新的アルゴリズムができることはないから、
マターリ語る中に通信開発があるのも楽しいよ
- 86 :デフォルトの名無しさん :04/06/23 00:17
- >>83
プロトコルは難しくないかも知れないが、正しくプロトコルを実装した
サーバーを立てるのはマンドクサイ。
対戦将棋プログラムに「正しい」プロトコルを実装するのもマンドクサイ。
(漏れは通信プロトコルを実装した事なぞ無いんで多分だがw)
ところがこれらが無いと誰のプログラムがより強いのか分からんじゃないかw?
多分、一番初めにやるべきだった事を今やっていると言うのが正しい評価だろう。
でも、なかなか大変だよね。ボランティア精神のある人が大勢居ないと。
ところで将棋クラブ24にはこういう公開されたプロトコルは無いのかな?
これさえ守ってれば人間が使うクライアントと同じように対戦に参加できるというものは?
ソフト指しをやりたいと言うんじゃないデツよ!
将棋プログラムと知ってもらった上でアマチュアプログラマの作品も一般の人に
対戦、評価してもらえたら良いなあって事。
- 87 :デフォルトの名無しさん :04/06/23 00:22
- それじゃだれでも作れるじゃん
ただの重労働
そこらへんにJavaアプリで対戦できるのはころがってるし
- 88 :デフォルトの名無しさん :04/06/23 00:34
- >>86
サーバは実装の手間の割に将棋プログラムの裾野を拡げる起爆剤になり得ると思う。
# 効果の方が大きいって意味ね、為念。もちろん奈々美タンには激しく感謝しています。
あと仕様がオープンなところがデカい。
24はよく知らないけど公開してないんじゃない? それに変わるものをこっちで
お膳立てできればいいなぁと思っているところ。
- 89 :デフォルトの名無しさん :04/06/23 01:11
- いつかこのスレの住人で羽生を倒したいね
- 90 :デフォルトの名無しさん :04/06/23 01:13
- どちらかっつーと俺は羽生タンに倒されたいw
- 91 :デフォルトの名無しさん :04/06/23 01:23
- 時代は森内
- 92 :86 :04/06/23 01:30
- >88
そうでつか、やっぱり無いでつか。
そうだよなあ、一般の人間に混じって,分けの分からないプログラムがどんどん
指すようになったらよっぽどプロトコルの安全性を高めておかないとえらい事になりそう。
悪意でなくともバグったクライアントのためにサーバー全体がダウンしたりしそー!
あるいはその公開したプロトコルがセキュリティ上の穴になってクラッカーに狙われるとか。
>90
お,俺は谷川に指して欲しい。このサーバーで人間が誰でも自由に指せるようになったら
プロ棋士がこっそり指してみたりしてくれんかなあw?
- 93 :デフォルトの名無しさん :04/06/23 01:43
- というより豊川
- 94 :まともに動いてない ◆R/rLuLKeEI :04/06/23 01:54
- >>93
そうしょっちゅう自爆はせんやろ。
いや、できんやろ。
- 95 :デフォルトの名無しさん :04/06/23 02:02
- 彼の今後の対局において
歩を張るときは通常より3秒程、思考時間が長くなるに違いない
「二歩じゃないだろうな・・・キョロキョロ(3秒間)」
- 96 :86 :04/06/23 02:28
- しょ、将棋講座のタイトルにわらた。
「阿部隆の良い手、悪い手、普通の手」
- 97 :デフォルトの名無しさん :04/06/23 05:54
- 「張る」とかゆーな・・
- 98 :デフォルトの名無しさん :04/06/23 12:39
- 奈々美様
チャットでスペースをいれるとそれ以降無視されるようです
特に不都合がなければスペースも使えると嬉しいです
- when /^%%CHAT\s+(\S+)/
+ when /^%%CHAT\s+(.+)/
でいかがでしょう
- 99 :デフォルトの名無しさん :04/06/23 20:54
- ところでチャットで流す文字コードは SHIFT-JIS でいいの?
Win なクライアントが多いだろうから長いものには巻かれろ、かな。
まとも氏のは何で流してます? (Java はすっかり忘れちったな…)
- 100 :まとも氏 ◆R/rLuLKeEI :04/06/23 22:25
- >>99
>まとも氏のは何で流してます? (Java はすっかり忘れちったな…)
まったく気にしてなかった。
LINUXだから多分EUCじゃないかな。
でも、何も変換してないから各OS標準の文字コードか、さもなくばUNICODEで流れているかも…
つまり分からんというこってす。
- 101 :林 :04/06/23 22:42
- >>99,100
文字コード未指定だから、流れる文字コードはシステムのデフォルト文字コードだね。
OSによって変わっちゃうから、文字コード指定した方がいいかも。
// 動作未確認
// pr = new PrintWriter(server.getOutputStream(), true);
// br = new BufferedReader(new InputStreamReader(server.getInputStream()));
pr = new PrintWriter(new OutputStreamWriter(server.getOutputStream(), "Shift_JIS"), true);
br = new BufferedReader(new InputStreamReader(server.getInputStream(), "Shift_JIS"));
- 102 :林 :04/06/23 22:44
- >>101 CSAChat.javaのlogin()の所です。
- 103 :デフォルトの名無しさん :04/06/23 22:47
- EUCがいいなあ.
- 104 :林 :04/06/23 22:51
- EUCが良かったら >>101 のShift_JISの所をEUC-JPにしてください。
- 105 :デフォルトの名無しさん :04/06/23 23:04
- つーかそもそも Ruby 側はなんでもござれなんだっけ?
- 106 :まともに動いてない ◆R/rLuLKeEI :04/06/23 23:19
- >>101-104
ありがとう。
でもまだサービス残業中なので更新できません。
急ぎの方は各自いじくり倒して改訂版を作ってください。
週末にでもログインダイアログに文字エンコーディングコンボボックスを追加するか設定ファイル化するつもりです。
私が休日出勤にならないことを祈ろう。
- 107 :奈々美 :04/06/23 23:36
- >>78, >>98
対応しました。
http://gm.a-ark.net/~shogi/clip/img/23.zip
>>106
コードは全クライアントで統一すべき(== 各自で選択出来ないべき)だと思います。
unicodeに一票入れます。
>>74
土曜日深夜にコーディングを開始して日曜に公開くらいです。
>>54, >>55
先週サボってました。まだ始めてません。
- 108 :まともに動いてない ◆R/rLuLKeEI :04/06/23 23:52
- よく考えたら、ソケットのストリームを流れるエンコーディングであってUIで扱う文字エンコーディングとはある程度独立しているんだった。
というかJavaの内部表現はUNICODEだし。
なので、サーバー側で決めて頂ければそれに合わせます。
あと、未確認だけどRS232プロトコルはシフトJISだった気がする。
- 109 :まともに動いてない ◆R/rLuLKeEI :04/06/24 00:16
- >>108
>あと、未確認だけどRS232プロトコルはシフトJISだった気がする。
嘘です。
棋譜フォーマットのほうでしかもOS依存でした。
- 110 :デフォルトの名無しさん :04/06/25 12:07
- >>107
もつかれさまです。
Unicode はちょっと… って人は多くないのかな。クライアントが限定されそ
うだし。少なくとも自分はそうなんですが。
関係ないけど、wdoor のログに teamgps がキタ━━(゚∀゚)━━ !!!!!
- 111 :うさぴょんの育ての親 :04/06/25 17:50
- >>110
Unicodeですかー。
OSがWindowsなので、JavaのUnicodeとは微妙に相性が悪いんですけどー…。
〜が~に化けたりとか、\がバックスラッシュになったりとかね。
まぁ、でもちょっと我慢してもらうだけだからいいかなぁ。
時間に余裕ができたらusapyonもwdoorに突入するのでよろしくー。
- 112 :デフォルトの名無しさん :04/06/26 00:29
- Shift JIS よりは Unicode に一票
- 113 :デフォルトの名無しさん :04/06/26 01:51
- >> 63
Emacs クライアント重宝してます
香が成ったら成桂になってしまったので報告します
あと本質ではないですが
auto scroll の関係でチャットの発言は最終行に出る方が自然かと
--- shogi.el.org Sat Jun 26 01:48:39 2004
+++ shogi.el Sat Jun 26 01:48:47 2004
@@ -463,7 +463,7 @@
(cond ((eq symbol 'fu) 'to-kin)
((eq symbol 'gin) 'nari-gin)
((eq symbol 'kei) 'nari-kei)
- ((eq symbol 'kyo) 'nari-kei)
+ ((eq symbol 'kyo) 'nari-kyo)
((eq symbol 'hisha) 'ryuu)
((eq symbol 'kaku) 'uma)
(t nil))
- 114 :奈々美 :04/06/26 03:13
- >>65
の仕様を追加しました。
http://gm.a-ark.net/~shogi/clip/img/24.zip
ほとんどチェックしてないので、バグったらすいません。
↓%%LISTコマンドによって、対局IDの一覧が出る。
%%LIST
##[LIST] b-1-a-20040626025755
##[LIST] +OK
↓%%SHOWコマンドで盤面表示
%%SHOW b-1-a-20040626025755
##[SHOW] P1-KY-KE-GI-KI-OU-KI-GI-KE *
##[SHOW] P2 * -HI * * * * * -KA *
##[SHOW] P3-FU-FU-FU-FU-FU-FU-FU-FU-FU
##[SHOW] P4 * * * * * * * * *
##[SHOW] P5 * * * * * * * * *
##[SHOW] P6 * * * * * * * +NY *
##[SHOW] P7+FU+FU+FU+FU+FU+FU+FU * +FU
##[SHOW] P8 * +KA * * * * * +HI *
##[SHOW] P9+KY+KE+GI+KI+OU+KI+GI+KE *
##[SHOW] P+00KY
##[SHOW] P-00FU
##[SHOW] +OK
- 115 :奈々美 :04/06/26 03:18
- 若干、ILLEGAL_MOVEのチェックを入れてます。
チェック出来ること
- 持っていない駒を打つ
- 歩が馬に成ったりする
- 自分の駒を取る
チェック出来ないこと
- 角が直進するとかの、動き方
- 角が敵を跨いで進むとかの、動き方
- 敵陣以外で成る
- 二歩とか
予定
他人の対局を見続ける機能
%%MONITORコマンド?
- 116 :デフォルトの名無しさん :04/06/26 05:26
- こんなスレあったのか・・・
当方24で中級者やってます
ここで作られてるソフトにはもう負けてしまうのかなぁ
- 117 :奈々美 :04/06/26 12:24
- お世話になってます。
wdoorの管理者さんとCHAT出来ました :-)
あっという間にレスポンスが帰ってきたので、
おうむ返しプログラムでも繋がっているのかと思いました。
./shogi-server:607:in `main': undefined method `name' for nil:NilClass (NoMethodError)
これは直さないと...
- 118 :デフォルトの名無しさん :04/06/26 13:25
- wdoorのサーバを >>114 のバージョンに更新しました
ちょうど今サーバ落としても大丈夫かなーと眺めていたところだったので:-)
> 奈々美さん
- 119 :デフォルトの名無しさん :04/06/26 13:46
- GPS将棋を接続させましたので,よろしければ遊んでやって下さい
拡張モードでゲーム名を指定して待たせています
loginname: sentegps, gamename: sentegps, (GPS将棋が先手)
loginname: gotegps, gamename: gotegps, (GPS将棋が後手)
デバッグが不充分なので途中で落ちたらごめんなさい.
- 120 :まともに動いてない ◆R/rLuLKeEI :04/06/27 00:58
- まともに動いてないプログラムがやっとGame_Summaryの開始を認識できるようになった。
拡張モードでチャットしか出来ないクライアントは%%GAMEを送信するところまで。
どっちもそのあとまともに動かなくなってもた(笑)。
- 121 :デフォルトの名無しさん :04/06/27 14:05
- 手動クライアント@Emacsをアップしておきます。変更点は
* データ構造を若干変更
* チャットの文字コードを(暫定的に) utf-8 に指定
* 香が成ると成桂になっていたのを修正 (Thanks to >>113さん)
* チャット発言が最終行に表示されるよう変更 (Suggested by >>113さん)
* その他細かい修正
といったところです。
http://tokyo.cool.ne.jp/progn/shogi-0.5.tgz
- 122 :113 :04/06/27 15:27
- Thanksです >> 121
どうもしゃべる前に (get-buffer-create csashogi-chat-buffer-name)
しないといけないみたいなんですが,どこにいれれば良いでしょう
- 123 :デフォルトの名無しさん :04/06/27 15:51
- >>122
あわわ、ご指摘ありがとうございます。
--- csashogi.el 26 Jun 2004 11:18:40 -0000 0.28
+++ csashogi.el 27 Jun 2004 06:37:22 -0000
@@ -223,13 +223,13 @@
(insert (concat string "\n"))))
(defun csashogi-chat-insert (id string)
- (with-current-buffer csashogi-chat-buffer-name
+ (with-current-buffer (get-buffer-create csashogi-chat-buffer-name)
(setq buffer-read-only t)
(let ((buffer-read-only nil))
(goto-char (point-max))
(insert (concat id "> " string "\n"))))
(when (equal (buffer-name) csashogi-board-buffer-name)
- (csashogi-display-buffer (get-buffer-create csashogi-chat-buffer-name))
+ (csashogi-display-buffer csashogi-chat-buffer-name)
(other-window 1)
(unless (pos-visible-in-window-p (goto-char (point-max)))
(recenter -1))
こうですかね。修正版も置いておきます。
http://tokyo.cool.ne.jp/progn/shogi-0.6.tgz
- 124 :まともに動いてない ◆R/rLuLKeEI :04/06/27 19:39
- 何でまともに動かんのか謎だったけど、CSAモードでログインすると
LOGIN matomo1 te
LOGIN:matomo1 OK
Protocol_Mode:Server
Format:Shogi 1.0
Game_ID:default-matomo1-matomo0-20040627192729
となって、
BEGIN Game_Summary
Protocol_Version:1.0
が抜けていることに気が付いた。バグ?仕様?
- 125 :奈々美 :04/06/27 23:42
- >>124
バグです。修正しました。
http://gm.a-ark.net/~shogi/clip/img/25.zip