ヴァーチャルニート発生学

太鼓・敢然……じゃなかった。人工知能ニートを作ってみるネタです。
部屋に引きこもってこんなのをチマチマ組んでたりすると、「人工無能人工無能を作る実験」とか「ニートニートを作る実験」とかそんな言葉が脳裏に浮かんできて危ないです。
さておき。
使うのは普通の三層パーセプトロンです。入力層は4つ、出力層は7つです。中間層は5にしました。中間層の数に根拠はありません。

実験場

3*3、9つの部屋からなる家を想定します。広いですね。左から上から123とつけてます。隣り合った部屋は相互に行き来が可能です。ヴァーチャルニート君の生活範囲はこれだけです。ニートらしいですね。実は外もあるんですが彼には認識できないんです。ブラックですね。
時間の経過とともにニート君は腹も減れば眠くもなります。ただし、眠くなったらベッドで寝なければなりません。ニートの癖に律儀です。もしかしたら、他の部屋で寝ると家族に邪険にされるのかも知れません。ベッドは1-1の部屋にあって、それ以外の場所では眠ることができません。同様に、腹が減ると3-3の台所に行って食事をしなければなりません。

ニート

ニート君の入力層は、このように使われています。

0番目
X座標
1番目
Y座標
2番目
眠気
3番目
空腹

ニート君の出力層は、このように使われています。

0番目
北に行きたい気分
1番目
東に行きたい気分
2番目
南に行きたい気分
3番目
西に行きたい気分
4番目
惰眠を貪りたい気分
5番目
暴飲暴食したい気分
6番目
無為な気分

動作

単位時間あたり、ニート君のパラメータを入力層にぶっこみ、行動を決めます。
出力層のうち、最も高い出力を出した行動を行動します。
その行動が成功するか失敗するかを判定します。
成功すれば、その行動の出力が1になる(近付く)ように学習させます(ただし、移動の成功については特に強化はしない)
失敗すれば、その行動の出力が0になる(近付く)ように学習させます。
※許容誤差は0.01、η値は0.01、時間短縮のため、学習回数は一度に1000回に制限。
睡眠をしたければ場所が1-1でなければ成功しませんし、食事をしたければ3-3でなければ成功しません。
壁に向かって移動もできません。
ぼうっとすることの強化はしません。空腹や眠気などが強い場合には、逆にアクティブになるように学習させます。

結果予想

腹が減ったら食堂に行って飯を食い、眠くなったら寝室に行って惰眠を貪り、それ以外ではぼうっとしているニート君ができたら……いいんだけど人間とか人工知能としては間違ってるよなあ。

結果

以下、次号!