数学ソフトウェアとその周辺の年表

 UNIXの系列をまとめたモンがあって,ワシも重宝に使わせてもらっている。んで,数値計算ソフトウェアとかその周辺のモンを集めた年表というか相関表というか,そーゆーモンが欲しいと思って,知っている知識だけでざっと書いてみた。
history_nasoft_20081119.png
 LAPACKからBLASを分離するのはどーかとか色々ツッコミどころ満載のシロモノだが,誰も作ってないようなので,頭の整理のためにまとめたという次第。西暦・日付が入っていないのはその辺の裏が取れてないから。あくまで感覚で書いてます。
 今度のHPCSのポスターセッションでこの相関表だけ貼っておいて皆さんからツッコミを入れてもらうということも考えたんだが,恐ろしいことになりそうなので思案中。うーん,どうしようかなぁ・・・。

na-inet.jp移転作業日誌(1)

 本日(2008-10-7)付けで,WebArena SuitePro V2タイプの仮想サーバが開通した。最初っから40GBが使いたい放題となる(V1は6GB)。OSはCentOS4。何故5じゃないのか不思議。
webarenasuiteprov2_20081007.png
 つーことでただいまRPMパッケージのupdate中。まずは慣らし運転がてら,色々ベンチマークをやってみます。そのためにもまずは一般ユーザIDの登録をば。

[root@localhost ssh]# adduser user01
[root@localhost ssh]# passwd user01
Changing password for user user01.
New UNIX password: (パスワード入力)
Retype new UNIX password: (パスワード入力)
passwd: all authentication tokens updated successfully.
[root@localhost ssh]#

 次はrootのパスワードを変更。

[root@localhost ssh]# passwd
Changing password for user user01.
New UNIX password: (パスワード入力)
Retype new UNIX password: (パスワード入力)
passwd: all authentication tokens updated successfully.
[root@localhost ssh]#

 /etc/hosts.denyを

ALL: ALL

とし,/etc/hosts.allowを

ALL: 127.0.0.1 # localhost
sshd: .old-domain.jp, (略), xxx.xxx.0.0/255.255.0.0

としてアクセス制限。
 /etc/ssh/sshd_configの設定を変更。rootからの直接続を不許可。

#PermitRootLogin yes
PermitRootLogin no

 sshdを再起動して接続を確認(これをシクジるとアクセス不能になる)。

[root@localhost ssh]# /sbin/service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]

 本日はこれにて報告のみ。

評価とは何か?(前提の前提)

 才能とは何か,という疑問に対して,私はこちらで「自己評価ではない,自分とは直接の繋がりがない第三者から認められる美点」と,一応の回答を行った。じゃ,「評価」という奴も同じように定義できそうだな,と思い当たったので,他の文献に当たる前に,私が現時点で持っている知識だけから,なるたけカッチリした定義をしておこうと思ったのである。
 で,結論。

 定義 「評価」とは,評価される対象物x (in X)から,大小関係が定義された評価点集合R(通常は実数の部分集合が多い)の一要素r (in R)への写像est(x) = rである。

 数学的にはこれで十分だと思うんだけど,足りなかったら後付でドンドン追加していけばよろしい。
 で,評価の方法,つまりest(x)を計算するアルゴリズムには大まかに言って二通りあるようだ。

1. 絶対的評価
 ある固定されたt (in X)があり,Xにおいて差(-)という演算が定義されているとき,ノルム(マイナスも可)|| t – x || (in R)を評価値est(x) = || t – x ||とする,というもの。
ex) 正解が存在する試験とか,Vote Matchのような評価法
2. 集団的(統計的)評価
 集合Xの全ての要素が持つ,あるx (in X)への評価値を全て加味して得られる評価値をstat(x; X) (in R)とする時,これを評価値est(x) = stat(x; X)とする,というもの。
ex) PageRank(TM)や,教育機関の偏差値など

 当然の事ながら,評価方法estそのものに対しても評価が行われるので,estを要素とするXであってもいいわけだ。これを「メタ評価」ということにする。必要があれば「メタメタ評価」ってのが登場するんだろうけど,まあ2段階までが限度かなぁ。
 うん,こうまとめると少しはスッキリするな。ORとかでは当たり前のことなのかもしれんが。
 で,この先,この話がどう展開するのか,これっきりになるのかどうかについては全くの未定。ただ,

 ・世の中で使われている評価はこの2種類(+α)に分類できる
 ・「民主主義」社会では,メタ評価としては,1より2の方が好まれる傾向がある(メタ評価は2の方が大,と言える)
 ・社会全体で見ると,1と2の評価値が組んずほぐれつひっからまって,何となく,人間とか会社とかの序列化が必要に応じて行われている
 ・当然,評価値そのものは時間(t)と共に移ろいゆく(だから,est(x, t)と書くべきなのかも)
 ・評価値計算には誤差が付き物なので,それに対する頑健性のチェックも必要

・・・というような漠然とした構想はある。ま,気が向いたらまた続きを書きます。

Dr.取りに関する私見

 apjさんの戦闘的な文章はワシの愛読するところであるが,その中にDr.(博士号)取得に至る経緯をつづった文章がある。簡単にまとめると,主査たる教授が示した研究テーマがとてもDr.取りには不向きなもの(とapjさんは判断した)だったので,テーマ変更を自分から仕掛けてめでたくDr.取得に成功した,という内容である。当然,教授のコメカミには青筋が立つわけだが,apjさんもさるもの,お返しすることを忘れていない。

一度だけxx教授(伏字はKouyaによる)にプレッシャーをかけられたことがある:「これだけ金をかけて学位をとれなかったら、この部屋(3階)の窓からお前を放り出すぞ」。私は即座に答えた。「その前に○○さんをつれてこい。東京湾に沈めてやるから。」これが、多分、測定開始の合図だった。

 いやぁ,スッキリする啖呵ですね。ワシなんかグズの意気地なしなので,主査の先生からDr.論文提出直前に驚天動地の指示を出されても直接文句も言えず,間に入ったワシの大師匠に愚痴る(と,いうことにしておこう(笑))のがせいぜいだったモンなぁ。
 ・・・とシミジミと自分のDr.取り時代の回想にふけってしまったのも,ワシが見聞してきたDr.取りの成功・失敗の具体例をつらつらと考えてみるに,結局は「環境」と「能力」というものがDr.取りに多大な影響を与えているのだなぁ,と,apjさんの記事を読んで会得できたからである。
 「環境」とは,この場合,「師匠運」ということになる。「運」とは何か? 簡単にまとめると,師匠(主査)の(1)研究者としての能力,(2)学内における立場,そして(3)弟子(院生)との相性である。従って最高の「環境」とは,国際的にも知名度の高い優秀な研究者であって,学内でも人格者で通っており,弟子には常に優しく,そして時には毅然と指導してくれる師匠を持つ,ということに尽きる。
 が,そんな奇跡みたいなこと,そうそう起こるわけはないのである。むしろ,全てが逆になることだって珍しくない。つーか,その方がむしろ普通だと考えた方がいい。・・・え,そんなの酷いって? 学費を取らない噺家ならともかく,安くない学費を納めているのに酷い主査に当たってしまうことが普通だなんて非道だという訳ね,あーたは。
 じゃ,言うけどさ。その師匠を選んだのは,他ならぬ,アンタでしょ? 学部で卒研に入る時だって,第n希望まで書いたはずだよね? ましてや大学院だよ。イヤなら他の先生でも,他の大学院でも,他の専門分野を選んだっていいじゃない。今なら2ちゃんねるでもどっかの掲示板でも,その先生の評判ぐらい,すぐ調べられるってモンでしょうが。それを怠ったとすれば,アンタが悪い。
 え?修士の時に誘われて,ついDr.まで進んじゃってから,その師匠についていてはろくな就職先も業績も得られないどころかDr.取得も危ういって分かったって?・・・そりゃ,アンタがバカなだけじゃん。・・・あー泣くなってば,もう三十路も近いってのにもー,みっともないてーの。そーゆー時こそ,apjさんみたいに,自分の「能力」を発揮するしかないじゃないのよ。
 ということで,「環境」が悪い時こそ役に立つのが自分の「能力」である。apjさんのように自分でテーマを変え,それを主査に納得させる(喧嘩腰だけどね),これも一つの能力である。だけど,これってあんまりお勧めしない。スマートじゃないし,第一,Dr.取っても業績がゼロでは今後のキャリアにマイナス効果にしかならない。
 ということで,ここは絶対に,査読論文を自力で書いてacceptさせるべきである。それも内規以上の本数とクオリティで。それが無理・・・なら,Dr.取りも研究者への道も,すっぱり諦めるべきだ。そこが自分の能力の限界と見極め,他の道を模索すべきである。
 ワシは冷たいことを言っているのだろうか? いやぁ,違うね。絶対違う。どこの学術雑誌でも,主査と共著でないと論文は受け付けない,なんて規約を設けているところはない。自分一人でも書いて投稿しちまえばいいのである。もちろん国際的な権威が共著であれば論文が通りやすいということはあるだろう。ズブの素人が論文の体裁を整え,新規性を持ったテーマの内容を簡単に執筆できるわきゃないのだが,それこそ自分に「能力」があって,かつ,努力の方向性を間違わなければ不可能ではないのだ。主査にぐうの音も言わさぬほどの業績を稼いでしまえば,多少の嫌がらせはあるかもしれないが,すんなりDr.を出せそうな人間の主査になることは自分の業績にもなるわけだから,遠からずO.K.を出さざるを得ないのである。
 そしてもしこれを実現できたら,それこそ自分の研究者としての「能力」を開花させたと胸張って生きていけるのだ。「環境」がいいところでぬくぬくとやってきた人間よりも,よっぽどまともな研究者になれるんじゃないのか? ・・・いや,性格は多少なりともねじ曲がっちゃうけどさぁ,どーせ研究者なんて変人の集まりじゃん。犯罪を犯さない程度に社会生活が送れるなら,気にするこたぁないのである。
 Dr.がすんなり3年で取れるかどうかってのは,「環境」の要素が大きいようだ。でも,年数を継ぎ足せばDr.が取れるかどうかは「能力」で決まる。・・・いや,Dr.が取れる学内あるいは職場「環境」が一番要因なのだ,とあくまで言い張る人がいるかもしれない。だけど,それも自分の選択の結果だと思えば,やっぱしその手の「環境」を選ぶ「能力」の問題って気がしないでもない。・・・なんだか「鶏が先か卵が先か」的な堂々巡りになってきたのでこの辺でやめておくけど,ワシの見聞した範囲では,「環境」に寄りかかってDr.を取った人って,その後のご活躍の程度は甚だ良くないよーに感じるんだよねぇ・・・って,これも僻み根性の色眼鏡で見ちゃっているせいなのかしらん?

環境「依存」か環境「構築」か?

 最近はとんと新言語というものが登場しなくなった。いや,草の根レベルでは色々考案されているのだろうけど,ある程度のマスを惹きつける流行現象を伴うパワーを持ったものは早々現れなくなってきているな~と感じる。良くも悪くもITが巷にはびこり,そこここで既存のプログラム資産が増えてきて身動きが取りづらくなっているという事情も大きいと思われる。かつては「この言語を使えば生産性が△△アップ!」なんて胡散臭いあおり文句もそれなりに効力を発揮していたモンだが,ワシみたいなヘッポコプログラマだって,自分が書いた数MBものコードをオジャンにしてまで新しい言語に乗り換える気にはならない。大体,それを極力しなくていいようにANSI Cの範疇でコードをシコシコ書くようにしているので,Cとリンクできないような新言語というものは今時皆無であろうから,まあ完全にコード資産がパーになることは当分ないのである。さすがに近頃はCの偏狭さにいらだってきているので,少しC++にシフトしているが,完全に移行するにはあと数年はかかりそうである。
 それでも今後,大流行する新言語が登場しないとも限らない。さてその時にワシはどうするか?C資産とのジョイントを計りつつ,どの程度そこに自分の欲する環境を「構築」できるかどうか,慎重に見極めることになるであろう。
 そう,結局は,自分がやりたいことが出来る環境がそこに「ある」のか,もしくは「作れる」のか,それにかかっているのだ。
 先日,TAをお願いしているシャチョーT君と喋っていて思ったのだが,今のIT状況ってのは複雑なものがありすぎて,一つに集約できなくなっているのである。いや,もちろん1990年代後半のInternetブームでプロトコルはTCP/IP一辺倒になってきたし,ハードウェアアーキテクチャはPC/AT compatibleの発展形に落ち着きつつあるし,コンパイラ言語はC/C++, COBOL, (Visual) BASIC, Java, C#, Fortran,スクリプト言語はPerl, PHP, Ruby, Python,特殊用途としてLISP等に集約されてきたし,OSはUNIX陣営(Linux, *BSD, Solaris, HP-UXなど)とWindows(TM)に2分されてきたし,WebサーバはApacheとIISに,データベースはMySQL, PostgreSQL, Oracle, SQL Serverぐらい,仮想化技術はVMwareに幾つかのベンダーが戦いを挑んでいる・・・というように,技術競争を勝ち残ってきたものはそんなに沢山ある訳ではない・・・訳ではないが,これはカテゴリー毎に見ればそうなのであって,問題はこれらを組み合わせないとITにならない,というところにある。つまり,それぞれのカテゴリーにおける選択肢は少数であっても,それらの組み合わせを取ると一気に増えてしまうのである。
 例えばWebプログラミングを行おうとすると,OSはWindowsかLinuxか,言語はJavaかPerlかPHPかC#かHTML+JavaScriptだけか,WebサーバはApacheかIISか・・・となって,この時点で選択肢が2×5×2=20になってしまっている。これにデータベースも組み合わせると一気に選択肢が4倍になり・・・際限がないのである。しかも,これらの選択肢にそれぞれコード資産を蓄えたユーザがぶら下がっているのだから事情は更に面倒だ。資本主義の論理で少数派を踏みつぶしたくとも,有力サイトを運営するサイトがバックに付いていたりするとそれも不可能になる。・・・こうしてIT環境は雁字搦めになり,保守的になり,ドラスティックな動きが封じられるようになるのである。
 してみれば,人は天から与えられた環境より,自らの手で構築してきた環境を尊ぶモノなのである。寄らば大樹,というのも一つの考え方だが,そればっかりではフラストレーションが溜まる。大樹自ら動いてしまうという危険が常につきまとい,寄っているつもりがある日肩すかしを食ってひっくり返ってしまうことだってあり得るのだ。それがイヤさに,小さなダムを造るビーバーのように,人は自分の手で環境,つまり小さな縄張りを作り上げるのである。齢四十路を迎えつつあるワシは老化が進んでいるので,このような縄張りは大変居心地がいい。というより,縄張りがないと仕事に勤しむこともできやしないのである。
 もちろんこれも,勝ち残ってきたITパーツという大樹の土台の上に成り立っている縄張りであるから,全面的に自分が作り上げたモノではない。ではないが,ちょっとばかりの大樹の移動程度は耐えられるであろう・・・というのは楽観的すぎるかなぁ?
 大樹的な環境に「依存」しつつ,そこに小さな自分の環境を「構築」するという営みの中で我々のITは成立している。ここしばらくは,各ITカテゴリのパーツの緩やかな変化に目配せしつつ,作り上げた縄張りの中で精一杯遊んでいればいいようである。楽と言えば楽だけど,なーんかこー,つまんないよーな気がしないでもない。しかしこれも1990年代から2000年代初頭の大変革を見てきたオッサンの愚痴に過ぎないんだろうなぁ。