ぷよぷよで強いAIってどうすんの?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2012/05/12(土) 21:20:32.67例えば4連鎖あたりでぷよをなかなか消すことが出来なくなり
たまにおじゃまぷよを送ってやるだけで楽に勝てる
塊を積み重ねていくやり方だと運要素も強くなってくるし
0002デフォルトの名無しさん
2012/05/12(土) 21:50:21.290003デフォルトの名無しさん
2012/05/12(土) 23:42:34.19ゲーム開始時に決定していれば良い。
0004デフォルトの名無しさん
2012/05/13(日) 00:03:16.02最近のシリーズは知らないけど、初代は本当にそうだったよ。
0005デフォルトの名無しさん
2012/05/13(日) 00:40:17.89囲碁や将棋と違って、それほど難しくはないと思うが。
ゲームのAIって、どちらかと言えば思考法そのものよりも、
1フレーム内に決定できない思考をさせる場合に、
思考を継続するためのデータ構造や継続方法を考える方が難しくない?
0006デフォルトの名無しさん
2012/05/13(日) 02:53:14.08言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0007デフォルトの名無しさん
2012/05/13(日) 03:41:09.920008デフォルトの名無しさん
2012/05/13(日) 12:14:59.53ヒント:目の前の勝利(その時点の最善手、途中の優先度)ではなく、最終的
な勝利を確定するアルゴリズムにしろ。
先読みするのではなく、先を縛れ落とし込め。
敵が強いほど相手の行動を縛るのが簡単だと気が付いたとき
本当の意味が理解できるだろう。
まあその前に敵が弱い相手なら通常の定石や技術に沿った合理的な方法こそ
最高だと知っている前提はある。
0009デフォルトの名無しさん
2012/05/13(日) 12:29:30.75とこぷよとは違うんですよ
消える間の時間差が実際重要だしな
0010デフォルトの名無しさん
2012/05/13(日) 13:40:11.06というか常に先に出して自分に有利なぷよで確定させてしまえばいい
0011デフォルトの名無しさん
2012/05/13(日) 13:56:47.14> 出すぷよをちょろまかせば
すぐばれるよ
0012デフォルトの名無しさん
2012/05/13(日) 14:31:53.98ttp://sengiken.web.fc2.com/html/AI/vsAI201205.html
0013デフォルトの名無しさん
2012/05/13(日) 15:47:58.10!> 存在を検索するのはできるでしょう。
!鍵がわからなけりゃ検出できないでしょ。
!実際、今のところ誰もそれを公表できてないし
そう思いたいよな。無線LANも最後の砦がAESだけみたいな状態だし
DVDもBDもあっというまだったわけで。
過信しすぎてないか?
0014デフォルトの名無しさん
2012/05/13(日) 16:27:10.100015デフォルトの名無しさん
2012/05/14(月) 07:26:04.660016デフォルトの名無しさん
2012/05/14(月) 12:39:02.72その方法の疑似プログラムやフローチャートですら示せないの?
そんなんで提案する意味あんの?
0017デフォルトの名無しさん
2012/05/14(月) 14:47:18.42お願いします><
0018デフォルトの名無しさん
2012/05/14(月) 19:03:39.94悪いが俺自身は
疑似プログラムやフローチャートですら示せない人間なんで、
そんな俺が提案する意味は全くこっぽっちも無いと断言できる
0019デフォルトの名無しさん
2012/05/15(火) 15:57:01.59誇らしげにそんな事を言う奴がこの板で何やってんだ
0020デフォルトの名無しさん
2012/05/15(火) 18:29:01.93決まってるだろ?
不まじめに対応するんだよ?
0021デフォルトの名無しさん
2012/05/15(火) 19:04:16.06プログラムを書くよう皆に促している
0022デフォルトの名無しさん
2012/05/16(水) 01:38:16.38プログラムなど素人でも書ける、
習得した奴がプログラムを作りたいが何も作れないという状況が
物語るわけな。
つまり設計も仕組みの創作もできない物がコード化する技術を学んでも
何もできない。
0023デフォルトの名無しさん
2012/05/16(水) 04:32:27.87敵の3列目を7段目まで積ませたいんだが中々上手くいかない
0024デフォルトの名無しさん
2012/05/18(金) 12:30:17.39手続き型でつくるなら下みたいな構造だと思うんだがどうかな
自動でゲーム開始させる|
↓
フィールドやぷよや連鎖状態など必要な情報を読み込む←---------|
↓ |
あつめた情報からどこにおくか決める←ここにAI実装 |
↓ |
その場所におくように自動で操作する |
↓ |
勝敗が付いたか調べる-----(勝敗がついていない)--------------|
↓
ゲーム終わり
連鎖wikiってぷよAIのページ見たんだけどフィールド上に今のぷよ、ネクスト、ネクストネクストから読める全パターン読んでそのひとつひとつに評価関数計算して割り出すみたいだね
3手先まで読むと通常22*22*22の10648通りもあるらしい。
まあ将棋や囲碁と違ってぷよの場合置く場所決めるのに時間かかっちゃいけないだろうから(積む速度遅くて負けるだろうから)すべての手読む前に枝切りやアルゴリズムの工夫が必要だろうね。
0025デフォルトの名無しさん
2012/05/18(金) 14:58:23.60多分AIで評価関数計算する辺りから速度で問題でてくるだろうがまあ試作作るにはちょうどいいだろう
画面から色とか画像認識させるの手軽だし
まあそこまでいったら真剣に言語選ぼう
0026デフォルトの名無しさん
2012/05/18(金) 14:58:31.33暴発は計算で取りのぞけるし
対人戦の発火タイミングとか考えるとすごく難しそうだ
0027デフォルトの名無しさん
2012/05/18(金) 20:57:22.59どうしたらいいんだろう
0028デフォルトの名無しさん
2012/05/18(金) 20:58:22.310029デフォルトの名無しさん
2012/05/19(土) 18:41:12.840030デフォルトの名無しさん
2012/05/20(日) 16:47:14.35誰か頼む
0031デフォルトの名無しさん
2012/05/20(日) 19:25:02.420032デフォルトの名無しさん
2012/05/20(日) 23:03:11.41どうしてそんなこといえんの?
じゃあトップダウンならつくれんの?
0033100%
2012/05/21(月) 09:52:47.75設計というのはトップダウンからの設計も同時に必須だってこと。
何故?
トップダウン設計が100%できない奴がほぼ100%だから。
0034デフォルトの名無しさん
2012/05/21(月) 12:28:52.13まるで理解できん
面白いテーマだと思うけど伸びないね
建設的な提案ができないのがなんとも
0035デフォルトの名無しさん
2012/05/21(月) 12:44:07.77それについて改善点はあるかとか、この考え方は巧いなとか、
そういう議論はできると思う。
しかし、そういうのがない状態で、
ここで何かぷよぷよAIについて提案することは非常に難しいと思う。
たいていは設計の一部だけ考えて提案してもあまり意味が無いが、
ぷよぷよAIの場合、意味のある一塊を提案するとなると、
かなり大きなものになるような気がする。
数レスくらいで提案できるように無理にコンパクトにしても、
今度はあまりに抽象的になって具体性に乏しいものになってしまうと思う。
と、提案できない言い訳を考えてみた。
0036デフォルトの名無しさん
2012/05/21(月) 12:48:40.24http://www.jaist.ac.jp/is/labs/ikeda-lab/poje/
0037デフォルトの名無しさん
2012/05/21(月) 15:02:08.91正論だな
でもこの板で強いAIを作れていったらすごく面白そう
ちなみに>>34で提案ができない〜と書いたのは自分の力量不足を嘆いたもので
他の人を貶める意図があったわけじゃないよ
0038デフォルトの名無しさん
2012/05/21(月) 16:12:27.84>36は切り口を明らかにしている分だけ取っ掛かり易いけどねぇ。
0039デフォルトの名無しさん
2012/05/22(火) 08:41:43.84そんなデータどっからもってきたの?
おまえの勝手な思い込みだろ?
0040デフォルトの名無しさん
2012/05/22(火) 15:57:42.660041デフォルトの名無しさん
2012/05/25(金) 11:53:53.580042デフォルトの名無しさん
2012/05/25(金) 23:51:54.56すべてのパターン読んでそれぞれに評価関数計算して一番高いのを選ぶんでしょ?
でもその実装がうまくできないってのがおまえらなんでしょ?
0043デフォルトの名無しさん
2012/05/25(金) 23:57:37.81作ってもソース公開するメリットなんてないからな
おまえらの意見なんか参考にもならんと思うんだけど
おまえらプログラム自体ソース読めないゴミでしょ?
0044デフォルトの名無しさん
2012/05/26(土) 00:00:50.31理解できないのはおまえが頭悪いからじゃね
トップダウンとボトムアップくらいいみわかんなきゃやばいだろ
0045デフォルトの名無しさん
2012/05/26(土) 00:54:00.59問題になってるのは実装ではなく、その評価関数計算をどうするか、だと思うが。
どういう状況の時に、次の手がどれだけあって、
それぞれの手に何点付けるのが強いAIと言えるのか。
例えば・・・
相手にちまちまとおじゃまぷよを送れる状況を作る方が評価が高いのか、
それとも、一発の大きな連鎖を組める状況を作る方が評価が高いのか。
今は高く積もっている所でぷよを回して時間を稼ぎ相手の出方を見る方がいいのか、
それとも、多少ゴミになってもさっさと落とした方がいいのか。
0046デフォルトの名無しさん
2012/05/26(土) 10:55:15.14アイディアあるのに全然実現できてないじゃんてことじゃね
0047デフォルトの名無しさん
2012/05/26(土) 14:09:41.37アイデア(できる、やればできる)→中間→中間→中間→中間→中間→コード
プログラム書けない以前にアイデアが妄想すぎる。
機能仕様:平均的人間と同じ動作をすること以上
これでは無理。
>>44
一般的なPGはボトムアップしかできない。
0048デフォルトの名無しさん
2012/05/26(土) 21:54:24.52普通に頭の使い方を知っている人間はプログラムをかけなくてもトップダウン思考ができる。
つまり、一般的なPGとやらはプログラムを書けるという一点以外は何の取柄もないんだな。
0049デフォルトの名無しさん
2012/05/27(日) 01:11:29.41ボトムアップでプログラム作るってどういうことか説明して
0050デフォルトの名無しさん
2012/05/27(日) 07:10:38.42ターン制のぷよぷよだけど
0051デフォルトの名無しさん
2012/05/27(日) 09:37:30.40はいはい、ステマステマ
0052デフォルトの名無しさん
2012/05/29(火) 22:23:29.210053デフォルトの名無しさん
2012/05/30(水) 07:59:53.76ただたくさん連結多くしてもだめなんだなって思った
0054デフォルトの名無しさん
2012/05/30(水) 20:46:29.09俺ならできると思ってとりあえず作ったら難しくて挫折した
0055デフォルトの名無しさん
2012/05/31(木) 00:08:42.17俺はそこらの馬鹿じゃねーからできるだろうと思って作ったけど難しくて挫折した
0056デフォルトの名無しさん
2012/06/01(金) 02:53:30.530057デフォルトの名無しさん
2012/06/01(金) 13:06:35.33もう10年以上知識集めているが、毎年挫折を感じる
0058デフォルトの名無しさん
2012/06/01(金) 20:30:01.95クラでつくったの?
あと何言語か教えて
0059デフォルトの名無しさん
2012/06/02(土) 00:25:04.44クラだよ
言語はC++
クラの画面読み込んでフィールドとかツモとかスコアとか読み取る
んで、これらを材料にしてAI実装するだけの単純な作り
0060デフォルトの名無しさん
2012/06/02(土) 12:12:15.99ぷよを認識するのってテンプレートマッチングでやった?
落ちてるぷよを認識するとこで躓いてるんだけどなんかいい方法ある?
0061デフォルトの名無しさん
2012/06/02(土) 13:19:07.33そんなたいそうっぽい技術じゃないよ、難しく考えすぎではw
まずゲームのウィンドウの左上の位置を読み取って基準点にする
ぷよぷよの場合フィールドとかツモの場所とか固定だから、その基準点からのフィールドの位置を指定してマスの色を点で読み込むだけ
画面の色読み取るライブラリとかはたくさんあるっしょ
フィールドだと13(縦)*6(横)*2(自分と相手)ととかあとツモの色とかもろもろ読み込んでも1msもかからんよ
0062デフォルトの名無しさん
2012/06/02(土) 13:26:04.460063デフォルトの名無しさん
2012/06/08(金) 09:42:54.380064デフォルトの名無しさん
2012/06/08(金) 12:44:57.88固定されたフォントで決められたサイズや位置の数字だけを読み取るのだから、
それほど難しいものでもない
(可変サイズでも倍率計算でいいと思う)
数字1文字に対して数カ所の点のピクセル値を調べれば済むんじゃないかな
0065デフォルトの名無しさん
2012/06/08(金) 13:03:59.62そうすれば色とるのが一点で済むし対戦時も点数がわかる
0066デフォルトの名無しさん
2012/06/08(金) 16:27:10.170067デフォルトの名無しさん
2012/06/08(金) 23:27:31.02AI「あなたがセカンド7連鎖を打つ確率75%。しかし2連鎖分足りない。」
0068デフォルトの名無しさん
2012/06/09(土) 00:39:12.120069デフォルトの名無しさん
2012/06/10(日) 09:47:13.78落ちてるぷよについて聞いてると思うんだが
それだと落ちてるぷよ読み込めない気が
0070デフォルトの名無しさん
2012/06/10(日) 17:04:29.54てこともないけど そんな簡単なとこでつまづくなよw
0071デフォルトの名無しさん
2012/06/10(日) 17:16:39.02的を絞って質問してくれないと、どんなアドバイスができるか考える事もできん
0072デフォルトの名無しさん
2012/06/10(日) 19:00:06.22>>71
だったら具体的な方法1つでいいからあげて教えてよ
どんなんでもいいから
0073デフォルトの名無しさん
2012/06/10(日) 19:14:56.28すでに >>61 で挙っている。
その方法で落ちてくるぷよを認識できない
問題点をもっと具体的に指摘してくれ。
それに対処する方法を私が知っている、
あるいは考案できたらちゃんとアドバイスする。
何の問題点をどう対処するのかも分らないまま方法を提案することなど、
私にはできない。
0074デフォルトの名無しさん
2012/06/10(日) 21:28:12.15落ちてるぷよって変化してるんだからあらかじめ決めておいたポイントの読み込みじゃ無理でしょって
それできいてるんですよ?わかります?
0075デフォルトの名無しさん
2012/06/10(日) 21:38:48.70フィールドの全マスを調べればいいのでは?
ぷよってピクセル段位じゃなくてマス単位で落ちてくるから、
調べるのもそれほど難しくないと思うが。
0076デフォルトの名無しさん
2012/06/10(日) 21:55:20.71おまえのものすごい勘違いを是正してやってもいいが態度が気に食わない
0077デフォルトの名無しさん
2012/06/11(月) 04:06:16.53色はネクストから分かるし
ネクスト出てから設置までの操作は場にあるぷよに依存する
人間なら落ちているぷよはほとんど見ないよ
0078デフォルトの名無しさん
2012/06/11(月) 09:43:00.93しばらく悩ませておけばいいのに
優しいな
0079デフォルトの名無しさん
2012/06/11(月) 12:53:12.560080デフォルトの名無しさん
2012/06/11(月) 14:59:53.080081デフォルトの名無しさん
2012/06/12(火) 00:40:34.380082デフォルトの名無しさん
2012/06/14(木) 11:19:16.20AIに関する考えはあるんだけどプログラミングができないから強いのかわからない
誰か一緒に考えようぜ
0083デフォルトの名無しさん
2012/06/14(木) 20:57:01.59念能力をつけて、凝で見抜け。
0084デフォルトの名無しさん
2012/06/15(金) 00:07:22.220085デフォルトの名無しさん
2012/06/18(月) 13:43:58.49ただ動かしてる分には平気だと思うけど公開するのはやめといたほうがいいかな
以前「ぷよぷよ」って名前出してプログラム公開してたところに警告送ってるあたり
そういうのに厳しいイメージがあるんだけど
0086デフォルトの名無しさん
2012/06/18(月) 15:57:06.25ぷよぷよって名前つかわなきゃ大丈夫
あとSEGAの音楽や画像は一切だめ
ゲーム性が同じものは別に違法にならない
0087デフォルトの名無しさん
2012/06/18(月) 20:25:08.76アルゴリズムはそうなんだけど、いわゆるマクロはどうなのかと思って
普通のネトゲだとマクロツールは禁止してるよね
ぷよぷよのオンライン対戦のときに、こちらのぷよを自動で操作するようなプログラムを作ったときに
それを公開したら怒られるのか気になった
0088デフォルトの名無しさん
2012/06/18(月) 21:19:29.78何故まず初めにセガに訊かない?
公式サイトに問い合わせページがあるだろ
0089デフォルトの名無しさん
2012/06/18(月) 21:55:41.480090デフォルトの名無しさん
2012/06/18(月) 22:03:15.74なんで?
ネットワークに介入するのはアリなのかダメなのか
マウスポインタを自動で操作させるのはアリなのかダメなのか
ロボットを組むのはアリなのかダメなのか
作る前に公式の見解を伺うのは、むしろ当然のマナーだと思うが
0091デフォルトの名無しさん
2012/06/18(月) 22:11:37.89公式がok出すわけないじゃん
たとえグレーで勝手にやってる分には文句ないと思ってたとしても
聞いてきたらダメって言うしかない
0092デフォルトの名無しさん
2012/06/18(月) 23:06:29.98だったらダメなんだろ
それでもやるのなら、それこそモラル的に問題だ
0093デフォルトの名無しさん
2012/06/19(火) 02:24:05.13sendkeysもkeybd_eventも入力を受け付けないんだけど
0094デフォルトの名無しさん
2012/06/21(木) 22:14:07.830095デフォルトの名無しさん
2012/06/26(火) 02:54:51.43作ったり公開したりすることを禁止できる根拠なんてない。
使ったのがバレたらアカBANかもしらんが、それは別問題。
法律的なところと別に、心情的に文字通り「怒る」かどうか、
怒ったとして君に怒りを表明するかどうかは、どうだろう。
試してみたら?
0096デフォルトの名無しさん
2012/06/26(火) 23:07:39.400097デフォルトの名無しさん
2012/06/27(水) 00:43:40.12そんなの必要?
0098デフォルトの名無しさん
2012/06/27(水) 02:16:06.310099デフォルトの名無しさん
2012/06/27(水) 07:27:29.50目的による。
スレタイみたいに、とにかく強いAIを作る目的なら不要。
人間が相手をして楽しめるAIという目的ならアリかもしれん。
0100デフォルトの名無しさん
2012/06/27(水) 15:41:37.65ちょっとぐぐればあるよ
ただ強いかどうかは別として基本として参考にできるよ
0101デフォルトの名無しさん
2012/06/27(水) 17:39:08.70未来もググレたらいいんだろうけどな。
■ このスレッドは過去ログ倉庫に格納されています