人工知能とは - kyoto u...2011/06/01  · 1980~1982: fifth generation computer project 1984:...

39
2013524人工知能とは 西田豊明 Copyright © 2013 Toyoaki Nishida All Rights Reserved.

Upload: others

Post on 13-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

2013年5月24日

人工知能とは

西田豊明

Copyright © 2013 Toyoaki Nishida All Rights Reserved.

Page 2: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

1. 人工知能の発展の歴史 ― 「知能をもつメカ」ないしは「心を持つメカ」への道.

2. コンピュータの出現で人工知能の本格研究が可能になった.

3. コンピュータの本質はチューリングマシンである.

4. Lispインタープリタは思考を助ける強力なツールである.

今回あらすじ

Page 3: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

人工知能研究者人工知能研究者

人間のしている知的行為に関心を持つ

それをコンピュータで再現してみようとするとんでもない人たち

1956年に旗揚げ

日本では約3000人?

Page 4: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

人工知能とは?人工知能とは?

知能をもつメカ

心をもつメカ

イメージ→ ロボット ‐ 映画『ロボット』公式サイト

Page 5: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

人工知能の過去,現在,(未来)

http://www.ii.ist.i.kyoto‐u.ac.jp/?p=3333&lang=ja,http://www.ii.ist.i.kyoto‐u.ac.jp/?p=3351&lang=ja

Autonomous Vehicles‐ Lego Robots (1998 ‐)‐ European Land‐Robot Trial (2006‐)  (original source not found)‐ DARPA Urban Challenge (2007‐)‐The Microtransat Challenge : a transatlantic race of fully autonomous sailing boats. (2006‐)‐ Aerial Robotics (Sept. 28, 2011)Chess (competition ended)‐ Deep Blue defeated Gary Kasparov on May 11th, 1997Education‐ STEM Grand Challenge to develop adaptive, generalizable intelligent tutors (June 5, 2011‐)‐ Hewlett Foundation: Improve Automated Scoring of Student Essays (Jan, 2012)Face Recognition‐ the Face Recognition Vendor test (FRVT) (2002‐)Go‐ コンピュータ囲碁の挑戦Language Learning and Understanding‐ Loebner Prize (1990‐)‐ IBM WatsonLunar Robotics‐ NASA Prize for Digging Moon Dirt (September 20, 2005)‐ Google Lunar X Prize (2007‐)Medical Diagnosis and Monitoring‐ Nokia Sensing X Challenge (may 24, 2012)Rescue Operations‐ Robocup Rescue (2001‐)Robotics‐ The DARPA Robotics Challenge (October 2012‐)将棋‐ 世界コンピュータ将棋選手権,コンピュータ将棋プロジェクトShredder Challenge‐ DARPA Shredder Challenge (October 27th‐December 2nd, 2011; solved)Soccer‐ Robocup (1997 ‐)東大入試‐ 国立情報学研究所人工頭脳プロジェクト「ロボットは東大に入れるか」(2011‐)

AAAI>AITopics>Grand Challenges in AIをもとに作成.

AIのグランドチャレンジ

Conceptual ‐‐ Turing Test (1950)

Page 6: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

History of AI research in contrast with ICT

Year AI ICT1940~ 1936: Turing Machine, 1947: von Neumann Computer, 1948: Information 

Theory, by C. Shannon and W. Weaver, 1948: Cybernetics by Wiener

1950~ 1952‐62: Checker program by A.Samuel1956: Dartmouth Conference 1957: FORTRAN by J.Backus

1960~ 1961: Symbolic Integration program SAINT by J.Slagle1962: Perceptron by F.Rosenblatt1966: The ALPAC report against Machine Translation by R. Pierce1967: Formula Manipulation System Macsyma by J.Moses1967: Dendral for Mass Spectrum Analysis by E.Feigenbaum

1961: Mathematical theory of Packet Networks by L. Kleinrock1963: Interactive Computer Graphics by I.Sutherland

1968: Mouse and Bitmap display for oN Line System (NLS) by D.C.Engelbart1969: ARPA‐net

1970~ 1971: Natural Language Dialogue System SHRDLU, by T.Winograd1973:  Combinatorial Explosion problem pointed out in The Lighthill report1974: MYCIN by T.ShortliffeMid 1970’s: Prial Sketch and Visual Perceptron by D.Marr1976: Automated Mathematician (AM) by D.Lenat1979: Autonomous Vehicle Stanford Cart  by H.Moravec

1970: ALOHAnet1970: Relational Database Theory by E.F.Codd1972: Theory of NP‐completeness by S.Cook and R.KarpMid 1970’s: Alto Machine by A.Kay and A.Goldberg1976: Ethernet1979: Spreadsheet Program Visicalc by D.Bricklin

1980~ 1982: Fifth Generation Computer Project1984: The CYC Project by D.LenatMid 1980’s: Back‐propagation algorithm was widely used1985: the Cybernetic Artist Aaron  by H.Cohen1986: Subsumption Architecture by R.Brooks1989: An Autonomous Vehicle ALVINN by D.Pomerleau

1982:TCP/IP Protocol by B.Kahn and V.CerfMid 1980’s: First Wireless Tag Products1987: UUNET started the Commercial  UUCP Network Connection Service1988: Internet worm (Morris Worm)1989: World Wide Web by T.Berners‐Lee1989: The number of hosts on the Internet has exceeded 100,000. 

1990~ 1990: Genetic Programming by J.R.KozaEarly1990’s: TD‐Gammon by G.TesauroMid 1990’s: Data Mining Technology1997: DeepBlue defeated the World Chess Champion G.Kasparov1997: The First Robocup by H.Kitano1999: Robot pets became commercially available

1992: The number of hosts on the Internet has exceeded 1,000,000.1994: Shopping malls on the Internet1994: W3C was founded by T. Berners‐Lee1995: Yahoo was founded1998: XML1.0(eXtensible Markup Language) by W3C1999: i‐Mode service started

2000~ 2000: Honda Asimo

2004: The Mars Exploration Rovers (Spirit & Opportunity)

2010~ 2010: Kinect2011: IBM Watson Jeopardy defeated two of the greatest champions2012: Siri

1960 Prof. Toshiyuki Sakai’s group at Kyoto

1961 Sonotype: phonetic typewriter by Shuji Doshita

1970 The world’s first face recognition system by Takeo Kanade

1979 Japanese Word Processor JW-10 by Toshiba

1997 1st Robocup games and conference at Nagoya, Japan

1979 IJCAI 79 (Tokyo)

1997 IJCAI 97 (Nagoya)

1982-1992 Fifth Generation Project

1986 JSAI (Japanese Society for AI)

1990 1st PRICAI (Nagoya, Japan)

1970’s Research groups for AI were formed in Tokyo, Osaka, Kyushu

1960’s Image Understanding and NLP by Makoto Nagao

2010 Akara 20102012 Zen

Page 7: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

人工知能とともに35余年

http://www.ii.ist.i.kyoto‐u.ac.jp/?p=3333&lang=ja,http://www.ii.ist.i.kyoto‐u.ac.jp/?p=3351&lang=ja

Page 8: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

スーパー知能たち

1997年: Deep Blueが世界チェスチャンピオンG. Kasparovを破る… Source: IBM Deep Blue, wikipedia

1997年: Robocup公式大会開始(H. Kitano)… Source: robocup.org,  robocup.or.jp, Wikipedia

1997年: Mars Pathfinder成功… Source: NASA Mars Pathfinfer, Wikipedia

1999年: ロボットペットSONY AIBO発売… Source: SONY AIBO, Wikipedia

1999年: OpenCVプロジェクト公式立ち上げ… Source: OpenCVWiki,wikipedia

2000年: Honda ASIMO公開… Source: Honda ASIMO, Wikipedia

2004年: Mars Exploration Rovers火星で作業開始… Source: NASA‐JPL

2010年: Google  Driverless Car… Source: Wikipedia, Sebastian Thrun’s home page, 3P

2010年: Kinect発売… Source: xbox.com, Wikipedia

2011年: IBM WatsonがJeopardy!でチャンピオン2人に勝利… Source: IBM Watson, Wikipedia

2011年: iPhone Siriリリース… Source: Apple, Wikipedia

2011年: Google Voice Search… Source: Google

2012年: Zenが五子局,四子局で武宮正樹九段に勝利… Source:  エンタテインメントと認知科学研究ステーション

2012年: Google Glass プロジェクト… Source:  Project Glass

2012年: NTT DOCOMOしゃべってコンシェル… NTT DOCOMO

その他: Smarter than You Think (New York Times) 

公開 邦題 原題 備考 Trailers Wikipedia

1968 2001年宇宙の旅2001: A Space Odyssey

HAL9000http://www.youtube.com/watch?v=uU4TQ1NTo50

http://ja.wikipedia.org/wiki/2001%E5%B9%B4%E5%AE%87%E5%AE%99%E3%81%AE%E6%97%85

1977 スターウォーズ Star Wars C-3PO, R2-D2http://www.starwars.com/

http://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%BB%E3%82%A6%E3%82%A9%E3%83%BC%E3%82%BA%E3%83%BB%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA

1982 ブレードランナー Blade Runner レイチェル,ほかhttp://wn.com/Trailer_Blade_Runner

http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AC%E3%83%BC%E3%83%89%E3%83%A9%E3%83%B3%E3%83%8A%E3%83%BC

1984 ターミネーター The Terminator ターミネーターhttp://wn.com/terminator_1_trailer

http://ja.wikipedia.org/wiki/%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8D%E3%83%BC%E3%82%BF%E3%83%BC_(%E6%98%A0%E7%94%BB)

1987 ロボコップ RoboCop(サイボーグ),警官ロボット

http://movies.yahoo.com/movie/robocop/

http://ja.wikipedia.org/wiki/%E3%83%AD%E3%83%9C%E3%82%B3%E3%83%83%E3%83%97

1993 ウォー・ゲーム War GamesWOPR:War Operation Plan Response

http://wn.com/trailer_war_games

http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%BB%E3%82%B2%E3%83%BC%E3%83%A0_(%E6%98%A0%E7%94%BB)

1994 ディスクロージャー Disclosure エンジェルhttp://www.cinemagia.ro/trailer/disclosure‐hartuire‐sexuala‐5931/

http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3%E3%83%BC_(%E6%98%A0%E7%94%BB)

1998 アンドリューNDR114 Bicentennial ManAndrew, a new NDR-114 robot

http://www.filmsnmovies.com/video/13004/bicentennial_man_trailer/

http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%B3%E3%83%89%E3%83%AA%E3%83%A5%E3%83%BCNDR114

1999 マトリクス The Matrix コンピュータhttp://trailers.apple.com/trailers/wb/thematrix/trailer/

http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%88%E3%83%AA%E3%83%83%E3%82%AF%E3%82%B9_(%E6%98%A0%E7%94%BB)

2001 A.I. A.I. Artificial Intelligence

少年型ロボット:デイビッドhttp://wn.com/artificial_intelligence

http://ja.wikipedia.org/wiki/A.I.

2002 マイノリティレポート Minority Report探索用昆虫型ロボット,ユーザインタフェース

http://wn.com/minority_report_official_trailer

http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%A4%E3%83%8E%E3%83%AA%E3%83%86%E3%82%A3%E3%83%BB%E3%83%AA%E3%83%9D%E3%83%BC%E3%83%88

2004 アイ,ロボット I, ROBOT ヴィキ,サニーhttp://trailers.apple.com/trailers/fox/i_robot/trailer3/ap_lg.html

http://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%A4,%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88

2009 Astro boy ATOM Astro boy Astro boyhttp://www.bing.com/videos/watch/video/astro‐boy‐trailer/5farfvx

http://ja.wikipedia.org/wiki/ATOM_(%E6%98%A0%E7%94%BB)

2009 アバター Avatar (テレイグジスタンス)http://movies.foxjapan.com/avatar/

http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%90%E3%82%BF%E3%83%BC

2009 サロゲート Surrogate (テレイグジスタンス)http://trailers.apple.com/trailers/touchstone/surrogates/

http://ja.wikipedia.org/wiki/%E3%82%B5%E3%83%AD%E3%82%B2%E3%83%BC%E3%83%88_(%E6%98%A0%E7%94%BB)

最近の話題 ヒントは人々の心の中にあり. 映画のなかのAI

Page 9: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

これまでのAI すごいすごい

すごい

すごいすごい

すごい

すごい

すごい

すごいすごい

すごい

すごいすごい

すごい

すごいすごい

すごい

すごい

すごい

すごいすごい

すごい

Page 10: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

スーパー知能のダークサイドスーパー知能のダークサイド

技術の乱用 … 悪意,善意

責任能力の破たん … 製造者,所有者,使用者

モラルの危機 … SIが解決

人工物への過度の依存 … 人類は脆弱に

Page 11: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

シンギュラリティ(技術的特異点)シンギュラリティ(技術的特異点)

人工知能の知性が(それを作りだした)人間の知性を超える日.

IEEE Spectrum 2008年6月号http://spectrum.ieee.org/biomedical/ethics/signs‐of‐the‐singularity

“The AI Scenario: We create superhuman artificial intelligence (AI) in computers.”

“The IA Scenario: We enhance human intelligence through human‐to‐computer interfaces‐‐that is, we achieve intelligence amplification (IA).”

理想郷の恐怖

Page 12: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

で,どうしよう?で,どうしよう?

杞憂である.そのようなことはないと論破できる.

抵抗運動を起こす(ネオ・ラッダイト運動).

研究者としての新しい道を探る.

AIに共感する力を持たせる.

Page 13: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

DeepBlue,あから2010,Zen

チェス,将棋,囲碁の面白さを教える.

IBM Watson クイズの回答だけでなく,出題まで手伝ってくれる.

Siri 楽しく丁寧に教えてくれる外国語教師.

(東大に合格するAI) 勉強の面白さを教えてくれる.出題と採点と講評を行う.

これまでのAI:能力の高さ

これからのAI:共感力の強さ

Page 14: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

これからのAI

君がいてよかった!

「すごい」と言わせるAIから「君がいてよかった」と言ってもらえるAIへ

• サービス• プレゼンス• 共感

Page 15: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

共有基盤

会話知能の役割

知能計算 人間社会

Page 16: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

• Service• Empathy• Presence

Entertain with a game

Entertain with a game

Conversation partner

Effective and affective tutor

Glad to stay with you!

Future AI

Page 17: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

Empathic Agent ?

I have a problem

May I help you?Hear: “Problem”‐> Say: “May I help you?”

Page 18: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

Empathic Agent ?

May I help you?

Simulation 

Difficulty

Difficulty

I have a problem

Page 19: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

Empathic Agent ?

I have a problem

May I help you?Problem Solving

Intelligence

EmotionalIntelligence

SocialIntelligence

Page 20: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

人工知能に共感力を持たせることができるか?人工知能に共感力を持たせることができるか?

→「機械に心をもたせることができるか?」

機械は心をもてない (Hubert Dreyfus,…).

メディアの等式 (Byron Reeves, Clifford Nass) 

心は心を見つけ出す, 志向姿勢 (Daniel Dennet)

脳が作り出す心 (最近の認知神経科学).

Page 21: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

心をもつメカは実現できるか?心をもつメカは実現できるか?

機械みたいな人間人間みたいな機械

脳が作り出す心

AI

クラウドにつながった心たち

Page 22: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

共有仮説共有仮説

どれだけ共有できるか?

思考基盤

知覚基盤

身体基盤

生命基盤

Page 23: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

タイのマーケットタイのマーケット

何が起きている?コンピュータにもわかるようになってほしい

知識に基づく理解古典AIの限界

言語ゲームヴィトゲンシュタインエスノグラフィ

アナリシス計測技術の進歩整理指標も

シンセシスロボットなどによる再現新しいサービス

ゲームデザイン参加者の参加意図した効果シンセシス

デザイン

アナリシスよりよいサービスの枠組み

インタラクション・ゲーム・デザイン

Page 24: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

Augmented Conversation  Environment

Conversation in the physical environment Conversation in the virtual environmentICIE:  Immersive Collaborative Interaction Environment

Multiparty conversation recorder

Eye tracker

Eye tracker (wearable)

Polygraph Optical motion capture systems

Cluster computer

IMADE: Interaction Measurement, Analysis, and Design Environment

SmartInFill

研究体制研究体制

Synthesis

Annotation tool

Analysis

Design

Page 25: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

進行中のプロジェクト進行中のプロジェクト

Virtual Basketball

Tele presence

Simulated Crowd

Group Chasing

VirtualizationLearning by mimicking

Page 26: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

心をもつメカの構成概念図心をもつメカの構成概念図

Page 27: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

チューリングマシン

1. 入力テープと状態遷移機械から構成されている.

2. 入力テープは,左右に連なる無限個のマス目から構成される.マス目は空白ないし1個の「アルファベット」が書き込まれる.

3. 状態遷移機械は,ヘッドをもち入力テープのある位置をスキャンしている.状態機械に従って,ヘッドのある位置でアルファベットを読み書きしたり,ヘッドを左右に動かしたりできる.

数学者アラン・チューリングが考えた数学的なからくり

Page 28: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

状態遷移機械

q0 q1 q2 q3 q4 q5

開始

0/0, R

0/0, R

1/B, L

A/A, LB/B, L

A/A, RB/B, R

A/A, LB/B, L

0/A, R

1/B, L

_/_, L _/_, R

チューリングマシン

0n1nを受理するチューリングマシン

_ 0 0 0 1 1 1 _ __入力テープ

Page 29: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

チューリングマシン

0n1nを受理するチューリングマシン

_ A A A B B B _ __入力テープ

状態遷移機械

q0 q1 q2 q3 q4 q5

開始

0/0, R

0/0, R

1/B, L

A/A, LB/B, L

A/A, RB/B, R

A/A, LB/B, L

0/A, R

1/B, L

_/_, L _/_, R

Page 30: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

チューリングマシン

0n1nを受理するチューリングマシン

_ A A A B B B _ __入力テープ

停止状態に入って正常終了 !

状態遷移機械

q0 q1 q2 q3 q4 q5

開始

0/0, R

0/0, R

1/B, L

A/A, LB/B, L

A/A, RB/B, R

A/A, LB/B, L

0/A, R

1/B, L

_/_, L _/_, R

Page 31: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

状態遷移機械

q0 q1 q2 q3 q4 q5

開始

0/0, R

0/0, R

1/B, L

A/A, LB/B, L

A/A, RB/B, R

A/A, LB/B, L

0/A, R

1/B, L

_/_, L _/_, R

チューリングマシン

0n1nを受理するチューリングマシン … 0n1n以外の入力に対して

1 1 1 1 0 0 _ _ __入力テープ

Page 32: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

チューリングマシン

0n1nを受理するチューリングマシン … 0n1n以外の入力に対して

1 1 A A B B _ _ __入力テープ

未定義のため異常終了 !

状態遷移機械

q0 q1 q2 q3 q4 q5

開始

0/0, R

0/0, R

1/B, L

A/A, LB/B, L

A/A, RB/B, R

A/A, LB/B, L

0/A, R

1/B, L

_/_, L _/_, R

Page 33: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

チューリングマシン

0n1nを受理するチューリングマシン … 0n1n以外の入力に対して

_ 0 0 1 1 1 1 _ __入力テープ

状態遷移機械

q0 q1 q2 q3 q4 q5

開始

0/0, R

0/0, R

1/B, L

A/A, LB/B, L

A/A, RB/B, R

A/A, LB/B, L

0/A, R

1/B, L

_/_, L _/_, R

Page 34: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

チューリングマシン

0n1nを受理するチューリングマシン … 0n1n以外の入力に対して

_ A A B B B 1 _ __入力テープ

未定義のため異常終了 !

状態遷移機械

q0 q1 q2 q3 q4 q5

開始

0/0, R

0/0, R

1/B, L

A/A, LB/B, L

A/A, RB/B, R

A/A, LB/B, L

0/A, R

1/B, L

_/_, L _/_, R

Page 35: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

状態遷移機械

q0 q1 q2 q3 q4 q5

開始

0/0, R

0/0, R

1/B, L

A/A, LB/B, L

A/A, RB/B, R

A/A, LB/B, L

0/A, R

1/B, L

_/_, L _/_, R

チューリングマシン

0n1nを受理するチューリングマシン … 0n1n以外の入力に対して

b 0 0 0 1 1 1 b bb入力テープ

0が見つかるまで左へ移動する1が見つかるまで右へ移動する

Page 36: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

チューリングマシン

1. 種々のバージョン:テープが複数か否か,動作が決定的か非決定的か…

2. 言語階層とマシンの階層の対応3. 万能チューリングマシンの存在4. アルゴリズム=チューリングマシン5. 時間計算量と空間計算量6. P≠NP?問題

一般的性質

Page 37: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

思考のツールとしてのLisp

「私の人工知能理論」

人工知能プログラム

インタープリタ

表現

解釈実行

表示

Gnu Common Lisp

Page 38: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

チューリングマシンの場合

(defun test ()(let* ((tm tm0)

(input input-tm0)(left-stack nil)(right-stack)(current-state (second (assoc 'start tm)))(current-cell nil)(states (cdr (assoc 'states tm)))(terminal-states (cdr (assoc 'terminal tm)))(rules nil)(rule nil)(counter 1)(credits 1))

(setq right-stack (cdr (member '* input)))(cond (right-stack

(setq current-cell (car right-stack))(setq right-stack (cdr right-stack)))

(t (setq current-cell '_))) (dolist (cell input)

(cond ((eq cell '*) (return)))(push cell left-stack))

(loop(cond ((<= credits counter)

(princ "How many more steps to go?") (terpri)(setq credits (read))(cond ((<= credits 0) (return))

(t (setq counter 0))))(t (setq counter (1+ counter))))

(princ "======================================") (terpri)(print-state left-stack current-cell right-stack current-state)(cond ((member current-state terminal-states)

(princ "======================================") (terpri)(princ "*** Halt in a termnial state ***") (terpri) (princ "======================================") (terpri)(return)))

(setq rules (cdr (assoc current-state states)))(setq rule (assoc current-cell rules))(cond ((null rule) (return)))(setq current-cell (second rule))(setq current-state (fourth rule))(case (third rule)

(right (cond(right-stack

(setq left-stack `(,current-cell . ,left-stack))(setq current-cell (car right-stack))(setq right-stack (cdr right-stack)))

(t (setq left-stack `(,current-cell . ,left-stack))(setq current-cell '_))))

(left (cond (left-stack (setq right-stack `(,current-cell . ,right-stack))(setq current-cell (car left-stack))(setq left-stack (cdr left-stack)))

(t (setq right-stack `(,current-cell . ,right-stack))(setq current-cell '_))))

(t (break "error"))) )))

(defun print-state (left-stack current-cell right-stack current-state)(let* ((position (length left-stack)))

(mapcar #'princ (reverse left-stack)) (princ current-cell)(mapcar #'princ right-stack)(terpri)(dotimes (x position) (princ " ")) (princ "^") (terpri)(dotimes (x position) (princ " ")) (princ current-state) (terpri)))

(setq tm0 '((start q0)

(terminal q5)(states (q0 (0 0 right q1))(q1 (0 0 right q1)

(1 B left q2))(q2 (A A left q2)

(B B left q2)(0 A right q3))

(q3 (A A right q3)(B B right q3)(1 B left q2)(_ _ left q4))

(q4 (A A left q4)(B B left q4)(_ _ right q5)))))

(setq input-tm0 '(* 0 0 0 0 0 1 1 1 1 1))

GCL (GNU Common Lisp) 2.6.7 ANSI Dec 27 2007 19:55:59Source License: LGPL(gcl,gmp), GPL(unexec,bfd)Binary License: GPL due to GPL'ed components: (UNEXEC)Modifications of this banner must retain notice of a compatible licenseDedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.

>(setq *default-pathname-defaults* "C:/Users/豊明/Documents/MyPrograms/turing-machine/")

"C:/Users/豊明/Documents/MyPrograms/turing-machine/"

>(load "tm")

Loading C:/Users/豊明/Documents/MyPrograms/turing-machine/tm.lspFinished loading C:/Users/豊明/Documents/MyPrograms/turing-machine/tm.lspT

>(test)How many more steps to go?100======================================0000011111^Q0======================================0000011111^Q1======================================0000011111

^Q1

======================================0000011111

^Q1

======================================0000011111

^Q1

======================================00000B1111

^Q2

======================================0000AB1111

^Q3

======================================0000AB1111

^Q3

======================================0000ABB111

^Q2

======================================0000ABB111

^Q2

======================================0000ABB111

^Q2

======================================000AABB111

^Q3

======================================000AABB111

^Q3

======================================000AABB111

^Q3

======================================000AABB111

^Q3

======================================000AABBB11

^Q2

======================================000AABBB11

^Q2

======================================000AABBB11

^Q2

======================================000AABBB11

^Q2

======================================000AABBB11^Q2

======================================00AAABBB11

^Q3

======================================00AAABBB11

^Q3

======================================00AAABBB11

^Q3

======================================00AAABBB11

^Q3

======================================00AAABBB11

^Q3

======================================00AAABBB11

^Q3

======================================00AAABBBB1

^Q2

======================================00AAABBBB1

^Q2

======================================00AAABBBB1

^Q2

======================================00AAABBBB1

^Q2

======================================00AAABBBB1

^Q2

======================================00AAABBBB1^Q2

======================================00AAABBBB1^Q2======================================0AAAABBBB1^Q3

======================================0AAAABBBB1

^Q3

======================================0AAAABBBB1

^Q3

======================================0AAAABBBB1

^Q3

======================================0AAAABBBB1

^Q3

======================================0AAAABBBB1

^Q3

======================================0AAAABBBB1

^Q3

======================================0AAAABBBB1

^Q3

======================================0AAAABBBBB

^Q2

======================================0AAAABBBBB

^Q2

======================================0AAAABBBBB

^Q2

======================================0AAAABBBBB

^Q2

======================================0AAAABBBBB

^Q2

======================================0AAAABBBBB

^Q2

======================================0AAAABBBBB^Q2

======================================0AAAABBBBB^Q2======================================0AAAABBBBB^Q2======================================AAAAABBBBB^Q3======================================AAAAABBBBB^Q3

======================================AAAAABBBBB

^Q3

======================================AAAAABBBBB

^Q3

======================================AAAAABBBBB

^Q3

======================================AAAAABBBBB

^Q3

======================================AAAAABBBBB

^Q3

======================================AAAAABBBBB

^Q3

======================================AAAAABBBBB

^Q3

======================================AAAAABBBBB_

^Q3

======================================AAAAABBBBB_

^Q4

======================================AAAAABBBBB_

^Q4

======================================AAAAABBBBB_

^Q4

======================================AAAAABBBBB_

^Q4

======================================AAAAABBBBB_

^Q4

======================================AAAAABBBBB_

^Q4

======================================AAAAABBBBB_

^Q4

======================================AAAAABBBBB_^Q4

======================================AAAAABBBBB_^Q4======================================AAAAABBBBB_^Q4======================================_AAAAABBBBB_^Q4======================================_AAAAABBBBB_^Q5======================================*** Halt in a termnial state ***======================================NIL

>

GCL (GNU Common Lisp) 2.6.7 ANSI Dec 27 2007 19:55:59Source License: LGPL(gcl,gmp), GPL(unexec,bfd)Binary License: GPL due to GPL'ed components: (UNEXEC)Modifications of this banner must retain notice of a compatible licenseDedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.

>(setq *default-pathname-defaults* "C:/Users/豊明/Documents/MyPrograms/turing-machine/")

"C:/Users/豊明/Documents/MyPrograms/turing-machine/"

>(load "tm")

Loading C:/Users/豊明/Documents/MyPrograms/turing-machine/tm.lspFinished loading C:/Users/豊明/Documents/MyPrograms/turing-machine/tm.lspT

>(test)How many more steps to go?10======================================0000011111^Q0======================================0000011111^Q1

======================================

Q4======================================_AAAAABBBBB_^Q5

======================================*** Halt in a termnial state ***======================================NIL

>

プログラム データ

主要I/O

全I/O

Page 39: 人工知能とは - Kyoto U...2011/06/01  · 1980~1982: Fifth Generation Computer Project 1984: The CYC Project by D.Lenat Mid 1980’s:Back‐propagation algorithm was widely

ホームワーク

この講義で使用するGnu Common Lispインタープリタを自分のPCにインストールしよう.インストールの仕方については,

http://www.ii.ist.i.kyoto-u.ac.jp/?page_id=2990&lang=jaを参照されたい.