1. What is “Artificial Intelligence”? Introduction to How does How do we Artificial Intelligence the human emulate the brain work? human brain? —————————————— How do we create What is intelligence? Christian Jacob intelligence? jacob@cpsc.ucalgary.ca Who cares? Let’s Department of Computer Science do some cool and University of Calgary useful stuff! 2. Basic Problem-Solving Strategies 2. Basic Problem-Solving Strategies ✦ Basic search techniques ✦ Basic search techniques ✦ Problem decompositon and AND/OR ✦ Problem decompositon and AND/OR graphs graphs ✦ Searching with problem-specific ✦ Searching with problem-specific knowledge knowledge 2.1 Basic Search Techniques In search for the highest landmark ... global maximum ✦ Greedy search local maxima ✦ Gradient descent or ascent ✦ Stochastic search – Simulated annealing – Evolutionary search ✦ Depth-first vs. breadth-first search local maxima 1
2.2 Problem Decomposition and 2. Basic Problem-Solving Strategies AND/OR Graphs ✦ Basic search techniques ✦ Problem decompositon and AND/OR graphs ✦ Searching with problem-specific knowledge [Bratko, 2001] [Bratko, 2001] 2.3 Searching with Problem-Specific 2. Basic Problem-Solving Strategies Knowledge State h(n) A 366 ✦ Basic search techniques B 374 C 329 B ✦ Problem decompositon and AND/OR D 244 75 E 253 graphs F 178 G 193 140 A 99 H 98 E ✦ Searching with problem-specific F I 0 118 knowledge 211 80 A C G 111 D 97 H I 101 E B C h=253 h=329 h=374 2.3 Searching with Problem-Specific 3. Knowledge Representation, Knowledge (2) Reasoning, and Planning ✦ Knowledge representation ✦ Reasoning and planning ✦ Knowledge soup Anatoly Karpow and Gary Kasparow, 1986 [Kurzweil, 1990] [Newborn, 1997] 2
3. Knowledge Representation, 3.1 Knowledge Representation Reasoning, and Planning ✦ Knowledge representation ✦ Reasoning and planning ✦ Knowledge soup [Sowa, 2000] 3. Knowledge Representation, 3.2 Reasoning and Planning Reasoning, and Planning Start ✦ Knowledge representation At(Home), Rents(Rogers, Video), Sells(Store, Bread) ✦ Reasoning and planning At(Home) At(Home) ✦ Knowledge soup Go(Rogers) Go(Store) At(Rogers), Rents(Rogers, Video) At(Store), Sells(Store, Bread) Buy(Bread) Rent(Video) At(Home), Have(Video), Have(Bread) Finish 3. Knowledge Representation, 3.3 Knowledge Soup Reasoning, and Planning ✦ Knowledge representation ✦ Vagueness, uncertainty, randomness, ignorance ✦ Reasoning and planning ✦ Knowledge soup [Sowa, 2000] 3
4. Machine Learning and Pattern 4. Machine Learning and Pattern Recognition Recognition ✦ Fuzzy logic and fuzzy sets ✦ Fuzzy logic and fuzzy sets ✦ Artificial neural networks ✦ Artificial neural networks – Single- and multilayer perceptrons – Single- and multilayer perceptrons – Backpropagation networks – Backpropagation networks – Self-organizing feature maps – Self-organizing feature maps – Recurrent networks – Recurrent networks ✦ Neuro-fuzzy systems ✦ Neuro-fuzzy systems 4. Machine Learning and Pattern 4.1 Fuzziness Recognition ✦ What is hot? What is cold? ✦ Fuzzy logic and fuzzy sets ✦ What is young? What is old? ✦ Artificial neural networks – Single- and multilayer perceptrons – Backpropagation networks – Self-organizing feature maps – Recurrent networks ✦ Neuro-fuzzy systems [Sowa, 2000] 4.2 Artificial Neural Networks: 4.2 Artificial Neural Networks (2) Modeling the Brain Schematic Perceptron Visual Cortex of a Cat Feed-forward network [Kurzweil, 1990] [Spektrum, 1993] [Stevens et al., 1988] 4
Modeling the Brain? Optical Character Recognition Output Hidden Input [Spektrum, 1993] [Kurzweil, 1990] [Spektrum, 1993] 4. Machine Learning and Pattern 5. Evolutionary Computing Recognition ✦ Fuzzy logic and fuzzy sets ✦ Evolution Strategies ✦ Artificial neural networks ✦ Evolutionary Programming – Single- and multilayer perceptrons ✦ Genetic Algorithms – Backpropagation networks – Self-organizing feature maps ✦ Genetic Programming – Recurrent networks ✦ Learning Classifier Systems ✦ Neuro-fuzzy systems ✦ Evolutionary Design 5. Evolutionary Computing 5.1 Evolution Strategies ✦ Evolution Strategies ✦ Evolutionary Programming ✦ Genetic Algorithms ✦ Genetic Programming ✦ Learning Classifier Systems Evolution of a Jet Nozzle ✦ Evolutionary Design Evolutionary Engineering [Rechenberg, 1994] 5
5. Evolutionary Computing 5.2 Evolutionary Programming A 0 Input A 0 output ✦ Evolution Strategies Evolution ✦ Evolutionary Programming of A 1 A 2 A 3 ✦ Genetic Algorithms Finite State ✦ Genetic Programming Automata ✦ Learning Classifier Systems ✦ Evolutionary Design A 1 output A 2 output A 3 output [Jacob, 2001] 5.2 Evolutionary Programming 5. Evolutionary Computing Gen. 0 Gen. 70 ✦ Evolution Strategies Gen. 0 Gen. 70 ✦ Evolutionary Programming ✦ Genetic Algorithms ✦ Genetic Programming Gen. 40 Gen. 120 ✦ Learning Classifier Systems Gen. 40 ✦ Evolutionary Design [Jacob, 2001] 5.3 Genetic Algorithms 5.3 Genetic Algorithms Generation 0 Generation 11 Genotype Phenotype Binary Vector {1,0,1,1,0,1,0,0,1,0,1,1} {0,1,1,1,1,0,0,1,0,0,0,1} Decoding {0,0,1,1,0,101,1,0,1,0,0} ... {1,1,0,0,0,1,0,1,0,1,0,0} ... {1,0,1,0,0,1,1,1,0,1,1,1} Interpretation {0,0,1,1,0,1,1,1,0,1,0,0} {1,0,0,1,0,1,1,1,0,0,0,1} Generation 10 Generation 30 [Jacob, 2001] 6
5. Evolutionary Computing 5.4 Genetic Programming LSystem LSystem Axiom sprout[3] _Axiom _LRules ✦ Evolution Strategies Axiom LRules SUCC ✦ Evolutionary Programming sprout[3] LRule LRule LRules PRED Alternative LEFT PRED SUCC RIGHT ... ✦ Genetic Algorithms __LRule sprout _SEQ _STACK [] F[_] Stack [] ✦ Genetic Programming sproutIndex B[.38] Seq RL[20] F[4.9] ✦ Learning Classifier Systems SEQ LRule leaf[0] Stack ✦ Evolutionary Design BlankSequence sprout[2] Seq bloom[1] LEFT _PRED RIGHT _SUCC Alternative F[1.4] YL[30] leaf[0] [] [] _sprout _stalk ... _YL _SEQ Gen. 22 AntTracker[ seq[ Gen. 5 ifSensor[wall][ AntTracker[ seq[turnLeft, again], seq[turnRight]], seq[seq[advance], 45 59 seq[ ifSensor[dust][seq[seq[stop]], seq[advance]], ifSensor[dust][seq[turnLeft, again],seq[nop]], AntTracker[ seq[ seq[ seq[advance] ifSensor[dust][seq[turnLeft, again], seq[nop]], ifSensor[wall][ ] seq[seq[advance], seq[seq[turnLeft, again], seq[nop], Fitness Generation ifSensor[wall][ ifSensor[phero][seq[stop]]], seq[seq[stop], seq[nop], seq[seq[advance]]]], ifSensor[phero][seq[turnLeft], seq[stop]]], AntTracker[ Gen. 1 seq[nop]] seq[ seq[turnRight]]], ]] ifSensor[wall][ seq[nop]] seq[turnLeft, turnLeft, again], ]] seq[ ifSensor[wall][seq[turnLeft, again], AntTracker[ seq[turnRight]], seq[ seq[ Gen. 59 seq[ ifSensor[wall][ seq[turnLeft, turnLeft, again], ifSensor[wall][ seq[seq[turnLeft, again], seq[nop], seq[ ifSensor[wall][seq[again], ifSensor[wall][seq[turnLeft, again], seq[turnRight]], seq[seq[nop], seq[nop]]]], AntTracker[ Gen. 16 seq[ seq[seq[advance]]]]]]], seq[seq[advance], seq[ seq[ ifSensor[wall][ ifSensor[wall][ ifSensor[dust][seq[turnLeft, again]], seq[seq[turnLeft, again], seq[nop], seq[seq[stop], seq[nop], seq[ ifSensor[wall][seq[again], seq[seq[nop], seq[nop]]]], ifSensor[phero][seq[turnLeft], seq[advance]]], ifSensor[wall][seq[ifSensor[dust][ seq[seq[advance]]]]]]], seq[turnRight]], seq[advance]]], seq[ seq[ifSensor[dust][seq[turnLeft, again],seq[nop]], seq[ifSensor[dust][seq[turnLeft, ifSensor[dust][seq[turnLeft, again]], again]], seq[ifSensor[wall][ seq[ seq[ifSensor[wall][ seq[seq[turnLeft, again], seq[nop], ifSensor[wall][seq[ifSensor[dust][seq[advance]]], seq[seq[turnLeft, again], seq[nop], ifSensor[phero][seq[stop]]], seq[ifSensor[dust][seq[turnLeft, again]], ifSensor[dust][seq[stop], seq[seq[advance]]]], seq[ifSensor[wall][ seq[stop], seq[turnLeft]]], seq[seq[turnLeft, again], seq[nop], seq[nop]]]] seq[seq[advance]]]], ifSensor[dust][seq[stop], seq[stop], seq[turnLeft]]], seq[nop]]] seq[seq[advance]]]], ]]]] [Jacob, 2001] seq[nop]]] ]]]] 5. Evolutionary Computing 5.5 Learning Classifier Systems ✦ A classifier system to emulate a frog. ✦ Evolution Strategies The frog reacts to objects it sees. ✦ Evolutionary Programming Input: Output: ✦ Genetic Algorithms On the Moving Large Far Striped Flee! Pursue! Ground ✦ Genetic Programming 1 _ _ _ _ 1 0 ✦ Learning Classifier Systems ✦ Evolutionary Design 1 0 0 0 _ 0 1 1 0 0 0 1 0 0 7
5.6 Evolutionary Design: Objects 5. Evolutionary Computing ✦ Evolution Strategies ✦ Evolutionary Programming ✦ Genetic Algorithms ✦ Genetic Programming Lifting Loads ✦ Learning Classifier Systems ✦ Evolutionary Design Scaffold [Funes and Pollack, 1999] 6. Swarm Intelligence and 5.6 Evolutionary Design: Art Complex Adaptive Systems ✦ Social Models ✦ Swarms and Emergent System Behaviour ✦ Immune System Computing Mutations Hölldobler & Wilson, 1990 6. Swarm Intelligence and 6.1 Social Models: Complex Adaptive Systems Competition and Cooperation ✦ Social Models ✦ Swarms and Emergent System Behaviour ✦ Immune System Computing [Ernst, 1998] [Nuridsany & Pérennou, 1996] 8
Recommend
More recommend