TIM Labs

fujiによるエントリー一覧

2月20日に、電気通信大学の中のAmbient Intelligence Agoraで、セミナーをやってみた。
大学がちょうど期末試験が終わったところで、先週までたくさんの学生が図書館にいたのだが、試験が終わったとたんに、図書館はもちろん学食もずいぶんガラガラになってしまった。
学食はメニューの種類が減って、ちょっと残念な状態であるが、お客である学生がいないのだから仕方ない。

まあ、そういう状況であったが、いろいろAI的な仕掛けが施されている図書館で何かやらないかということで、とりあえずAgoraでセミナーをやってみた。
ここは何と言っても、AI妖怪図書館を目指しているのが特徴だ。
電通大、調布といえば、ゲゲゲの鬼太郎であり、ゲゲゲの鬼太郎のような良い妖怪が助けてくれる図書館を目指しているらしいということで、準備としてちょっと勉強もした。

gegege-1-5.jpg勉強するための本の入手には、水木しげるの本がしっかり並んでいる妖怪書店(調布駅と電通大の中間点にある)真光書店でしっかり選んだ。
妖怪自体の研究だが、これは『ゲゲゲの鬼太郎』全5巻を読破した。
作家の水木しげるについても知っておくべきだと思い、『私はゲゲゲ』で勉強した。

これだけ勉強したのだが、電通大のAI妖怪図書館についての理解が深まったどうかには自信がない。

とにかく、セミナーをやれば、何か分かるかも、感じられるかもと思ってやってみた。
かなりガラガラだったので、隅の方ではなく、比較的中央の広いところで1時間半ほどのセミナーをやった。

セミナーの内容は、当然パズルである。
パズルそのものの話もしたのだが、パズルの技術を応用することで、今まで困難と思われていたことがすんなり出来てしまったことなどを話した。

近くの天井には、いろいろなセンサーが設置されている。
中には、カメラやマイクなどもあるが、カメラの位置は固定で、方向やズームは自由にできるようになっていたが、セミナーの間にどのように操作されたかは分からないのであった。

昔の図書館は、静かに本を読む所という印象が強いのだが、今の図書館ではそんなイメージはどんどん薄れているというか、どんどん薄めていこうという図書館側の意志が見受けられた。

教室でおこなうセミナー、講演、講義とはかなり感じが異なる。教室の場合は、基本的に壁に囲まれているのだが、電通大の図書館のAgoraはかなり広い空間で、まるで広場でやっている感じだった。

次回も予定があるのだが、それよりも、この図書館がどのようになっていくのか、少々情報を入手した。
詳細は、さらなる図書館の改修が行われたときに図書館の方から発表があると思われるので、聞きかじっただけのあやふやな情報を書くのは控えておく。
まだまだ色々なセンサーがこっそり(?)仕込まれて、さらに色々な情報が収集され、分析され、生かされていくようだ。
こうして、どんどんAI妖怪図書館になっていくようだ。


電気通信大学(調布市)は、元は無線の学校として始まったのだが、通信、コンピュータなどに特化した大学として、IT業界では非常によく知られている。
ここ10年くらいはコンピュータ囲碁、コンピュータ大貧民の会場になったりというユニークな活動もある。
これらは、人工知能と深く関わっており、人工知能系の教員が充実している数少ない大学の1つである。

一昨年、人工知能先端研究センターが設立された。
電通大の100周年記念キャンパスのUECアライアンスセンターのオープンと共に、汎用人工知能研究拠点AIXがセンター内に設けられた。

このところ汎用人工知能という言葉が乱れ飛んでる。
今成果を挙げているのは、極めて狭い特定分野に特化した人工知能である。
しかし、それだと、分野毎に延々と作らねばないし、状況が変化したらまた作り直し、あるいは学習のやり直しになる。
そうではなくて、人間のように柔軟に様々なことに対応できるような汎用人工知能を電通大のAIXは目指しているようだ。

汎用人工知能と言われても、それだけではあまりにも漠然としている。
電通大のAIXのコンセプトが説明されているページがちゃんとあった。

AI妖怪

余計わからなくなっただろうか。
トポロジー阿原−600.jpg
計算で身につくトポロジー

著者  阿原一志

発行  2013年7月15日

サイズ  A5, 224頁  

ISBN  978-4-320-11039-7

価格  2,800(本体)  

プログラミングとはあまり関係ないと思われているのではないかと思うトポロジーの入門書を読んだ。

実は、はるか昔のことであるが、頂点(V)、稜線(E)、面(F)に関するプログラムを開発したことがある。
3次元の立体を、ちゃんと中身が詰まった状態、つまり3次元閉曲面で囲まれたものとして処理するプログラムを作っていたことがある。
3次元のモデルには、ワイヤーフレームモデル、サーフェースモデル、ソリッドモデルがあり、色々なことをきちんと処理しようとするとソリッドモデルでないとダメである。

ソリッドモデルは、頂点(V)、稜線(E)、面(F)の関係を表す位相構造の部分と、位置などを表す幾何情報の部分があり、きちんと処理しないと、形状操作している間に立体が空中分解したり、存在できない立体になってしまう。

位相構造の部分は、直接操作すると位相構造を破壊する可能性が高いので、オイラーオペレータという位相構造を変更する関数を用意し、そのオペレータを使っている限り、位相構造は整合性を取れるようにする。
参考資料:「ポリゴンモデルのデータ構造と位相操作」三谷純

...というようなことをやっていたが、当時はオイラー数くらいは知っていたが、後は適当というか、直感に頼ってプログラムを書いていたような気がする。
当時、ちゃんとトポロジーも勉強した方が良いと思いトポロジーの本を入手して読み出したが、半分あたりで挫折し、30年あまり経過してしまった。

それだけではないのだが、今回、トポロジーの本を読んでみた。
入門書とはいえ、証明などもそこそこ載っている。
そこそこというのは、一部の定理の証明は難しいから省略とか、演習問題にされてしまっていた。
また、一部の証明はかなり長く何ページにも渡っていた。
補題に分けて、延々と証明が続くものとか、難しいから次の章まで飛ばして良いとか色々あった。

それでも、複体、完全系列、ホモロジー、閉曲面の分類、、、などが説明され、例題、演習問題で計算問題があり、トポロジーを計算を通して体感できる。
この場合、計算といっても、数式ではなく、図形を延々と変形していくのも含まれている。

本書のまえがきの最後は以下のように締めくくっている。

本書は「トポロジーの専門家が面白いと思うトポロジー」ではなくて「学生が面白いと思うトポロジー」を集めたものである。微分積分も確率統計も苦手だという人もホモロジー群だけはわかるのではないかとひそかに期待している。

実際、そこまでの期待は過剰だと思うが、いろいろ面白いグラフの変形練習などがある。
棋士とAI−600.jpg
棋士とAI
――アルファ碁から始まった未来

叢書  岩波新書1701

著者  王 銘琬(おう めいえん)

発行  2018年1月19日

サイズ  新書, 224頁  

ISBN  978-4-00-431701-2

価格  780円(本体)  


岩波書店から、AI囲碁、要するにアルファ碁に関する書が、岩波新書として出された。
タイトルにもあるように、棋士がAIをどう考えているかが語られている。

著者の王 銘琬九段は日本のトップ棋士の一人で、本因坊と王座の経験がある。
それ以上に、コンピュータ囲碁にとても関わりの深い棋士として知られている。
台湾出身ということもあり、コンピュータ囲碁の台湾チームを結成して、電気通信大学で毎年開催されていたUEC杯コンピュータ囲碁大会に参戦した。
また、囲碁解説者としてもよく知られている棋士の一人である。

ここ2年間、つまりアルファ碁なるものが現れ、あっという間にプロ棋士のレベルを追い抜き、まだまだ強くなりそうだが、アルファ碁を作ったディープマインド社は、囲碁を強くすることが目的ではなく、もっと汎用的なこと、そしてプロの棋譜も使わないアルファゼロを作り上げた。
最後に発表したものは、もう同じプログラムで、囲碁、将棋、チェスを自習して強くなってしまった。

本書は、とくに囲碁についての知識は必要なく、最低限の説明は本書の中にもしてある。
最近の囲碁プログラム、とくにディープラーニングを取り入れて強くなっているプログラムの場合、プログラマには囲碁の知識は不要になっている。
実際、開発チーム全員が囲碁が打てないという状態でも、強い囲碁プログラムが作られている。

もう、棋士と囲碁AIが強さを勝負する時代は終わってしまい、そういうタイプの研究は終止符が打たれている。
囲碁AIと棋士がどう付き合っていくか、それが問題である。
将棋も状態は似たようなものである。

プロ棋士がAIプログラムを使って勉強して新しい手を習得し、実戦で試して勝つといのは既にかなり広く行われているようだ。
そういう状態で、多額の賞金がかかったタイトル戦など、今後も続いていくのだろうか。

AIがアマチュアの相手をして、上手に指導して、短期間にレベルアップするようになる可能性は高い。
要するに、今騒がれている e-Learning よりもよほどきめ細かい、高度な教育システムの実験が囲碁あるいは将棋で行われるかもしれない。
これは、一般の教育にも応用される可能性が高いだろう。

まだ棋士の仕事がなくなる気配はないが、今後どうなるかは分からない。

それ以上に、棋士は強いものへの好奇心が非常に強いようで、負ければ負けるほど挑んでみたい人種のようだ。

 数理最適化の実践ガイド-600.jpg
数理最適化の実践ガイド

著者  穴井 宏和

発行  2013年3月1日

サイズ  A5, 150頁  

ISBN  978-4-06-156510-4

価格  2,800(本体)  

本書は、以前紹介した『今日から使える!組合せ最適化』(以下前書と書く)の姉妹書である。
内容的には、前書が最適化の入門の入門書で、本書がその続きのような内容になっている。
しかし、発行日を見ると、本書が先に出され、後からよりわかりやすい入門の入門が出されたようである。

本書も前書同様にかなり薄い本である。

内容的には、最適化について離散最適化を除き、連続最適化に限っている。
内容は2部にわかれていて、前半は最適化全般の話である。
ただし、このページ数であるので、証明とか、詳しい説明については、巻末に参考書のリストがあり、より詳しく知りたい場合に読むと良い本が紹介されている。
要するに、きちんと知りたければ、別の本を読むべきである。

後半は、個々のアルゴリズムの紹介である。
多目的最適化の章があり、いくつかの具体的なアルゴリズムの概略が示されているのは、これだけ薄い本では珍しいことではないかと思う。
具体的なアルゴリズムの紹介に入ってから、手順の紹介だけに終わることが多くなり、最適化がうまく行く根拠の説明などがどんどん省略され、参考文献の紹介に終わることが多い。

ということで、本書を読むと、実際にどんなアルゴリズムが使われるかの概要が分かるようになる。
でも、実際に使おうと思ったら、相当情報が足りないので、巻末に紹介されている本を読み、しっかりと理解する必要がある。

なので、まさに「実践のガイド」であった。
今まで、2点間の距離は整数としてきたが、2点間の距離を有理数でも良いことにしよう。
全ての2点間の距離が有理数であれば、全ての距離の分母の最小公倍数を掛けてしまえば、全ての2点間の距離を整数にできる。
ということで、「任意の2点間の距離が整数」でも「任意の2点間の距離が有理数」でも同じことである。
intpolygon8.png
そこで、円をどんどん大きくしていくことを中止しよう。
つまり、円の大きさを一度決めたら、固定しても良いのだ。

まず、右図のように、3:4:5 の直角三角形が2つ、長さ3の辺でつながったものを考えてみよう。

すると、辺の長さが 5:5:8 の二等辺三角形ができ、この三角形に外接する円を考える。
また、各頂点を図のように P1、P2、P3 とする。
つまり、P1ーP2 、P2ーP3 の距離は5である。
今回は、この距離5に注目する。


intpolygon9.png

今までは、2点間の距離が整数にこだわっていたのだが、円の大きさをこのままにして、P3から距離5の頂点をP4とする。

すると、P1 P2 P3 P4 で決まる四角形(台形)ができる。
このとき、 d4 = P1ーP4の距離はいくらになるであろうか。

トレミーの定理.jpg ここで突然だが、「トレミーの定理」を使う。 円周に内接する四角形に関する定理で、辺と対角線の長さに関する等式
 
  AC・BD = AD・BC + AB・DC

が成り立つ。(トレミーの定理/Wikipedia)

これを使うと、

 8*8 = 5*5 + 5*d4
 d4 = 39 / 5

となり、d4は有理数である。
まだ3点が円周上にある場合しか求まっていなかった。intpolygon5.png
まず、3点から4点に1点だけ増やすことを考えよう。

右図のように、y軸を中心に反転した3:4:5の三角形を考えてみよう。
つまり、(-7, 24)を追加してみよう。

この点から既存の3点への距離は、30、40と14になる。
30、40の2つの距離は、図形がy軸で反転しただけであるので、以前から存在する距離でしかない。
新しく発生したのは、(-7,24)と(7,24)の距離であるが、y座標値は同じで14であることがすぐに分かる。

これで4点の場合が済んだ。
5点と6点の場合を考えよう。
intpolygon6.png3点から4点にしたとき、y軸に対称な位置に点を取った。

今度は、x軸に対象な位置に点をとってみよう。
すると、6点の場合が右図のようになる。

中央に幅14、高さ48の長方形が見えている。
この4頂点は円周上の点であり、対角線は円の直径になっているので、計算するまでもなく50である。

上下反転した位置にコピーすると頂点は2点増えた。
任意の2点間の距離で、新たな距離は上下の2頂点を結ぶものだけなので、48が増えただけである。

したがって、6頂点の場合は、右図に記入されている6つの座標値が求めるものである。

さあ、もっと頂点を増やしていこう。

まだまだ正月気分だと思うので、コンピュータやAI、高尚な数学はじっくり取り組むこととして、簡単な小中学生向けの問題に取り組んでみよう。
intpolygon3.png
【問題】

円周上に5点を取り、任意の2点間の距離が整数になる場合の5点の座標を求めよ。
ただし、1点は、半径をrとしたとき、 (r,0) とする。

5点が簡単と思った場合は、点数を増やそう。
たとえば、10点の場合を考えてみよう。

それもさっさとできたら、もっとたくさんの点の場合を考えよう。
そして、一般化してみよう。


ヒントは、「ピタゴラスの定理」である。intpolygon1.png
もし、5点ではなく、3点の場合には、3辺の長さが3, 4, 5 の正三角形を考えると良い。
長さ5の辺の端点の1つを(r,0)、つまり(2.5,0)とし、もう一方の端点を(-2.5)とすると、長さ5の辺は、半径2.5の円の直径となる。
そして、もう1つの頂点は、正三角形なのだから、当然円周上になる。
だから、このもう1点の座標を求めれば、3点の場合は決まる。

右の図は、5点の場合を求めるとても良いヒントになっている。
この図をいじっていると、それだけで5点、さらには6点の場合が自然に分かるだろう。

ということで、ぜひ手作業で、あるいはプログラムで解いてみよう。

さらに、もう少しヒントを追加しておこう。
新年明けましておめでとうございます。
今年は、さらにAIなどで大きな変化がありそうな年になるでしょう。
そのために、ますます新しい技術の習得が必要になるでしょう。
でも、色々なシステムを作るためのツール類が充実するだろうし、さらにハードウェアの性能も向上するので、より高度なこと、より複雑なことができるようになるでしょう。

AIに関しては、全脳シミュレーションがどうなるでしょうか?
ポスト京では、全脳シミュレーションを目標の1つに挙げているようですが、昨年末からいろいろあって、開発が順調に進むか微妙なところがあるようです。

さて、正月ですから、あまり社会のことを考えるのは休止し、年賀のために作成したナンプレを解いてください。

nenga2018-hard-np.png

ナンプレのルール

  1. 縦と横の各列9マスには、1?9の数字が1つずつ入ります。
  2. 3×3の太枠の中の9マスにも、1?9の数字が1つずつ入ります。
  3. したがって、縦、横、太枠内のいずれにも同じ数字は入りません。

本問題の難易度は、まあまあです。


この問題が難しいと思った場合には、次へ。


覆面算 SEND + MORE = MONEY を解くsugarプログラムを、いきなりだが見てみよう。

sendmoremoney.csp
; S E N D + M O R E = M O N E Y
(domain range 0 9)
(int S range)
(int E range)
(int N range)
(int D range)
(int M range)
(int O range)
(int R range)
(int Y range)
(!= S 0)
(!= M 0)
(alldifferent S E N D M O R Y)
(= 
  (+ (+ (* (+ (* (+ (* S 10) E) 10) N) 10) D)
     (+ (* (+ (* (+ (* M 10) O) 10) R) 10) E))
  (+ (* (+ (* (+ (* (+ (* M 10) O) 10) N) 10) E) 10) Y))
これだけで、覆面算をやってくれる。 これだけ見ると括弧だらけで、まるでLispみたいだと思うだろう。
とりあえず走らせてみて、どうなるか考えよう。
sugarの次に、sugarファイルを書くだけだ。
$ sugar sendmoremoney.csp 
s SATISFIABLE
a S	9
a E	5
a N	6
a D	7
a M	1
a O	0
a R	8
a Y	2
a
SATISFIABLEと出ているので、解が存在したことを知らせており、その後ろに書く変数の名前と値がペアになって表示されている。
もし解が存在しないと、UNSATISFIABLEと表示され、変数の値は示されない。
なお、解があったからといって、唯一解である保証はない。

この簡単なプログラムは説明不要と思うが、以下に説明を試みる。

このアーカイブについて

このページには、fujiが最近書いたブログ記事が含まれています。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。