ねねっちと一緒にプログラムを勉強するスレ第3話

1ぬーぶ ◆upkqfrxkrw 2017/11/09(木) 17:02:19.46ID:Gh9WJTwV
しばらくお休みしてました。
覚えてる方おられますか。

前スレ:http://mevius.2ch.net/test/read.cgi/tech/1489809785/

313デフォルトの名無しさん2018/02/22(木) 18:01:18.19ID:WxmQ/N0Q
小学生がやりがちな工夫程度ならすぐ作れね?
具体的に書くと答えになっちゃうから書かないけど

統計情報を元に次の手を予測は実装がハードだと思う

314ぬーぶ ◆upkqfrxkrw 2018/02/22(木) 18:08:15.58ID:frhLDsW4
>>313
いやその統計情報どうやって次の手予測させようかなで詰まってる

315デフォルトの名無しさん2018/02/22(木) 18:13:24.01ID:WxmQ/N0Q
>>314
俺の考え言うのはおかしいからじっくり考えな

とりあえずできたところまででも見せればいいさ

316デフォルトの名無しさん2018/02/23(金) 13:49:35.19ID:4wKKRKdM
まだ学生なんだから、無理に期限に間に合わせようとしなくてもいいから、
クオリティの高いものを作りなよ

317ぬーぶ ◆upkqfrxkrw 2018/02/23(金) 16:57:55.06ID:tP7XoqKj
もしかして>>300で出た結果に数列使って頻度はじき出せるかな
けど数列の理解がいまいちなぁまだ等差数列しか分かんないし
そもそもそれプログラムに落とすのも難しいし…

318デフォルトの名無しさん2018/02/23(金) 17:23:13.60ID:sszVBRYz
がんばれぬーぶくん

319ぬーぶ ◆upkqfrxkrw 2018/02/23(金) 17:23:34.19ID:tP7XoqKj
グー(1)どうしとパー(3)どうしでのあいこが出るのを避けて
NPCの勝率をちょっとだけ上げてみた。
https://ideone.com/L81HdB

ここからプレイヤーの手の癖読んで続けるようにさせたいけどなかなかなぁ…

320ぬーぶ ◆upkqfrxkrw 2018/02/23(金) 17:38:17.03ID:tP7XoqKj
とりあえずデータとってみた

<PLAYER>

2、1、3、2、1、3、3、2、2、3

<NPC>

3、3、2、2、3、2、1、1、2、2


<PLAYER 頻度>

1 → 2,5

2 → 1,4,8,9

3 → 3,6,7,10


<PLAYER 差>

1 → 3

2 → 3、4、1(平均2.7、四捨五入→3)

3 → 3、1、3(平均2.3、四捨五入→2)


若干無理矢理だけどこのデータを元に数列使って
1は公差3、2は公差3、3は公差2で計算すれば
頻度出ると思うんだけどどうだろうか、合ってる?

321ぬーぶ ◆upkqfrxkrw 2018/02/23(金) 17:39:34.60ID:tP7XoqKj
でこれをどうやってプログラム書けばいいんだ…
ちょっと限界、誰かヒント下さい

322ぬーぶ ◆upkqfrxkrw 2018/02/23(金) 17:53:07.17ID:l8gJBg2P
やっぱプログラミング向いてないのかな

323デフォルトの名無しさん2018/02/23(金) 19:47:11.59ID:OO7E7JMq
アイデアはあるけど正解ってのは分からないな
というか今悩んでることは正直プログラミングに関係ない

こだわりを捨てろとは言わんけど妥協するのは悪いことじゃないよ

324デフォルトの名無しさん2018/02/23(金) 20:14:08.83ID:6zepYZuW
おなじようにじゃんけんプログラムでなやんだことがある者ですけど、
じゃんけんは盤面が局面で進行するわけでも定石があるわけでもないので、
はっきりいってランダムが一番かんたんで強いです。

工夫をするなら、たとえば1対1のじゃんけんなら、
「次もぐーだしちゃおうかな」とか「あんたチョキ続いているね」
みたいに、言葉で揺さぶりをかけて相手をどうにかしたほうが
勝率はあがります。

325デフォルトの名無しさん2018/03/01(木) 10:54:47.30ID:WqFbdM/z
「俺だ、そうだ、いいか心理学と統計を用いて勝てる手を出すんだ。エルプサイコングルウ」って厨二病も嫌いじゃないけどな。

思考法のヒントだが、最初に極端な例考える。例えば相手がずーっとグー出し続けてたとしたらパー出すようにするよね。じゃーどうやってパーを出させるのか?。ずーっとグーって何?どうやったらずーっとグーと判断するの?

次にグーとパーを出してくるやつ考える…

数列に関しては支離滅裂な厨二病になってる、理解してからにしよう。条件付き確率とかベイズとかHMMとかあるんだけど、順調に行ってぬーぶにはあと10年弱ぐらい先の話になると思う。

326ぬーぶ ◆upkqfrxkrw 2018/03/01(木) 18:15:08.28ID:OhVVMdw/
心理学統計学は一旦置いておいて
まずどの手が出るか、その頻度を求めたい。
確率も必要だけど確率扱える知識がまだない。

頻度なら数列でどうにかなるかと思ったけどならない?

327デフォルトの名無しさん2018/03/01(木) 18:19:25.78ID:HrZ6/DBg
頻度こそ統計だな

どうするかはともかくだけど

328片山博文MZ ◆T6xkBnTXz7B0 2018/03/01(木) 18:23:10.20ID:zlK2T1f6
十回のうち、一回当たる宝くじが、あったら、当たる確率だ。わかる? 当たる回数を試行回数で割って一回当たりの平均的な値にしたものが確率だ。

329片山博文MZ ◆T6xkBnTXz7B0 2018/03/01(木) 18:23:48.58ID:zlK2T1f6
1/10が当たる確率だ。

330デフォルトの名無しさん2018/03/01(木) 18:31:04.78ID:x2uBhTQc
10回で当たるかか全部外れるかの2パターンなので確率は1/2です。

331片山博文MZ ◆T6xkBnTXz7B0 2018/03/01(木) 18:40:14.43ID:zlK2T1f6
確率は1 (100%)より大きくならない。必ず0%以上100%以下になる。

332デフォルトの名無しさん2018/03/01(木) 18:45:00.93ID:MHIjApH6
>>329
はずれを引いた時が次の試行時にくじに戻されるか抜かれるかで確率変わると思うけど。

333片山博文MZ ◆T6xkBnTXz7B0 2018/03/01(木) 18:48:45.12ID:zlK2T1f6
※愚か者向けの説明です。良い子は教科書を見ましょう。悪しからず。

334デフォルトの名無しさん2018/03/01(木) 19:41:51.73ID:7Mz6Ljjg
結城先生の本読もう
あとゲーム理論の本漁ってみるとか

335ぬーぶ ◆upkqfrxkrw 2018/03/01(木) 21:09:46.35ID:OhVVMdw/
片山さん色々レスしてくれてるけどそういう意味じゃないよー…
グーチョキパーのうちどれかが出る確率なんて1/3に決まってるけどもそうじゃなくて、
プレイヤーがどの手をどれくらいの頻度で出す癖があるかを調べたい。
それは一人一人違うと思うからそれをプログラムにしたいんだけど、
やっぱ数列じゃなくて統計じゃなきゃ駄目かな?
数列は>>320で出したやり方で駄目?

336デフォルトの名無しさん2018/03/01(木) 21:26:18.79ID:SjqFA7o8
肝心のじゃんけん部分は出来てるのか?
まずは相手の手はランダムで出すことにして一通り形にしようよ

337片山博文MZ ◆T6xkBnTXz7B0 2018/03/01(木) 21:31:19.81ID:zlK2T1f6
確率は平均値みたいなもの。だから平均を求めるには、合計と試行確率のパラメーターが必要になる。
確率が変動するなら、ターゲットに近い標本を統計して、前の確率と現在の確率を近付けるように補正する。

338片山博文MZ ◆T6xkBnTXz7B0 2018/03/01(木) 21:32:02.01ID:zlK2T1f6
s/試行確率/試行回数/

339デフォルトの名無しさん2018/03/01(木) 21:46:01.97ID:A6M8jejf
ある手を出す確率、ひとつの手を連続で出す確率、ある手から別の手(例:パーの次はグーの確率が高い)を出す確率、
次の手が前の相手の手にどう影響されるかの確立(相手が前に出した手を出す)
戦略の考え方は色々あると思う

340片山博文MZ ◆T6xkBnTXz7B0 2018/03/01(木) 22:01:47.72ID:zlK2T1f6
相手の手に勝つ期待値の高い手を出すのが良い。
ある手を出す推定確率、
連続で同じ手を出す推定確率、
手の状態遷移に対する推定確率、これらをそれぞれの場合で合計して、期待値が最大の手に勝つ手を選ぶ。
現在の推定確率は、前の推定確率から近傍の統計確率へ、誤差が小さくなる方向に補正したもの。

341片山博文MZ ◆T6xkBnTXz7B0 2018/03/01(木) 22:04:37.78ID:3l6CIBqs
状態遷移というのは、数学の写像と同じ。場合分けすると計算できる。

342デフォルトの名無しさん2018/03/02(金) 13:16:46.46ID:8/KKS9l0
ぬーぶは、今のうちに小学校、中学校の復習もしとけよ〜。今問題にしてるとこ、実は小学生でも考えられる。

あとね、数列ってただ数字が繋がったものを指すだけなのでここでこだわる必要なし。35に教えてもらって知らないこと知って興奮状態なのかもしれないけど、もちつけ。それとその性格は予習向いてないかも。

343デフォルトの名無しさん2018/03/02(金) 15:55:50.52ID:AqyefoAF
35に何か教わったか?彼。

344デフォルトの名無しさん2018/03/02(金) 17:23:49.98ID:4vExX/Zc
下には下がいる。
世の中には生きる価値がない屑に分類される亜人がいるということを知っただろう。

345ぬーぶ ◆upkqfrxkrw 2018/03/02(金) 17:35:17.31ID:6c12j7ji
>>342
まず>>320の仕様理解してる?
確率を求めたい訳じゃないからって何度も言ってるんだけど。
それとね、35歳には何一つ教わってないよ。
あいつ例題出しただけじゃん。

346ぬーぶ ◆upkqfrxkrw 2018/03/02(金) 17:38:12.63ID:6c12j7ji
>>336
じゃんけんプログラムの土台は
こないだ作った>>281を使っていじってるよー

347デフォルトの名無しさん2018/03/02(金) 19:47:19.09ID:b7x0OPFh
勝率云々は置いといて>>281をスッキリ読み易くしよう
ってのが最初の改善になると思うのだけれど

348ぬーぶ ◆upkqfrxkrw 2018/03/02(金) 21:12:18.02ID:6c12j7ji
>>347
あそっか忘れてた(´・ω・`)
ちょっと時間かかるかもだけど書き直してみる

349デフォルトの名無しさん2018/03/02(金) 21:39:27.17ID:c0EOboyr
>>281
自決しちゃダメだろw

350デフォルトの名無しさん2018/03/03(土) 03:12:34.94ID:PkiUyGjI
こうゆうあいまいなAIのアルゴリズムって作る理屈が難しいよ、0か1でしか機械は決めないからこの手が多く出てしまったから一番少ない手のこれ出してみましたってどう作るかわからないよ〜

351デフォルトの名無しさん2018/03/03(土) 09:22:41.34ID:xfcwFGzN
>>345
仕様ってwまず単語を正しく使おう。頻度は専門用語だから間違って使うと意味不明になる。

やりたいことは分かるけど、まー筋が悪すぎ、何度も言うよう新しく覚えたことに引っ張られすぎだって。

問題の本質を考えて、仮定作って解くのだ。このやり方が仮定する問題の本質は何?

このやり方だと、手が決まらないn回目の試行ってのがすぐ出てくるよね?

確か14歳女子のPythonじゃんけんにも手の選択ははいってたかな?参考にチラ見も良いかも。

352デフォルトの名無しさん2018/03/03(土) 09:28:07.89ID:xfcwFGzN
>>351
一番大事な事忘れてた。でもまー、好きにプログラム組んでみればよいのよ。レッツトライ

353遊園地__242018/03/03(土) 11:14:35.77ID:9mjwXL/k
そうだぞ!!

 おちんぽっぽ歴 6年の覇者で

ようやく、オティンコス検定 初級だな。


4種類じゃんけんも 5種類じゃんけんも 7種類じゃんけん も
アルゴリズムは同じだぞwww

354遊園地__242018/03/03(土) 11:16:34.06ID:9mjwXL/k
500種類じゃんけんもアルゴリズムは同じでしたわwwww

355デフォルトの名無しさん2018/03/03(土) 20:16:11.81ID:NS+EfRdP
まずランダムでいいだろう、出来上がてないじゃんけんの基礎出来てなかったらどれだけいい開いて作っても動かないゲームと同じ
素直にまずはランダムで組み立ててみな

356づか ◆BrBq2CJg6HGd 2018/03/04(日) 22:59:44.88ID:6ZJ9LmxN
>>344
○るぞこのタコ

>>345
あいつ呼ばわりするな生意気だ

357デフォルトの名無しさん2018/03/04(日) 23:50:30.86ID:ZJt4Uw7t
ウンコじゃないだけまだ人間扱いされてるからいいよ

358デフォルトの名無しさん2018/03/08(木) 01:16:21.41ID:n25D0CIx
>>1
君のコード前スレのどの辺にある?

359ぬーぶ ◆upkqfrxkrw 2018/03/08(木) 15:20:44.48ID:zXolEVnW
>>358
このスレにある
ideoneに上げてるからhttpでレス検索すれば出る

360デフォルトの名無しさん2018/03/08(木) 17:45:33.31ID:n25D0CIx
>>359
>>237にあった サンクス

361デフォルトの名無しさん2018/04/05(木) 11:20:58.23ID:g36V+J6U
お前らってねねっちに何か一つでも勝てる物持ってるわけ?

362片山博文MZ ◆T6xkBnTXz7B0 2018/05/02(水) 22:10:50.09ID:fs6yNkAI
☆☆☆テナント募集中☆☆☆
株式会社●●●●
TEL 03-xxxx-xxxx

363デフォルトの名無しさん2018/05/23(水) 20:12:45.79ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

R30MX

新着レスの表示
レスを投稿する