0612
*1371024081*分布が部分空間に落ちていないかチェックする
某所で「あるN-bitの列がN次元空間中で均等に分布しているかどうか確認したい」という話題が出てて、面白そうだったので書いてみた。
まず正しく6次元空間に分布している例。
|python|
from pylab import *
from matplotlib.mlab import PCA
PCA(array(data1))
matplotlib.mlab.PCA instance at 0x110a23368
_.fracs
array([ 0.22253508, 0.18659093, 0.17676459, 0.15136027, 0.14785211,
0.11489702])
||
主成分分析の結果のfracsは寄与率を返す。だいたい1/6(0.166...)前後になっているのがわかる。データの個数を100個と少ないので0.22~0.11とばらついているけど。
一方、軸の間に相関がある場合。
||
def make_vec():
return ret + ret
PCA(array(data2))
matplotlib.mlab.PCA instance at 0x111cef7a0
_.fracs
array([ 3.83213080e-01, 3.30321515e-01, 2.86465405e-01,
3.05496905e-31, 5.77068439e-32, 6.60331164e-33])
||
このケースでは実質的には3次元の部分空間上にしか分布していないので、主成分分析の結果の寄与率が4~6番目の軸に関してとても小さくなっていることがわかる。
もちろん「各軸の間に相関はないけども暗号論的には適切でない分布」はこの方法では判別できないけども、この方法は手軽に試せるので最初の一歩として確認してみると良いのではないだろうか。
追記: 「各軸ごとの平均値をみたらいいんじゃない?」という質問があったけども、それは「v0が常に0」みたいなタイプの潰れ方には有効だが、 この例のような「v0 == v3」という潰れ方に気づくことができません。ただ、この方法でも「v6 = v0 ^ v1 ^ ... ^ v5」みたいな潰れ方には気づくことができません。 *1307848501*ストリームスをプレイした
すごろくやで新作のストリームスってゲームをプレイした。ルールを聞いた時はプレイヤの相互作用もないし出る数値のコントロールもできないし微妙と思ったが、実際やってみると意外と面白かった。自分の選択によって成果の変わるビンゴだと思えば納得。ビンゴとしてつかえばウケるんじゃないかなー?
ユーザー間のインタラクションは全く無いのでゲームと捉えるといまいち。「不思議なことに、条件はまったく同じなのに、人によって異なるマスに記入していきます。」っていうのは単純にプレイヤーの頭が悪くて全パターンの読み切りができないことに起因していて、デッキの中身は既知なのでどういう状況下でも最後まで読みきればそれぞれの選択肢を選んだ時のスコアの期待値を計算できる。探索空間はおおざっぱに計算すると、えーと10の40~50乗か。ちなみに将棋が10の220乗、オセロが10の60乗って言われているので、比較的簡単な部類に入るだろうな。ただ、そこに労力をかけても運の要素が強いので必勝にはならないしあんまり面白くないんじゃないかなぁ、と予想。
*1307885250*英単語日記5
**前回の記事
** 計測
11日に復習すべきだったけど休日なので忘れていたぶん。13枚テスト、1分。12枚OK、1枚NG。12日に復習するぶん。14枚テスト、1分。14枚OK。両方合わせて16日の復習をスケジュール。
**間違えた単語
idiosyncrasy。これももうOALDの説明も英辞郎の説明も両方書いてしまっているから、語源に遡って太らせるか。idio-自体に「特殊な、固有の」という意味があるらしい。ふむふむidiomと同語源だな。インタラプトが入ったので今日は1ポモドーロにならず。
**目標の確認と更新
- 休日はお休みにしようかと思っていたけど、2日あくと辛くなると言われたので土日もやる→土曜日は忘れてたけど日曜日はやった!
- 土日に1ポモドーロずつでも英語の論文を読み進めて、わからない単語のピックアップをする。→×
土日に勉強時間割がない状態でいきなりこの目標設定はやり過ぎだったようだ。あと前回「勉強中の山を空にする」と「復習フェーズで全問正解」の2つの目標を達成してから中だるみが始まってしまっている。
適切な目標を設定しないといけないけどどうするかなぁ。
復習用のカードを数えたら97枚あったので、100枚にすることを目標にしよう。明日達成できる。あと何日後の復習かによって分けてそれぞれ何枚ずつか数えよう。切りの良い数字目標がつくりやすくなるだろう。
明日からの目標
-「明日もやる」
- 復習カードを100枚以上にする
*1276313679*Civilization Revolution for iPadとCivilization IVの違い
まだiPad版を難易度の低い方から2回遊んだだけなので印象レベルだがCiv4との比較
** 都市維持費がない?
たくさん街を作ってシムシティ的な遊び方をするのには向いている?
** 文化による都市の転向が起きやすい
1ゲームに3都市とか転向したりする。城壁は転向への抵抗になる。ハリウッドか何かで無効化できる
** 民主制以外の政治形態がいまいち使えない気がする
Civ4であれば組み合わせで選択肢が膨大にあるが、こっちは政治形態が6通りしかない。そして、たしかCiv4では民主制だと仕掛けられた戦争でも反戦運動を始めたりして満足度がさがったかと思うが、こっちでは自発的に戦争できないのと和平を申込まれたら断れないのだけなのであんまりデメリットがない。あと僕はCiv4ではカースト制を導入してシムシティ的な遊び方をするのが好きなので奴隷解放運動とかが起こると困るんだが、その二つはない。
** 飢餓がない?
Civ4ではうっかりするとすぐに都市の農民が飢えてしまったりするけど、なんかそういう事態が起きているのをまだ見たことがない。気づいてないだけだったりして?
などなど、Civ4より1段階ジレンマが少ない感じかな。Civ4で「あちらを立てればこちら立たない!ああどうしよう!」になるケースのいくつかで「あれ、ナニも考えてなかったけど特に問題怒ってないな。ふむふむ。まあでも難易度が高いときには効率のためにはどっちに注力するか決めないといけないかもな」になる感じ。都市の人口はイケイケで増やして問題ない(衛生度や飢餓のダメージが無い)し、都市もイケイケで増やしていい(都市管理費がない)し。
まあ、でもこれは僕が基本的に反戦で効率よい成長を再重要視するぬるゲーマーだからかもしれないなぁ。Age of Mythologyではガイア(経済ボーナス)やラー(田んぼの生産量が最大)を選ぶし、Civ4でも最初に選んだ文明はガンジー(農民の生産性ボーナス)だったからなぁ。高い難易度で、戦争が不可避な状態をプレイするときにはそうも行かないのかも知れない。
hr
追記:高い難易度だと宣戦布告されまくりな上に相手の都市の隣まで攻めこんであと一歩で落とせるって時に相手が休戦を申し込んで議会が休戦を決議しちゃったりしてイラっとする。常時戦闘下にあるのであれば民主制以外の選択肢もそれぞれにメリットとデメリットがあって悩ましい。共産主義の生産ボーナスはとても魅力的だが、文化の生産が激減するので国境が徐々に後退してしまう。宗教原理主義の全てのユニットの兵力+1もすごく魅力的だけど、科学の生産量が激減してしまう。