* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download What is Artificial Intelligence?
Survey
Document related concepts
Alan Turing wikipedia , lookup
Kevin Warwick wikipedia , lookup
Artificial intelligence in video games wikipedia , lookup
Visual Turing Test wikipedia , lookup
Chinese room wikipedia , lookup
Technological singularity wikipedia , lookup
Embodied cognitive science wikipedia , lookup
Turing test wikipedia , lookup
Computer Go wikipedia , lookup
Intelligence explosion wikipedia , lookup
Ethics of artificial intelligence wikipedia , lookup
Knowledge representation and reasoning wikipedia , lookup
Existential risk from artificial general intelligence wikipedia , lookup
Transcript
Introduction to Artificial Intelligence Topic 1. A Brief History to Artificial Intelligence Topic 2. Uses and Limitations Why we focus on “weak AI”? Who is Turing? What is “weak AI”? AI world will be changed, When? Topic 3. Knowledge Representation How we do with “weak AI”? 1 Turing Machine 算術與邏輯 輸入 記憶體 輸出 控制 I/O 中央處理器(CPU) 指令的編碼格式 OP 碼 <3> 定址模式 位移量 立即 指令的運作 (複雜指令型) m2 int a, b, c; ….. a=b+c; a m1 (3F55C2) b m2 (3F55C4) c m3 (3F55C6) m3 ADDM ADDER m1 CPU ADDM m1, m2 , m3 可以直接定址 16M 記憶體 的複雜指定集(CISC)處理器 e.g. 3B-22-A0-00-3F-55-C2-3F-55-C4-3F-55-C6 <4> 指令的運作 (精簡指定型) a m1 (4EF55C2) b m2 (4EF55C4) c m3 (4EF55C6) MOV MOV ADD MOV BX, m2 CX, m3 BX, CX m1, AR MOV ADD BX CX ADDER int a, b, c; a=b+c; m AR CPU 精簡指令型 或是 以有限狀態機或微程式工作的 複雜指定型之實際分解動作 <5> 80x86 指令集(精簡指令集) 組合語言 #MAKE_COM# ; instruct compiler to make COM file. ORG 100h ; directive required for a COM program. MOV AX, 0B800h ; set AX to hexadecimal value of B800h. MOV DS, AX ; copy value of AX to DS. MOV CL, 'A' ; set CL to ASCII code of 'A', it is 41h. MOV CH, 01011111b ; set CH to binary value. MOV BX, 15Eh ; set BX to 15Eh. MOV [BX], CX ; copy contents of CX to memory at B800:015E RET ; returns to operating system. Introduction to Artificial Intelligence Topic 1. A Brief History to Artificial Intelligence Topic 2. Uses and Limitations Why we focus on “weak AI”? Who is Turing? What is “weak AI”? AI world will be changed? When? Topic 3. Knowledge Representation How we do with “weak AI”? 8 Topic 1 A Brief History of Artificial Intelligence 9 Brief History What is Artificial Intelligence? Alan Turing and the 1950s Strong AI and Weak AI Examples: Prolog, LISP 10 What is Artificial Intelligence? A more difficult question is: What is intelligence? 星艦戰將與 This question has puzzled philosophers, biologists and psychologists for centuries. 蝸蟲的學習 Artificial Intelligence is easier to define, although there is no standard, accepted definition. (weak/sub/strong…) In my opinion: 記憶 評判 搜尋解答 邏輯推理 weak sub? strong 控制 學習 創作 Fuzzy,NN,GA 11 Alan Turing and the 1950s Alan Turing is often seen as the father of Artificial Intelligence. Computing machinery and intelligence, Mind magazine, October, 59:433 – 460, 1950 Turing Test: A computer system can be called intelligent or not is based on whether it can fool a human into thinking it is human too. No system passed the Turing Test UNTIL 2014/6/8 (Eugene Goostman @ Univ. Reading) Systems were technically developed that could play checkers, engage in conversation and solve other problems. The term “AI” was coined in 1956 by John McCarthy. Machine translation was considered to be a solvable problem. Weak AI Turing Test ? Strong AI 12 英女王平反數學家圖靈 被譽為計算機科學之父的英國數學 家圖靈(Alan Turing)在死後近60年 後,終於獲得平反,英國女王伊莉 莎白二世(Queen Elizabeth II)於 2013年12月23日赦免圖靈。 圖靈是電腦科學奠基人,二戰期間 幫助破譯了德國的Enigma密碼系 統。他是一位同性戀者,因為當時 的反同性戀法律而於1952年被判「 嚴重猥褻罪」,遭強制實施化學閹 割、賀爾蒙治療、並遭到監視。兩 年後圖靈食用浸過氰化物溶液的蘋 果自殺死亡,年僅四十二歲。 13 約翰·麥卡錫 約翰·麥卡錫,生於美國麻薩諸塞 州波士頓,計算機科學家。他因在 人工智慧領域的貢獻而在1971年獲 得圖靈獎。實際上,正是他在1955 年的達特矛斯會議上提出了「人工 智慧」這個概念。 維基百科 出生: 1927 年 9 月 4 日,美國麻 薩諸塞州波士頓 逝世: 2011 年 10 月 24 日,美國 加利福尼亞州斯坦福 學歷: 普林斯頓大學 (1951 年) , 加州理工學院 (1948 年) 獲獎紀錄: 圖靈獎 14 Strong AI and Weak AI There are two entirely different schools of Artificial Intelligence: Strong AI: This is the view that a sufficiently programmed computer would actually be intelligent and would think in the same way that a human does. Weak AI: This is the use of methods modeled on intelligent behavior to make computers more efficient at solving problems. This course is concerned with Weak AI. Strong AI is currently the stuff of science fiction, although there are many that believe that machines will indeed be capable of real thought at some point in the future. 15 Prolog PROLOG (PROgramming in LOGic): A language designed to build databases of facts and rules, and then to have the system answer questions by a process of logical deduction using the facts and rules in the database. Facts: tasty (cheese). made_from (cheese, milk). Rules: contains (X, Y) :- made_from (X, Z), contains (Z, Y). Prolog is not an efficient language like C++, but it is the language of choice when building systems based on logic. 16 LISP LISP (LISt Programming): A language which more closely resembles the imperative programming languages such as C++ than does PROLOG. As its name suggests LISP is based around handling of lists of data. A list in LISP is contained within brackets, such as: (A B C) Lists represent data and also programs, meaning LISP programs can manipulate other programs, and it is even possible to write self-modifying LISP programs. 17 18 Introduction to Artificial Intelligence Topic 1. A Brief History to Artificial Intelligence Topic 2. Uses and Limitations Why we focus on “weak AI”? Who is Turing? What is “weak AI”? AI world will be changed? When? Topic 3. Knowledge Representation How we do with “weak AI”? 19 In my opinion: 記憶 評判 搜尋解答 邏輯推理 weak sub? strong 控制 學習 創作 Fuzzy,NN,GA 20 Topic 2 Uses and Limitations 20 Uses and Limitations The Chinese Room HAL – Fantasy or Reality? AI in the 21st Century Weak AI Application-oriented Research (weak + sub) Turing Test Strong AI 21 The Chinese Room A thought experiment used to argue against strong AI. A non-Chinese speaker is in a room with a set of cards with Chinese characters, and a set of instructions in English. (我要一把椅子) (1. Move a chair to the front door. 2. Open the door. 3. Give me the chair.) Questions in Chinese are fed into the room, and by following the instructions, the human is able to produce answers. The room appears to understand Chinese – it can answer questions in the language – but the human inside cannot. Weak AI 22 HAL – Fantasy or Reality HAL – the computer in the film 2001: A Space Odyssey (Star Trek) by Arthur Clarke 星艦奇航, 畢凱艦長, 百科, 企業號 … Plays chess with humans (and wins). Reads people’s lips. Engages in conversation with humans. Computers can play chess, and beat most players. Reading lips is very hard to automate. The conversational skills of the best systems today are very weak. Strong AI H. A. L. I.B.M. ? 23 AI in the 21st Century Application Oriented Research AI is everywhere. Fuzzy logic is used in elevators, washing machines and cars. Intelligent agents are used in many software applications. Weak AI Robots explore other worlds, and toy + robots play with children (and some Sub AI adults). Expert systems diagnose diseases and recommend remedies. Computer games use AI. 24 Modern Development of AI Deep Learning Google Brain @ Google X Lab 10 million pictures face, body, cat AlphoGo DeepMind Co., Google 30 million states (over 10^170) Defeated 樊麾(2014/2015歐洲冠軍) @ Oct., 2015 V.s. 李世石 @ Mar., 2016 25 Topic 3 Knowledge Representation 26 Introduction to Artificial Intelligence Topic 1. A Brief History to Artificial Intelligence Topic 2. Uses and Limitations Why we focus on “weak AI”? Who is Turing? What is “weak AI”? AI world will be changed? When? Topic 3. Knowledge Representation How we do with “weak AI”? 27 Knowledge Representation The need for a good representation Semantic nets Note: Inheritance (1)本章未列出所有方法; Frames (2)人類思考的表達方法能或 不能直接以演算法實作? Object oriented (3)e.g.圍棋的”勢” programming (4)實作上或許需要創意,因此 不能斷言能或不能。 Search trees Combinatorial explosion Problem reduction 28 The Need for a Good Representation A computer needs a representation of a problem in order to solve it. A representation must be: Efficient – not wasteful in time or resources. Useful – allows the computer to solve the problem. Meaningful – really relates to the problem. 29 A Simple Semantic Net 30 Frames and Inheritance Inheritance: Mammals give birth to live young. Fido is a mammal. Therefore fido gives birth to live young 31 Object Oriented Programming Object oriented programming languages such as Java, C++. Use ideas such as: inheritance multiple inheritance overriding default values procedures and demons Languages such as IBM’s APL2 use a frame based data structure. 32 Search Trees Semantic trees – a type of semantic net. Used to represent search spaces. Root node has no predecessor. Leaf nodes have no successors. Goal nodes (of which there may be more than one) represent solutions to a problem. 33 Search Trees: An Example A is the root node. L is the goal node. H, I, J, K, M, N and O are leaf nodes. There is only one complete path: A, C, F, L 34 Example: Missionaries and Cannibals Three missionaries and three cannibals Want to cross a river using one canoe. Canoe can hold up to two people. Can never be more cannibals than missionaries on either side of the river. Aim: To get all safely across the river without any missionaries being eaten. 35 A Representation The first step in solving the problem is to choose a suitable representation. We will show number of cannibals, missionaries and canoes on each side of the river. Start state is therefore: 3,3,1 0,0,0 36 A Simpler Representation In fact, since the system is closed, we only need to represent one side of the river, as we can deduce the other side. We will represent the finishing side of the river, and omit the starting side. So start state is: 0,0,0 37 Operators Now we have to choose suitable operators that can be applied: 1. 2. 3. 4. 5. Move one cannibal across the river. Move two cannibals across the river. Move one missionary across the river. Move two missionaries across the river. Move one missionary and one cannibal. 38 The Search Tree Cycles have been removed. Nodes represent states, edges represent operators. There are two shortest paths that lead to the solution. 39 Hanoi Tower (e.g. 2 of search tree) (A,B,C)()() (A,C)()(B) (C)()(A,B) (B,C)(A)() (B,C)()(A) (C)(A)(B) (C)(B)(A) (C)()(A,B) ()(C)(A,B) (A,C)(B)() (C)(A,B)() (C)(A,B)() ()(A,B)(C) 40 Combinatorial Explosion Problems that involve assigning values to a set of variables can grow exponentially with the number of variables. This is the problem of combinatorial explosion. Some such problems can be extremely hard to solve (NP-Complete, NP-Hard). Selecting the correct representation can help to reduce this, as can using heuristics 41 Problem Reduction Breaking a problem down into smaller subproblems (or sub-goals). Can be represented using goal trees (or andor trees). Nodes in the tree represent sub-problems. The root node represents the overall problem. Some nodes are and nodes, meaning all their children must be solved. 42 Problem Reduction: Example E.g. to solve the Towers of Hanoi problem with 4 disks, you can first solve the same problem with 3 disks. The solution is thus to get from the first diagram on the left, to the second, and then to apply the solution recursively. 43 Hanoi Tower (goal tree, i.e., and-or tree) Move A,B,C,D from 1 to 3 Move D from 1 to 3 Move A,B,C from 2 to 3 Move C from 2 to 3 Move A,B from 1 to 3 Move B from 1 to 3 Move A from 2 to 3 44