nDiki : ソフトバンクパブリッシング

2004年5月28日 (金)

www.naney.org が書籍で紹介される?

一昨日ソフトバンクパブリッシングの編集部の方から、「6月下旬に刊行される解説書で URL https://www.naney.org/comp/index.html を紹介したい、見本送付先を連絡して欲しい」という旨のメールをいただく。

光栄である。

しかしそのページ(とその配下のコンテンツ)、しょぼいしメンテナンスも滞っているんだよなぁ。最近は nDiki(以前は Naney's Diary) と NaneyOrgWiki に記事を集約しちゃっていて、静的なページはほとんど更新していないし。

最低限のメンテナンスはせねばと、ちょっとづつ作業開始。

しかしトップページでもなく個別のテーマのページでもなく、そのメニューページだという点が謎。どのような文脈で紹介されるのだろう(反面教師ではないといいが)。

[ 5月28日全て ]

2004年6月11日 (金)

創発 蟻・脳・都市・ソフトウェア自己組織化ネットワーク

rimage:ISBN:4-7973-2107-5

以前からちょっと探していた本。 会社帰りに有楽町三省堂書店で発見。

ソフトバンクパブリッシングから出しているからてっきりコンピュータ関連のところにあると思っていたのだが見あたらず、端末で検索したら動物学・植物学関連のところにあるとでた。

創発というキーワードは「適応型ソフトウェア開発」でも何度も出てきているし、ちょっと押えておこう考えている。

それと自己組織化といえば大学時代、研究室に興味を示している友人がいたな。

[ コンピュータ書籍 ]

[ 6月11日全て ]

2004年6月23日 (水)

献本がきた

[ コンピュータ書籍 ]

https://www.naney.org/img/2004/U/U2004-06-23-0001.jpg https://www.naney.org/img/2004/U/U2004-06-23-0002.jpg

www.naney.org が書籍で紹介される件献本ソフトバンクパブリッシングからきた。

ハッキングLinuxザウルス」という本で、WalWiki の 塚本牧生氏が共著で書かれているもの。Zaurus 自体は持ったことがないな。

RCS/CVS 関連のページということで紹介していただいている。 感謝。

[ 6月23日全て ]

2004年7月5日 (月)

Perl遺伝的プログラミング

創発本(ソフトバンクパブリッシング)を読んでいたら、遺伝的プログラミングしてみたくなった。 余暇としてコードを書いてみる。 しかし遺伝的プログラミング遺伝的アルゴリズムもきちんと学んだことがないのでかなり適当。もしかしてやっている事はGPではないかも。

  • 終端記号集合を用意 ('1', ';', '+', 'if', ...)
  • これらの列を遺伝子とする。
  • ランダムに並べたものを、沢山用意。
  • トークン列をjoin(' ')して、sub { } の中にいれて eval
  • エラーが出なかったらパラメータを与えて実行。返り値をチェックして適応度を計算
  • 選択 - 適応度の高いものを残すように
  • 交叉 - ある遺伝子の前半と、ある遺伝子の後半をくっつける。長さはそれぞれランダム
  • 突然変異 - 遺伝子の1つの終端記号をランダムに変更

'3' を返す関数とかは簡単にできあがる(sub { 1 + 1 + 1} など)。 max(a, b) に対応する関数を作ろうとしたら、これは今のところ駄目。

  • eval (コンパイル) 成功したものの方が、失敗したものより適応度を高くするようにしていたため、交叉の長さをランダムにするとどんどん遺伝子が短くなる(長いものはほとんどコンパイルエラーになるので)
  • '}' などの順序にによっては sub が閉じられてしまう。パターンによっては perl 自体がセグメンテーション例外で落ちてしまった。最低限 '{', '}' の対応があうように eval 前に '{', '}' を挿入するようにした。
  • 遺伝子がちょっと長くなるとほとんど eval に失敗する。
  • '<', '>' を終端記号集合に含めておくと、<$a> のようなものも生成してしまう事もあり危険。
  • 無限ループ検出がないため、終端記号集合に for, while 等を入れられない。

やはり構文木を遺伝子にしないと駄目かな。

[ 7月5日全て ]

About

Naney Naneymx

Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Process Time: 0.022087s / load averages: 0.27, 0.41, 0.40