大学時代のコンピュータオセロ大会優勝までの軌跡

広島市立大3年生の時、LISPとOpenGLによるオセロゲームを作成する実験演習があった。

そして、この制作したプログラムを競わせる

 

コンピュータオセロ大会

 

を開催するのが我が学科の特徴であり恒例だった。

……もう、やってないっぽいけど。

で、見事私が優勝!!

学科オセロプログラム大会優勝するも自慢が過ぎて非難を浴びました・・
最近どうも体調がすぐれません。間違い無く体力不足です。パソコンの前に座ることが、1日の生活の3分の1を占めています。俗に言う「ネクラ」と言う人種に近づいている自分がいるようで、現在の生活に疑問中。アメリカではタリバン政権...

当時はローカルテレビ局も取材に来ており、夕方のニュースで放送された。

 

もともと高校時代に大学パンフレットを見た時から、この優勝を一つの目標にして受験した。

オセロだけでなく将棋や中将棋、チェスやチェッカーなどあらゆるテーブルゲームで4級、5級程度の実力を持っていたからね。

将棋5級、オセロ5級、チェス入門者
2010年12月28日(火) 私は将棋5級、オセロ5級、チェス入門者JAL国際線、機内サービスでゲームができるが、出張時には映画見るから無視してた。ゲーム説明にも「将棋は2級程度」と書かれてて強いが、暇だからやってみ...

オセロなんて中学生時代に紙に書いて授業中に回覧しながら戦ってたこともあり、何度も先生から叱られてたわww

 

そんな状況だから、授業の一環レベルの大会なら優勝できると思っていたし、実際に3年後に優勝をした。

そんな思い出のあるオセロプログラムなので、先週WebAssemblyを利用してブラウザ上で対戦できるようにしてみた。

オセロゲーム作成、勝てたら初級レベル?(CとJava Scriptを利用)
前回、「WASM」という仕組みを知って色々と実装&実験を試みた。この技術を知って真っ先にやりたかったのが、学生時代にC言語で作ったオセロゲームのWebアプリ化。これ死ぬまでにやりたい1...

 

本当はそれだけの日記のつもりだったがソースコード眺めているうちに色々と思い出したので、中年オジサンがちょっと語ります。

……ようするに、日記のネタ切れ。

大学生時代のオセロと僕

大学は地元の公立大学に進学した。

もともと合格率80%だったので余裕合格可能な大学を選んだ。

で、コンピュータオセロ大会が開催されるという事で大学1年生の時から色々と準備を始めた。

  1. オセロ段位者が在学しているのではないか?
  2. 自身でオセロの思考エンジンを作れないのではないか?
  3. 他の学生がOSS使って最強思考エンジンを作るのではないか?

敵を知り己を知れば百戦危うからず。

オセロ段位者が在学しているか?

当時は

オセロや将棋が強い人はある程度強いゲームエンジンも作れる

という事がまことしやかに囁かれた時代だった(今は機械学習使って沢山の棋譜を集めれば強くなる)。

だから、まずはオセロや将棋等のテーブルゲームが強い人を探すことにした。

 

我が大学には

 

テーブルゲーム研究会

 

なる

プログラミングとテーブルゲームをこよなく愛し、切磋琢磨している

と学校パンフレットに書かれたサークルがあった。

Table Game研究会 | 広島市立大学
広島市立大学のホームページです。広島市立大学の組織や学部、大学院、研究所、附属機関・施設の紹介、キャンパスの最新情報を掲載しています。

オセロゲーム好きなら、きっと このサークルにいるだろう。

と、扉を叩いてみたが そもそも麻雀かマジックギャザリングしかやってない……。

これ、雀荘クラブとか名前変えようよ……

 

そして一ヶ月程度 所属してみたがオセロに強い人が扉を叩くことはなかった。

オセロの勝ち方をロジック化できない?

テーブルゲーム研究会では数名の人はゲームプログラミングもやっており、入門者用にプリント用紙を渡されて学ぶように指示が出た。

その際、同じサークルの同期から次のようにマウントをとってきた。

 

大学に入ってからC言語を学ぶの?
今からでポインターの本質まで理解できるかなぁ(笑)

 

で、何とも居心地が悪かったので、このサークルには正式に入部していない。

 

相談者がいなくなったので……

大学1年生時、タブブラウザ「Sleipnir」の生みの親、柏木泰幸氏が当時手掛けていたオセロゲーム「BearRev」に関して質問メールを投げオセロ思考の基本を色々と教えて頂いた。

 

大学2年生時、市場に出回っているオセロゲームの書籍と強いオセロゲームソフトに関する情報を集めまくった。

そこで「発展的開放度理論」というプログラミングに最適なロジックが書かれているのを見つけた。

オセロ(リバーシ)の必勝法(勝ち方) ~(発展)開放度理論~
このサイトでは、オセロ(リバーシ)の勝ち方を解りやすく説明しています。初級者、初心者でも勝てるオセロ必勝のコツが満載です。開放度理論

「このロジックは同期の誰にもバレてはいけない!」と必死に思った記憶がある。

 

で大学3年時、ベンチャー会社で仕事を始めて、Perl、PHP、Javaなどを学んだ。

これによりプログラミングスキルを高めた。

PerlとPHPで請け負った企業のWebサービスを作るも苦戦
PHPでのWebシステム作成も佳境に入ってきました。が、現在の問題点をいくつか上げておきます。PHPとPerlを共存しているため、PHPでは権限が「noboby」なのに対してPerlでは「userID」となり、ファイル権...

 

そして、聞けばLISPのオセロプログラミングを歴代の優勝者はC/C++で作り替えていたらしい。

ぶっちゃけLISPなら4手読みが限界のところをC/C++なら6手は読める。

そして終わりの15手前には完全読み切りが可能だ。

ということで大学3年の夏休みはせっせとC/C++言語でオセロプログラムを作り替えた。

LispのオセロのソースコードをC言語に変換して6手読みさせる
知人と釣りさて、昨日古き知人と釣りに行きまして…。ボウズで終わると相手に申し訳無いと思ってましたが、なんとか、小鰯の群れと遭遇することが出来ましたため、煮干サイズで御座いますが、救われた思いをしております。...

他の学生がOSS使って最強思考エンジンを作るのではないか?

最近のAIブームの前から分類/回帰/クラスタリングなどの学習ロジックは沢山存在していた。

当時最強と言われたLOGISTELLOは回帰を使った学習アルゴリズムを採用している。

そして1997年8月、LOGISTELLOがに村上健7段を破ったことで話題になった。

オセロプログラムと人間はどっちが強いのか?ロジステロとの戦い
このサイトでは、C言語でのオセロ(リバーシ)のプログラム開発方法を解りやすく説明しています。初級者、初心者でも作れるオセロ実装のコツが満載で

更に、このゲーム思考エンジンは公開されており、論文も存在する。

Statistical Feature Combination for the Evaluation of Game Positions | Journal of Artificial Intelligence Research

僕には難しくて論文見て実装は出来なかった。

 

ただ優秀な同期は沢山いる。

僕はAIで有名になると思うけど結婚は出来ないかもね。
今から相続人選びを心配しているよ(笑)

とか、言う人いたしね。

 

結果として学習システム、遺伝的アルゴリズムなどを実装した人は数人いた。

ただし当時は精度を上げるための方法が曖昧で

  • コンピュータ同士を競わせる
  • オンラインオセロで人間と戦わせる

という方法だったので、そもそもLISPで作った一般学生のプログラムにも負け、予選敗退していった。

 

なお、大学はワークステーションになっており、他の学生が提出したファイルはアクセスし放題だった。

夏休みの間に全生徒のプログラムと何度も対戦し弱点調査や最強ソフトと競わせて定石ファイルに棋譜を登録しておいた。

そこまでして僕は優勝したが、前にも後にもそこまで本気だった学生はいなかったみたいだ。

学生時代から一人で空回りしてたわ……。

【付録】大学院生時代のオセロと僕

大会が終わってもオセロとの関係は続いた。

広くソフトを配付するためにWindows上で動作するソフトウェアを作りたがったが知識不足で断念。

その代わり、XlibによりLinux上でGUIを利用してアプリを作り、研究室のオープンキャンパス等で利用を始めた。

前期授業終了でも、大学の公式Webサイト作成を依頼される
大学院の相澤先生の授業にて、「成績は、最後の授業で一人5分フリートークをしてもらい、それを評価します。」って、なんじゃそりゃ~!!今までの授業の意味は…??まぁ、私はどうせマジックだろうなぁ…...

 

事なくして、自分のサイト上でアプリ公開していたらVinePlus に掲載したいという連絡を頂いた。

VinePlus(3.0系列 Vine Linux)に私の自作GUIオセロゲーム掲載決定
February 15, 2005なにやら一通のメールが届いてました。VinePlus(3.0系列)にotheletをputしました。はて?VinePlus とは何ぞな?...
Vine Linuxは、コンパクトで軽量な国産Linuxディストリビューション。
2017年にリリースされた「Vine Linux 6.5」でリリースが終了。
VinePlus はVine Linux 対応のアプリケーション集。

 

そして、今ではAIでも有名な松原仁氏やコンピュータリバーシ研究会代表の石川大介氏とも直接お会いし密にやり取りを開始。

その後、東大生が「Thell」のロジックを公開し、一気に学習システムによる思考エンジン開発が主流になり、僕の役目は終わった。

アルゴリズム解説

 
 

因みに、オープンキャンパスでオセロの有段者の学生が研究室を訪ねて来たことがある。

案の定、僕のオセロと戦ってもらったが、その彼によって無惨にも僕の思考エンジンはボロ負けをした。

そもそも僕の役目は始まっても無かったのでは?……と思い、その後はオセロの世界から足を洗った。

おわりに

……が、もう20年前の話。

 

……こんな過去の栄光にすがってるから、20年経ってもうだつの上がらない平社員やってるんじゃんww

もはや実力が資本主義社会で全く通用してないww

世の中にいてもいなくても社会になんの影響も与えてないww

そのくせ「昔は良かった。俺の若い頃は学生時代は一生懸命勉強したもんだ!」

なんて語り始めてるんだから、人生がそこで終わってるじゃんww

 

© ドラえもん/藤子・F・不二雄/小学館

全部私のことだけどね……。

最後まで読んで頂きありがとうございます。

タイトルとURLをコピーしました