ねねっちと一緒にプログラムを勉強するスレ第3話
■ このスレッドは過去ログ倉庫に格納されています
>>259 正直やる気というようなやる気はあんまりない。 やらなきゃいけないっていう義務感の方が強い。 >>260 必死になってるつもりはないけどなぁ… 言い訳すると、パソコン出せる時間が減ってきてて、 スマホは触れるからレスはスマホでやってる。 塾帰ってご飯食べてお風呂入って、 さあ12時からパソコンなんてしたら怒られるし。 あと1ヶ月もないからもうちょっとだけ待ってほしい。 あとプログラミングは別に好きじゃない。嫌いでもないけど。 でも出来たら良いなっていう憧れと、ゲーム作りたいからやってるよ。 ちょっと本屋さん寄って 禅について調べてきた。 凄く参考になったし取り敢えず落ち着いた。 宗教学も勉強してみようかな 本屋寄る暇はあってパソコン出す暇はないのかってツッコミはね、やめて(´・ω・`) 単純にやる気が出ない日もあるのよ… 期日までには必ず出します。 >>265 レスはえええええええ(´・ω・`) 色々手伸ばしまくった結果プログラミングgdgdしてます\(^o^)/ 明日からチラ裏がてらC言語の勉強ここでさせてもらいます! https://ideone.com/hm8po4 テストがてら、とりあえず今日は基本ソート3種書き切りたいと思います。 >>268 なんとなくです、ふと思い立ったので寝て明日家に帰ってきてからやろうかと思いまして 本読んでるよりも実演した方が面白いと改めて思いました。 参考サイトを見ながらではありますけれど基本選択ソート書きました。 https://ideone.com/rDPCKC 最初に関数宣言しないといけないの知らずにやってて少し手間がかかりました。 参照渡しあたりが結構面白かったです。 とりあえずその他とやれる所まで自分なりに書いていきたいと思います。 ポインタの箇所で(表示部) 何度かアドレス部が表示されて四苦八苦したけれどもなんとか完成しました。 再帰系にも挑戦してみようかと思います。 クイックソートは作った事無いからこれを機に作ってみようかなぁ。 https://ideone.com/iMLTFR わあお客さん、ゆっくりしていってね 僕はもう少しゆっくり勉強(´・ω・`) 35歳と大違い。比べるのも失礼かも知れないが マ板で35歳見てると「穢れ」ているんだよね。 プログラミングを楽しんでください。 クイックソート、調べずに知識だけでやろうとしてるけど 国家資格の疑似言語の過去問ではやれてたんだけどなー いざ実装となると難しいのなんの・・・。 やっぱりマークシートと記述じゃ全然違いますねー >>272 よろしくお願いします〜自分も追々cppやりたいのでお互い頑張りましょ! >>273 やー、なんというか楽しい側からしたら見てて不思議で仕方ないですねー 普通にその時間をリソースがあまりかからないソロゲーとかアニメ見たりしてた方が楽な気がするんですけどね。 なんだかんだゲームとかアニメって節約にもなりますし。 >>274 何かめちゃくちゃスキル高いからホープさんのプロフ気になる やーー難しい、クイックソートにはなってると思う、自身は無いです。 https://ideone.com/hdkcVg コメントアウト抜いた版↓ https://ideone.com/7Ii0Ty >>275 こんなの高いに含めちゃいけないよ マ板の競技プログラミング行くとすんごい人ゴロゴロしてるよ〜 プロフィール 学生 資格:IPAの基本情報技術者試験 [ 2017秋 ] 個人的な専攻:疑似言語アルゴリズム > データベース > ソフトウェア > ネットワーク 言語:Java(もっぱらServlet) 答えとなるサイト色々見てきたけれど、これクイックソートじゃないのでは 両端から攻めていく感じなのかー・・・。 明日にまた手直しをしよう 来週入試だお 頑張ってくるお その後にじゃんけん作るお あとできればじゃんけんの他にも何か練習用のプログラムを提案してくれたら嬉しいお 期日まだだけど じゃんけんプログラム書き直してみたよ 書き直したけどこんなエラーが出る Debug Error! Program: ...nts\visual studio 2015\Projects\Project60\Debug\Project60.exe Module: ...nts\visual studio 2015\Projects\Project60\Debug\Project60.exe File: Run-Time Check Failure #3 - T (Press Retry to debug the application) [中止(A)] [再試行(R)] [無視(I)] 自決しました こんなもんで良いかな? なんかideoneだとうまく動かないけど visual studioだとちゃんと動いた。 直した方がいい所あったら教えて下さい https://ideone.com/5uhPef >>281 手続き指向よりもデータ指向にした方が、無駄なコードを削減できる。 例えば勝ち負けを一つのフラグ変数にしたり、勝ち負けの記述を群論の観点で一つの関数で抽象化すると見通しが良くなる。 >>282 そんな技術ないよ…(´;ω;`) 見通しを良くするのは最終目的として、 まずはNPCの手がランダムじゃなく プレイヤーの手をパターンから予測して出させるようにしたい えと>>283 の「NPCの手を簡易的なAIにする」を、 ちょっと余裕持って 『 2月24日 』 までに完成させたい。 どっかで中学生がじゃんけんプログラム書いてて それが結構きれいにまとまっていたと思う >>285 14歳さんのこと? 14歳さんって言語Pythonじゃなかったっけ C++で綺麗にまとめるって難しくない…? 今のところif(hand == 1 && npc == 1)・・・みたいに 総当たりで手のパターンを組んでいく以外思いつかないや。 プログラマーの適正がないと言われればまあそれまでなんだけど… どうすれば綺麗にまとめられるかのヒントだけ教えてほしい。 あれ、書き込んじゃった そもそもどういうロジック組みたいのかをまず考えてみ? 紙にアイディア書いたり 少なくとも初心者の時点ではフローチャート書くのも有効だ >>288 分かった ちょっと今から落ちるけど後で書いてみる >>290-291 いやソース貼られてもPythonちんぷんかんぷんだから何とも… どういう処理をするようにできてるのかだけでも説明してくれませんか。 ぼくは小学生ですので、組み合わせの問題はできません。 ですからwww じゃんけんコードも書けませーーーーんんwwww あばばばばwwww それなら、荒らされない様にパスでも付けとけよwwww >>293 あー…知らない文法ありすぎて今は分かんないや(´・ω・`) 入試終わった後に文法本格的に勉強するから その後でまた見てみます、ありがとうです。 数学の過去問の点数がやばすぎてやばい(語彙力) 数学誰かおせーて じゃんけんの結果10回プレイしてこうなったけど ※1→グー 2→チョキ 3→パー <PLAYER> 1、1、1、3、2、3、1、3、3、3 <NPC> 3、3、2、2、3、2、1、1、2、3 ここからプレイヤーが次の手は何を出すかの確率って出せないかな 数学苦手過ぎて見当つかない こんなのも思いつかないのに本当にプログラマー目指していいんだろうか 自分の知識の範囲で実装して楽しいって思えればいいんよ。 その先で、こういう数学があるはずと調べても良いし、いざその数学と出会った時におおっ!と思える事もある。 先ずはどうしたらうまく行きそうか日本語で書いてみれば? 一般的アドバイスでは今目の前にある算数勉強しろだがw(賢い奴にはポインタ振るけどな) >>302 なるほど。じゃ自分の知識の範囲で柔らかく考えてみる。 一旦数学から離れてじゃんけんの心理学とか統計学の方から 相手の次の手を予測するプログラム作ってみる。 数学は苦手だから別のもので補えるところは補ってみるよ。 自分の知識で出来得る範囲で。 賢い奴にはポインタ振るけどな、は 「賢くなればポインタ使えるから賢くなれ」というメッセージと受け取りました。 数学勉強してポインタも頑張ってみます(`・ω・´)ゞ ありがとです! あーでもよく考えたら心理学使うには 数字でグーチョキパー選択させるより 手の形の絵をクリックさせる方式取った方が プレイヤーはイメージしやすいのかな。 画像処理苦手だしDirectXの書き方も忘れたから そこもまたイチからやり直さないとなー… あと今気づいたけど、プレイヤーの手とNPCの手の数字の合計が 2か6になるときは絶対あいこになるのね。 3、4、5の時は1/2の確率で勝つか、負けるか、と。 手の数字の合計が2か6になる事さえ避ければ NPCが勝てる可能性が高くなるって事か。 あとは3、4、5の場合は、最初はランダムな数字か じゃんけんの心理学で対処して、回数を重ねるごとに プレイヤーが出しやすい癖のある手と頻度を読んで 逆の手を出せば、NPCが勝てるって事か。 なかなか論理的に考える力あるじゃん そういう気付きが大事だね >>305 同数ならあいこ、違う数字なら、自分の数字に3足して、相手の数字を引いて、三で割った余りが2になれば勝ちかな? (p+3-n)%3==2の時。 斜め45度右上がりのグラフになるな。 >>307 何でそんな事思いつくんだ…(´・ω・`) もうちょっと考えてみる >>309 ある手に対する勝ちの手は、次の次だから、かな。 あいこ、負け、勝ち、の順番。 >>310 あそっか てかそれじゃ何回やってもプレイヤー負けちゃうし よく考えたらあいこがないのも変だったw やっぱある程度ランダムは必要なのかな 期限まであと2日なのにどうしよう、全くAIのいい案がないわ 小学生がやりがちな工夫程度ならすぐ作れね? 具体的に書くと答えになっちゃうから書かないけど 統計情報を元に次の手を予測は実装がハードだと思う >>313 いやその統計情報どうやって次の手予測させようかなで詰まってる >>314 俺の考え言うのはおかしいからじっくり考えな とりあえずできたところまででも見せればいいさ まだ学生なんだから、無理に期限に間に合わせようとしなくてもいいから、 クオリティの高いものを作りなよ もしかして>>300 で出た結果に数列使って頻度はじき出せるかな けど数列の理解がいまいちなぁまだ等差数列しか分かんないし そもそもそれプログラムに落とすのも難しいし… グー(1)どうしとパー(3)どうしでのあいこが出るのを避けて NPCの勝率をちょっとだけ上げてみた。 https://ideone.com/L81HdB ここからプレイヤーの手の癖読んで続けるようにさせたいけどなかなかなぁ… とりあえずデータとってみた <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で計算すれば 頻度出ると思うんだけどどうだろうか、合ってる? でこれをどうやってプログラム書けばいいんだ… ちょっと限界、誰かヒント下さい アイデアはあるけど正解ってのは分からないな というか今悩んでることは正直プログラミングに関係ない こだわりを捨てろとは言わんけど妥協するのは悪いことじゃないよ おなじようにじゃんけんプログラムでなやんだことがある者ですけど、 じゃんけんは盤面が局面で進行するわけでも定石があるわけでもないので、 はっきりいってランダムが一番かんたんで強いです。 工夫をするなら、たとえば1対1のじゃんけんなら、 「次もぐーだしちゃおうかな」とか「あんたチョキ続いているね」 みたいに、言葉で揺さぶりをかけて相手をどうにかしたほうが 勝率はあがります。 「俺だ、そうだ、いいか心理学と統計を用いて勝てる手を出すんだ。エルプサイコングルウ」って厨二病も嫌いじゃないけどな。 思考法のヒントだが、最初に極端な例考える。例えば相手がずーっとグー出し続けてたとしたらパー出すようにするよね。じゃーどうやってパーを出させるのか?。ずーっとグーって何?どうやったらずーっとグーと判断するの? 次にグーとパーを出してくるやつ考える… 数列に関しては支離滅裂な厨二病になってる、理解してからにしよう。条件付き確率とかベイズとかHMMとかあるんだけど、順調に行ってぬーぶにはあと10年弱ぐらい先の話になると思う。 心理学統計学は一旦置いておいて まずどの手が出るか、その頻度を求めたい。 確率も必要だけど確率扱える知識がまだない。 頻度なら数列でどうにかなるかと思ったけどならない? 十回のうち、一回当たる宝くじが、あったら、当たる確率だ。わかる? 当たる回数を試行回数で割って一回当たりの平均的な値にしたものが確率だ。 10回で当たるかか全部外れるかの2パターンなので確率は1/2です。 確率は1 (100%)より大きくならない。必ず0%以上100%以下になる。 >>329 はずれを引いた時が次の試行時にくじに戻されるか抜かれるかで確率変わると思うけど。 ※愚か者向けの説明です。良い子は教科書を見ましょう。悪しからず。 結城先生の本読もう あとゲーム理論の本漁ってみるとか 片山さん色々レスしてくれてるけどそういう意味じゃないよー… グーチョキパーのうちどれかが出る確率なんて1/3に決まってるけどもそうじゃなくて、 プレイヤーがどの手をどれくらいの頻度で出す癖があるかを調べたい。 それは一人一人違うと思うからそれをプログラムにしたいんだけど、 やっぱ数列じゃなくて統計じゃなきゃ駄目かな? 数列は>>320 で出したやり方で駄目? 肝心のじゃんけん部分は出来てるのか? まずは相手の手はランダムで出すことにして一通り形にしようよ 確率は平均値みたいなもの。だから平均を求めるには、合計と試行確率のパラメーターが必要になる。 確率が変動するなら、ターゲットに近い標本を統計して、前の確率と現在の確率を近付けるように補正する。 ある手を出す確率、ひとつの手を連続で出す確率、ある手から別の手(例:パーの次はグーの確率が高い)を出す確率、 次の手が前の相手の手にどう影響されるかの確立(相手が前に出した手を出す) 戦略の考え方は色々あると思う 相手の手に勝つ期待値の高い手を出すのが良い。 ある手を出す推定確率、 連続で同じ手を出す推定確率、 手の状態遷移に対する推定確率、これらをそれぞれの場合で合計して、期待値が最大の手に勝つ手を選ぶ。 現在の推定確率は、前の推定確率から近傍の統計確率へ、誤差が小さくなる方向に補正したもの。 状態遷移というのは、数学の写像と同じ。場合分けすると計算できる。 ぬーぶは、今のうちに小学校、中学校の復習もしとけよ〜。今問題にしてるとこ、実は小学生でも考えられる。 あとね、数列ってただ数字が繋がったものを指すだけなのでここでこだわる必要なし。35に教えてもらって知らないこと知って興奮状態なのかもしれないけど、もちつけ。それとその性格は予習向いてないかも。 下には下がいる。 世の中には生きる価値がない屑に分類される亜人がいるということを知っただろう。 >>342 まず>>320 の仕様理解してる? 確率を求めたい訳じゃないからって何度も言ってるんだけど。 それとね、35歳には何一つ教わってないよ。 あいつ例題出しただけじゃん。 >>336 じゃんけんプログラムの土台は こないだ作った>>281 を使っていじってるよー 勝率云々は置いといて>>281 をスッキリ読み易くしよう ってのが最初の改善になると思うのだけれど >>347 あそっか忘れてた(´・ω・`) ちょっと時間かかるかもだけど書き直してみる こうゆうあいまいなAIのアルゴリズムって作る理屈が難しいよ、0か1でしか機械は決めないからこの手が多く出てしまったから一番少ない手のこれ出してみましたってどう作るかわからないよ〜 >>345 仕様ってwまず単語を正しく使おう。頻度は専門用語だから間違って使うと意味不明になる。 やりたいことは分かるけど、まー筋が悪すぎ、何度も言うよう新しく覚えたことに引っ張られすぎだって。 問題の本質を考えて、仮定作って解くのだ。このやり方が仮定する問題の本質は何? このやり方だと、手が決まらないn回目の試行ってのがすぐ出てくるよね? 確か14歳女子のPythonじゃんけんにも手の選択ははいってたかな?参考にチラ見も良いかも。 >>351 一番大事な事忘れてた。でもまー、好きにプログラム組んでみればよいのよ。レッツトライ そうだぞ!! おちんぽっぽ歴 6年の覇者で ようやく、オティンコス検定 初級だな。 4種類じゃんけんも 5種類じゃんけんも 7種類じゃんけん も アルゴリズムは同じだぞwww 500種類じゃんけんもアルゴリズムは同じでしたわwwww まずランダムでいいだろう、出来上がてないじゃんけんの基礎出来てなかったらどれだけいい開いて作っても動かないゲームと同じ 素直にまずはランダムで組み立ててみな >>344 ○るぞこのタコ >>345 あいつ呼ばわりするな生意気だ >>358 このスレにある ideoneに上げてるからhttpでレス検索すれば出る お前らってねねっちに何か一つでも勝てる物持ってるわけ? ☆☆☆テナント募集中☆☆☆ 株式会社●●●● TEL 03-xxxx-xxxx ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる