人工知能の基礎知識

(1)序論

人工知能とは



歴史
方法論
人工知能の基礎




問題解決
探索
推論
知識
©2008 Ikuo Tahara
1
人工知能とは

“machines who think” (考える機械)
P. McCorduck: 「コンピュータは考える―人
工知能の歴史と展望」 (1979)

計算機に人間が行うような高度な「知的」
情報処理を行わせる研究
©2008 Ikuo Tahara
2
人工知能の歴史
1600
1940
Leibniz(1685)
普遍記号学
1950
ENIAC(1946)
EDSAC(1949)
McCulloch & Pitts(1943)
論理ニューロン
(脳のモデル)
Wiener(1946)
サイバネティクス
1970
ダートマス会議
(1956)
Winograd(1971)
SHRDLU
(知識)
1990
Rosenblatt(1961)
パーセプトロン
(学習)
2000
Berners-Lee(1989)
WWW
Shortliffe(1976)
MYCIN
(エキスパート・システム)
Turing(1950)
チューリングテスト
McCarthy(1958)
LISP
1980
Reiter(1980)
デフォルト推論
Google(1998)
Wikipedia(2001)
(インターネット)
McCarthy(1980)
極小限定
(非単調推論)
©2008 Ikuo Tahara
3
人工知能の方法論

Leibnizの夢: 普遍的科学言語の希求
普遍記号学=記号体系+推論算法


情報処理=表現+操作
人工知能=「知的」情報処理
=知識+推論
©2008 Ikuo Tahara
4
人工知能分野


知識処理



パターン認識
認識能力
理解能力
推論能力
学習能力
記憶能力
自然言語処理
©2008 Ikuo Tahara
5
人工知能の基礎

知識(知識表現,知識獲得など)

探索(グラフ表現,探索アルゴリズムなど)

論理(論理表現,推論など)

記号処理(プログラミング言語)
©2008 Ikuo Tahara
6
問題解決―積木の問題の表現
A
A
B
B
初期状態
目標状態
■
PICKUP( x)
:テーブルの上の積木 x を持ち上げる
■
UNSTACK ( x, y )
:積木 y の上の積木 x を持ち上げる
■
PUTDOWN ( x)
:積木 x をテーブルの上に置く
■
STACK ( x, y )
:積木 x を積木 y の上に置く
©2008 Ikuo Tahara
7
探索による問題解決

状態空間
A
B
B
A
B
A
A
A

B
B
探索アルゴリズム
縦形(深さ優先)探索,横形(幅優先)探索
©2008 Ikuo Tahara
8
論理による問題解決

論理式による知識の表現

初期状態
ontable(A, S0 )  ontable( B, S0 )

目標状態
s. on(A, B, s)
PICKUP( x)
xs.[ontable( x, s )
 holding ( x, after ( pickup ( x ), s ))]


STACK ( x, y) xys .[holding ( x, s )
 on( x, y, after ( stack ( x, y ), s ))]
©2008 Ikuo Tahara
9
論理による問題解決

証明による解決
初期状態の論理式
目標状態の論理式
オペレータの論理式
推論規則

推論(演繹推論)
肯定式
P P Q
Q
三段論法
導出
PQ Q R
PR
P  Q Q  R
P R
©2008 Ikuo Tahara
10
論理による問題解決

導出反駁
on( A, B, s)
holding ( x2 , s2 )  on( x2 , y2 , after ( stack ( x2 , y2 ), s2 ))
{x2 / A, y2 / B, s / after (stack ( A, B), s2 )}
holding ( A, s2 )
ontable( x1 , s1 )  holding ( x1 , after ( pickup( x1 ), s1 ))
{x1 / A, s2 / after ( pickup( A), s1 )}
ontable( A, s1 )

解
ontable( A, S0 )
{s1 / S0 }
s  after ( stack ( A, B ), after ( pickup ( A), S 0 ))
©2008 Ikuo Tahara
11
論理プログラム

Prolog
プログラム
P  Q1, Q2
A
, Qn
インタプリタ(SLD導出)
質問
 G1 , G2 ,
©2008 Ikuo Tahara
, Gm
12
エキスパート・システム
作業記憶
事実
中間結果
知識ベース
ルール
推論機構
(推論エンジン)
ユーザインタフェイス
例: MYCIN(診断),PROSPECTOR(探鉱)
DENDRAL(化合物構造解析)など
©2008 Ikuo Tahara
13
不完全な知識の取扱い

非単調推論
fly(x) は矛盾しない
x.[bird ( x)  Mfly( x)  fly( x)]
x.[ penguin( x)  fly( x)]
fly( Hanako)
bird ( Hanako)
fly( Hanako)
penguin( Hanako)

極小限定,デフォルト推論 (常識の取扱い)
©2008 Ikuo Tahara
14
矛盾した知識の取扱い

仮説推論
・雨が降った.
・雨は降らなかった.
・散水はしなかった.
仮説集合
無矛盾性
演繹推論
事実・ルール集合
結論
・雨が降ると路面は濡れる.
・雨も降らず散水もしなければ路面は濡れない.

アブダクション,議論,準無矛盾推論
©2008 Ikuo Tahara
15
参考





太原育夫: 新 人工知能の基礎知識,近代科学社(2008)
P.マコーダック(黒川利明訳): コンピュータは考える[人工
知能の歴史と展望],培風館(1983)
人工知能学会編: 人工知能学事典,共立出版(2005)
人工知能学会Webサイト
(http://www.ai-gakkai.or.jp/jsai/whatsai/)
米国人工知能学会Webサイト
(http://aaai.org/AITopics/)
©2008 Ikuo Tahara
16