2009年3月27日金曜日

やりたい研究→工学として利益をあげられる研究
         ↑
     こじつける能力

2009年3月26日木曜日

完璧主義者
それは何事も完璧にこなす人物を意味しない
何事に完璧にこなそうとして
それが不可能であると分かる程に絶望していき
結局は何もしない人物を意味する

完璧主義者は
不完全な自分と向き合うことを最も恐れる
彼らにとって、あることが出来ないということは
自己の存在を否定されるぐらいに苦痛なことだ
出来なければ意味がない
出来なければ価値がない
出来なければ屑だ
出来なければ――

更に彼らは絶望的に不可能な枷を己に課す
「出来るだけではだめだ。一番でなければならない」
常に評価されるのは一番、妥協しても上位数パーセントなのだ
それに達しないものは評価されない
評価されないものはゴミだ
だったら最初からやらない方がいい

この健康とは言えない物の考え方は
不完全な自分を意識しないための防衛手段になっている
彼らは自己の存在が否定されるような危険には決して近づかない
劣等感を感じさせる存在には決して近づかない

だから僕は人に近づかないし、近づけない

これを解決する手段は
人間は不完全でもいいと、分かることだ
失敗して当たり前
怒られて当たり前
屑でもいい、木偶の坊でもいい
評価されなくてもいい
ただ、皆と共に生きていければそれが幸せだ
そんな風に――

2009年3月19日木曜日

暇だから自動筆記

森を抜けるとシュナイダー先生がいた
シュナイダー先生は僕の恩師だ
灰色の帽子、灰色のスーツ、灰色のひげ
いつもニカニカ笑っている
でもここはあの世なので彼は死んでいる
死んでいる彼に会えるということは僕も死んでいる
僕は、前々から気になっていた事を聞いてみた
先生はこう答えた
「私はもぐらです
 もぐらは鳥やトカゲに何もアドバイスできないです」
でも先生は何年も生きたのでしょう?
「私はもぐらです
 もぐらは鳥やトカゲに何もアドバイスできないです
 皆別々の動物ですよ」
私は死んだことを悔やんだ
私は自分と鳥を比べたのだ
でも私は鳥じゃない
鳥になる必要もない
漫画のうた

ああ、漫画が描きたい
でも、描けない
なぜなら、私は下手だから

ああ、漫画が描きたい
でも、描かない
だれも、それを読まないから

ああ、漫画が描きたい
でも、描かない
じぶんに、絶望したくないから

ああ、漫画が描きたい
でも、描かない
いつまでも、夢をみていたいから

漫画とかどうでもいいや
ほんとどうでもいいや
ああ暇だ
漫画でもかくか
女性型or男性型ロボット作ったら人類滅亡するんだろうなぁ

2009年3月18日水曜日

くしゃみと涙と鼻水と頭痛と発熱が止まらない

2009年3月16日月曜日

遺伝的アルゴリズムにおいて
個体giを次の世代に複製する確率piは
個体giの適応度関数fiを用いて
pi = fi/Σ[j]fj で与えられる(適応度比例選択)

一つの世代で、保持できる遺伝子の数をLとすると
適応度fiの個体は次の世代で平均
Lpi = fi/f~ 個に増える(もしくは減る)
ここで f~は全ての個体の適応度関数の平均値である
つまり、適応度が、平均よりも大きければ、
その個体は世代を下るごとにほぼ指数的にその数を増やすことになる

一つの世代で保持できる遺伝子の数はL個と限られていて
この枠は最も適応度の高い個体に独占され、遺伝子の多様性が失われることとなる

同世代に占める遺伝子の種類が減少すること、多様性が失われることはつまり
遺伝的アルゴリズムによる探索領域が狭まることであり
局所解から抜け出せなくなるという結果を招く

問題は、一つの種が際限なく増加することであり
これを防ぐ何かの手を考えなければならない

現実に照らし合わせて考えたとき
ある一つの種が爆発的に増加したといって
別のある種が急激に減少するということは一般に言えない
眠い寝る
と、一通り愚痴を書いてすっきり
自尊感情の低下――つまりは自信がなくなると
自分に価値を見いだせなくなり
何事にも消極的になったり
後ろ向きになったり
鬱になったりする

自尊感情を高める方法にはいくつかあり
一番手っ取り早い方法が
自分の属する文化にとって
自分より下とされる人物やグループを馬鹿にすることだ
最後の手段といってもいい

この方法は容易だ
なぜならそこらへんに転がっている
レッテル語を一つ拾い上げ
その対象とするグループをけなせばいい
「ゆとり」「ニート」「中卒」etc

更に言えば、「犯罪者」「政治家」等も
この範疇に含まれるといっていいかもしれない
彼らを非難するとき
果たしてそれは
よりよい社会が実現されることを願った結果の行動だろうか

感化されて文章を書く

<飲んだ勢いで書きました>

無駄が仕事を生む
効率化されれば仕事がなくなる
と語っていた

研究室のある人の話を思い出す

穴を掘って、又埋めて、穴を掘って、また埋めて
でもそういう無駄なことがあるから
食べていけるという
なんだかやるせない

正義や道徳の観念を全てを捨ててしまって
人間を人間と思わない方が、むしろ健康体を保てるのではないのかとさえ思えてくる
人間は動物で、動物は力の世界で生きている
殺されれば負け、勝った方が正しい

そうすれば、悲しい人間を見て、悲しむこともないし
不条理な力のある人間を見て、怒れることもない


僕にはもう正直生きる気力はありません
夢を追っていた過去の自分はもう死にました
夢がかなう可能性、夢がかなった後の現実
夢をかなえるための自分の能力
全てが足りないし、魅力を感じません、気力もありません

僕にはもう正直生きる気力はありません
しかしそれは物理的に死ぬということではなく
精神的に死ぬということです
人間は生きているうちに何度も死んだり生まれたりするのでしょう


人間という動物
――現実から目を背け
趣味として、数式をいじくる毎日
これが僕にとっての幸せです

長く生きるつもりはありません
しかし、それは短く死ぬということを意味しません

仕事に就くための勉強して
いい会社に入って自分の時間を持つことなく働いて
そして退職して老後を向かえ
そして程なくして病気にかかって死ぬ
人生の価値が、生きた年数に比例するとでもいうのでしょうか
何を考えて生きているのでしょうか?

いいえ、誤解を恐れずに言えば、9割は
生きること自体について何も考えずに生きているのでしょう
それは、十分に暇のある人が考えることで
奴隷を雇って仕事をしなくてよかった古代ギリシャの哲学者とか
大学生ぐらいでしょう
きっと、何かをするために生きるのではなく
その年、その月、その日、生きるので精一杯
そういうことなのでしょう

つまり、価値観の尺度が根本から違いわけです


有意義に楽しいと感じることを
なんの不安にさらされることもなく無条件に夢中にできた
あの頃に戻りたい

(いや、過去には過去のつらさがあっただろうし、
 過去を美化してもしょうがない、か)

さもなくば
心を殺して何も感じない人間になって


神様どうして人間を不完全に作ったのですか

2009年3月14日土曜日

ポインタマシン意味ワカラン
ランダムアクセスマシンの項を読む

2009年3月13日金曜日

高い適応度を持っている遺伝子でも
交叉により適応度が0に近い個体が生じ、選択によって淘汰されることが多々ある。
JZを利用したループ構造を持つプログラムが生じない理由はおそらくここにある。
JZ(xi,n)は、変数xiの値が0のときn行目の命令飛ぶ命令であり、
無限ループが生じる危険性を高める。
そして、無限ループして終了しないプログラムの適応度は0に設定している。

ヒッキーの私に、学校まで本を調べに行く気力等あるはずもなく
ネットでググったらMGG(Minimal Generation Gap)という交叉手法があった。
語の意味はわからない。
二つの親g1,g2に対して交叉を行うと、子g1',g2'が生まれる。
更にその子に対し交叉を行うと孫が生まれる。
この操作をc回繰り返す。
こうして、2c+2個の個体が得られる。
MGGではこの2c+2個の個体から
最大の適応度を持つ個体と、適応度比例選択した個体を
MGGにおける交叉によって新たに生じた個体と新たに定める

普段、言葉使ってないから
だいぶ、日本語が不自由になっている、ああもうだめだ

とにかくMGGを使ったら
ループ構造を持つプログラムが生じた。
これによって、従来の交叉手法では、
ループ構造を持つ個体が(その交叉に対する不安定性から)淘汰されていたという可能性が強まった。

しかし、まだループ回数は2回程度の物しか生じていない。
0: JZ(4,16)
1: JZ(4,19)
2: JZ(4,14)
3: JZ(4,19)
4: JZ(4,18)
5: JZ(4,15)
6: JZ(4, 7)
7: INC(x4)
8: JZ(3,15)
9: JZ(4,19)
10: JZ(4,2)
11: JZ(4,12)
12: JZ(0,14)
13: INC(2)
14: DEC(x4)
15: INC(x1)
16: INC(x0)
17: JZ(1,15)
18: JZ(4,6)
19: JZ(2,10)

2009年3月12日木曜日


花粉うめー
 花粉ちょううめー
感動で涙とまんないぜー
遺伝子を0と1の列で、長さLのものとする
例えば L=10では
0100111001, 0001010001, 1110100010 等は遺伝子である

0と1と*の列で、長さLのものをスキーマという
例えば L=10では
**1*01**0*, ***100****, 1*011*10*1 等はスキーマである
スキーマHの*を適切に0か1に置き換え遺伝子gを作れる時
遺伝子gはスキーマHを持つ、という
左端から連続する*と、右端から連続する*をのぞいてできた列の長さを
スキーマHの定義長という
例えばスキーマ H=**1*01**0* の定義長は
**1*01**0* → 1*01**0 から7である

・スキーマ定理 (適当)
スキーマHを持つ遺伝子の適応度が
遺伝子全体の適応度よりも高く
スキーマHの定義長が短いほど
そのスキーマHを持つ遺伝子は指数関数的に繁殖する

つまり、JZやDEC命令を駆使してループ構造を指し示すいくらか定義長が長くなりそうなスキーマよりも
INC(x0)の位置命令を指し示す定義長1のスキーマの方が繁殖しやすい


・もしかしたら……
適応度が高くても
他の遺伝子との交叉によって
適応度の小さな個体が生じやすい遺伝子は繁殖しずらい?
ループ構造を持つプログラムは、適応度は高いが
他のプログラムとの交叉によって、ループ記述のためのJZ命令(goto命令)の部分が悪さをして
無限ループを発生させ、適応度を0にしてしまう
そのため、ループ構造を持つプログラムは生き残りにくい、と考える

どうすりゃええのん

2009年3月11日水曜日

遺伝子長さ(=命令数)を72に増やして半日実行
ループ構文を利用したプログラムは生成されなかった

適応度関数を
終了時の変数x0の値にしていたことが問題となんとなく思った

次は適応度関数を
<終了時の変数x0の値>÷<プログラム中のINC(x0)命令の数>で試そうと思う

少ないINC(x0)命令で、終了時のx0の値が高い方が、遺伝子(=プログラム)の評価が高いとする
こうすることで、ループ構造を利用したプログラムが生まれることを期待する
前々からやりたいと思っていた
遺伝的アルゴリズムを趣味で始める
INC,DEC,JZ の命令配列を遺伝子コードとした
適応度関数は、プログラム終了時の変数x0の値
200ステップ中にプログラムが終了しないとき、評価値はほぼ0とした
つまり、終了するプログラムでかつ、出来るだけ大きい値を返すものの
評価を高くした

交叉確率は0.5, 突然変異確率は0.1となんとなく決めた
各世代の遺伝子の数は500とした

(実験1)
とりあえず遺伝子長さ(=プログラムの命令数)20で一晩動かしてみた
生じたプログラムは INC(x0)命令をひたすらしきつめた単純なもの
適応度関数の値は17前後
JZを利用したループ構造が利用されたプログラムは
生じなかった

(実験2)
とりあえず遺伝子長さ48で一晩動かして見た
生じるプログラムは、実験1のものと大差なく
INC(x0)命令を単純に並べたものだった
しかし稀に、JZを利用し、同じ個所にあるINC(x0)を複数回(といっても2回程度まで)
実行するプログラムが生じた
しかし、次の世代に生き残れないことがほとんどだった

・JZを利用したループ構造を持つプログラムをこの先生きのこることが
 どうしたらできるのだろうか

あ、今4個体程度まで増えた
がんばれーがんばれー

あ、消えた
何書いてんの僕
頭おかしいんじゃないの

2009年3月6日金曜日

周囲の人物はあなたを無自覚にころしにかかる
きづいたときにはもうおそい

2009年3月2日月曜日

・INC(r) レジスタrの値を1増やす
・DEC(r) レジスタrの値を1減らす
・JZ(r,n) レジスタrの値が0ならばn番目の命令に飛ぶ

この三つの命令だけでチューリング完全らしい

2009年3月1日日曜日

知らないおじさんにビール一本おごられた
ごちそうさまです