おまいら最強のリバーシプログラムしてみろよ part2at TECH
おまいら最強のリバーシプログラムしてみろよ part2 - 暇つぶし2ch710:デフォルトの名無しさん
07/02/10 11:39:00
無関係な突っ込み
n=z-8*m;

n=z % 8;


711:デフォルトの名無しさん
07/02/10 12:05:30
誰かが言ったようにlp[]の初期化に失敗している。
7行オセロのソースを見ろよ。

712:デフォルトの名無しさん
07/02/10 12:10:32
lp[] ={9,9,9,9,1,7,8,9}
これで大丈夫なのか?

713:デフォルトの名無しさん
07/02/10 12:19:47
int lp[]={-9,-8,-7,-1,1,7,8,9};
で正常に1手目は出た。
llp[]の意味するところがわからんから後はどうなるかわからん。

ごみを生産するんじゃない。


714:デフォルトの名無しさん
07/02/10 12:24:28
デバッガ使いたくないならprintfでもはさんでデバッグやれ。

if(z<64)printf("\n着手可能 %d %d",z/8+1,z%8+1);


715:デフォルトの名無しさん
07/02/10 12:37:18
なぜintにしたか?
それはcharだとデバッガで文字として出てくるから。

716:デフォルトの名無しさん
07/02/10 12:43:38
めんどくさいからそのまま春。
int serch(board bord ,int z, int F)
{
int w,l;
for(w=z+1;w<64;w++)
{

fore(l,8)
{
if(torerusu(bord,w,F,l)>0)return w;//break;なんなの?
}

//if(l<8)return w;これなんだ?
}
return 64;
}


717:デフォルトの名無しさん
07/02/10 13:11:45
質問
mtのfor(;;)for(;;){
って意味あるの?

718:デフォルトの名無しさん
07/02/10 13:31:44
わかった!
continueを知らないだけだ!

719:デフォルトの名無しさん
07/02/10 13:44:10
>>717
break など使うものか!意地でも goto を使うんだ!
という意志の表れと見た。

720:デフォルトの名無しさん
07/02/10 13:48:05
いや、breakで抜けた後もループしたいからforforしてるんだよ。
continueしらないだけ。

721:デフォルトの名無しさん
07/02/10 14:18:57
読み直してみた。たしかに continue を知らないだけのようだ。

722:デフォルトの名無しさん
07/02/10 14:38:09
#define PASS 64

723:デフォルトの名無しさん
07/02/10 14:46:10
少しは努力しろ

724:デフォルトの名無しさん
07/02/10 14:54:56
#define が多いけど、enum は使わないの?

725:デフォルトの名無しさん
07/02/10 14:56:32
単に知らないの

726:1
07/02/10 17:40:47
よりオブジェクト指向で書き直すことにしました ちょっと待っててくださいね

>>699>>713
lpは、周囲のマスを表すんです -9,-8,-7,-1,1,7,8,9となっていればOKなんですが
ここが、間違っていますかね?

>>704
if()は中身が正だったら真なんですか 1だけだと思ってました

>>708
マクロ使う理由は、関数に出来ないからなんですよ
breakとかreturnを使うと呼び出した関数側でリターンしてしまいます(remove()とか)

>>710
%を使うとやたらに鈍くなる可能性があります そこはz&7にした方がいいですね


>>716
すぐにリターンした方がいいですね

>>722
わかりました PASSにします

727:1
07/02/10 17:49:16
みなさんありがとうございました
差し手の生成上手くいきました


fore(l,8){ if(l>3)i=l+1;m=i/3-1;n=i%3-1;lp[l]=8*m+n;}の部分を

fore(l,8){ if(l>3)i=l+1; else i=l;m=i/3-1;n=i%3-1;lp[l]=8*m+n;}

に変更したら上手くいきました

URLリンク(up2moe.moe.hm)

728:デフォルトの名無しさん
07/02/10 17:52:41
暗号解析も進んでるようだねw

729:デフォルトの名無しさん
07/02/10 17:58:59
みんな優しいなあ

730:デフォルトの名無しさん
07/02/10 18:03:07
>>727
問題外のソースの断片を貼らないでください。

731:1
07/02/10 18:30:51
すみません 初歩なんですけど質問です

下のfnc内で他のメンバ関数(ここでは (z,F)ですが) を使いたいんですけど
(z,F)と書けば、呼び出せますか?またAAA()の場合もそのままかけるんでしょうか?


class board {
unsigned int bd[3][2];
public:
int operator()(int z, int F){int m;m=z>>5;z=z&31;return (bd[F][b]>>z)&1;}
int AAA(){}
void fnc() { ・・・}
};

732:デフォルトの名無しさん
07/02/10 18:32:49
日本語でおk

733:1
07/02/10 18:42:33
コンパイルは通るんですが、動作が変です
なぜでしょうか?
24を表示してほしいのですが、4となります


#include <stdio.h>
class board {
int a;
public:
int operator()(int x, int y, int z){return x*y*z;}
int fnc(){return (3,2,4);}

};

main(){
board x;
printf("%d\n",x.fnc());
}

734:1
07/02/10 18:43:51
要約すると、メンバ関数内で、他のメンバ関数を使いたいという事です

735:デフォルトの名無しさん
07/02/10 18:45:08
operator() ってなに?

736:デフォルトの名無しさん
07/02/10 18:48:01
デバッガで1行ずつ実行すればいいんじゃないの?

737:デフォルトの名無しさん
07/02/10 18:49:08
あ、ごめん
そういう内容ではなかったのね

738:デフォルトの名無しさん
07/02/10 18:49:51
デバッガの使い方なんか知らないだろ
だから一行にまとめてしまってるんだし

739:デフォルトの名無しさん
07/02/10 18:50:19
int fnc(){return operator()(3,2,4);}
int fnc(){return (*this)(3,2,4);}

740:デフォルトの名無しさん
07/02/10 18:50:57
エスパーするなら、[]演算子のオーバーロードを勘違いしてるんじゃないかと

>>1は、いったいいつになったら日本語でアルゴリズムを書けるようになるんだろうな。

741:1
07/02/10 18:51:42
>>735
ここです
関数呼び出し演算子
URLリンク(homepage2.nifty.com)

>>736
他のメンバ関数の呼び出し方を知りたいんですが

742:1
07/02/10 18:53:57
>>739
わかりました!ありがとうございます
*thisは省略できるものだと思っていたのですがつけないと駄目みたいですね

743:デフォルトの名無しさん
07/02/10 18:55:49
thisを知らなかっただけだろ

744:1
07/02/10 18:58:55
>>743
727の10行目で使ってますよ

745:デフォルトの名無しさん
07/02/10 19:01:37
>>741
C++ってこんなクソ仕様があるんだ・・・
こんなの使ったら、ホントに作ったやつじゃねーと解読できない
プログラムになっちゃうよ・・・・
とくに、>>1みたいな初心者が、無意味に多用したがるからな

746:デフォルトの名無しさん
07/02/10 19:08:02
意味がわからずに使ってるからバグが入ってるんだよ

747:デフォルトの名無しさん
07/02/10 19:24:22
1ってアルゴリズム考えるのがへたくそだなぁ

748:デフォルトの名無しさん
07/02/10 19:37:53
>>726
lpは各方向のマスへのオフセットだろ。

ifでの真偽は、0で偽それ以外で真。

removeにbreakを入れないほうがイイ。
場合によってcontinueとbreakの使いわけができるようになる。
わけの分からんforを省ける。それとfor(;;cnt++)。

あとremoveの2つ目のreturnの判定は不要じゃないか?
よく分からんけど


749:デフォルトの名無しさん
07/02/10 19:40:15
どんどんいい感じに普通のプログラムになっていってるね

750:デフォルトの名無しさん
07/02/10 19:50:51
どのへんが?

751:デフォルトの名無しさん
07/02/10 19:52:41
serch()

752:デフォルトの名無しさん
07/02/10 19:55:32
aが抜けてるといいたいんだろ。最初から気付いていたよ。
あと board bordとかも。

753:デフォルトの名無しさん
07/02/10 19:55:46
どの角度から見ても普通のプログラムには程遠いけどw

754:デフォルトの名無しさん
07/02/10 19:58:12
うちで直したのは普通に近いよ。
gameクラスにグローバル変数ぶちこんで、susumu、removeも関数に直した。
gotoは直してないけどな…
printfがあちこちにぶち込んであるからぼろぼろだけどな。

755:デフォルトの名無しさん
07/02/10 20:01:06
「普通」の基準が問題なんだなw

756:デフォルトの名無しさん
07/02/10 20:05:46
bord()って使い方もまずいよな。

これって関数風に使う場合だしな。
[ ]のほうがあってると思うけどな。

757:デフォルトの名無しさん
07/02/10 20:48:10
いや、みんなのデバッグが加わったことで
serch()が普通に近づいたってことだろ

758:デフォルトの名無しさん
07/02/10 21:01:19
なんか盛り上がってるなw

759:デフォルトの名無しさん
07/02/10 21:06:46
自分よりレベル低いのが居ると安心してしゃべれるんだろ

760:デフォルトの名無しさん
07/02/10 21:07:48
>726 名前: 1 投稿日: 2007/02/10(土) 17:40:47
>よりオブジェクト指向で書き直すことにしました ちょっと待っててくださいね

それよりも SourceForge あたりにプロジェクト作ってみ?
と言ってみるテスト.


761:デフォルトの名無しさん
07/02/11 16:23:04
1って人間性がダメだな

762:デフォルトの名無しさん
07/02/11 16:26:34
何ですかこの期待はずれなスレは

763:デフォルトの名無しさん
07/02/11 16:49:21
おれにとっては期待以上だ

764:デフォルトの名無しさん
07/02/11 16:57:28
まじめに作ってる人には期待してるよ
まだ結果は出てないし

765:デフォルトの名無しさん
07/02/13 16:36:15
age

766:デフォルトの名無しさん
07/02/13 17:05:19
もう面倒だから打てる場所にランダムに打つルーチンで手を打とうぜ
文字をランダムに出力してシェイクスピアのオセロが完成する確率よりは遥かに大きい確率で勝てるものが作れる

767:デフォルトの名無しさん
07/02/13 17:36:05
うん、君はそれで作れば?

768:デフォルトの名無しさん
07/02/13 17:47:43
俺がポケコンで作ったときは、処理速度が遅いから
打てる中で一番多くひっくり返せる手を選ぶようにした。
思考に数秒かかる。
こんなんでも、それなりに面白い。

769:デフォルトの名無しさん
07/02/13 17:50:18
bitboardとか知らないけど、俺も作ってみよう

770:デフォルトの名無しさん
07/02/13 17:52:09
じゃあ俺はDで作っちゃうぞ

771:デフォルトの名無しさん
07/02/13 18:30:10
じゃあ僕はバッチファイル!


772:デフォルトの名無しさん
07/02/13 21:02:00
2次元配列で作ったけど、1次元が主流なんかな?

773:デフォルトの名無しさん
07/02/13 21:03:51
なんでもいいかと

774:デフォルトの名無しさん
07/02/13 21:18:42
1次元の利点は,
アドレス計算が高速,
関数の値として返せる,
引数の個数が減る,
位かな.絶対有利と言っていいと思う

775:デフォルトの名無しさん
07/02/13 22:00:54
>>774
なるほど。
初めて作ったんだけど、>>496さんのを見て、1次元配列だったからちょっとびっくりした。

776:デフォルトの名無しさん
07/02/13 22:23:17
>>774
8x8なら絶対有利と言うほどはないんじゃないかなぁ。
まあ10x10とかの手法使ってるなら絶対有利かもしれんが。

777:デフォルトの名無しさん
07/02/13 22:54:54
2次元配列はどうも好みじゃない
関数にポインタ渡すときの宣言が嫌い

778:デフォルトの名無しさん
07/02/13 23:06:49
Thellの「強+」って何手読みかな?

779:デフォルトの名無しさん
07/02/13 23:30:20
bitboardにするとundoはやらないでコピーするもんなの?

780:デフォルトの名無しさん
07/02/13 23:47:40
うん、そう。

781:769
07/02/14 00:37:59
ひとまず動くものが出来たので晒してみます
URLリンク(555.sytes.net)





782:デフォルトの名無しさん
07/02/14 00:55:21
GUIキタコレ!

783:デフォルトの名無しさん
07/02/14 00:59:04
おお、お疲れ様です。
いい感じですね。

784:デフォルトの名無しさん
07/02/14 01:04:43
>>781
dllの追加について何かヒントきぼん

785:デフォルトの名無しさん
07/02/14 01:26:02
>>784
.net系の言語でプロジェクトの参照にRevPlugin.dllを追加、
RevPlugin.dll内にあるRev.IPlayerを実装したクラスを一つ以上作る、
それdllにしてPluginフォルダにぶちこむ、
でOKです。

SampleAIプロジェクトのRandomAI.csとかを参考にしてください。


786:デフォルトの名無しさん
07/02/14 01:26:46
>>784
Interfaces.csにインターフェースが定義されてるから
これ実装すればいいんじゃない?
てかソース見てみよう。

787:デフォルトの名無しさん
07/02/14 01:28:50
.NETはパスだな
もまいらがんばってくれ

788:デフォルトの名無しさん
07/02/14 01:30:55
と言うか何語ですかこれ? GUI 部分は別に要らないですが、
思考部分を Unix でコンパイルするにはどうすれば?

789:デフォルトの名無しさん
07/02/14 01:32:20
>>788
C#ていう言語。
monoで使えるかも?

790:デフォルトの名無しさん
07/02/14 01:34:12
>>789
C# と mono ですか。調べてみます。㌧

791:デフォルトの名無しさん
07/02/14 01:40:13
僕もC#でプログラムを作ってたのでちょうどいいですね。
独自のGUIも既にありますけど、
これに対応すれば他の人が作ったのと対戦しやすそうですね。

792:デフォルトの名無しさん
07/02/14 01:46:41
>>788
AIは適当に作った物なのでコンパイルする価値無いかも・・・

793:デフォルトの名無しさん
07/02/14 02:12:42
>>769
初期化エラーになります><

794:デフォルトの名無しさん
07/02/14 02:27:52
んなこと言ってる奴は自分でなんとかしろカス

795:デフォルトの名無しさん
07/02/14 07:53:42
C#か・・・
dllならC++で作って読ませることもできるかな?

796:デフォルトの名無しさん
07/02/14 12:42:22
>>781
これ良いですね。
MinMaxAIに勝てないし、昔自作したオセロプログラムで対戦しても歯が立たないorz

出来れば、のお願いが2つ。
・初期配置を逆にしてほしい。
・直前手を表示してほしい。(印を付けるとか)
オセロルールでは初期配置が逆なので上記のようにソフトを2つ並べて
手動で対戦するときにそのほうが都合が良いので。
勝手言ってすまん。


797:デフォルトの名無しさん
07/02/15 00:10:13
なんか良い感じになってきたな、1以外は。

798:デフォルトの名無しさん
07/02/15 00:19:00
ところで、1ってなんですか?

799:デフォルトの名無しさん
07/02/15 00:27:31
バカは「1」って名前で発言するのがここのルール

800:デフォルトの名無しさん
07/02/15 00:51:56
1の人気に嫉妬

801:デフォルトの名無しさん
07/02/15 02:50:08
>>800
>>799

802:デフォルトの名無しさん
07/02/15 14:35:04
こんな天気の日は、引きこもってコード書きに限りますな

803:デフォルトの名無しさん
07/02/15 14:37:25
評価は何を基準にしているの?
置けるコマの数?

804:デフォルトの名無しさん
07/02/15 14:55:36
評価はパターンが基本で、これに置ける場所の数などを加える事もある。
全ての評価要素には係数を掛けて和を取る。
この係数は、局面と教師信号を大量に用意して評価値と
教師信号の誤差が最小になるように最小二乗法で求める。

805:デフォルトの名無しさん
07/02/15 15:03:21
>>804
う~ん、難しそう。

806:デフォルトの名無しさん
07/02/15 15:29:36
>>803
URLリンク(fujitake.dip.jp)
このページの下のほうに評価関数についての説明があるよ。

>>804
問題は、データの多さなんだよね。
強さを求めるには仕方のないことかもしれないけど、
思考部分のプログラムが(高速化のために展開していたとしても)数百KB程度に対して、
評価用のデータが10MB↑とかになるのがね...

807:デフォルトの名無しさん
07/02/15 15:44:12
>>806
サンクス

808:デフォルトの名無しさん
07/02/15 16:42:53
>>806
「リバーシプログラムの作り方」に入ってるプログラムは
比較的コンパクトで精度のいい評価関数だと思う。
標準的なパターン(ロジステロとかの)より小さくて最大で8マス分なのと
ゲームの段階によってステージ分けしてないので小さくしてる。

809:デフォルトの名無しさん
07/02/15 17:06:10
1のプログラムをdll化して対戦させてみるとどうだろう。
できる人頼む

810:デフォルトの名無しさん
07/02/15 17:26:11
まともに動くようになればDLL化してやってもいいけど。

811:デフォルトの名無しさん
07/02/15 17:32:19
オレも動くようになったらDLL化しようと思ってるんだが
最後までいかんのがなあ

812:1
07/02/15 18:09:40
オブジェクト指向はもうすぐできます 
待っててください

813:デフォルトの名無しさん
07/02/15 18:11:32
>>812
もういいよ

814:デフォルトの名無しさん
07/02/15 18:14:10
>>812
なんの目的でオブジェクト指向にするのかもう一度聞かせてくれ

815:1
07/02/15 18:20:04
C++を使っているから。

816:1
07/02/15 18:27:16
オブジェクト指向はプログラムがわかりやすくなるからですよ

817:デフォルトの名無しさん
07/02/15 18:38:22
1の主張の対偶をとると、
プログラムがわかりにくいのは、それがオブジェクト指向でないから
となる。
しかし、これは明らかにおかしい
ゆえに1は明らかにおかしい



818:デフォルトの名無しさん
07/02/15 18:57:33
1がバカだからプログラムもわかりにくくなるんです

819:デフォルトの名無しさん
07/02/15 21:01:07
C をベルトコンベアに例えると、C++ はピタゴラ装置なんだよね。素人だと特に。

単純なはずのベルトコンベアさえ迷路状態にしてしまう >1 が、あろう事かピタゴラ
装置にまで手を出せば、もっと手の付けられないものが出来上がるのは明らか。

820:デフォルトの名無しさん
07/02/15 21:12:02
ピタゴラ装置なんて初めて聞いた

821:デフォルトの名無しさん
07/02/15 21:15:19
1は自分のやってる事が高度で他人がバカだから
理解してもらえないとでも思ってるんだろ

822:デフォルトの名無しさん
07/02/15 21:39:33
今更わかりきったことを・・・

823:デフォルトの名無しさん
07/02/15 21:40:41
勉強できるヤツが頭が良いって言うわけじゃない事が
よくわかりました

824:デフォルトの名無しさん
07/02/15 21:41:23
まるで小学生のようだ。

そう言えば、昔AppleJapanのコピーで「小学生になろう」ってのがあったな。

825:デフォルトの名無しさん
07/02/15 21:51:34
1は自分で考えるのは下手だけど
どこかで見聞きした事をそのまま言うのはできるんでしょ

826:デフォルトの名無しさん
07/02/15 22:23:42
>>820
ルーブ・ゴールドバーグ・マシン (Rube Goldberg machines)っていったらわかる?
バック・トゥ・ザ・フューチャーの最初のシーンみたいなやつ。

827:デフォルトの名無しさん
07/02/15 22:47:51
それもわかんない
けどググったらわかった
なるほど確かにそんな感じだね

828:デフォルトの名無しさん
07/02/15 22:57:31
簡単に言うと、ドミノ倒しの中にスイッチが紛れてるんだな

しかもどれが何のスイッチか一切分からない。

829:デフォルトの名無しさん
07/02/15 23:24:51
>>828
むしろ分からなくなった

830:デフォルトの名無しさん
07/02/15 23:31:36
>>817
対偶を勉強しなおせ

831:デフォルトの名無しさん
07/02/15 23:46:33
>>829
例えば、何らかの誤作動を直したり
一部を拡張しようとした場合

スイッチだけが出ていれば、押す順番なんて簡単に変えられる

だが、スイッチの順番を変える為だけに
ドミノをひたすら並び替え直す必要があったり
スイッチを押す順番によって動作が変わってしまったり
そもそも何のスイッチか分かりにくかったり


832:デフォルトの名無しさん
07/02/15 23:52:24
>>829
URLリンク(flowmachine.free.fr)


833:デフォルトの名無しさん
07/02/15 23:53:45
要するに色んなからくりの連鎖反応で機能するって事でしょ

834:デフォルトの名無しさん
07/02/16 00:05:08
ゲームのインクレディブルマシーンみたいなもんだろ?

835:デフォルトの名無しさん
07/02/16 00:05:26
URLリンク(www.youtube.com)

どっかに車の部品でやるやつもあったな

836:デフォルトの名無しさん
07/02/16 00:16:54
URLリンク(www.youtube.com)
これだった
スレ違いだがな

837:デフォルトの名無しさん
07/02/16 00:58:15
あれ・・・
学習量増やしたら弱くなっちゃった。
過学習ってやつ?

838:デフォルトの名無しさん
07/02/16 01:33:47
学習させた棋譜によるし、そもそも学習の仕組みにもよるだろ

839:デフォルトの名無しさん
07/02/16 08:41:29
結局、評価は演繹ではなく帰納的ってこと?

840:デフォルトの名無しさん
07/02/16 15:13:16
うん、そう。

841:デフォルトの名無しさん
07/02/16 15:33:52
じゃあ換言すると、強さは評価関数の係数を決める教師データ量の多さと
探索の深さで決まるってこと?

だとすると、1はその中で何をしているの?

842:デフォルトの名無しさん
07/02/16 15:43:38
何もしてない

843:デフォルトの名無しさん
07/02/16 15:47:01
>>832
面白いんだがw

844:デフォルトの名無しさん
07/02/16 15:50:49
1は探索を深くしようとしてるんだけど
評価関数がデタラメだから意味の無い局面だけ深い探索をしてる

845:デフォルトの名無しさん
07/02/16 16:14:42
>>844
ヒント:ベンチマーク

846:デフォルトの名無しさん
07/02/16 17:43:15
うん、ゼブラにも負けてた。


847:デフォルトの名無しさん
07/02/16 17:59:38
筆記用具な

848:デフォルトの名無しさん
07/02/16 18:24:44
>>847
ゼブラとはオセロプログラムの事ですよ。
URLリンク(www.radagast.se)

849:デフォルトの名無しさん
07/02/16 22:48:51
白黒つけるぜ!ゼブラマン!!
って奴か。
次はゼブラゾーンから取って 横断歩道という名前はなしですか。
なしです。

850:デフォルトの名無しさん
07/02/17 12:38:49
IOSの棋譜ってもう手に入らないのか?

851:デフォルトの名無しさん
07/02/17 15:18:02
IOSの棋譜はもう見つかりませんでしたけど
後継サーバであるGGSの棋譜はあります。
URLリンク(www.cs.ualberta.ca)
こっちのほうが質も量も優れていると思います。
ただ人間の棋譜や試合中で途切れている棋譜なども含まれているので
一定の条件で抽出したほうがいいと思います。

852:デフォルトの名無しさん
07/02/17 15:34:53
ありがとう。
GGSの方にはIOSの棋譜がマージされてるんかな?
とりあえずいろいろいじってみるよ

853:デフォルトの名無しさん
07/02/17 16:44:21
GGSの棋譜にIOSの棋譜は入ってないと思います。
あと評価関数作りにはこの棋譜も役立つと思います。
URLリンク(abulmo.club.fr)

854:デフォルトの名無しさん
07/02/17 22:11:35
1はどこいった?

855:デフォルトの名無しさん
07/02/17 22:36:44
もう飽きたんじゃ?

856:1偽
07/02/17 22:40:01
オセロはマスターしたので将棋に移りました。

857:1
07/02/17 23:03:02
ああ

858:デフォルトの名無しさん
07/02/17 23:11:35
将棋スレ過疎ってるから来いよ>>1

859:デフォルトの名無しさん
07/02/19 16:52:02
そして誰もいなくなった

860:デフォルトの名無しさん
07/02/19 16:56:09
じゃあネタ投下してくれ

861:デフォルトの名無しさん
07/02/19 17:11:41
1がいなくなったとたんに過疎る。1は偉大だな。

862:デフォルトの名無しさん
07/02/19 20:17:52
有志が1を見限って独自に進めようとするたびに1が現れて気運をぶち壊して行っただけでは。

863:デフォルトの名無しさん
07/02/19 20:39:29
誰か2代目1を呼んで来い

864:デフォルトの名無しさん
07/02/19 20:49:44
今1はエージェント指向で書き始めていますので、少々お待ちください。

865:1偽
07/02/19 21:00:45
アスペクト思考で書き始めています。

866:デフォルトの名無しさん
07/02/19 22:26:28
やっぱり構造化プログラミングで書き直しています

867:デフォルトの名無しさん
07/02/19 22:42:00
高速化したいのでアセンブラで書くことにしました

868:デフォルトの名無しさん
07/02/19 22:59:01
3進数コンピュータ用に3進数で書き直しています。

869:デフォルトの名無しさん
07/02/19 23:25:44
高速化のためにtemplate多用して書くことにします

870:デフォルトの名無しさん
07/02/19 23:58:32
明日論文発表終わって暇になるから本格的に取り組んでみるぜ
とりあえずの目標は781で動くdllの実装

871:デフォルトの名無しさん
07/02/20 00:07:28
人間対人間のオセロ作ったし、今度は人間対人間の将棋作るわ

872:デフォルトの名無しさん
07/02/20 01:57:36
オセロ対将棋を作ってくれ

873:デフォルトの名無しさん
07/02/20 05:10:15
とりあえずマスをかくことにしました

874:デフォルトの名無しさん
07/02/23 00:16:37
age

875:デフォルトの名無しさん
07/02/24 01:36:45
第一部終了?

876:デフォルトの名無しさん
07/02/24 08:38:23
結局、ダメだったか
ある意味予想通りだが

877:デフォルトの名無しさん
07/02/24 11:35:24
当初は昨年末にはできる予定だったんだよね。

878:デフォルトの名無しさん
07/02/24 11:38:28
当初は昨年末にはできる予定だったんだよね。

879:デフォルトの名無しさん
07/02/24 15:05:29
ここの>>1はこのスレの>>1か?違うよな。

IT業界で入ってはいけない会社の条件を教えて
スレリンク(infosys板)

880:デフォルトの名無しさん
07/02/27 20:19:49
そういやそろそろ三ヶ月経った?

881:デフォルトの名無しさん
07/02/28 02:09:37
今作ってる人居るの?
進捗状況を聞かせて欲しい

882:1
07/03/04 06:16:16
みんなすまん
うまく動かなくて顔出せんかった
プログラムとデバックに向いていないとおもう(経験不足)
継続して作ってはいるんだけど......
あと囲碁、将棋も攻略する予定はあるんだ
ネタはあるので、データ構造と処理内容だけを記したら分業制でやってくれる人はいますか?
一人では、一つ完成させるのに半年以上かかりそう

883:デフォルトの名無しさん
07/03/04 06:36:54
× 分業制でやってくれる人はいますか?
○ これこれこういうアルゴリズムなのですが、興味のある人はぜひコーディングしてみて下さい。
◎ (どこどこのうpろだ) に、データ構造と処理内容を記した仕様書(テキストファイル等)をアップロードしました。興味のある人は(以下略


いったい何ヶ月前から↑の通りにしろと言われていたのか、まさか気づいてないのか?

884:1
07/03/04 07:14:35
>>883
わかった
仕様書かくんでちょっと待っててください

オセロはオブジェクト指向で書き直したんだけど動かないよ
URLリンク(up2moe.moe.hm)

あまりに動かないんで、
オセロは、やめて将棋にしようかと思ってきたんだけど
将棋を一から開発していくっていう方向でもいいですか?

885:デフォルトの名無しさん
07/03/04 07:50:04
どんな仕様書が出来るか楽しみだな。

886:デフォルトの名無しさん
07/03/04 07:53:27
>>884 >>1
>オブジェクト指向で書き直したんだけど
オブジェクト指向で書き直す以前の問題。
C,C++の仕様すら理解してないんじゃないかな?
プログラムの書き方からデバッグのしかたを一から(ry

>あまりに動かないんで、
>オセロは、やめて将棋にしようかと思ってきたんだけど
>将棋を一から開発していくっていう方向でもいいですか?

無謀。

将棋は駒を取る、打つ、成、不成。オセロよりはるかに
局面の変化が多彩で難しいと思うけど?


887:デフォルトの名無しさん
07/03/04 08:03:04
無謀なんて言わずに、やらせておけばいいじゃん。
1がマトモには何もできないってことはみんな知っているし、
それを知った上でのネタスレとして楽しんでるんじゃないの?

888:1
07/03/04 08:05:43
オセロを一から作り出すより、手伝ってもらって将棋を分担で開発した方が
早い and やる気が出る、かと思ったんですが...
デバッグとコーディングをのぞけば、アルゴリズムはかなり前から出来ているんです
オセロより作成期間が長いんです

889:デフォルトの名無しさん
07/03/04 08:17:36
じゃあそのアルゴリズムを聞かせてほしい

890:デフォルトの名無しさん
07/03/04 08:21:16
小学校の頃、1みたいな奴が居てウザかったの思い出した。

891:1
07/03/04 08:29:57
仕様書を書いて説明しますから、待っててくださいね
では、将棋をみんなで作るという事でOKですかね?

892:デフォルトの名無しさん
07/03/04 08:32:07
バカ?
リバーシに決まってんだろ

893:1
07/03/04 08:37:35
ボナンザを倒し、劇指を倒したら、次に銀製囲碁を倒します!
分業制でやれば実現しますよ!
囲碁はですね、今までに無いやり方だと思いますよ
簡単に説明しますと
まず、19*19盤を、類似した5*5盤とか、7*7盤に縮小するんです
すると置けるマスは25~50マス程度で、
普通のMTDとかPNSとかが通用しやすくなるんです
あらかた、置く位置を決めたら元に戻して、その周囲で詳しく調べるんです

894:デフォルトの名無しさん
07/03/04 08:40:07
PNSて何だ?
PVSの間違いか?

895:1
07/03/04 08:41:15
proof number サーチですよ
証明数探索ですよ

896:デフォルトの名無しさん
07/03/04 08:42:42
ああそれね

897:デフォルトの名無しさん
07/03/04 08:43:27
で?どうしてやらないの?

898:1
07/03/04 08:45:03
MTD、PN-searchは、これが詳しいです

Research Re: search & Re-search
PhD thesis; 1996
Aske Plaat
URLリンク(www.cs.vu.nl)

899:デフォルトの名無しさん
07/03/04 08:46:40
それ読んだことある

900:1
07/03/04 08:48:45
思考ルーチンだけ作ればいいソフトを貼り付けておきますね


CSA将棋
URLリンク(www2.ttcn.ne.jp)

CgfGoBan(囲碁用)
URLリンク(www32.ocn.ne.jp)

BearRev Professional (オセロ用)
URLリンク(www20.pos.to)

901:デフォルトの名無しさん
07/03/04 08:51:33
そういうの探すのだけは上手なんだね
もっと色々集めてよ

902:デフォルトの名無しさん
07/03/04 09:15:54
いろいろ言いたいことはあるが仕様書を見てから判断しよう

903:デフォルトの名無しさん
07/03/04 09:43:46
まともにプログラムを書いた事が無い奴のプログラム
まともに仕様書を書いた事が無い奴の仕様書

904:デフォルトの名無しさん
07/03/04 10:24:42
現実のSEにもいるけどね
そういうの

905:デフォルトの名無しさん
07/03/04 10:50:50
1の日本語・プログラミングの能力から、出てくる仕様書の程度は知れてる。

906:デフォルトの名無しさん
07/03/04 10:58:02
× 出てくる仕様書
○ 仕様書は出てこない

◎ 家から出てこない

907:デフォルトの名無しさん
07/03/04 15:24:45
脳内から(ry

908:デフォルトの名無しさん
07/03/04 15:59:16
僕は>>1にひそかに期待している。
分業する気はまったくないが。

たぶん>>1は大器晩成なんだと思う。
いつ頃晩成するのかは予測不能だけど。

>>1の打たれ強さは今まで見た中で5本の指に入る。
この調子でスレを消化していけば、囲碁・将棋・リバーシに
取って代わるテーブルゲームができるかもしれないかもしれないな。

909:デフォルトの名無しさん
07/03/04 18:58:44
俺も>>1には期待してるよ

910:デフォルトの名無しさん
07/03/04 19:05:48
>>1頑張れ!!
新しいゲーム、やってみたいぞ!

911:デフォルトの名無しさん
07/03/04 19:32:50
>>1がきてスレが久しぶりに活気付いた件

912:デフォルトの名無しさん
07/03/04 20:19:20
超初心者の質問なんですが誰か教えてください。
オセロや将棋などのアルゴリズムのプログラミングはC言語で作るのが常識なのでしょうか?
Javaとか他の言語では無理ですか?

913: ◆Z4QrFDzwrY
07/03/04 21:01:42
可能
アルゴリズム自体は言語に依存するものではない
言語によって実装は異なるが、根底の考え方は違わない
速度、実行する環境、自分達が使える言語、DirectXを使えるか、などで
言語を含めて開発環境はだいたい決まってくる

914:1
07/03/04 21:03:19
>>912
Javaでもなんでも出来るけど、速度はcが一番では?ややアセンブラより鈍いかも

分担作業で出来るようにモジュールを分割して
最低2人が一つのモジュールを作成し
2名が同じ出力を出したら正常であるとしましょう

915:デフォルトの名無しさん
07/03/04 22:07:27
初心者が作れば速度が逆転することはざらにある

916:912
07/03/05 01:47:49
>>913>>914>>915
ありがとうございます。
速度で差が出るということですね
どうせやるなら上を目指したいのでCでやってみようと思います


917:デフォルトの名無しさん
07/03/05 01:54:36
>>893
分業だの分担だの言ってるが、他人と同じスタイルにしたり、他人の書いた
プログラムをちゃんと理解できるまで自己鍛錬するつもりはあるのか?
>624-625 みたい嘗めた真似するんじゃないのか?

918:デフォルトの名無しさん
07/03/05 01:57:21
プログラムがわからなくたって
結果で判断すればいいんじゃね?
エンドユーザーになったって事だろ

919:デフォルトの名無しさん
07/03/05 05:04:30
>>912
現在トップクラスのプログラムで使われている言語はC,C++,Managed C++。
言語はCでいいと思うよ。GUIも作るならC++かな。
GUIははじめベアリバーシでもいいけど続けていればそのうち物足りなくなると思うよ。
アセンブリは全く使わなくていい。
コンパイラに最適化を任せれば3倍以上速くなる事もある。
あと英語は必須。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch