世界最強のオセロプログラム

このエントリーをはてなブックマークに追加
1オセラー
ロジステロを越す最強のオセロプログラムを作りたいのですがどうすればよいのでしょうか?
2 :01/10/03 00:27
>>1
まずはLogistelloで何をやってるか研究せい。
全手解明とかはまだされてないの?
4デフォルトの名無しさん:01/10/03 00:34
全手解明出来そうだな。
つうか、自明なんで誰も相手にしてないだけじゃない?
>>3
わかんないけど、オセロだったらマシンパワーさえあればできそうだよね。
全手解明は今のところされてないはず。20数手先までが今の限界。
ちなみに人間の頭脳ではプログラムにかなわないそうだ
7デフォルトの名無しさん:01/10/03 00:43
それよりも、血液型の収束問題をシミュレートするプログラムを
作ってください。結果を教えてください。
オセロプログラム作ったことあるよ。あんまり強くないけど。
探索の基本の勉強にはなるよね。
底の浅いゲームから順にコンピュータが人間を上回ってゆくようだね
チェスも人間を超えたし

将棋は当分人間が上だろう
最後に残るのはやっぱり囲碁かな?
囲碁よりは将棋の方がムズイ。将棋は取ったコマが復活するし。
>>10
でも、現在では将棋の方が、まだプロに近いはず。
囲碁は序盤から可能な手が多すぎ。盤上を上手く分割して
部分問題にして解いてやらないと、きっと無理だと思う。
12デフォルトの名無しさん:01/10/03 01:31
オセロならアルゴリズム自体は簡単そうですね。
最初の1手はどこに打っても同じだから、全部で59*58*57・・・3*2*1とおり。
何桁ぐらいなんでしょう。
13 :01/10/03 01:32
>>12
・・・オセロはひっくりかえせないところにはおけないという
ルールを忘れてないか?
まあ、上はそれで抑えられるけど。
14デフォルトの名無しさん:01/10/03 01:32
>>12
実際における場所は一部。
15デフォルトの名無しさん:01/10/03 01:33
せめて64!と書こう。
16デフォルトの名無しさん:01/10/03 01:56
>>15
既に4つは埋まっているから60!(細かい突っ込みスマソ)
17デフォルトの名無しさん:01/10/03 03:45
ミニマックス法を使えば弱いのは作れます。
しかし強いのをつくるには探索の知識とオセロの知識と数学的洞察力がさらに必要です。
将棋や囲碁よりは浅いけど、オセロも意外に奥が深いと思います。
18デフォルトの名無しさ」ん:01/10/03 03:52
ドリキャスのリバースは異常に強かった
勝つのに苦労した。。。。
あれが最強だと思うが
19デフォルトの名無しさん:01/10/03 03:55
外周に置くとふちが盗られちまうんだよな
そこらへんも、考慮にいれな
まぁ、強い奴はわざと、置かせるけど
>>18
ロジステロのほうが強いと思われ
2117:01/10/03 04:23
こういうたぐいのゲームを作るのは非常に楽しいのですが、
普段の金になる業務よりも格段に難しいので、
くれぐれも時間は大切にしてください。
22デフォルトの名無しさん:01/10/03 06:42
>>17
まあ、探索法というのは勉強すればどうとでもなるとして、
問題は評価関数をどう組むかだよね。
統計的な知識も必要だし、パラメータの最適化もせないかんしで。
23デフォルトの名無しさん:01/10/03 06:46
jtyjtyjtyjtyjtyjtyjtyjtyjtyjtyjtyjty
24デフォルトの名無しさん:01/10/03 06:50
>>22
例えば迷路ではゴールまでの距離を評価値にすれば最適なのですが、
オセロなどのゲームでは評価関数が人間でもよくわからない。
こういう場合評価値をより確実にするために評価関数のための探索が必要になります。
つまり探索法と評価関数とは別物ですが互いに絡み合っている。
2517:01/10/03 06:56
探索法の基本アルゴリズムは簡単ですが、
実際には探索法をどのようにするかも評価関数と同じくらい重要です。
オセロなら先手だか後手だかの必勝法はあったはず。
2717:01/10/03 07:03
>>26
必勝法が見つかった時点でそのゲームは終わりですね。面白さ0となります。
ならば最強のロジステロは必勝法を使ってくるわけですか?
そうとは思えません。
28デフォルトの名無しさん:01/10/03 07:07
>>26
必勝法が見つかっているのは連珠だよ。
オセロでは今のところ見つかっていない。
ただ、真面目にオセロを打っている人間の感想には、
白番(後手)有利というものが多い。
29 :01/10/03 07:20
>>25
 ええ、もちろんそのあたりは認識してます。
 ただある程度まともな評価関数を組まないと、「弱い」プログラム
もつくれないだろうなぁ、と思ったもので。
AI知らんのだけど定石とかは使わないの?
31 :01/10/03 07:27
>>22
 えっと、評価関数のための探索というのは、TD法みたいな開発段階
でパラメータ最適化とかのためにする探索のことでしょうか? 
32 :01/10/03 07:28
>>30
 序盤では使います。
 ディープブルー(チェス)では、終盤の情報をすべて網羅していたり
もするみたいです。
33 :01/10/03 07:29
すみません
>>31>>24あてです。
34デフォルトの名無しさん:01/10/03 07:35
>>31
違います。
例えば、3手後に角が取れるということがだいたいわかっているとします。
この場合その3手後まで探索したほうがよりよい評価値がえられます。
その場合の探索は通常よりもファジーな探索でいいことが多い。
>32
その場で計算しないで事前に出した最適な手を打つってことかな。
なんかずるい感じがするけど、プロもそうやってるみたいね。
3617:01/10/03 07:43
>>31
説明がいいかげんでしたね。
別の例のほうかいいかもしれません。
白黒の置ける数を数えるとします。
実際には黒番なので白は置けないのですが、置けると仮定して探索し、置ける数を得ます。
こういう感じの評価関数の補助探索です。
37 :01/10/03 08:04
>>34
 この例はいわゆる水平線除去の話でしょうか?
 といいますか、実際に「3手後に角が取られそう」などといった情報
を探索なしにわかることができるのでしょうか?

>>36
 パスした場合も考える、null-moveとかいうやつと考え方は一緒でし
ょうか? この例ですと、あくまで相手の可能手の数を調べるだけで実
際に探索をしているというわけではないと思いますが・・・。
38デフォルトの名無しさん:01/10/03 08:12
>>37
水平線除去と同じことですね。
角がとられそうというのは、ファジーな探索で得た情報とします。
速度優先で正確さを欠いた補助探索をした場合の話しです。

1手分の探索と計算量は大差無いから探索と言っても差し支えないと思うのですが。
39 :01/10/03 08:18
>>38
 水平線のことで考えると、どのようなときに水平線がおこるかは評価関数による
から、水平線の除去をするなら、評価関数と切り離せないという事ですね。
 すみません、理解しました。

 いや、探索法の話でしたので、この話は直接探索法とは関係ないかなと思いまし
たので・・・。
40デフォルトの名無しさん:01/10/03 09:18
ロジステロは、新規局面では幅優先探索で7〜8手、
あとは3年間の学習で得た定石情報を使う。

以上
41本職:01/10/03 10:59
AlphaBetaもしくはその亜流、Transposition Table,
History Heuristic etcその他コンピュータチェスで開発された
探索手法をすべてぶち込んでも多分Logistelloに勝てるものは
そう簡単にはできない。
それに定跡と終盤データベース+読み切りを装備してようやく
スタートラインと思われるが、そのあと、プログラム同士で
対戦させ評価関数や、終盤データベースを自動で作って強く
なるシステム(logistello)を構築しないと難しいと思われる。
が、これはあくまで正攻法であり、logistelloに勝つという
意気込みは素晴らしいし、独自開発でlogistelloに勝てるものが
出来るチャンス無いことも無い。ただしオセロの場合、定跡を外れて
探索をやる局面がゲーム中極端に少ないぞ。
42Delギコ:01/10/03 13:16
   ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜''~(,,゚Д゚) < デザパタでいう所のストラテジーパターンで実装できる!
  UU'UU    \________
 オボエタテノ コトバヲ ツカッテミ田 カッタ ダケ
43Delギコfinal:01/10/03 13:34
評価関数やら探索手法について分かり易く説明してるHP気ボン。
44デフォルトの名無しさん:01/10/03 14:00
>>43

何が分かり易く、だよバカ。本とか論文読め。
45デフォルトの名無しさん:01/10/03 15:35
オセロの必勝法って前ニュースでやってた気がする。
最近見つかったらしいけど詳しくは知らん。
全手解析できたら先手か後手必勝のどっちかだって証明できた気がする
>>46 先手必勝かドローのどっちか
>>47
後手必勝ってこともあると思うけど。
まぁ、オセロならいつかは見付かるとはおもったけどな。
チェスもいつかは出来るとおもう。

囲碁と将棋はどっちが先に終わるかなー。
なんとなく、囲碁のほうが先に解析されそう。
50デフォルトの名無しさん:01/10/03 19:43
> 囲碁と将棋はどっちが先に終わるかなー。
> なんとなく、囲碁のほうが先に解析されそう。

んなこたぁない
http://plaza9.mbn.or.jp/~sugis/uro/column/1.html
51デフォルトの名無しさん:01/10/03 19:42
必勝法みつかったの?
じゃ、ルール改正して盤を10x10に変更だな。
5217:01/10/03 20:01
>>49
将棋と囲碁をやったこと無い人は変な誤解をしているみたいですね。
将棋プロ、囲碁のプロの
目から見れば現在最強プログラムは赤子同然です。本当に弱い。
10年以上はそういう状況が続くと思います。

>>51
同意!俺も考えたよ。
53 :01/10/03 21:41
>>52
 将棋に関してはアマ3段程度と言われてるから、そのうちプロレベルには
なると思います。まあ、トッププロに勝てるようになるには10年くらいはか
かるとは思いますが。
 あと、オセロの研究などでは盤面大きくしたものを使ってやっているとい
う話しを聞いたことがあります。
54デフォルトの名無しさん:01/10/04 00:16
世界最弱のオセロ (絶対相手に勝たせる) ってどうやったらつくれんだろ。
単に評価関数を符合反転すればできるのかな?
55デフォルトの名無しさん:01/10/04 00:21
>>54
YES
56 :01/10/04 00:23
>>54
 まあ、基本的にはそれでいいと思う。

 その話とは少しタイプが違うけど、いかに相手に手を抜いてると思わせないで
相手に勝たせるか(つまり接待)、というような研究もきいたことがある。
 浅く読むといい手だけど、深く読むと悪い手を優先的に打つとかそんな感じで・・。
57デフォルトの名無しさん:01/10/04 00:32
>>56

そうなんだー。
接待ってどうやるのか気になってたんだよ。

ためになるね、このスレ。age。
世界最弱の、っていう発想に笑ったよ

最弱プログラム集めてトーナメントとかおもしろそう
> 世界最弱

オセロならではの発想ですな。
将棋や囲碁だと成り立たないよね。
囲碁で最弱目指すと後手が必ず負けるのかな?
先手の負けに決まってんじゃん。
投了すればいい。
>>60
オセロは打てるところがあればパスできないよね?
囲碁だとパスできるので勝ちそうになったところでパスすれば
絶対勝つことはないと思うけど。
63デフォルトの名無しさん:01/10/04 00:56
囲碁の場合はコミがあるから
先手は1手も打たなければ必ず負けることができる
6460:01/10/04 01:02
囲碁ってパスできるんだっけ?目が奇数だから最後にうったほうが相手
の石全部とって勝っちまうかと思った。
6562:01/10/04 01:20
>>64
パスできないと、セキを崩さないといけなくなるしね…

つか>>61,>>63が結論やね…。
66おせーて:01/10/04 01:41
類似する探索木を重ね合わせて計算量を削減する手法
は何て言いますか?
囲碁ってお互いがパスをした時が終了じゃないの?
>>67
そうだけど?
67が強烈に抜けてる発言をしました。
7067:01/10/04 10:21
わりぃ、7ならべと勘違いした
71デフォルトの名無しさん:01/10/04 20:41
>>66
知らん、というか重ね合わせても計算量は減らないのでは?
重ね合わせるメリットとしては、
木の重なり具合で幹枝のような木の太さが評価できるということかな?
ところで>>1はスレたててどこかへ逝ってしまったのかな?
>>66
メモ化みたいなことを言ってるの?
漏れが接待オセロをするとなると、
クライアントは指定打ちの連続になって(+д+)マズ-
でも、一応はクライアントに勝たせる。(゚д゚)ウマー?

必敗読み+完全読みって、どうよ?
75 :01/10/05 18:19
不確定要素ばかりだけど、
麻雀って思考プログラム存在してるの?
全部イカサマだと思ってるんだけど。
76デフォルトの名無しさん:01/10/05 18:36
脱衣麻雀しかやったことないのか?
>>75
ゲームにいかさまは付き物だ―よ。
ほとんどイカサマだよね。
まれにイカサマでない麻雀もあるよ。七福神麻雀とか・・・
脱衣マージャンでコインいれた瞬間に相手がテンホーってほんとにあるの?
アーケードはたいていイカサマだろうが、
PC用の真面目な麻雀ソフトもあるよう。
昔NECのガイジン(オセロのプログラム作った人)から聞いた話だと、
角の4x4はニューラルネット使って評価してるってさ。
ニューラルネットの学習に時間をかけているそうで。
82デフォルトの名無しさん:01/10/06 19:01
>>1
いるならば登場してくれ。
そして最強にするために何をしているのかを語ってくれ。
>>81
規模はどれくらいの?
>>1
まずは、当人が森田オセロに勝てるようになれや(w
85デフォルトの名無しさん:01/10/07 11:30
全手解析されてるって、DCのリバーシに書いていなかったっけ?
たしか、それでは後手有利だったような?
>>85
全手解析されてて"有利"ってなんだよ。
先手・後手必勝/引分 以外ありえないだろ。解析されてたら。
8785:01/10/07 12:29
>>86
だね、書き方悪かった。
後手の勝ち。
でも、通じたでしょう(汗
88デフォルトの名無しさん:01/10/07 13:10
DCの奴は異常に強いって前にも書いたけど、
本当に強い、ヤフとかの対戦のレベルじゃ話にならん。
ロジステロってのと戦えるの?結構やってみたいんだけど。
89デフォルトの名無しさん:01/10/07 15:26
たしかに、強すぎ。
俺がぬるすぎるせいもあるだろうけど、終盤打てるところが一箇所しか無いときが続いたら、
真っ黒にされた。相手はほかに幾つでも打てるところがあったのに。
これも、学習するらしいけどどこまで行けるんだろう。
90デフォルトの名無しさん:01/10/07 18:58
ある盤面で自分の確定石が何個あるのかを調べるアルゴリズム
を考えているのですが、なかなか思いつきません。
スマートな方法はあるでしょうか?
91デフォルトの名無しさん:01/10/07 19:05
>>88
ロジステロは、世界チャンピオンでも歯が立たないくらいだから・・。
http://cmall.cplaza.ne.jp/ot/v_ot.html
ここで戦えるっぽい。

ロジステロで何をやっているか知りたければ
http://www.neci.nec.com/homepages/mic/log.html
こちらを。
NECなのかーへー
93デフォルトの名無しさん:01/10/07 19:20
>>90
汚いですがどうぞ(C++)
bool SettledPiece(Piece* map,int mmm[100],int from,int to,int dir,int dir2)
{
 if((mmm[from]|dir2)<255)return false;
 if(map[from]==map[to])
  mmm[to] |= (dir+dir2) & mmm[from];
 else if(map[from]==-map[to])
  mmm[to] |= dir & mmm[from];
 else return false;
 if((mmm[to]|dir2)==255)
  return true;//確定および 準確定
 return false;
}
94デフォルトの名無しさん:01/10/07 19:22
void CountSettledPiece(Piece* map,Piece p,int& mines,int& oppos){
 mines=0;
 oppos=0;
 static int mmm[100];
 int z;
 for(z=0;z<100;z++){
  mmm[z]=0;
 }
 for(z=1;z<9;z++) {
  mmm[z+10] |=1+2 +8+16+32 +128;
  mmm[z+80] |=1+2 +8+16+32 +128;
  mmm[z*10+1]|= 2+4+8 +32+64+128;
  mmm[z*10+8]|= 2+4+8 +32+64+128;
 }
 // 1北 2北東 4東 8南東 16南 32南西 64西 128北西
 static Array<int> openlist;
 static Array<int> nextopenlist;
 if(map[11]!=Space)
  openlist.Assertz(11);
 if(map[18]!=Space)
  openlist.Assertz(18);
 if(map[81]!=Space)
  openlist.Assertz(81);
 if(map[88]!=Space)
  openlist.Assertz(88);
 while(openlist.Len()>0)
 {
  for(int i=0;i<openlist.Len();i++)
  {
   z=openlist[i];
   if(mmm[z]==255){
    mmm[z]=511;
    if(map[z]==p)mines++;
    else if(map[z]==-p)oppos++;
   }
   if(SettledPiece(map,mmm,z,z-10,1,16))nextopenlist.Assertz(z-10);
   if(SettledPiece(map,mmm,z,z+10,16,1))nextopenlist.Assertz(z+10);
   if(SettledPiece(map,mmm,z,z-1,64,4))nextopenlist.Assertz(z-1);
   if(SettledPiece(map,mmm,z,z+1,4,64))nextopenlist.Assertz(z+1);
   if(SettledPiece(map,mmm,z,z-9,2,32))nextopenlist.Assertz(z-9);
   if(SettledPiece(map,mmm,z,z+9,32,2))nextopenlist.Assertz(z+9);
   if(SettledPiece(map,mmm,z,z-11,128,8))nextopenlist.Assertz(z-11);
   if(SettledPiece(map,mmm,z,z+11,8,128))nextopenlist.Assertz(z+11);
  }
  openlist.Clear();
  openlist.Append(nextopenlist);
  nextopenlist.Clear();
 }
}
95デフォルトの名無しさん:01/10/07 19:30
void CountSettledPiece(Piece* map,Piece p,int& mines,int& oppos){
は確定石の数を数える関数です。局面が複雑になると数え間違いますので悪しからず。
mapは盤面(点(x,y)はmap[x+y*10])
pは色 0無 1黒 -1白 2枠
minesはpの確定石
opposは-pの確定石
英語がおかしいのは昔作ったため。
96デフォルトの名無しさん:01/10/07 19:38
Piece型 Space=0,Black=1,White=-1,Border=2
Array<int> aは自作した一次元配列
a.Assertz()は末尾に追加
a.Clear()は全消去
a.Append()は他の配列を末尾追加
97デフォルトの名無しさん:01/10/07 19:42
>>90
アルゴリズムのヒント
確定の定義
・壁(盤外)は確定している。
・隣り合う石(壁)が3方向について確定している場合。
9893:01/10/07 19:52
ただしこれは盤面が変化する度に計算し直す必要があるので
スマートとはいえません。
99デフォルトの名無しさん:01/10/07 20:13
実際には辺の確定石だけ数えれば十分でしょう。
10093:01/10/07 20:15
ですね。計算時間も馬鹿にならないですし
101デフォルトの名無しさん:01/10/07 20:18
オセロの盤面評価の項目(序盤〜中盤)

・確定石の多さ
・相手が石を打てる場所の数の少なさ
・自分が石を打てる場所の数の多さ
102101:01/10/07 20:24
あと、盤面の各場所に点数を付けておいてその合計とか。
角の隣はマイナス、角の2つ隣はプラス・・・etc
10393:01/10/07 20:26
ですね。
それでやっと普通の人を超えるくらいの強さになると思います。
104デフォルトの名無しさん:01/10/07 22:17
>>97
訂正
確定の定義
・壁(盤外)は確定している。
・8方向のうち4方向(互いに傾きが異なる)について隣り合う石(壁)が確定している場合に確定
そこら辺になると、プログラム組んでる
自分の方が弱くなっちゃうんだよな(^^;


作者の強いオセロプログラムは、強い。
10693:01/10/07 22:51
>>104
うわ、これも間違っている、黒白あることを忘れている。
昔作った関数なんで、すっかり忘れてしまっていた。
>>105
そうそう。
108デフォルトの名無しさん:01/10/07 23:08
私も同様のアイディアによって評価関数を作りました。
このような評価関数のパラメータうまく調整してもどうしても超えられない壁にぶつかります。
世界最強を目指すには
さらに壁を何個か破る必要があります。
109デフォルトの名無しさん:01/10/07 23:23
ダウンロードできる最強オセロプログラムっていったら、WZebraかな?
これより強いプログラムにあったことない。(あくまでダウンロードできるもので)
自信ある人はWZebraと対戦してみて。まじで強いから。

まぁ難点をあげるとすれば、英語でプログラム容量が大きいってことぐらいか・・・
110デフォルトの名無しさん:01/10/08 00:26
ロジステロレベル1に勝ったぞ!
111デフォルトの名無しさん:01/10/08 14:47
htp://www.iris.dti.ne.jp/~yukinobu/othello/program.htm
ここで、森田の最強リバースと他プログラムの対戦がありました。
森田すげー!と思っていた自分にはちょっとショックです。
112デフォルトの名無しさん:01/10/08 14:55
>110
棋譜出せ
113宇都田 篠夫:01/10/08 14:56
オセロって単純だから、ありとあらゆる場合の版上のデータと必勝パターンへのポインタみたいなデータを持つだけで最強になれませんか?
>>113
そりゃ、すべて解析できて、すべてのデータ保持できれば最強になります。
115デフォルトの名無しさん:01/10/08 18:58
>>114
しかもそれを言っていたら将棋だってチェスだってそうなってしまうよね。
ほとんど不可能だけど。出来るとしたら何年後だろう・・・
116 :01/10/08 19:00
MasterHandに全然勝てない・・・。有段者への道は遠い
117宇都田 篠夫:01/10/08 19:14
>>115
チェスは割と簡単にできませんか?将棋は…どれくらいのパターンになるんだろう…。
でもこの調子で計算機のメモリーが増えつづければ……。
正解ルートへのデータ集積が大変っスね。

でもオセロだと大したデータ量じゃなくないですか?8x8のセルがそれぞれ3つの状態をとるんだから…。
あれ、計算式がわからない…厨房でゴメソ。
>>117
8x8のセルがそれぞれ3つの状態をとる時、状態の数は
3^(8*8) で約10^30
ですね。まあ、起こりうる局面というのはもっと少ないだろうけど。
ちなみに、ひとつの局面と必勝手の記憶に、
8*8*log(3)+log(64)(一手の記憶) (底は2) で、まあ、100ビットくらい
かかるとしてこrを3^(8*8)分記憶しようとすると・・・
CDが6×10^22枚分の情報が必要になります。
>>118
って、読み返して恥ずかしくなったので修正。
1対1に対応するハッシュ関数用意すれば、必勝手だけを記憶すれば
いいですね。ですのでひとつの局面あたりlog(64)=6ビットくらいと
いうことでここはひとつ。
いずれにしろ天文学的な情報量です。
120宇都田 篠夫:01/10/08 20:28
あぁ、まじめに計算すると結構な量のデータですね…なんか感覚的に1Gくらいに収まりそうな気がしたんだけど。
でもオセロの局面ってある部分を上と考えて、四方向にひっくりかえす(説明下手でゴメンナサイ)事ができませんか?
さらに白と黒については完全に反転したデータを同一データと見なせる気がするんですが…。

でもやっぱり計算式思いつかないので厨房sage
>>120
いや、できるけど、それでも1/8にしかならない。
122デフォルトの名無しさん:01/10/08 21:25
囲碁や将棋の全手解析は不可能だと思う
宇宙の素粒子の数って3の361乗よりは少ないんじゃない?
>>117
宇宙の星の数より多いといわれています。
コンビネーションで計算しましょう。
124123:01/10/08 21:32
↑将棋の話しね。
オセロは3の64乗
125123:01/10/08 21:41
3^64≒1000000000000000000000000000000
宇宙全体の陽子の数は 10^80 らしいよ。
サイバーエデュティメントモールって何?
レベル1飽きちゃったよー
もしかして金要るの?
昼飯のスパゲティナポリタンを眺めながら、積年の疑問を考えていた。
それは「なぜナポリタンは赤いのだろうか」という問いである。
簡単に見えて、奥の深い問題だ。

「赤いから赤いのだ」などとトートロジーを並べて悦に入る浅薄な人間もいるが、
それは思考停止に他ならず、知性の敗北以外なにものでもない。

「赤方偏移」という現象がある。
宇宙空間において、地球から高速に遠ざかる天体ほどドップラー効果により、
そのスペクトル線が赤色の方に遷移するという現象である。
つまり、本来のナポリタンが何色であろうとも、ナポリタンが我々から
高速で遠ざかっているとすれば、毒々しく赤く見えるはずなのだ。

目の前のナポリタンは高速で動いているか否か?
それはナポリタンの反対側に回ってみることでわかる。
運動の逆方向から観察することで、スペクトルは青方遷移し、
青く見えるはずなのだ。

逆に回ってみたところ、ナポリタンは赤かった。
よってこのナポリタンは高速移動をしていないと言える。
>>129
それを言うなら「赤方偏移」ではあるまいか…
しかも、赤の反対は紫ではあるまいか…
131馬鹿:01/10/11 02:16
>>129
常に自分から高速に遠ざかっていると仮定したらどうだろう?
ここで、そんな事はあり得ないと思うのは 只の思考停止でしかない。

そこで、自分の手でナポリタンを持ってみる。
自分の手の長さは有限だと言う仮定の下で有れば、
それが遠ざかって居ないと言える。

次に、光のドップラー効果が起きる状態を、
光の波が引き延ばされる事による波長変化だと
仮定してみる。

その場合、ナポリタンから発せられた光が、
自分とは反対側へ引っ張られている可能性が有る。

ここまで考え、自分は光に嫌われていると言う結論を出し、
私は、冷めかけたナポリタンをほおばることにした。
森田将棋の作者は何年か前に、
30年以内じゃオセロの必勝方法(全手解析)を調べるのは
できないと言っていた(6*6マスのオセロは一日で解けたそうだけど)。
でも不可能じゃなさそうだね。

どうせ作るなら、オセロじゃなくて将棋やチェスを希望(お金にもなるだろうし)。
13385:01/10/12 13:02
激しくごめん。>ALL
全解析は勘違いだった。
>>132の言うとおり(6x6)でした。
ちなみに、白必勝。
鬱です、逝きます。
メンテsage
左上から順番に置けるところを探して、
みつかったら置いていくというアルゴリズムのオセロに
あっさり負けてしまう私でも強いオセロはつくれますか?
>>135
うーん、じぶんより強いのはつくれると思う。
137デフォルトの名無しさん:01/11/05 18:26
昔ベーマガに載ってたPC-6001用オセロのプログラムは、
マスごとに評価値が設定されていて、>>135 でいう
左上の代りに評価値の高い位置から置ける場所を探す、
というアルゴリズムでした。

やってみたら負けました…。
138デフォルトの名無しさん:01/11/05 18:43
森田将棋の作者が書いた
「思考ゲームプログラミング」って本、呼んだ人いる?
内容はどんな感じ、絶版で手に入らないだよね。
自作プログラムでLv1に勝ちました。
でも、布石ナイヤ・・・
もう一度やって来ます
140デフォルトの名無しさん:01/11/05 19:55
>>138
オセロのコツ、
一般的な思考ゲームの考え方、
ミニマックス法、アルファ-ベータ法など基礎的な探索の方法、
森田オセロで採用してる横型探索の方法、
森田オセロver6.1の全ソース
など。

初めて読んだときは感銘を受けました。
とくにオセロのコツは、普通の書店で手に入るオセロの解説本より、簡潔で深いです。
ロジステロLv1 先行 自作プログラム 後攻
0,0左上 7,7右下
BLACK x = 2 y = 3
WHITE x = 2 y = 2
BLACK x = 3 y = 2
WHITE x = 4 y = 2
BLACK x = 5 y = 2
WHITE x = 3 y = 5
BLACK x = 2 y = 5
WHITE x = 5 y = 3
BLACK x = 5 y = 4
WHITE x = 4 y = 5
BLACK x = 5 y = 5
WHITE x = 6 y = 3
BLACK x = 7 y = 2
WHITE x = 5 y = 1
BLACK x = 5 y = 0
WHITE x = 1 y = 3
BLACK x = 2 y = 4
WHITE x = 4 y = 1
BLACK x = 0 y = 2
WHITE x = 1 y = 4
BLACK x = 0 y = 5
WHITE x = 1 y = 2
BLACK x = 1 y = 5
WHITE x = 3 y = 1
BLACK x = 2 y = 0
WHITE x = 0 y = 3
BLACK x = 0 y = 4
WHITE x = 6 y = 4
BLACK x = 7 y = 5
WHITE x = 4 y = 0
BLACK x = 2 y = 1
WHITE x = 3 y = 0
BLACK x = 6 y = 5
WHITE x = 7 y = 3
BLACK x = 6 y = 2
WHITE x = 7 y = 4
142141:01/11/05 20:15
BLACK x = 6 y = 1
WHITE x = 0 y = 1
BLACK x = 0 y = 0
WHITE x = 1 y = 0
BLACK x = 1 y = 1
WHITE x = 7 y = 0
BLACK x = 6 y = 0
WHITE x = 7 y = 1
WHITE x = 7 y = 6
BLACK x = 6 y = 6
WHITE x = 5 y = 7
BLACK x = 7 y = 7
WHITE x = 1 y = 6
BLACK x = 0 y = 7
WHITE x = 1 y = 7
BLACK x = 2 y = 7
WHITE x = 2 y = 6
BLACK x = 0 y = 6
WHITE x = 4 y = 6
BLACK x = 3 y = 7
WHITE x = 6 y = 7
BLACK x = 3 y = 6
WHITE x = 5 y = 6
BLACK x = 4 y = 7

こんなかんじですた
>>141-142
棋譜より最終的な盤の状態を見たい。○と●を使ってさ。
テンプレ

┏━━━━━━━━┓
┃********┃
┃********┃
┃********┃
┃***●○***┃
┃***○●***┃
┃********┃
┃********┃
┃********┃
┗━━━━━━━━┛
まぁ、最強はオレだけどな。
じゃ、俺とオセロで勝負だ
147デフォルトの名無しさん:01/12/03 19:08
森田著の「思考ゲームプログラミング」を手にいれる方法はありませんか?
販売もとのアスキーで検索しても、古本屋の検索を利用しても見当たりません。
絶版みたいだし。
148デフォルトの名無しさん:01/12/05 22:45
ttp://www.lcv.ne.jp/~hhase/asobi/game/gamepzl.html
『一方で昨年でしたかオセロゲームがコンピュータを使って完全に調べ尽くされたそうです。
とはいえ大部分の人にとって、オセロゲームはゲームとして成立する、
つまり「先手が勝つに決まっているんだからばかばかしくてやってられない」
などということはありません。 』

ようやくここまで見つけたけど、ソースが見つからない。
先手必勝なの?
オセロはまだ解明されてない。
このソースは大嘘だ。
6x6オセロなら白の4目勝ちだったか・・・?とにかく白が勝つ。
オセロは偶数理論(最後に置ける後手が有利)が働くようなので
8x8でも白番が勝ちやすいそうだ。ロジステロ同士の対戦では。
151デフォルトの名無しさん:01/12/05 23:11
北島秀樹って人が作ったオセロでマスターハンドって強いらしいけど。
ttp://www.kiwi-us.com/~hkitajim//othello.html
>>151
本人様ご登場sage
153151:01/12/06 00:28
>>152
事実なので違うと言っておく。
PC9801時代のフリーウェア本にこの人のが載ってたのを思い出して
本から名前を調べてサイトを検索してみたわけよ。
154:01/12/06 01:26
┏━━━━━━━━┓
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□○●□□□┃
┃□□□●○□□□┃
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□□□□□□┃
┗━━━━━━━━┛
┏━━━━━━━━┓
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□○●□□□┃
┃□□□●●●□□┃
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□□□□□□┃
┗━━━━━━━━┛
否定しても事実は分からない。
宣伝ぐらい許してやれ。
このスレは
一手つづオセロをやるスレになりました
┏━━━━━━━━┓
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□○●□□□┃
┃□□□●●●□□┃
┃□□□□□□□□┃
┃□□□□□□○□┃
┃□□□□□□□□┃
┗━━━━━━━━┛
┏━━━━━━━━┓
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□○●□□□┃
┃□□□●●●□□┃
┃□□□□□□□□┃
┃□□□□□□○□┃
┃□□□□□□□●┃
┗━━━━━━━━┛
160デフォルトの名無しさん:01/12/06 03:07
┏━━━━━━━━┓
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□○●□□□┃
┃□□□●●●□□┃
┃□□□□□□□□┃
┃□□□□□□○□┃
┃□□□□□□□○┃
┗━━━━━━━━○
┏━━━━━━━━┓
┃□□□□□□□□┃
┃□□□飛□□□□┃
┃□□□□□□□□┃
┃□□□○●□□□┃
┃□□□●●●□□┃
┃□□□□□□□□┃
┃□□□□□□○□┃
┃□□□□□□□○┃
┗━━━━━━━━○
┏━━━━━━━━┓
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□龍●□□□┃
┃□□□●●●□□┃
┃□□□□□□□□┃
┃□□□□□□○□┃
┃□□□□□□□○┃
┗━━━━━━━━○
┏━━━━━━━━┓
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□□□□□□┃
┃□□□龍●□□□┃
┃□□□●□●□□┃
┃□□□□□□□□┃
┃□□□□□□○□┃
┃□□□□●□□○┃
┗━━━━━━━━○
>>163
ルールのないゲームはつまらない。
┏━━━━━━━━┓
┃□□□□□□□□┃
┃□西□□□□□□┃
┃□□□□□□□□┃
┃□□□龍●□□□┃
┃□□□●□●□□┃
┃□□□□□□□□┃
┃□□□□□□○□┃
┃□□□□●□□○┃
┗━━━━━━━━○
┏━━━━━━━━┓
┃□□□□□□□□┃
┃□西□□    ┃
┃□□□□□□□□┃
┃□□□龍●□□□┃
┃□□□●□●□□┃
┃□□□□□□□□┃
┃□□□□□□○□┃
┃□□□□●□□○┃ ■□□■
┗━━━━━━━━○
167横倒し:01/12/06 05:09
         ┏━━━━━━━━┓
         ┃□□□□□□□□┃
         ┃□□□□□□西□┃
         ┃□□□□□□□□┃
         ┃□□□●龍□□□┃
         ┃●□□□●□ □┃
         ┃□□□●□□ □┃
         ┃□○□□□□ □┃
         ┃○□□□□□ □┃
         ○━━━━━━━━┛
          ■
          □
          □
          ■
         ┏━━━━━━━━┓
         ┃□□□□□□ □┃
         ┃□□□□□□ □┃
         ┃□□□□□□ □┃
         ┃□□□●龍□ □┃
         ┃●□□□●□□□┃
         ┃□□□●□□西□┃
         ┃□○□□□□□□┃
         ┃○□□□□□□□┃
         ○━━━━━━━━┛
          ■
          □
          □
          ■
         ┏━━━━━━━━┓
         ┃□□□□□□ □┃
         ┃□□□□□□ □┃
         ┃□□□□□□ □┃
         ┃ □□□●龍□□┃
         ┃●□□□●□□□┃
         ┃□□□●□□西□┃
         ┃□○□□□□□□┃
         ┃○□□□□□□□┃
         ○━━━━━━━━┛
          ■
          □
          □
          ■
          □
          □
          □
         ┏━━━━━━━━┓
         ┃●□□□□□ □┃
         ┃□□□□□□ □┃
         ┃□□□□□□ □┃
         ┃○□□□●龍□□┃
         ┃■□□□●□□□┃
         ┃□□□●□□西□┃
         ┃□○□□□□□□┃
         ┃■□□□□□□□┃
         ○━━━━━━━━┛
┏━━━━━━━━┓
┃●□□□□□□□┃
┃□□□□□□□□┃
┃□□□□□□□□┃
┃○□□□●龍□□┃
┃■□□□●□□□┃
┃□□□●□□西□┃
┃□○□□□□□□┃
┃■□□□□□□□┃
○━━━━━━━━┛
1721:01/12/06 09:47
┏━━━━━━━━┓
┃●□□□□□□□┃
┃□□□□□□□□┃
┃ミ ゚Д゚彡□□□┃
┃○□□□●龍□□┃
┃■□□□●□□□┃
┃□□□●□□西□┃
┃□○□□□□□□┃
┃■□□□□□□□┃
○━━━━━━━━┛
173デフォルトの名無しさん:01/12/06 12:47
┏━━━━━━━━┓
┃●□□□□□□□┃
┃ミ ゚Д゚彡ミ ゚Д゚彡□┃
┃ミ ゚Д゚彡ミ ゚Д゚彡□┃
┃○□□□●龍□□┃
┃■□□□●□□□┃
┃□□□●□□西□┃
┃□○□□□□□□┃
┃■□□□□□□□┃
○━━━━━━━━┛
174デフォルトの名無しさん:01/12/06 12:48
┏━━━━━━━━┓
┃●ミ ゚Д゚彡ミ ゚Д゚彡┃
┃ミ ゚Д゚彡ミ ゚Д゚彡□┃
┃ミ ゚Д゚彡ミ ゚Д゚彡□┃
┃○□□□●龍□□┃
┃ミ ゚Д゚彡ミ ゚Д゚彡□┃
┃□□□●□□西□┃
┃□ミ ゚Д゚彡ミ ゚Д゚彡┃
┃■ミ ゚Д゚彡ミ ゚Д゚彡┃
○━━━━━━━━┛
  ∧ ∧
  ミ,,・Д・彡
〜ミ___ 彡  
やめれ。コピペ荒らしと変わらんぞ。
久々に来たらまだこのスレ生きていた。

>>158-174
ワラタごくろうさん。
ちょっとルール変えればロジステロが日頃蓄積しているデータも役にたたない。
そういう意味で変則オセロって、最強への近道だと思う。
178void:02/01/06 18:08
ageg
オセロなら漏れが最強。