Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Artificial Intelligence Lesson 1 1 About • Lecturer: Prof. Sarit Kraus • TA: Ariel Rosenfeld: [email protected] – Write 89-570 in the header. • (almost) All you need can be found on the course website: – http://u.cs.biu.ac.il/~rosenfa5/AI/AI.html • Artificial Intelligence - a modern approach (3rd edition) 2 – How to get it? Course Requirements 1 • • • • • The grade is comprised of 70% exam and 30% exercises. 3 programming exercises will be given. Work individually. All the exercises are counted for the final grade. 10% each. Exercises will be written in C++ or JAVA only. It should be compiled and run on planet machine, and will be submitted via “submit”. Be precise! – Details will be provided in the following tirgulim! 3 Course Requirements 2 • Exercises are not hard, but work is required. Plan your time ahead! • When sending me mail please include the course number (89-570) in the header, to pass the automatic spam filter. • You will be required to participate in a few AI experiments. – Chats. – Lab experiments (robots). – Participation is MANDATORY! 4 Course Schedule (Tentative) • Lesson 1: – Introduction – Transferring a general problem to a graph search problem. • Lesson 2 – Uninformed Search (BFS, DFS etc.). • Lesson 3 – Informed Search (A*,Best-First-Search etc.). 5 Course Schedule – Cont. • Lesson 4 – Local Search (Hill Climbing, Genetic algorithms etc.). • Lesson 5 – “Search algorithms” chapter summary. • Lesson 6-7 – Game-Trees: Min-Max & Alpha-Beta algorithms. 6 Course Schedule – Cont. • Lesson 8-9 – Planning: STRIPS algorithm • Lesson 10-11-12 – Learning: Decision-Trees, Neural Network, Naïve Bayes, Bayesian Networks and more. • Lesson 13: Robotics • Lesson 14 – Questions and exercise. 7 AI – Alternative Definitions • Elaine Rich and Kevin Knight: AI is the study of how to make computers do things at which, at the moment, people are better. • Stuart Russell and Peter Norvig: [AI] has to do with smart programs, so let's get on and write some. • Claudson Bornstein: AI is the science of common sense. • Douglas Baker: AI is the attempt to make computers do what people think computers cannot do. • Astro Teller: AI is the attempt to make computers do what they do in the movies. 8 AI Domains (a few examples) 9 Academic Disciplines relevant to AI • Philosophy Logic, methods of reasoning, mind as physical system, foundations of learning, language, rationality. • Mathematics Formal representation and proof, algorithms, computation, (un)decidability, (in)tractability • Probability/Statistics modeling uncertainty, learning from data • Economics utility, decision theory, rational economic agents • Neuroscience neurons as information processing units. • Psychology/ Cognitive Science how do people behave, perceive, process cognitive information, represent knowledge. • Computer engineering building fast computers • Control theory design systems that maximize an objective function over time • Linguistics knowledge representation, grammars AI & Search • "The two most fundamental concerns of AI researchers are knowledge representation and search” • “knowledge representation … addresses the problem of capturing in a language…suitable for computer manipulation” • “Search is a problem-solving technique that systematically explores a space of problem states”.Luger, G.F. Artificial Intelligence: Structures and Strategies for Complex Problem Solving 11 Solving Problems with Search Algorithms • Input: a problem P. • Preprocessing: – Define states and a state space – Define Operators – Define a start state and goal set of states. • Processing: – Activate a Search algorithm to find a path from start to one of the goal states. 12 Example - Missionaries & Cannibals State space – [M,C,B] Initial State – [3,3,1] Goal State – [0,0,0] Operators – adding or subtracting the vectors [1,0,1], [2,0,1], [0,1,1], [0,2,1] or [1,1,1] • Path – moves from [3,3,1] to [0,0,0] • Path Cost – river trips • • • • • http://www.plastelina.net/game2.html • http://www.youtube.com/watch?v=W9NEWxabGmg 13 Let’s try a more difficult one… 14 15 Breadth-First-Search Pseudo code • Intuition: Treating the graph as a tree and scanning topdown. • Algorithm: BFS(Graph graph, Node start, Vector Goals) 1. L make_queue(start) 2. While L not empty loop 1. n L.remove_front() 2. If goal (n) return true 3. S successors (n) 4. L.insert(S) 3. Return false 16 Breadth-First-Search Attributes • Completeness – yes (b , d ) • Optimality – yes, if graph is unweighted. • Time Complexity: O(b d ) • Memory Complexity: O(b d ) – Where b is branching factor and d is the solution depth 17 Exam Q • 2015 B 18 Artificial Intelligence Lesson 2 19 Uninformed Search • Uninformed search methods use only information available in the problem definition. – – – – – 20 Breadth First Search (BFS) Depth First Search (DFS) Iterative DFS (IDA) Bi-directional search Uniform Cost Search (a.k.a. Dijkstra alg.) Depth-First-Search Pseudo code DFS(Graph graph, Node start, Vector Goals) 1. L make_stack(start) 2. While L not empty loop 2.1 n L.remove_front() 2.2 If goal (n) return true 2.3 S successors (n) 2.4 L.insert(S) 3. Return false 21 Depth-First-Search Attributes • Completeness – No. Infinite loops or Infinite depth can occur. • Optimality – No. m O ( b ) • Time Complexity: • Memory Complexity: O(bm) – Where b is branching factor and m is the 2 maximum depth of search tree • See water tanks example 3 4 22 1 5 Limited DFS Attributes • Completeness – Yes, if d≤l • Optimality – No. • Time Complexity: O(bl ) – If d<l, it is larger than in BFS • Memory Complexity: O(bl ) – Where b is branching factor and l is the depth limit. 23 Depth-First Iterative-Deepening 0 1,3, 9 12 14 8,20 7,17c 5,13 c 4,10 11 2,6,16 15 c 18 19 21 The numbers represent the order generated by DFID 24 22 Iterative-Deepening Attributes • Completeness – Yes • Optimality – yes, if graph is un-weighted. • Time Complexity: O((d )b (d 1)b 2 ... (1)b d ) O(b d ) • Memory Complexity: O(db) – Where b is branching factor and d is the maximum depth of search tree 25 State Redundancies • Closed list - a hash table which holds the visited nodes. – Prevent re-exploring of nodes. – Hold solution path from start to goal Closed List • For example BFS: Open List (Frontier) 26 Duplicate Pruning • Do not enter the father of the current state – With or without using closed-list • Using a closed-list, check the closed list before entering new nodes to the open list • Using a stack, check the current branch and stack status before entering new nodes 27 Bi-directional Search • Search both from initial state to goal state. • Operators must be symmetric. S 28 G Bi-directional Search Attributes • Completeness – Yes, if both directions use BFS • Optimality – yes, if graph is un-weighted and both directions use BFS. d /2 O ( b ) • Time and memory Complexity: • Pros. – Cuts the search tree by half (at least theoretically). • Cons. – Frontiers must be constantly compared. 29 Minimum cost path • General minimum cost path-search problem: – Find shortest path form start state to one of the goal states in a weighted graph. – Path cost function is g(n): sum of weights from start state to goal. 30 Uniform Cost Search • Also known as Dijkstra’s algorithm. • Expand the node with the minimum path cost first. • Implementation: priority queue. 31 Example of Uniform Cost Search • Assume an example tree with different edge costs, represented by numbers next to the edges. a 2 1 c b 1 f Notations for this example: generated node expanded node 32 2 gc 1 dc 2 ec Example of Uniform Cost Search 2 Closed list: 33 Open list: a 0 a 1 Example of Uniform Cost Search a 2 1 c b 1 2 a Closed list: 34 Open list: b 2 c 1 1 2 Example of Uniform Cost Search a 2 1 c b 1 2 a c Closed list: 35 Open list: b 2 d 2 e 3 1 dc 2 ec Example of Uniform Cost Search a 2 1 c b 1 f 2 gc a c b d 2 e 3 f 3 1 dc Closed list: 36 Open list: g 4 2 ec Example of Uniform Cost Search a 2 1 c b 1 f 2 gc a c b e 3 f 3 g 4 Closed list: 37 Open list: 1 dc d 2 ec Example of Uniform Cost Search a 2 1 c b 1 f 2 gc a c f 3 g 4 Closed list: 38 Open list: b 1 dc d e 2 ec Example of Uniform Cost Search a 2 1 c b 1 f 2 gc a Closed list: 39 Open list: g 4 c b 2 1 dc d e ec f Example of Uniform Cost Search a 2 1 c b 1 f 2 gc a Closed list: 40 Open list: c b 2 1 dc d e ec f g Uniform Cost Search Attributes • Completeness: yes, for positive weights • Optimality: yes c / e ) • Time & Memory complexity: O(b – Where b is branching factor, c is the optimal solution cost and e is the minimum edge cost (each operator cost at least e). – UCS uses cost path and not length path, therefore, the ‘d’ term is not used here. 41 Informed Search • Incorporate additional measure of a potential of a specific state to reach the goal. • A potential of a state to reach a goal is measured through a heuristic function h(n). • An evaluation function is denoted f(n). 42 Best First Search Algorithms • Principle: Expand node n with the best evaluation function value f(n). • Implement via a priority queue • Algorithms differ with definition of f : – Greedy Search: f (n) h(n) – A*: f (n) g (n) h(n) – IDA*: iterative deepening version of A* – Etc’ 43 Exercise • Q: Does a Uniform-Cost search be considered as a Best-First algorithm? • A: Yes. It can be considered as a Best-First algorithm with evaluation function f(n)=g(n). • Q: In what scenarios IDS outperforms DFS?, BFS? • A: – IDS outperforms DFS when the search tree is a lot deeper than the solution depth. – IDS outperforms BFS when BFS run out of memory. 44 Exercise – Cont. • Q: Why do we need a closed list? • A: Generally a closed list has two main functionalities: – Prevent re-exploring of nodes. – Hold solution path from start to goal (DFS based algorithms have it anyway). • Q: Does Breadth-FS find optimal path length in general? • A: No, unless the search graph is un-weighted. • Q: Will IDS always find the same solution as BFS given that the nodes expansion order is deterministic? • A: Yes. Each iteration of IDS explores new nodes the same order a BFS does. 45