月報 2023/01

Fri 13 Jan 2023 線形バンディット, Contextual Bandit

一般の形式化

バンディットが取れるアクションは \(d\) 次元実ベクトル(の部分集合).

\[a \in A \subset \mathbb R^d\]

ここに未知のやはり \(d\) 次元実ベクトル \(\theta \in \mathbb R^d\) があり, またノイズ \(\epsilon\) が乗って(例えば平均ゼロのガウス分布)

\[X = \theta^T a + \epsilon\]

が報酬として与えられる. そこでこれの最大化を目指す問題を 線形バンディット問題 という.

この \(a\) のことをその腕に関する 文脈 だということにしてこの問題を Contextual Bandit と呼ぶものもある.

普通のよくあるバンディット問題は, 有限のアクション集合 \(A\) から離散値として \(a \in A\) を選ぶわけだが, \(A\) を one-hot ベクトルとすることで \(\{0,1\}^{|A|}\) に埋め込む事ができるので, 線形バンディットと思うことは普通に出来る.

一般の線形バンディットではそのアクション集合は無限集合なので, 普通のバンディットアルゴリズム (UCB など) を適用しても上手くいかない.

LinUCB

UCB の線形バンディットバージョン

ハイパーパラメータとして, UCB の大きさを決める \(\alpha>0\) を決めておく.

LinTS

ほとんど LinUCB の UCB 部分を Thompson Sampling にしただけ

ハイパーパラメータは \(\sigma^2, \sigma_0^2\)

\(p_a\) の作り方以外は同じ.

Tue 17 Jan 2023

20:28:36

去年末, RTA in Japan を見てた. 自分がプレイしたことがあるゲームのRTAは当たり前だけど楽しい. (プレイしたこともないのに見てて楽しいRTAというのは稀だがある). 12/30 に factorio のプレイがあって, 無料デモがあったのでそれをやりながら見てた. 結局デモを完了したのが 1/1. その日に製品版を購入した. あまりに熱中すると睡眠を忘れるので本当に危険なゲームだと思う.

factorio 環状線方式

上手な工場を作る人達からすればあまりに効率が悪いので誰もやってる人はいないだろう. 私が最初に組んだ工場の方式. 命名は私.

一つの大きな環状線をベルトコンベアで作る. ここに乗ったアイテムはベルトコンベアに乗ってる限り何周も回り続ける. たまにその外から鉄板や銅板が入り込む. 環状線のすぐ内側か外側に組み立て機を置いて, これはベルトコンベアから材料を取って, 生成物を環状線にまた戻す. (場合によっては外に出して別の環状線に流す.) 環状線は多種多様なアイテムがごちゃまぜに混ざって流れ続けることになる. (効率を無視すれば)これは別に困らない. 組み立て機に入れる方のインサーターは必要なアイテムだけを勝手に選択してくれるから. 必要なアイテムがいつか流れてきさえすれば, いつかは動く.

(炉)
  |     +---<---+
  +---->|       |
        v       ^
        |       |=(組み立て機)
        +--->---+

問題点: 混雑

やがてベルトコンベアが混雑すると, 新しい素材が入り込まない, 組み立てで新しく出来たアイテムを置けない, 必要なアイテムがいつまで経っても回ってこない, という問題がある. ついでに次第にバランスが異常に悪くなる. 例えば極端に, すべて銅線だけになって混雑すると, 新しい新陳代謝が起きないので状況が変わらない).

混雑解消, アイテム循環のためにはバッファを作った. これはインサーターと箱, 及び回路ネットワークからなる. 回路ネットワークを使うとベルトコンベアの上にあるアイテムの個数を取る事ができる. ある一つのベルトコンベアだけを見ると局所的なので, 例えば連続する2つの上のアイテムの個数を見る. 1つのベルトコンベアは見た目の上では 4 つアイテムが乗るが, 混雑すると最大まで 8 つまで乗る. 2つのベルトコンベアの最大容量は 16 個. かなり余裕を持って 6 個程度を混雑してるかどうかの閾値とした.

バランス解消のためにはバッファに詰める際,

という気持ちがあるが, 選別せずに闇雲に選べば, 多いアイテムを多く選ぶことになるので, それでいいことにした.

バッファは箱一つだとすぐいっぱいになるので, 8 個とか 16 個くらいの箱を並べて, インサーターで中を循環させた. ただし循環といっているが, 箱への出し入れはスタック (FILO) なのでそこだけが困った. 奥底に眠った鉄板や銅板がずっと眠ったままになることがある.

赤パックまでは本当にこれで余裕. 緑パックもこれでいけるが, やはり効率が悪いのですごく時間が掛かる.

今は使ってない.

追記

「寿司ベルト」という手法を知った. 似てはいるが必要な材料を外から与えて, 内はそこから取っていくだけ(戻すことはしない). また与える際にはベルトの上を回るアイテムの個数を回路ネットワークを利用して厳密に管理をする.

Fri 20 Jan 2023

00:47:04 PCの前でモナーかギコだかが首をゴキッて鳴らすAA

.   ___    ゴキッ
  / || ̄ ̄|| <⌒ヽ ))
  |  ||__|| <  丿
  | ̄ ̄\三⊂/ ̄ ̄ ̄/
  |    | ( ./     /


.   ___    ゴキッ
  / || ̄ ̄|| <⌒ヽ ))
  |  ||__|| <  丿
  | ̄ ̄\三⊂/ ̄ ̄ ̄/
  |    |(/    ./

Tue 24 Jan 2023

23:52:57 ようやく factorio をクリアした

クリアとは最初のロケットの打ち上げのことを言う. 156時間掛かったらしい. 実際はほとんど放置してた時間を含むので, 手を動かした時間はもっと短かったと思いたい.

Thu 26 Jan 2023

13:13:35 夢日記

夢日記。たぶん高校に再入学した。廊下にベッドが山積みになってて生徒はそこで寝ることになってた。朝の点呼があって、そこで初めて学校が何時から始まるのか知った。朝早いので嫌な気持ちになった。廊下を歩くと誰かの荷物が散らばってたので隅っこにひとまとめにしてたら持ち主がやってきた。私は自分がやったんじゃないよ、と言い訳するために最初から散らかってたのを言った。持ち主は犯人への恨みをつらつら述べた。

29 Jan 2023 夢日記

夢日記。中学校に復学するが、ちょうど卒業する間際のシーズンだったので簡単に卒業できてラッキーだった。

Tue 31 Jan 2023

12:19:52 夢日記

夢日記。黄色い電車に乗ろうとする。電光掲示板を見ると最終便らしいから大変だ。慌てて乗ろうとするがドアが見分けられずに乗れない, と思った次の瞬間には乗れていた。 仲の良い数人でバスに乗る。バスで水族館かなにかに到着した。仲間の一人は入口近くでトイレにさっそく行ったので残った我々はそれを待つことにした。私以外の二人がずいぶん話し込み, 私はそれをなんとなしに聞いていた。話が盛り上がり時間がずいぶん経ったが, トイレに行った仲間が戻ってくる様子がないことに今更気が付いた。

いつかの夢日記

夢日記。ギター屋さんでギターを選ぶ。

12:25:45

この一月は長かった. そして日記を全然書いてなかった, のでまとめて書こう.

年末年始について. 人と喋りながら RTA in Japan を見てた. cuphead と factorio をやり始めた. cuphead はあまりにも難しいスーパーマリオで, もう全然遊んでない. factorio は見た目が地味で絶対こんなの興味がないと思ってたのに最近で一番好きなゲームになってしまった.

factorio について. とりあえず一回はゲームクリア(ロケットを打ち上げること)をして, さすがにやや熱意は冷めてきた. ただまだすべての要素を味わってない. まだ原子力発電を試してないしすべての研究を終えてない. 実績の一つに「8時間以内でクリアする」がある. これを達成したい.

孤独について. たまに話し相手になってくれる人がいるが, 人には人の人生があるので, 私が孤独であることには変わらないという気持ちがある. 楽しさ閾値とか幸福閾値みたいなのがあって, これは人の人生を見るたびに勝手に上がっていく. 高校生時代と浪人時代は大人以外とは誰とも話さずに過ごしてたが, 別に寂しいと思ったことがなかったし, 今思い出しても嫌な思い出がなにもない. そういうものだったから. この歳になると, もうこれから何も人生が変わらないんだろうという予感があるので苦しい. 日記を書こう.

初詣について. まだ行けてない. こうなると, 近場では済ましたくない.

最近見た映画. 「ヒトラーを殺し、その後ビッグフットを殺した男」 あらすじは本当にタイトル通り. 笑った. 「太陽を盗んだ男」 タイトルはすごくいいが, 中身はタイトルに負けてる. 昔のドラマってこんなんだよな. 1970年の日本人にとっての原子爆弾というものへの認識がよくわからない. 「天使のたまご」 つまんなかったし, 典型的に「難解なものを頑張って解釈してそれを披露すること自体を楽しむ」ストーリー. 押井守の「天使のたまご」って知ってます?アニメの。見て意味が解か... - Yahoo!知恵袋 「この子は邪悪」 ホラー映画. 怖い映画ではなくて見てて気持ち悪くなれる映画. 日本のホラー映画ってそういう傾向があると思う. 最後のオチでタイトルが回収される. 私は好き. 「レザボア・ドッグス」 タランティーノの監督デビュー作がこれらしい. 同監督のパルプ・フィクションがあまりに良かったので観た. 犯罪アクション映画という大筋は映画として成り立たせるために必要なのであって, 真のタランティーノらしさは登場人物たちの無駄な会話. 純文学だと思う. 純文学というジャンルはストーリーが無くても成り立ち, なんでも無い風景ですらも文章で描き切ること自体を目的としている, って考えてる. 例えばターミネーターに出てくる登場人物たちはほとんど大抵の場合ストーリーラインに関係する会話しかしない. スカイネットがどうとか. でも本当に生きてるキャラクターならもっと違う話もしてないとおかしい. そういうのもゼロだというわけじゃないし, 実際, 印象に残るのはそういう合間のどうでもいい会話だったりする. 少年がお店の商品のチョコレートバーを勝手に開けて食べるところだったり, ターミネーターに汚い言葉を教え込むシーンだったりね. パルプ・フィクションのハンバーガーを食べるシーンだったり, 「ケチャップ」だったりね.

マクドナルドの店の前に, もう何年も前から, 小さな子供の置き忘れであろう玩具のスクーターが放置されている. 男子高校生の集団が屯して, 一人はそのスクーターに乗って騒いでいた. 散ってくれないかなと思って私は集団を睨みつけるが, もちろん気にもされない. 店員が店の中から出てきて, 高校生はいいよな, 高校生じゃなきゃあんな風には騒げない, と本心から羨むようなことを言う. はじめは別の店員とおしゃべりをしてるのだと思ったがどうやら私に話していたらしい.

マクドナルドを喫茶店代わりに使うのが好きだ. 床も机も汚れ放題だが. 客がペーパーと除菌用に置いてあるアルコールを使って机を拭いてから使うのが当たり前のようになっている体たらくだが. 若い男女がどうしようもない話をしているのを聞きながら本を読むのが楽しい. 話し相手になってくれる人がいないとき, 人が喋ってるのを聞くと孤独が紛れる.

老人は狭い机に競馬新聞を広げ赤鉛筆で印をつけるのに夢中になっていた. ものを考えるのが好きだが, かといって学術的なことに興味があるわけでもなかった. 頭もよくはない. だから競馬の予想をしていた. 本当にお金を賭けてはいなかった. ただ予想をするので楽しかった. こうしていると, 特に大きなレースがある週なんかだと, 同じ趣味を持つ人が話しかけてくることがあった. 大抵の場合は自分が持ってるセオリーを語り合うだけで, 何も得られるものなんてなかった. それでも十分満足感を得ることができた.

ハイパーインフレーションを公開されてる分を読んだ. こうやって読み返すとかなり短いな. 一晩で読み終わる.