2011年01月06日

日記的なもの

あけましておめでとうございます。

去年は酷い1年でした。この歳になってあんな酷い1年を過ごすなんて予想もしていませんでした。今年は去年の反省を活かして、毎日プログラミングに明け暮れる素晴らしい1年を過ごしたいと思います。

というわけで年末年始は軽い仕事を1件こなした以外は、ずーっとプログラム書いてました。やってたことは、クイズゲームの並べ替え問題をWikipediaのデータだけ使って正答率95%を目指すみたいなこと。去年も同じことをしていた気がするな。でも使うロジックはだいぶ変わったし武器も変わった。

使うロジックを1つずつ勉強しながら自分でコードも書いて試していたら、進みが重く75%正解するところまでしかいかなかった。まぁ、他人のコードでやっても勉強にはならないので、今後も1個ずつロジックを勉強しながら着実にやっていこう。

こういう解けなくもないけどちょっと手こずるであろう命題を解いていると、自分の無知さ加減がよーくわかって良いです。まったく、恐ろしいほど私はものを知らない。プログラミングのこともさっぱりわかってない。

今年は「いっぱしのプログラマになる」を目標に頑張ります。



「読書百遍義自ら見る」という言葉は、物事を学ぶ上での姿勢を意識する時に便利な言葉だと思う。

分からないものを目にした時に「なんだこれ、わからん」と言って捨ててしまうことがある。でも目の前におかれているものの大半は、一般的な人間の脳で理解ができるもの。

私は数学が苦手だ。この歳になってようやく数学の大切さが分かってきて(というか、必要に迫られて)勉強してはいるけど、見慣れない数式が並んだ文書を見ると引き返したくなる。

でも、苦手意識や「俺には分からん」という意識を抑えて、これはどういう意味なんだろうとかじりついていると、そのうち意味が理解できるようになる。当たり前だ。世の中のたいていの文書は「人間の頭で理解できる」ように書かれているんだから。

いや、むしろたいていの文書は「他人に伝えること」を目的に書かれている。それなら必要な知識をそろえて丹念に追っていけば理解できない方がおかしい。

物事を理解する能力というのは、「頭の良さ」というより、理解できなくてもかじりつく「執拗さ」なのかもしれない。



何かを為す上で「執拗であること」はとても大事だ。

もちろん「執拗であるべき」ではないことに執拗になっても成功はしない。例えば恋愛で好みの異性に対して「執拗にストーキングしました」とか言ったら、結ばれるどころか裁判で「数十メートル四方への接近を禁ずる」とか言われることになる。

成功に直結することがなんであるかを知り、それが必要だと感じたら執拗にやり続けること。何に執拗であるべきかを知り、それに対して執拗になる。それが大事なんだろうな。

私は執拗さというものをそれなりに持ってはいるけど、いっぱしのプログラマになれるほど執拗かと言われると、正直少し心もとない。自分の不足している執拗さを補うためには、自分をうまく操って、たとえ興味が失せてもそこから立ち去らないように、その周辺をうろついたり、ふとした機会にそこに戻れる場所にいるように、エサを撒いたり尻を叩いたりしないといけない。



私は「なぜ自分がそう行動するか」とか「自分をこう行動させるにはどうすれば良いか」といったことを考える時に、「人間は生存する上で適切な存在だ」という前提の元に考える。

人間は60億という膨大な数の個体を地球全体に繁殖させている。それは人間が「生存・繁殖」という命題に対して「適切な存在」だと言うことを示す。もし人間の持つ性質が「生存と繁殖」に対して不適切だったら、とっくの昔に絶滅している。

それはつまり、自分自身が持っている性質の多くも「生存する上で適切である」という理由で保持していることが多いということ。もちろん個体の中には生存する上で不適切なものも存在するけど、自分はありがたいことにこの歳まで健康でそれなりの生活をしてこれたのだから、十分に生存する能力を持っていると考えるのが自然だろう。

それを意識した上で、自分が何を喜び、何を嫌う傾向があるかについて考えを進めていくと<中略>、「人間は群れ社会を形成する生き物である」ということを痛切に意識することになる。

つまり、私もそうだが多くの人は「他人からの評価」を得ることを報酬としているようなのだ。もっと言えば、「人間は他人からの評価を教師データとして、どういった行動を取るべきかを算出している」ように見える。

子供は親の「叱る」と「褒める」によって、何をやれば良いのか、何をやってないいけないのかを学ぶ。それは大人になってからも変わらないことで、周囲からの賞賛を受ければ「もっとやろう」という気持ちになり、叱責を受ければ「やらないようにしよう」となる。

1つひねくれている点として、人間は「マイナスの評価」、「評価なし」、「プラスの評価」の3つを比較した場合、「プラスの評価」を1番に置くのは当然として、「評価なし」よりも「マイナスの評価」を優先する傾向があるところ。「無視」されるよりは「罵倒」される方がまだマシとして、他人から嫌がられても評価を引き出そうとする。

この特性は少し不思議に映る気もするが、プラスの評価がなければ群れから離れてしまう特性を人間が持っていたら群れは形成できない。過去において人間は群れから離れると生存が困難になる時代があったことも考えれば、マイナスであれプラスであれ他者との関係を求める性質を持つことは自然なことなのだろう。

だからだろうか。私は自分の中にコミュニケーションを欲する心が湧くと「気に入らねえなぁ」と感じる。その欲求はプラスになる要素でなくても求めてしまう、マイナスになる要素をはらんだ欲求である上に、必要になるタイミングが少し頻繁過ぎる。評価なんて月に1度受ければ十分だと思うのだけどな。

この「評価」というものは空想上の賞賛であっても効果があるものらしい。たとえば映画やゲームで賞賛される主人公の立場に自分が立ったような気持ちになれば評価が得られたと錯覚する。

自分が嫌悪している相手からの賞賛は逆効果になるケースもあるようだ。下手に見知った人間からの評価よりは、「見知らぬ他者」や「ゲーム内のキャラクター」からの賞賛の方が効果が高い場合もある。個人的にはネット上の知らない相手から賞賛された場合は、効果が高いように感じる。掛け値なし、お世辞なし、人間関係なしの混ざりっけの少ない評価だからだろうか。

賞賛されると人間は「もっとやろう」という気持ちを起こし、寝食を忘れてそれに没頭できるようになったりする。もしその没頭する内容が金銭面や生活の安定などにおいてプラスになることであれば、生活の向上や自身の能力の向上にも繋がるので良いことづくめだ。

私の場合はプログラミングの能力によって少なからず賞賛を得ているから、こうして飯も食わずにプログラムを書き続けても平気なのだろう。確かにプログラムに関して人から良い評価を得たことは多い。良い評価を得るたびに私の脳内のスコアがそっち方面に偏ってトレーニングされ、今のような生活になったと考えるとつじつまが合う。

自分に何かをさせたいと思ったら、それに紐づく賞賛(報酬)を用意すれば割とうまく操れる。目的方向に対して直接進むとうまくいかない場合は、それと同じ方向(多少ズレていても構わない)にある報酬に向かって進ませた方が効率が良い場合も多い。直接そこへは至らなくても、「やりたくないなぁ」と思いながらうだうだしているよりは、直線ではなくても少しでもそちらに近づいた方が効率が良い。

などと考えていると、自分が報酬とスコア計算によって成り立つ1つのプログラムのように思えてくる。まぁ、それは当たらずとも遠からずなんだろう。えーと、thresholdを少し変えたいんだけど、どこに引数を入力すればいいですか?

そうそう、あと、身体が変調を来すと報酬に向かってうまく動かなくなることがあるので、常に健康であることはとても大事だ。というわけで大前提として、今年も1年、健康で過ごせますように。