新手一生 升田幸三実力制第4代名人について

いきなり何の話だよ、ということなんですが
SASの全く関係ない、趣味の押し売り話です。

新手一生は「しんていっしょう」と読みます。
升田幸三という偉大な将棋棋士の言葉です。
将棋、やるのはからっきしなのですが、棋士話好きです。
升田幸三についてはぜひ、検索や書籍を読んでいただいて、その人となりと成し遂げた功績を調べていただきたいのですが、すこしだけ。


「魅せる将棋」を大切にし、既成の定跡にとらわれず「新手一生」を掲げ、常に序盤でのイノベーションを数多く起こした。振り飛車・居飛車共に数々の新手を指し、「将棋というゲームに寿命があるなら、その寿命を300年縮めた男」と評された (wikipediaから一部転載)

名言

「大切なのは創造です。人真似を脱し、新しいものをつくり出すところに、進歩が生まれる」


「私は将棋は創作だと考えている。何はともあれ、一歩先に出た方が勝つ。もし一局ごとに新手を出す棋士があれば、彼は不敗の名人になれる。その差はたとえ1秒の何分の一でもいい。専門家というものは、日夜新しい手段を発見するまでに苦しまねばならぬ」


「錯覚いけない、よく見るよろし」


(将棋史上初の三冠(名人・王将・九段)制覇を成し遂げた際に)
「たどり来て、未だ山麓」


「僕には不利だ、不可能だといわれるものに挑戦する性癖がある。全部が全部成功するわけではないけれどそれが新型になり、新手を生み、つまり将棋の進歩に繋がる。他の人は安全に先を考えるから先輩の模倣を選ぶ。 」

などなど。

ここからは僕の勝手な感想なのですが、プログラミングと将棋の思考は似ている点が多いと思っていて、またプログラミングにおいても新手一生の精神が大切だと考えています。

例えば、「8つのマージ」としてよく紹介される、2009SAS Global forumの発表「Merging Data Eight Different Ways」では、単純なキーを使った結合処理に対して、Mergeステートメント以外に7つの方法を列挙し、ルーチンワークに行っている処理も、実は様々な方法・視点があり、それぞれに長短や世界観があることを証明してくれました。

一つの処理に対して一つのやり方を知っていればよい。一度書いたプログラムや誰かが作って既に十分枯れたものになったコードをコピペして使い回すのが、一番安全で速いという考え方が悪いとは思いません。

ある意味、それは将棋でいう定跡のようなもので、とても大切なものです。
しかし、定跡を疑うことで新手が生み出せるように、本当に常に結合処理はMergeが最善手なのか?そうではないんじゃないか?といった疑問をあらゆるステップで、それこそ1ステートメントをかく毎に考え、日夜新しい手段を発見するまでに苦しまねばならぬと思うのです。

いやいや、そのモチベーションは、統計解析の方、例えば新理論とか新しい手法の追求、SASでの実現にまわせよ。って感もあるのですが、まあ、プログラミング言語としてのSASの発展も重要だと思うのです。というか、日本ではそっちを真剣に考える人がちょっと少ないと思ったので。

あと、全然関係ないのですが、今年のSASユーザー総会、東京大学の本郷キャンパスで開催だったのですが、あそこって、電王戦(プロ棋士とコンピューターが対局する棋戦)で最終局のGPS将棋が開発され、また当日、クラスタリングされた数百台のパソコンが稼動していた舞台なんですよね。
もう、あそこにいった瞬間、電王戦の様々な場面が胸にこみ上げてきて、泣きそうになりました。

SASもなんか最近のバージョンでは並列処理やらHadoopやら、その辺全然わからないんですが、大規模なデータ処理ができるみたいなんで、コンピューター将棋プログラムつくれないですかね?
最近のコンピューター将棋の原理は、過去の数万局のプロの棋譜からロジスティック回帰を利用して、局面を点数化するための評価関数を作成して、それを使って探索するっていう感じらしいのですが、なんかSASとかいけそうな気がするんですが、やっぱ速度の追求っていみでは別のシンプルな言語の方がいいんでしょうか?詳しい方がいらっしゃればご教示下さい。

ながながと趣味の話、すみませんでした



0 件のコメント:

コメントを投稿