Makerのメモを書き残す

  • ミリガンの法則:「奇妙なことに気づいたら、どれだけ奇妙か記録しよう」
  • Fail Fairly! Fail Ofen!
  • 変人になることを受け入れよ
  • 問題解決は錬金術の魔法の薬
  • ものづくりとはプロセスの結晶だ。適応せよ
  • プロジェクトは無限に存在する。
  • 検死しよう。記録しよう。
  • 持続せよ。
  • 専門化は昆虫に任せておけばよい。
  • エンジニアは手工芸ではない。
  • 一歩一歩進め、無視するな。
  • 書け、描け、記録しろ。
  • ぶらぶらすることはいいことだ。

ローストビーフの作り方

炊飯器を使う調理法

  • 塩コショウで下味
  • フライパンでニンニクとともに、表面に焦げ目がつくまで焼く
  • ジップロックににんじん・たまねぎ・ニンニクとともに肉をいれ、なるべく真空にして閉める
  • 湯をはった炊飯器に投入 ... 30分保温
  • 取り出したら袋のまま冷やす
  • 肉汁が出るので、しょうゆ・みりんを使ってソースにする。

安定結婚問題のアルゴリズム

昨年度のノーベル経済学賞は、ロイドシャブレイ教授の「マッチング理論とその応用の功績」とのこと。そのマッチング理論について一夜漬けしてみた。
マッチング理論の基本は、安定結婚問題と呼ばれるもので次のような内容である。

""男性が$N$人、女性が$N$人いるとする。メンバーはそれぞれ相手方グループの好みの順序のリストを持っている。それぞれ一人ずつペアを作った状態をマッチングと呼ぶ。
""ペアになったそれぞれが、互いに現在組んでいる相手よりも好きであるペア(ブロッキングペア)が存在しないようなマッチングを安定マッチングと呼ぶ。

この安定マッチングを探すアルゴリズムが"ゲール-シャプレイ(GS)アルゴリズム"だ。http://ja.wikipedia.org/wiki/%E5%AE%89%E5%AE%9A%E7%B5%90%E5%A9%9A%E5%95%8F%E9%A1%8Cの内容を元に、pythonで書いてみた。

 import random
 
 N=6
 
 M=[[j for j in range(N)] for i in range(N)]
 F=[[j for j in range(N)] for i in range(N)]
 for j in range(N):
     for i in range(N*5):
         s=M[j][random.randint(0,N-1)]
         M[j].remove(s)
         M[j].append(s)
         s=F[j][random.randint(0,N-1)]
         F[j].remove(s)
         F[j].append(s)
 
 single=[ i for i in range(N)]
 pair=[ -1 for i in range(N)]
 
 while len(single)>0:
     x=single.pop()
     y=M[x].pop()
     if pair[y]!=-1:
         if F[y].index(pair[y]) < F[y].index(x):
             single.insert(0,pair[y])
             pair[y]=x
         else:
             single.insert(0,x)
     else:
         pair[y]=x
 print M
 print pair

Mが男性でFが女性だ。それぞれの好みの順序をrandomで事前に準備している。

アルゴリズムの仕組み的には、独身男性(single)のリストから一人選び、彼の好きな順に女性にプロポーズしていく。一方女性側は、プロポーズされたらとりあえずペアとなり、今の相手より好みの男子がプロポーズに来たら乗り換える、という戦法ををとる。

このアルゴリズムは性質として、
# 男性は一度プロポーズした女性には、2回目のチャレンジはない。
# 女性は一度プロポーズを受けると、必ず誰かとペアとなっている。
# 終了時点で、女子は、彼女にとって今まで逢った最良の好みの男子とペアとをなっており、それ以上の好みの男子は自分を選択していないので、安定マッチング。
を持っていて、これがアルゴリズムの停止性と解の正確さを担保している。

ちなみに、男子からプロポーズすると男子に有利な安定マッチング、女子からプロポーズすると女子に有利な安定マッチングとなる。このため、プロポーズする側に有利な不公平なアルゴリズムといえる。

「''確かに不公平だ、いまどきの女子は自分から告白するぞ''」と同じような仕組みで、女子の独身者からのプロポーズもさせようとすると、先の要素2.あたりが維持できなくなるため、単純にやると停止しなくなるので注意が必要。

この解のような不公平な安定マッチングではなく、公平な安定マッチングというのが存在することが証明されているらしい。が、この中間的な安定マッチングを探すアルゴリズムを開発する方法はNP困難らしい。

男性女性の結婚の問題だと、不公平感を感じるけれど、ほかの同様なマッチング問題に関してなら、有効に考えられるのでは?たとえば、プロポーズする側は、相手集団のすべての情報を持っていて、好みのリストを作れるが、プロポーズを受ける側は相手集団の情報は持っておらず、プロポーズされて始めて相手or過去の相手との比較ができるという場合。

ステーキの焼き方に関するメモ

  • 事前に肉は常温に
  • オリーブオイル(小さじ1)で肉をやわらかく
  • コショウは事前、塩は直前に肉にすり込む ... 肉はたたいて筋きりしておく
  • 先に野菜をいためておく ... にんじん・にんにく芽・もやしなど
  • にんにくは一人前ずつ焼く
  • 牛脂を強火でにんにくは肉を入れる直前にフライパンへ
  • 煙が出てきたら肉を投入... 30秒ほど強火
  • で、弱火 ... 肉汁が"うっすら"浮き出るまで
  • 肉汁が"うっすら"でたらすぐ裏返す。
  • 10秒でレア,20秒でミデアムレア
  • 同時にワインをフランベ、残った肉汁で野菜をいためる
  • ソースは熱を加える程度(焦がさない)

1の冪根

\[
f(x) = x^n-1
\]
1の冪根について。よく知られるように上記のf(x)は、
\[
f(x)=(x-1)(x^{n-1}+x^{n-2}+ ... + x + 1)
\]
と分解できる。仮にnが因数分解できてn=p*qとすると、
\begin{eqnarray}
f(x)&=&(x^p-1)(x^{p(q-1)}+x^{p(q-2)}+...+x^p + 1) \\
&=&(x^q-1)(x^{q(p-1)}+x^{q(p-2)}+...+x^q + 1) \\
&=&(x-1)(x^{p-1}+x^{p-2}+...+x+1)(x^{p(q-1)}+x^{p(q-2)}+...+x^p + 1) \\
&=&(x-1)(x^{q-1}+x^{q-2}+...+x+1)(x^{q(p-1)}+x^{q(p-2)}+...+x^q + 1) \\
&=&(x-1)(\sum_{i=0}^{p-1} x^i) (\sum_{i=0}^{q-1} x^i) P(x)
\end{eqnarray}
のようにかける。p,qが素数ならf(x)は、$(x^p-1) , (x^q-1)$で、割り切れるということ。
このあたりの様子をすこし眺めてみると、

'''「ひょっとして$P(x)$の係数はどんな場合でも1or-1なんじゃないの?」'''

という小さな発見を思いつく。

しかし。

その予想は案外早い段階でもろく崩れる。

$n$ の素因数分解に3つの奇素数が含まれるとき、P(x)に1でない係数項が現れてしまうのだ。例えば $ n=3*5*7= 105$の場合:
\[
(x^{105}-1)= ... (x^{48}+...-x^{42} - 2x^{41} - ... )
\]
という結果になる。maximaで確かめてみよう。

wikiに1の冪根という記事があるがこうゆう話が載っているのは英語版

クリスマスに少女は還る

600pもあるミステリ長編なのに、平日の数日、寝る間を惜しんで呼んでしまった傑作。

クリスマスに少女は還る (創元推理文庫)

クリスマスに少女は還る (創元推理文庫)

多くの方が、書評やネタバレを書いているので、特に多くは言及しない。

ただ、僕の場合、みんなが涙したという本書のエピローグのどんでん返しを、夜中の3時に読んで、鳥肌と寒気で凍り付いてしまった。

要するに傑作なのである。

歴史は「べき乗則」で動く

最近読んだ本について。

歴史は「べき乗則」で動く――種の絶滅から戦争までを読み解く複雑系科学 (ハヤカワ文庫NF―数理を愉しむシリーズ)

歴史は「べき乗則」で動く――種の絶滅から戦争までを読み解く複雑系科学 (ハヤカワ文庫NF―数理を愉しむシリーズ)

早川書房の<数理を楽しむ>シリーズは楽しく読める本が多い。この本はよくある複雑系科学の啓蒙書。最初あたりから中盤にかけては、多くのモデルを説明して、例の「べき乗則」の面白さを説明する。このあたりまでは楽しく読めるのだが、終わりのほうの本書の主旨たる「歴史物理学」のあたりになると、なんというか、クエスチョン、とは言わなくても、若干の消化不良な感じを受けてしまった。

いや、わかるのよ。よくわかる。歴史もべき乗則っぽいのは。今までの本書の説明から考えてもそうだし、たとえば、ドラえもんやバックトゥザフューチャーみたいなので出てくるタイムマシンパラドクスの要素として語られる初期値鋭敏性は複雑系だし、人間社会はかくも複雑ネットワークだから、著者の言っていることはしごく当たり前に理解できて、納得するし、激しく同意するのだけどね。

せっかくなんだから、もっと「おおっ」と驚かせるような知的な新鮮さがほしかったのだが、どちらかというと、「歴史」という複雑なものについての細かい具体例や理屈に終始してしまって、もう少し科学的に踏み込めないものか、と感じてしまったところである。

歴史という素材自体が非常に膨大な要素と事象の塊だから、難しいんだろうな...って、はて、"歴史"って何なんだろう?

水筒のお茶の冷やし方

熱湯から紅茶を入れた後、氷で冷やして水筒に入れたい。
じゃあ、どれくらいの氷が必要か?というお話。

氷の凝結熱 ... 333(J/g) = L
水の比熱 .... 4.2(J/g・K) = C (0℃のとき、だけどこれで計算しちゃう)

xを氷の量(g) 、yがお茶の量(g)で、T_Yがお茶の温度とすると、
 L x + C x T = C y ( T_Y - T)
で T が水筒の最終的な水温ということになる。

T=0℃にしたければ、L/C \simeq 80 あので
x \simeq \frac{y T_Y}{80}

だいたい、「80℃のお茶を0℃まで冷やしたかったら、同じ量の氷をいれればよい。」と覚えよう。

生物と無生物のあいだ

本屋をうろうろしていたら、福岡伸一先生の著書を見つけて、表題のベストセラーを思い出した。

生物と無生物のあいだ (講談社現代新書)

生物と無生物のあいだ (講談社現代新書)

これの気に入っているのは「生物の本質は動的平衡である。」という主張。賛否両論あるのかもしれないが、このアクロバットなアイデアはスゴいなぁと感じた記憶がある。「人間はトポロジー的には筒(ドーナツ)と同じ」というジョークも思い出す。要するに視点を切り替えるというところが知的興奮の源泉のように思う。

動的平衡といえば、たとえば台風や竜巻などもその発生している時間帯を切り取れば動的平衡である。海からの温湿な空気をエネルギーとして強力な渦を発生させる台風と、食物という燃料を食べてあちこち動き回り、考える人間。こんな共通項を論じるところに面白さがある。

哲学に"マッハの視点"というのがあるが、すべての概念をいったん忘れて現実に見えるものを見る、というこの手法を、物質科学だけの視点で行ってみる。するとそこには酸素とか窒素とかがあちこちに飛んでいるものが見えるはず(大気だから)。そうしてみると、人間もCやHやOの塊に過ぎない。であれば、台風の数値シュミレーションによる予測と同じように、人間という物質のモジュールを組み込めば、次の動作が予想できるのでは?っとラプラスの悪魔的思想を思い起こさせる。

結局、複雑系というややこしい奴と、どこに行っても対峙することになるのだ。