2008-04-21
Computational Intelligence
風邪引いたっぽいorz
OS実践コースにどうやらGeekがいるみたい。
指定された教科書は既に読破済みみたいで、
(出版された年に既に読破?)
今は研究室でOSの研究を始めてるそうな。
CSの世界はほんと頭の回転が早い人が多すぎて困る。
でも、俺もそん中で負けないように、かつ、
そういう人達に追いついていかなくてはな。
Eyebotのプログラミングようやく終了です。
とりあえず言われた仕様は満たしているはず。
あとは、optionの機能とか追加してみようかと思ってるけど、
まぁ…、まずはレポートの必須項目書き始めてからかな。
時間が余ったら、考察で書きまくろう。
今年はフィルターみたいなレポートありませんように!
----- note ------
2008/04/21
Index
知的とは?
シンボルとは?
prologとは?
課題
---------------------------------
AIについて
認知科学とは cognitive science
知的機能の科学的研究。
科学のほう。コンピュータを使うとはかぎらない。
心理学とか言語学とか
知識工学とは knowledge engineering
expert system
30年ぐらい歴史があり、そこそこ役に立ってる。
Expert Systemとは
微分積分をプログラムにやらせるのは簡単。
難しいことは、小学校の友達の顔を見分ける。
二歳の子供が子供を覚えるプロセス。
→一般知能は実現困難。
でも分野を限定すれば役立つ知的機能が実現できる。。。はず
役立つためには知識量が重要。
実績がたくさんある。
例:化学の分子構造の同定、株価予測
電子回路故障診断、計算機operation監視、医療監視、
分子生物学実験実験計画、機械設計etc.
・特徴
知識ベースと推論エンジンの文理。
なぜ分離する必要があるか。
知識の管理がしやすくなってなくてはいけない
知識を組み立てるプログラムと
知識を組み合わせて推論するプログラム
を明確に分けなくてはいけない。
→簡単に改善できるようにするため
・ユーザーが聞きたいこと
推論の結果を聞いた場合、
どのようなプロセスを経てその結論を得たのか?
・思ったほど楽じゃない
原理的には可能だが、
専門家の頭の中にある知識を
知識エンジニアが入力する作業がとても大変!
→専門家の技術を、機械がモニタを通して盗むほうが効率的!
機械学習とdata mining
実世界から得た大量のデータから法則性を発見する。
・応用例
遺伝子情報処理
セールスデータの解析-コンビニとか
ビール買った人はつまみも買う。
→商売のチャンスが生まれるかもしれない
cf.コンビニの法則
ビールとつまみを同じ棚に置かない。
同時に買うと分かっているものは、なるべきはなれたところに置く。
→他の品もかってもらうため。
クレジットカードの与信 cf. e-commerce
天体の識別。
コンピュータが識別できなかった場合は、新発見の可能性が高い。
機械の自動診断・自動運転
紙は状況により性質が変わる。
インクも同じ。
→輪転機は職人技だが、職人が減っていき、職人の需要が増えてきていることから
expert systemの需要が高まっている。
Can Machines Think?
哲学者によく議論される。とても微妙。
Can machines fly?
Yes, airplanes can fly!
おk
Can machines swim?
Yes, ships can swim!
???
???
そもそもflyとかswimでも
われわれの認識は微妙である。
→定義をしなくては議論が進まない!
Turing Test
Turingの同期:上記の問いを科学的名(well-definedな)ものにしたい
・排除したい答えの例
人間は一種の人造機械なのだからyes
thinkは人間固有の行為であるからno
→議論がつまらなくなる
The Alan Turing Home Page
Who was Alan?
codebreaker = ドイツの暗号を破って貢献した。
strange visionary and a gay man.
1950, Turing test
Turing test - Imitation Game
男と女(同部屋)とsomeoneがチャットする。
最初の五分間ぐらいどちらかと話する。
次の五分間もう一方の人と話する。
女性は普通に話す。
男はなるべく女っぽく話す。
someoneが性別を見分けられたらsomeoneの勝ち
・次
someoneが男女とcomputerに順不同で5分間ずつチャットする。
見分けられたらsomeoneの勝ち。
2000年予測
10GBのメモリが乗ったstrageでimitation gameをやたら
3割以上不正解になるだろう。→当たってる?
大事なこと→プログラミング
Turing Test
"Computing machinery and intelligence"
5分間の会話では難しい。
自然言語をチャットだけで判断するのは難しいのでは?
Turing Testに勝つコンテストとかある
→生産性が無い?
知識のいろいろ
記号的でない知識→暗黙知
自分は分かるけど説明が難しいもの
EX自転車の乗り方、友達の顔
記号的名知識→形式知
言葉で説明できるもの
構成的な知識
方法を表現したもの
手続き型procedural = "how"の表現
例:逆行列を求めるプログラム
構成的でない知識
何であるかを表現したもの
宣言方:declarative = "what"の表現
例:逆行列の数学的な定義
これを聞いただけでは、
この授業でやりたいこと
howを言わなくても、コンピュータが推論でそこまで導いてくれる。
コンピュータは数値計算の需要から生まれた
コンピュータが登場すると、人間との類似性に注目して新たな使い方を考える人々が現れた。
→記号を扱う能力、具体的には、
・記号や記号の連鎖をコンピュータの中に気を駆使照り、読み出したり、変形したりする能力
・2つの記号が等しいかどうかの判別能力
記号Aと記号Bが同じかどうかを判断する処理をcomputerにもたせる
宣言的な知識:
"いとこ"って言葉を知らない人がいたとする。
家計図をinputさせて、この人はいとこかどうかを判断させる。
そのためには、定義を入れる必要がある。
コンピュータの中には記号を入れる。
記号=単語
名前の付け方には任意性がある。
例:12 vs. ⅩⅡ vs. twelve
りんごなら、りんごを表す概念があり、
りんごを表す記号自信がある。
動詞は名詞ではないが、"動詞"は名詞
""が付いている場合と付いていない場合では違う意味になる。
例:グ
レープフルーツはグレープとフルーツに分けられるか?
ばらしてしまってはそのものの意味がなくなってしまう。
動詞→動と詞では意味が伝わらない。
記号のつづり
記号≒単語
記号とは、概念をつけた名前のこと
記号を組み合わせることによって、より複雑な概念を表すことができる
単語動詞は相互に関係している
辞書:単語同士のポインターが張られている。
↑こんなようなことをコンピュータの中でやりたい!
単語は同じか違うか区別できれば良い。
javaのオブジェクトとかポインターに似ている。
中身はどうでもいい。何を指しているかが重要。
モデル化と解釈
問題→モデル化→プログラムデータ→計算結果→解決
物体の配置、光線状態→モデル化された物理状態と物理法則→二次元画像→情景
ソクラテスは人間、人間は皆死ぬ
計算機で記号を扱うための基本機能は
同意知性の判定
記号構造の形成と操作
記号のつづりは入出力用、内部の処理では使わない。
コンピュータが推論の作業をするときに使う。
同一性の判定が高速にできればよい。
Cf. heap
りんごが2回目にきたときには、オブジェクトへの参照を返す。
アドレス比較だけで済む。
外部から読み込んだ同一記号は常に同じ識別番号に変換される。
記号による知識表現
概念同士を関係付けることが知識表現の基本
現実世界での概念間の関係⇔計算機内での記号間の関係(link structure)
お互いに関係している。リンク構造で表現すればコンピュータの中で表現できる。
物理記号系(Newell an Simon)
6.5は自分で読むこと!
Ocamlという言語は物理記号系
今日の目標
知識をコンピュータに入れるとはどういうことなのか?
記号的名知識→構成的な知識、構成的でない知識。
辞書にはソートする方法とかは載ってない。
宣言的な知識が乗っている。
どういう風にコンピュータに入れればよいのか?
・個別的な知識 辞書に出ない
Tom is the father of Liz.
Pam is female.
・一般知識(辞書に出る)
a mother is a parent who is female.
a grandmother is a mother of a parent.
an ancestor is either (i) a parent or (ii) a parent of an ancestor
↑これらはすべて論理学の言葉でもかける!
個別知識。
Tom is the father of Liz.
is_father_of(tom, liz)
Pam is female.
is_female(pam)
特徴→述語 主語 目的語(目的格)
固有名詞が出現
単文
Tom and Liz and Pamなどの固有名詞は小文字からはじめる。
・一般知識
A mother is a parent whoo is female.
X is the mother of ' if X is a parent of Y and X is female.
is_mother_of(X,Y) ←
is_parent_of(X,Y) ∧ is_female(X)
A grandmother is a mother of a parent.
is_grandmother_of(X,Y) ←
is_mother_of(X,Z) ∧ is_parent_of(Z,Y)
・∀X∀Y(~~~)が抜けている!
→X,Y,Zという単語は全ての事象に対して成り立つという暗黙の了解がある
prologとは
PROgramming in LOGic = prolog
if文とは結論を実行するために、論理式を読む?
ocamlよりはるかに安定している処理系
-----------------------------------------------
レポートについては来週説明 5/8まで
主張1:「コンピュータが知的名はずが無い(P1),だって、プログラムされたことしか出来ない(Q1)のだから」
Q1は正しいか?Q1はP1を含意するか?
主張2:「人間が知的名はずが無い(P2),だって、遺伝子に組み込まれたことしか出来ない(Q2)のだから」
Q2は正しいか?Q2はP2を含意するか?
以上に関する自分の意見をレポートにまとめて提出。領主超の関係をよく分析してください。
主張1と主張2は全く同じ格好をしている。
同じロジックなら同じ答えになるはず。
答えが違っていたらどこかで言葉の認識のズレがある。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿