使用機材:https://ita.hatenadiary.jp/entry/20180816/p2
クリックで拡大。★は初見。
去年車で通りかかって見つけたカエデ並木。アオカミキリの活動痕跡を見つけ成虫を探したところ、適当にスイープした時に飛び立たれ、紫色の虫は無情にも飛んで行ってしまった。そのあと何時間も見張っていたが再見かなわず。その光景が目に焼き付いていました。満を持しての再チャレンジ。
東京リンゴ
使用機材:https://ita.hatenadiary.jp/entry/20180816/p2
クリックで拡大。
東京都内で黒化リンゴカミキリがいるという情報を以前から気にかけていました。某外来ハナムグリのメッカでの話なので、さもありなんと思わせる情報なれど、その時期わざわざ都内で虫探すかということで探索できずにいました。そこに来たコロナ禍。ピンチをチャンスに変えるべく、ここ3週連続で探索してみました。黒化とは書きましたが、現行分類では別種となっています。ただ九州方面の亜種は最近リストラ傾向がありますから、どうでしょうかね。中間的な形質のもいるようなので。
続きを読む2020年の記録
[屋]久島/[種]子島/[ト]カラ [奄]美/[徳]之島/沖[永]良 沖縄:与[論]/[沖]縄 先島:[宮]古 八重山:[石]垣/[西]表/[波]照間/[与]那国 ==2020== 生涯/シーズン累計(前年まで460種+33亜種) --6月 +3 +4 -- 461 1 ムラサキアオ 462 2 クロオビトゲムネ基亜種 (o本四九-ト/奄徳/沖論/石西与) 463 3 ウスアヤ基亜種 (o本九-ト/沖論) (34 1) キュウシュウチビトラ基亜種 (o本四九-ト/o奄徳/伊豆) (35 2) アヤモンチビ基亜種 (o本-種屋/ト/o奄徳/永/o沖論/宮/o石西波) (36 3) シロスジドウボソ基亜種 (o本四九ト奄沖/永/o石西/沖宮与) (37 4) ヒメヒゲナガ南九州亜種 (o本/四/o南九/種屋) --7月 +8 +1 -- 464 4 ヤツボシシロ 465 5 ホソコバネ(o黒M/黒F/茶M/茶F) 466 6 チャイロチビヒラタ 467 7 ヒメシラフヒゲナガ 468 8 シララカハナ 469 9 ヤマナラシモモブト (38 5) オオマルクビヒラタ北海道亜種 470 10 オオスミヒゲナガ 471 11 オガサワラチャイロ --8月 +2 +0 -- 472 12 ニセハコネホソハナ 473 13 キベリカタビロハナ --9月 + + -- 474 14 オオトラ 475 15 タイリクフタホシサビ
「コードギアス 復活のルルーシュ」の数式
昨年公開され12月にDVDになった劇場版アニメ「コードギアス 復活のルルーシュ」で、数式が出てくる部分で少し協力させていただきました。エンドロールでも名前が出ました↓
SF業界の人脈を通じ、アニメーションの設定考証などをなさっている白土晴一さん(エンドロールにも出てらっしゃいます)から、このお話を依頼されました。
天才キャラがノートPCでカタカタやってて、それがなにかというと「暇つぶしにP≠NP問題を解こうとしている」という設定で、その画面というお話でした。うはー。無理。数学屋じゃないですし。
なんか適当な論文をキャプって、とか考えましたが、著作権もあるしそれも難しいことが分かりました。うーむ。
で、最初は「無理っす」とお返事したんですが、何日か通勤電車でぼんやり考えて、「量子コンピュータを使って逆にP=NPを示そうとしてることにすれば、それっぽいもの作れるかも」と思い至り、それでお返事しました。あることが「できない」証明というのはとても難しいですが、「できる」証明というのは一つだけやり方を示せばそれで終わりです。具体的には、「NP完全問題」と呼ばれる、解くのにすげー時間かかる問題のうち、一番やりやすい問題について高速に解くアルゴリズムを見つければ、それを使ってすべてのNP完全問題を高速に解けるので、そのアルゴリズムを書いてる、ということにすればいいな、ということです。
一般的に、「一番やりやすい」問題は、3-SAT問題という、充足可能問題がターゲットにされることが多いです。「真」か「偽」かの値をとる変数がたくさんあって、さらにそれらを AND や ORでたくさんつなげた命題がたくさんある場合に、全ての命題を「真」にするような変数の値はあるや、なしや、という問題です。今のところ、全て総当たりでやるしか方法は見つかっていません。
で、イーガンのSFとかでよく出てくるんですが、多世界に量子的に倍々に分岐してそれぞれでそれぞれの場合を計算し、最後にうまくいった分岐が観測されて出てくるという、実際には相当難しいけどできなくはないかもしれない、という筋にしてみました。それぞれの分岐で計算する、てのはまあ簡単ですが、うまくいったのだけを選ぶ、てのが超絶技巧を必要とするわけで、ショアのアルゴリズムによる因数分解とか、天才じゃないと思いつかない話です。でもやってるキャラが天才という設定だから、ちょうどいいわけで。
というわけで作ってみたのが以下の画面
「それぞれの分岐で計算する」をやってる部分になります。後半の「うまくいったのだけを選ぶ」についてはガン無視。とはいえ、単純な論理演算でも量子コンピュータでやろうとすると色々面倒で、たとえばビットをコピーするということができません。"no-cloning theorem"と呼ばれている制約です。充足可能問題では一つの変数が複数の命題に現れるので、コピーが必要になります。そのへんを余分なビットを用意してゴチャゴチャとやってる、というようなことをやってるコードになります。言語はCとかそのへんを想定してます。なので「//」で始まる部分はすべてコメントで、数式がコメントとして記述してあります。で細かい面倒な部分はすでにサブルーチンで組んであって、それを呼んでいるというコードです。
もっと基本的な量子ゲートに関しては、冒頭でオープンソースのライブラリを読み込んでいるという設定です。
DVDをサンライズ様からご恵贈いただきましたが、家のプレイヤーが古くてまだ再生できません。あう。
内容のほうはチケットをご恵贈いただいて映画館で観ました。アマゾンプライムで予習しつつ。ストーリーの核となるアイディアがすごく好みだったので面白かったです。
リングフィットアドベンチャー
今話題のこれです
- 出版社/メーカー: 任天堂
- 発売日: 2019/10/18
- メディア: Video Game
- この商品を含むブログを見る
追記:こちらでデータがいろいろ揃っています
https://www.reddit.com/r/RingFitAdventure/comments/dw11w6/ring_fit_adventure_resource_sheet/
敵に与えるダメージは、(技の攻撃力+自分の攻撃力)*相性(色一致でx1.5)、スムージー効果など
今レベル230で自分攻撃力が1200とかです。こうなると技の攻撃力の違いはだんだん影響がなくなってきて、自分がやりたい技で攻略すればよくなってきます。このあたり、種族の攻撃力*技の攻撃力、となっているポケモンとは大きく違い、ゲーム性がより薄れていきます。筋トレが主ですからね。あとはプレイヤー本体のどのあたりを強化するかという、人生の戦略を練ることになります。クリアするとすべての技がランク4になり、攻撃力が1000で統一されるようです。
技のデータ、随時更新
範囲1
色 | 攻撃I | 待 | 攻撃II | 待 | 攻撃III | 待 | 名前 | 備考 |
黄 | 30 | 1 | 235 | 2 | ニートゥーチェスト | |||
緑 | 30 | 1 | 260 | 2 | 椅子P | |||
赤 | 30 | 1 | 350 | 2 | 655 | 3 | バンザイプッシュ | III:上4左2 |
青 | 30 | 1 | 360 | 2 | 655 | 3 | スクワット | II:下1右3 III:下3右4 |
青 | 50 | 1 | 275 | 2 | 615 | 3 | モモアゲアゲ | III:下4右3 |
緑 | 60 | 1 | 300 | 2 | 580 | 3 | 英雄1 | III:下4 |
青 | 80 | 1 | 295 | 2 | 615 | 3 | モモデプッシュ | II:上1右3 III:Lv168 |
黄 | 80 | 1 | 390 | 2 | バンザイモーニング | |||
赤 | 90 | 2 | 350 | 2 | アームツイスト | II:下1左3 | ||
緑 | 130 | 2 | 295 | 2 | 580 | 3 | ねじり体側 | II:下3 III:Lv160 |
黄 | 155 | 2 | バンザイツイスト | |||||
青 | 155 | 2 | 415 | 2 | 615 | 3 | アゲサゲコンボ | III:下4右1 |
黄 | 175 | 2 | 300 | 2 | レッグレイズ | きつい | ||
黄 | 175 | 2 | 470 | 2 | バタバタレッグ | I:上2 | ||
赤 | 220 | 2 | 255 | 2 | ウシロプッシュ | I:上2左2 | ||
緑 | 220 | 2 | 425 | 2 | 490 | 2 | 立木P | II:下3左3 |
黄 | 220 | 2 | 335 | 2 | 545 | 3 | リングアゲサゲ | I上2右2 III:Lv152 |
範囲3
色 | 攻撃I | 待 | 攻撃II | 待 | 攻撃III | 待 | 名前 | 備考 |
赤 | 25 | 2 | 320 | 3 | 390 | 3 | サゲテプッシュ | II:上3左3 |
黄 | 50 | 2 | 325 | 3 | プランク | きつい II:上3右3 | ||
青 | 85 | 2 | 185 | 3 | 560 | 5 | ワイドスクワット | III:下4右4 |
緑 | 125 | 2 | 330 | 3 | 英雄3 | I:下1右1 | ||
緑 | 125 | 2 | 460 | 4 | チョウツガイP | III:下4左1 | ||
黄 | 135 | 2 | 280 | 3 | 445 | 4 | ハサミレッグ | III:Lv164 |
黄 | 130 | 2 | 215 | 3 | ベントオーバー | I:上2左1 | ||
赤 | 145 | 2 | 240 | 3 | 430 | 4 | トライセプス | III:左4 |
青 | 160 | 2 | 295 | 3 | ステップアップ | I:下2右2 | ||
青 | 165 | 3 | 240 | 3 | モモアゲコンボ | I:下3右2 II:下3右2 |
範囲5
色 | 攻撃I | 待 | 攻撃II | 待 | 攻撃III | 待 | 名前 | 備考 |
黄 | 20 | 2 | 205 | 3 | 325 | 4 | スワイショウ | II上3 |
赤 | 35 | 2 | 210 | 3 | 370 | 4 | リングアロー | II上2左3 III:Lv156 |
緑 | 60 | 2 | 210 | 3 | 英雄2 | II下3左2 | ||
黄 | 70 | 3 | 275 | 3 | 395 | 4 | バンザイコシフリ | II:W16 III:上4右1 |
赤 | 90 | 3 | 295 | 3 | グルグルアーム | |||
青 | 110 | 3 | 210 | 3 | バンザイスクワット | I上1右1 | ||
青 | 120 | 3 | 285 | 3 | マウンテンクライマー | II下3右3 | ||
黄 | 130 | 3 | 235 | 3 | 455 | 4 | ロシアンツイスト | III上4右3 |
緑 | 155 | 3 | 320 | 3 | 舟P | きつい |
To be unlocked:
- 黄色 上3右1:2+4+3+3
- 黄色 上4右4 4+4+3+3+3+3+4+2
- 黄色 上1右4 4+3+4
- 緑 下4左4 4+4+5
- 緑 左4下2 3+5
- 赤 左4上4 3+4+3+5
Cookie Clicker Android版戦略, Phase 2
後半、婆黙示録が始まるとWrinklerが出て加速します。最大10匹で、N匹の時の加速率は 1+(N^2)/20、最大6倍。各個体出てくる確率は一秒に0.03%、Communal Brainsweepを取ると0.06%、Elder Pactを取ると0.09%。この確率をpとするとt秒後に出ている確率は1-(1-p)^t。これを大文字Pとおく。画面にいるWrinkerの数の二乗の平均値は計算を省略するけど 10P+90P^2。そうすると加速率の期待値は 1+P/2 +(9/2)P^2。これをプロットすると以下のようになる。
これができると相当加速するので、序盤それを至上命題として戦略を組みなおしたのがこれ
https://ita.hatenadiary.jp/entry/0001/05/05/000000
最大の6倍CpSになるには若干時間がかかるので、それで貯めた貯金をWrinklerを潰すことで引き出すタイミングが問題となる。何をどういう順番で買うかという問題と、どのタイミングで潰すかという問題が複合してくる。ただし前者>後者への影響はあるけど、後者のタイミングを変えても最適な買う順番は変化しない。したがって先に買う順番の最適解を求めて、それをもとにタイミングを最適化すればいい。総当たりは無理なので、適当なタイミングで何回か潰すのから始めてランダムにタイミングを変化させ最適解を探す。モンテカルロ。そうして求めたのが以下の解。
あるCpSのときに、どれだけ貯めてから潰すか、その貯金と待ち時間を示してある。どれだけたまったかは見えないけど、Bankにある量で推測はできる。乱数がからむので誤差はあるけど、ここまであれば安心という量を示してある。潰してからその下にあるリスト一式を購入することを繰り返す。
Cookie Clicker Android v.06 Phase 2 Strategy - ita’s diary
Cookie Clicker 戦略 update
最適解を更新。前回は連続買いをオマケしすぎていた。
またGMを2~14購入し他の施設がGM n個あたり1%増加という効果が出る手も追加。何度か採用されている。
評価関数はなんとなく物理的に自然な Log(増加倍率)/待ち時間、を使ったが、たとえば手1,2が待ち時間T1,T2,増加倍率がa1,a2だった場合に1,2の順、2,1の順で買う場合の時間は
- 1) T1+T2/a1
- 2) T2+T1/a2
となる。1)の方が早い、という条件は
- T1+T2/a1 < T2+T1/a2
変形して
- T1-T1/a2 < T2-T2/a1
- T1(1-1/a2) < T2(1-1/a1)
両辺T1*T2で割って
(1-1/a2)/T2 <(1-1/a1)/T1
つまり手の評価として (1-1/加速倍率)/待ち時間、が正しいということになる。
Log(x)と(1-1/x)はxが1以上の場合にほぼ同じような振る舞いをする。実際どっちを使ってもあまり大差ない。