線形回帰の説明をしようにも楽なサンプルが思い浮かばないよな☆(^~^)

あびょっぽ☆(^~^) 公開下書き

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 線形回帰が効くとか 効かないとか いい感じの説明ができる例を 思い浮かべるのが大変だぜ☆
答え合わせも できたいしな☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 寝ていればどうか☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 簡単な バトル・ゲームを作りましょう!」

20200301math6.png

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 ↑ こういうタンクを配備するのよ」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 なるほど、戦争は 量のゲーム、 掛け算の数学には うってつけだぜ☆」

20200301math7.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ 弾を多く撃てれば 強いということにしたらどうだぜ☆?
穴の多さは 発射数、充填速度に影響だぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 性能のいいやつを 大量に揃えれば いいんじゃないのか☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 弾を多く載せていると 足が遅くなるように したらどうだぜ☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 いい感じのバランスを探すゲームにすんの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 なるべく 数 を体感するために、ランダム要素は無しでいきたいよな☆」

20200301math8.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ ゲーム画面は タイム はいるよな☆ 戦争開始から戦争終了までの間に 弾を打てる回数だぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 テキストだけ表示するゲームにするのかだぜ☆?」

20200301math8a1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ 戦闘は 2000回 やって 勝率を出そうぜ☆?」

KIFUWARABE_80x100x8_01_Futu.gif
「 タンクの数を 決めるゲームかだぜ☆?」

20200301math9.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ どのタンクに どの弾倉を装備させて、タンク毎の出撃数を調整するぐらいかだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 タンクの性能は どうすれば いいのかしら?」

20200301math9a1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ ゲームは バランスが悪いぐらいが 面白いんだぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 製造コストと 戦闘での価値は また異なるよな☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 物量で押すなら Tako-2000 を買いまくればよくない?」

20200301math9a2.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ 弾は 別売り なんで☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 詐欺よ 詐欺ー!」

KIFUWARABE_80x100x8_01_Futu.gif
「 どう 撃ち合うんだぜ☆?」

20200301math10.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ スタックに入れて、上位の何両かだけで 撃ち合おうぜ☆
両陣営が弾切れを起こしたら、総入れ替わり だぜ☆ このとき入れ替わった車両は スタックの後ろに入れ直しだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 弾は 両陣営 同時に発射するとするぜ☆ ターン制ではない☆」

20200301math10a1.png

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ 弾は必ず当たるものとし、先頭から蜂の巣原理で入れていけだぜ☆
大破した車両に なんども弾を撃ってしまうこともあるが、そのときは 撃ち損だぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 勝利条件は どうすんの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 弾切れで入れ替わったあとの、初回の弾も 弾切れだった場合、両陣営弾切れで 続行不能だぜ☆
この場合、残っている車両の数で 勝敗を決めるぜ☆ 残っている車両の数も同数なら、引き分けだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 車両数が多いだけの クソ試合をやっているようなら、 ターン数の上限を適当に決めておいて 続行不能とし、同様の後処理をしろだぜ☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 どちらかが 全滅すれば 戦争終了だぜ☆ 生き残ってる方の勝ちだぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 じゃあ Rust 言語で作ってみようぜ☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 ゲームのタイトルはどうすんの?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 『線形回帰戦争』 で☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 Linear regression wars だな☆」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 UI作んの めんどくさいんで、JSON を読み込む形にしようぜ☆?」

country-1.json:

{
    "tank" : {
        "tako2000": {
            "number": 50,
            "magazine": "grape5x3-hole3"
        },
        "tako3000": {
            "number": 200,
            "magazine": "grape2x4-hole1"
        },
        "tako5000": {
            "number": 20,
            "magazine": "grape5x3-hole3"
        }
    }
}

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ これで コスト計算してくれて、OKなら 戦争開始だぜ☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 国の数だけ ファイルを作れば良さそうだな☆ ファイル名は country-1.json とかにしようぜ☆?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 国の数は 8つにしようぜ☆? 総当たりでも 8 * 7 / 2 の 28 戦争ぐらいになるんじゃないか☆?
2000回ずつやっても 5万6000戦争あるだろ☆」

league-result.json

{
    "country": [
        {
            "name": "Kifuwara-kingdom-1",
            "win": 1230,
            "draw": 0,
            "lose": 770,
            "tank" : {
                "tako2000": {
                    "number": 50,
                    "magazine": "grape5x3-hole3"
                },
                "tako3000": {
                    "number": 200,
                    "magazine": "grape2x4-hole1"
                },
                "tako5000": {
                    "number": 20,
                    "magazine": "grape5x3-hole3"
                }
            }
        },
        {
            "name": "Oton-kingdom-1",
            "win": 770,
            "draw": 0,
            "lose": 1230,
            "tank" : {
                "tako2000": {
                    "number": 50,
                    "magazine": "grape5x3-hole3"
                },
                "tako3000": {
                    "number": 200,
                    "magazine": "grape2x4-hole1"
                },
                "tako5000": {
                    "number": 20,
                    "magazine": "grape5x3-hole3"
                }
            }
        }
    ]
}

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 結果は こんな感じにするかだぜ☆?」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 バランスがちょっと違うだけのデータが大量にできない?」

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 学習って そういうことだよな☆」

https://github.com/muzudho/linear-regression-wars

KITASHIRAKAWA_Chiyuri_80x100x8_01_Futu.gif
「 ↑ プログラムをちょっと書いて ギットハブに上げといたんだが、弾を一度に ドバーッと弾幕を貼って 相手を一掃するのが 強い戦法みたいだな……☆」

KIFUWARABE_80x100x8_01_Futu.gif
「 時間当たりの弾の密度が高い者勝ちかだぜ☆」

OKAZAKI_Yumemi_80x80x8_02_Syaberu.gif
「 線形回帰分析やるまでもなくない?!」

<書きかけ>

何度でもクリック!→

むずでょ@きふわらべ第29回世界コンピューター将棋選手権一次予選36位

光速のアカウント凍結されちゃったんで……。ゲームプログラムを独習中なんだぜ☆電王戦IIに出た棋士もコンピューターもみんな好きだぜ☆▲(パソコン将棋)WCSC29一次予選36位、SDT5予選42位▲(パソコン囲碁)AI竜星戦予選16位

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

むずでょ@きふわらべ第29回世界コンピューター将棋選手権一次予選36位 の最近の記事