Este documento discute três tópicos principais da inteligência artificial: 1) aprendizagem automática, algoritmos genéticos e aprendizagem por reforço; 2) o problema do caixeiro viajante e como algoritmos genéticos podem resolvê-lo; 3) aprendizagem por reforço e como agentes podem aprender a navegar em ambientes.
3. Problema (Caixeiro viajante) Dado um conjunto de pontos e as distâncias entre eles, qual a ordem de visita que minimiza o caminho percorrido passando por todos os pontos, uma única vez em cada ponto.
4. Espaço de soluções Dadas as cidades (pontos) A, B, C ... as soluções são todas as combinações possíveis em que estão representadas apenas uma vez todas as cidades Podemos ver estas soluções ligadas entre si como um espaço / grafo Umas soluções podem ser transformadas noutras por (por exemplo) troca de posições entre duas cidades
5. Métodos de procura Sequencial (experimentar todas as combinações) Aleatório (experimentar várias combinações, escolher a melhor) A* (fazer todas as alterações possíveis à melhor solução encontrada até ao momento) SimulatedAnnealing(Arrefecimento simulado) Algoritmos Genéticos (Genetic / EvolutionaryAlgorithms)
13. Algoritmos Genéticos (GA)[Holland 75] Inspirado na teoria da evolução das espécies Tenta encontrar soluções com maior aptidão: gerando uma “população” de soluções possíveis, avaliando-as mutando ou recombinando as mais promissoras, gerando nova população
14. GA: Aptidão / Fitness Capacidade para resolver o problema Inverso do erro Adequação de um padrão à resolução do problema Conveniente que seja um número real e que as diferenças nas soluções sejam tão precisas quanto possível Avaliação dos “sobreviventes”: Proporcional à qualidade da solução N melhores Torneio …
15. GA: Ciclo de Vida Para N gerações (ou até Fbest > E ) Para Si (Espécime/Specimen) em população Avaliar Si -> Fi (Aptidão/Fitness) Escolher os melhores (Bi) (selectedpool / survivors) Gerar nova população, para Si Si = mutate(Ba): a = rand (prioridade aos mais aptos)? OU Si = crossover(Ba, Bb): a, b = rand
16. Problema 1 (KnapSack) Dada uma mochila com capacidade limitada (peso ou volume) Cada “pacote” tem um peso e um valor (monetário por exemplo) Como escolher que pacotes levar de modo a maximizar o valor dos pacotes, sem exceder o peso
17. Problema 1 (KnapSack) Formulação para GA (20,2) (24,3) (10,2) (3,2) … 1 1 0 1 … Cada quadrado indica se o pacote n é levado ou não
22. EvolutionaryAlgorithms Principais sub-tipos(ver discussão em GA-FAQ) [Heitkoetter et al. 94] GeneticAlgorithms EvolutionaryProgramming / EvolutionStrategies GeneticProgramming ClassifierSystems (NeuroEvolution)
23. Referências [Metropolis et al. 53] N. Metropolis, A.W. Rosenbluth, M.N. Rosenbluth, A.H. Teller, and E. Teller. "Equations of State Calculations by Fast Computing Machines". Journal of Chemical Physics, 21(6):1087-1092, 1953. [Kirkpatrick et al. 83] Kirkpatrick, S.; C. D. Gelatt, M. P. Vecchi (1983-05-13). "Optimization by Simulated Annealing". Science. New Series 220 (4598): 671-680. ISSN 00368075. [Cerny 85] V. Cerny, A thermodynamical approach to the travelling salesman problem: an efficient simulation algorithm. Journal of Optimization Theory and Applications, 45:41-51, 1985 [Goldberg 89] D. E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Kluwer Academic Publishers, Boston, MA, 1989. [Fogel 06] D. B. Fogel, Evolutionary Computation: Toward a New Philosophy of Machine Intelligence, IEEE Press, Piscataway, NJ. Third Edition, 2006. [Holland 75] John H. Holland, Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor, 1975 [Koka 92] John Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press. ISBN 0-262-11170-5, 1992 [Heitkoetter et al. 94] Heitkoetter, Joerg and Beasley, David, eds. (1994) "The Hitch- Hiker's Guide to Evolutionary Computation: A list of Frequently Asked Questions (FAQ)", USENET : comp.ai.genetic. Recursosváriossobre GA
25. Problema (Labirinto) Dado um labirinto, que pode ser percorrido repetidas vezes, é possível criar um programa que aprenda qual o melhor caminho para sair desse labirinto?
26. Aprendizagem por Reforço(ReinforcementLearning, RL) Aplicado em problemas em que um “agente” tem de interagir com um ambiente O agente tem de aprender quais as acções que lhe dão maiores recompensas O agente consegue observar o estado do ambiente (ou parte dele) e/ou o seu estado interno
27. RL: Ciclo de execução Recepção de estado do ambiente (s) no tempo t Escolha da acção (a) Recepção da recompensa (r, positiva, negativa, binária ou decimal) Actualização dos parâmetros de escolha da acção (usando a politica de escolha, (s,a))
28. Pode ser externa (do ambiente) ou interna (crítico heurístico, heuristiccritic) Tipicamente tenta-se optimizar a soma das recompensas a longo prazo: R: recompensa total rt: recompensa no tempo t γ: termo de desconto para recompensas futuras 0< γ<1 RL: Recompensa
29. RL: Modelo do sistema Equação de Bellman V*(s): Valor óptimo (ou utilidade) do estado s P(s,a,s’): Probabilidade de transitar do estado s, para o estado s’ após efectuar acção a Parte do princípio que são conhecidos r,s,a e P(s,a,s’) e pode ser usado sem interagir com um ambiente (este está “descrito” internamente) Itera pelos valores possíveis para o estado (há várias politicas para o efeito) até convergir.
30. RL: Diferenças temporais TD(λ) [Sutton 88] s’: estado seguinte a s (observado) (note-se que esta actualização é feita só ao atingir o objectivo) e(s): elegibilidade do estado s para actualização, com t = tempo actualpode ser visto também como o grau em que foi visitado no passado recenteNote-se que 0<λ<1 e 0< γ<1 λ = 0, apenas considera o estado seguinte (implementação mais comum) λ = 1, actualização de todos os estados de acordo o número de vezes que foram visitados Em geral: s = estado actual s = s visitado há n<N iterações e se t1>t2, e(st1)>e(st2) s = s visitado há n>N iterações
31. Q-Learning[Watkins 89] Q(s,a): Qualidade da escolha da acção a, no estado s Para garantir desempenho óptimo é preciso passar por todos os pares (s,a) um número infinito de vezes e que α diminua ao longo do treino.
32. SARSA[Rummery, Niranjan 94] O máximo da qualidade prevista para a próxima acção é substituído pela qualidade efectiva da acção tomada Vantagem: não usa estimativas Desvantagem: só pode ser actualizado depois de escolher acção seguinte
33. RL: Escolha da próxima acção Problema: Exploration vs. Exploitation Escolher a melhor (Exploitation) Exploração (de Boltzmann) (com temperatura (T) decrescente)Mesmo princípio que SimulatedAnnealing. ε-greedy Escolher com probabilidade 1-ε a melhor acção Escolher com probabilidade ε uma acção aleatória ε deve diminuir ao longo do treino
34. RL: Questões práticas Problemas Exploração de Boltzmann: cálculo de exponenciais Sistemas com grande variância Observações parciais do estado Grande número de estados e acções, possibilidades de solução: ANN Hierarchical RL (MSc/PhD) Repetição das experiências por ordem inversa [Lin 92] Dyna: Aprender modelo e repetir experiências [Sutton 90]
35. Sistemas Multi-Agente (SMA)MultiagentSystems (MAS) MAS em estudo actualmente (possíveis temas, TF e/ou MSc) Homogéneos / Heterogéneos Com / Sem comunicação explícita Modelos separados / partilhados Hierarquias Estado / Recompensa global / parcial Modelação das reacções de outros Cooperativos / Competitivos Capacidade de afectar outros agentes Equilíbrios ...
36. Sistemas Multi-Agente (Aprendizagem ...) Visão parcial do estado Dinâmica do ambiente/problema por acção dos outros agentes Necessidade de coordenação (?) TragedyoftheCommons (TOC) Procura da solução óptima por todos em simultâneo leva uma solução abaixo da média (ás vezes, catastrófica), exemplo: El Farol Uma solução possível: Equilíbrio de Nash Acontece quando nenhum agente, mudando apenas a sua política da acção, pode melhorar a recompensa global (não é necessariamente o equilíbrio óptimo, utilidade discutível)
37. Aprendizagem em SMA Aprendizagem por Reforço (muitas variantes) MinimaxQ (Littman 94) Semelhante a Q-Learning Maximizar em relação às “nossas” acções, minimizar em relação às dos outros COIN (COllectiveINteligences) “ANN” + RL Aprendizagem a dois níveis, do agente e do grupo Ant-Colony/Farm Baseados no conceito de aprendizagem do caminho mais curto por traços de feromonas, usado pelas formigas. ANN + GA Q-Learning EvolutionaryAlgorithms (exemplo) GeneticProgramming (exemplo) Teoria dos Jogos: controlo óptimo, com previsão das acções dos outros agentes (uma comparação com estratégias derivadas do Q-Learning)
38. Aprendizagem em SMA / Robótica Subsumption Architecture (robótica) (Brooks) Conceito fundamental na robótica/IA actual “Elefantsdon’tplaychess” [Brooks 90] “... the AI community need not attempt to build "human level" intelligence into machines directly from scratch. {…} we can first create simpler intelligences, and gradually build on the lessons learned from these to work our way up to move complex behaviors. Brooks' Subsumption architecture was designed to provide all the functionality displayed by lower level life forms, namely insects {…}. The Subsumption architecture provides these capabilities through the use of a combination of simple machines with no central control, no shared representation, slow switching rates and low bandwidth communication.” in http://ai.eecs.umich.edu/cogarch3/Brooks/Brooks.html
39. Referências [Bellman 57] R. Bellman, DynamicProgramming, Princeton UniversityPress, 1957 [Sutton 88] R. S. Sutton, Learning to predictbythemethodof temporal diferences, MachineLearning 3(1), pp 9-44, 1988 [Watkins 89] C. J. C. H. Watkins, LearningfromDelayedRewards, Ph.D. thesis Kings College, Cambridge, UK, 1989 [Sutton 90] R. S. Sutton, Integratedarchitectures for learningplanningandreactingbasedonapproximatingdynamicprogrammig, inProc. oftheSeventhInternationalConfertenceonMachineLearning, Austin TX, MorganKaufmann, 1990 [Kaelbling et al. 96] Leslie P. Kaelbling, Michael L. Littman, Andrew W. Moore, Reinforcement Learning: A Survey, inJournal of Artificial Intelligence Research4: 237–285, 1996 [Sutton, Barto 98] Richard S. Sutton, Andrew G. Barto, Reinforcement Learning: An Introduction. MIT Press. ISBN 0-262-19398-1, 1998 [Rummery, Niranjan 94] G. A. Rummery, M. Niranjan, Online Q-Learning using connectionist systems., Tech. report CUED/F-INFENG/TR166, Cambridge University. [Whitehead 91] S. D. Whitehead, A complexity analysis of cooperative mechanisms in reinforcement learning, inProc. of the 9th National Conf. on AI (AAAI-91), pp. 607–613, 1991 [Lin 92] L.-J. Lin, Self-improving reactive agents based on reinforcement learning, planning and teaching. Machine Learning, 8, 293–321 ,1992
40. Referências [Stone, Veloso 00] Peter Stone, Manuela Veloso, Multiagent systems: A survey from a machine learning perspective, Autonomous Robots, 8 (3), pp. 345-383 2000(versão original 1996/97) [Wiering et al. 99] M. Wiering, B. Krose, F. Groen, Learning in multiagent systems, Technical report, University of Amsterdam,1999 [Hoen 06] Pieter Jan ’t Hoen, Karl Tuyls, LiviuPanait, Sean Luke, and Johannes La Poutre. An Overview of Cooperative and Competitive Multiagent Learning. In K. Tuyls, P.J. ’t Hoen, K. Verbeeck, and S. Sen, editors, Learning and Adaptation in Multi-Agent Systems, Lecture Notes in Artificial Intelligence, pp. 1–49, Springer Verlag, Berlin, 2006. [Panait, Luke 05] L. Panait, S. Luke, Cooperative Multi-Agent Learning: The State of the Art, in Autonomous Agents and Multi-Agent Systems, 2005 [Brooks 86] R. A. Brooks,"A Robust Layered Control System For A Mobile Robot", IEEE Journal Of Robotics And Automation, RA-2, April. pp. 14-23, 1986. [Brooks 87] R. A. Brooks, "Planning is just a way of avoiding figuring out what to do next", Technical report, MIT Artificial Intelligence Laboratory, 1987. [Brooks 90] R. A. Brooks, “ElephantsDon’t Play Chess”, RoboticsandAutonomousSystems 6, pp. 3-15, 1990
41. Referências [Littman 94] L. M. Littman, Markov games as a framework for multi-agent reinforcement learning. Proceedings of the Eleventh International Conference on Machine Learning (pp. 157–163). San Francisco: Morgan Kaufman, 1994. [Bowling 00] Michael Bowling, Convergence problems of general-sum multiagent reinforcement learning, In Proceedings of the Seventeenth International Conference on Machine Learning (ICML) , pages 89--94. Morgan Kaufman, June 2000 [Hayneset al. 95] T. Haynes, S. Sen, D. Schoenefeld, andR.Wainwright, Evolvingmultiagentcoordinationstrategieswithgeneticprogramming, TechnicalReport UTULSA-MCS-95-04, TheUniversityofTulsa, May 31, 1995. [Potteset al. 95] M. Potter, K. De Jong, and J. J. Grefenstette. A coevolutionaryapproach to learningsequentialdecisionrules.InProceedingsfromtheSixthInternationalConferenceonGeneticAlgorithms, pages 366–372.Morgan Kaufmann, Publishers, Inc., 1995. [Bowling, Veloso 00] M. Bowling,M. Veloso. Ananalysisofstochastic game theory for multiagentreinforcementlearning.TechnicalReport CMU-CS-00-165, ComputerScienceDepartment, CarnegieMellonUniversity, 2000. [Wolpert et al. 99] D. Wolpert, K. Tumer, and J. Frank. Using collective intelligence to route internet traffic. In Advances in Neural Information Processing Systems - 11. MIT Press, 1999.
42. A ler para a próxima aula ... Mitchell 97, Capítulo 4