Fundamentos de Inteligencia Artificial Ing. Sup. en Informática, 3º Curso académico: 2011/2012 Profesores: Holger Billhardt, Rubén Ortiz Tema 1: Introducción Resumen: 1. Introducción 1.1 Qué es la IA? 1.2 Agentes de resolución de problemas 1.3 Juegos y sus características ¿Que es Inteligencia (Artificial)? Real academia de la lengua: • inteligencia.(Del lat. intelligentĭa). – – – – 1. Capacidad de entender o comprender. 2. Capacidad de resolver problemas. 3. Conocimiento, comprensión, acto de entender. 4. Sentido en que se puede tomar una sentencia, un dicho o una expresión. – 5. Habilidad, destreza y experiencia. – 6. Trato y correspondencia secreta de dos o más personas o naciones entre sí. – 7. Sustancia puramente espiritual. • ~ artificial. – 1. Desarrollo y utilización de ordenadores con los que se intenta reproducir los procesos de la inteligencia humana. ¿Que es Inteligencia (Artificial)? • Pregunta a varias personas “Que es inteligencia?” • ¿Dónde están los límites de la inteligencia? – Aristóteles: el hombre es un ser racional porqué algunas personas saben sumar – Minsky: inteligencia es la forma de resolver problemas que aún no se entienden • Una vez que un ordenador es capaz de realizar algo “inteligente”, la gente deja de considerarlo inteligencia. – La IA es todo lo que no se ha hecho hasta ahora. • ¿Cual es la diferencia entre el comportamiento instintivo y el comportamiento inteligente? ¿Que es Inteligencia (Artificial)? Objetivo: estudiar los entes inteligentes – científico: entender (modelar, describir) los entes inteligentes – ingenieril: construir entes inteligentes Disciplinas relacionadas: • Filosofía – – – – leyes del pensamiento, lógica relación entre la mente y la materia (dualismo, materialismo) relación entre el conocimiento y la experiencia relación entre el conocimiento y la acción • Matemáticas – – – – concepto de algoritmo (al-Jawarizmi) teorema de incompletitud (Gödel) intratabilidad y teoría de la completitud NP teoría de la decisión (von Neumann / Morgenstern) ¿Que es Inteligencia (Artificial)? Disciplinas relacionadas: • Psicología: – modelos del comportamiento humano – conductistas: modelos estimulo-respuesta – psicología cognitiva: creencias, objetivos, pasos de razonamiento, . . . • Lingüística: – modelos de la interacción verbal humana – reconocimiento y generación del habla – representación del conocimiento • Sociología: – modelos del comportamiento humano en grupo – psicología social: compromisos, normas, obligaciones, . . . • Ingeniería: – modelar y proporcionar el “comportamiento inteligente” (informática) – crear los “cuerpos” de los artefactos inteligentes (ingeniería) • ... Inteligencia Artificial: Objetivos Entender los entes inteligentes: • Facultades de los seres inteligentes – – – – – Comunicación Conocimiento de si mismos Conocimiento y percepción del entorno Interacción con el entorno Intencionalidad • comportamiento dirigido por metas – Creatividad – Capacidad de usar y aplicar su conocimiento • Razonamiento e inferencia Razonamiento e inferencia Inferencia: - hacer suposiciones de lo que significan hechos (observados y/o conocidos) - sacar consecuencias de algo o deducir algo de otra cosa Razonamiento: – Capacidad de derivar inferencias a partir de conocimiento y de observaciones con el propósito de alcanzar una meta o resolver un problema. Tipos de razonamiento: – Deductivo – Inductivo Tipos de Razonamiento • Razonamiento deductivo: - Inferir hechos concretos a partir de otros hechos y de aserciones generales - Ejemplo: Hecho concreto: Pepe es un pájaro. Aserción general: Todos los pájaros pueden volar. Conclusión: Pepe puede volar. Tipos de Razonamiento • Razonamiento inductivo: – Inferir suposiciones generales a partir de (muchos) hechos concretos (aprendizaje) – Ejemplo: Animal Especie Tamaño Puede volar elefante mamíferos grande no avestruz pájaro grande no paloma pájaro pequeño si urraca pájaro pequeño si tiburón pez grande no gaviota pájaro pequeño si Conclusión: Animales que son pájaros y pequeños pueden volar. Inteligencia Artificial: Objetivos Construir entes inteligentes: Diferentes enfoques: • Sistemas que piensan como humanos “IA fuerte” “La interesante tarea de lograr que las computadoras piensen... Máquinas con mente, en su amplio sentido literal” (Haugeland 1985) • Sistemas que actúan como humanos “El arte de crear máquinas con capacidad de realizar funciones que realizadas por personas requieren inteligencia” (Kurzweil 1990) • Sistemas que actúan de forma racional “La rama de la Informática que se ocupa de la automatización del comportamiento inteligente” (Luger & Stubblefield, 1993) “IA débil” Pensar como humanos Modelado cognitivo: • abrir la “caja negra” de la mente humana • analizar los procesos mentales (introspección, experimentos) • desarrollar una teoría acerca de los procesos mentales • aplicar esta teoría en la simulación de dichos procesos en un ordenador General Problem Solver (GPS) [Newell & Simon 1961]: • resuelve problemas mediante la descomposición en subproblemas más simples • se centra en la comparación de los pasos de razonamiento del GPS con los pasos seguidos por una persona al resolver el mismo problema Ciencia Cognitiva: • modelos computacionales (IA) + técnicas experimentales (psicología) • construir teorías rigurosas y verificables acerca de los procesos mentales Actuar como humanos Prueba de Turing : [Alan Turing, 1950] • Un evaluador humano y dos interlocutores están separados por mamparas • Un interlocutor es una persona y el otro un ordenador • El evaluador formula preguntas a través de un teletipo, y los interlocutores dan sus respuestas del mismo modo • El ordenador supera la prueba, si el evaluador no es capaz de distinguir entre él y el humano Capacidades requeridas : • procesamiento del lenguaje natural • representación del conocimiento y razonamiento • aprendizaje Prueba total de Turing: • incluye señales de vídeo y objetos físicos • requiere capacidad de visión computacional y robótica Actuar de forma racional Racionalidad: • prescriptivo: como las personas deberían actuar • sentido estricto: ¿cómo sacar “conclusiones verdaderas”? • sentido amplio: ¿cómo actuar y “sobrevivir” en un entorno? Pensar de forma racional: • leyes de pensamiento de Aristóteles: razonamiento irrefutable • lógica formal : – lenguaje formal para representar todo tipo de entes en el mundo – modelo riguroso para razonar sobre dichos entes • en su estado “puro”, más estrechamente relacionado con la filosofía y las matemáticas Objetivo de IA: • modelar/construir sistemas que actúan de forma racional Actuar de forma racional Actuar de forma racional: • enfoque relativo al contexto: actuar de forma correcta en un entorno • no se limita a la inferencia racional (lógica) – a veces es imposible determinar formalmente cuál es la mejor acción – en algunas situaciones es “racional” emprender una acción “buena” inmediatamente en vez de esperar hasta determinar la alternativa óptima • se pueden determinar acciones racionales por inferencias no lógicas Ventajas: • pone énfasis en una perspectiva ingenieril • destaca la relación entre comportamientos inteligentes y el entorno en el que se desarrollan • proporciona criterios transparentes para evaluar conducta inteligente • permite una concepción integrada de las distintas técnicas y subáreas de la Inteligencia Artificial Inteligencia Artificial: Historia • 1940/50: – Programas que resuelven tareas básicas de razonamiento (jugar al ajedrez / jugar a las damas / probar teoremas geométricos) – primeros modelos de neuronas artificiales (McCulloch/Pitts) • 1960/70: – representaciones especializadas del conocimiento (reglas, marcos, guiones) – primeros sistemas expertos (Dendral, Prospector, Mycin) – declive de la computación neuronal (análisis de los Perceptrones de Minsky) • 1980: – aplicaciones comerciales de los sistemas expertos – proyecto de software de “quinta generación” en Japón • 1990 hasta hoy: – – – – regreso de las redes de neuronas modelos de incertidumbre (cadenas de Markov, redes Bayesianas) agentes inteligentes (robots autónomos, sistemas multiagente) ... Inteligencia Artificial: Subáreas • Resolución de problemas mediante búsqueda: – actuar de forma racional en entornos bien definidos: espacios de estado (entornos accesibles, deterministas, estáticos y discretos) • Representación del conocimiento y razonamiento – combatir la complejidad : estructurar la representación del entorno – entornos inaccesibles / no deterministas: razonamiento no-monótono – ... • Planificación: – combatir la complejidad : representación estructurada + inferencia especializada – entornos no-deterministas: planificación condicional – entornos dinámicos: replanificación • Aprendizaje: – combatir la complejidad: aprender a actuar más rápido – mejorar el rendimiento: aprender a actuar mejor – mejorar la autonomía: reducir dependencia de conocimientos a priori Inteligencia Artificial: Subáreas • Incertidumbre: – entornos inaccesibles/ no deterministas/ continuos: creencias (lógica borrosa, redes Bayesianas...) – medidas de rendimiento basados en la utilidad esperada (Teoría de la Utilidad, inferencia basada en la Teoría de la Decisión) • Comunicación: – entornos en el que el agente interactúa de forma flexible con humanos (procesamiento del lenguaje natural, actos de habla, ...) – entornos multiagente (razonar sobre otros agentes, coordinación, lenguajes de comunicación entre agentes, ...) • Percepción y actuación: – robótica: entornos físicos y agentes hardware – visión computacional Tema 1: Introducción a la IA Resumen: 1. Introducción 1.1 Qué es la IA? 1.2 Agentes de resolución de problemas 1.3 Juegos y sus características Agentes Agente: • ente activo embebido en un entorno • “cuerpo”: percepciones – percibe el entorno por medio de sensores – actúa sobre el entorno por medio de efectores entorno • “mente”: – determina las acciones a partir de las percepciones – medida de rendimiento que guía dicho proceso acciones Tipos de Agentes Agentes naturales: – – – – cuerpo biológico y entorno natural sensores: ojos, oídos, lengua, etc. efectores: piernas, brazos, manos, etc. medida de rendimiento: sobrevivir, reproducirse, ... Agentes artificiales: • agentes hardware (robots): – – – – interactúan directamente con un entorno físico disponen de un “cuerpo” físico sensores: cámaras, telémetros infrarojos, etc. efectores: ruedas/piernas, manipuladores, etc. • agentes software (softbots): – actúan en entornos virtuales (p.e. Internet) – todo software: no necesitan manipular físicamente el entorno – sensores y efectores: dependientes del entorno Agente inteligente Agentes inteligentes: • actúan de forma racional en su entorno • determinantes de un comportamiento racional : – – – – medida de rendimiento: define el grado de éxito del agente secuencia de percepciones: la experiencia del agente conocimientos a priori sobre su entorno capacidades: las acciones que el agente pueda emprender Comportamiento racional: • a partir de la secuencia de percepciones hasta el momento, y el conocimiento a priori sobre el entorno • elegir entre las capacidades la acción que maximice la medida de rendimiento Racionalidad ≠ Omnisciencia • la selección racional de acciones sólo se basa en la información disponible Autonomía Problema: • los conocimientos a priori compilan la “inteligencia” del diseñador • un agente que no presta atención a sus percepciones – no sería inteligente – sólo podría actuar en entornos extremadamente simples – no puede actuar con éxito en situaciones no anticipadas (escarabajo de estiércol) Autonomía: • “no bajo el control inmediato de una persona” • un agente es más autónomo... – ... cuanto más se rige su comportamiento por su propia experiencia – ... cuanto menos depende de sus conocimientos a priori Agente inteligente = comportamiento racional + autonomía Resolución de problemas Problema: • “Se tiene un problema si se quiere conseguir un objetivo y no se conoce qué acción o qué serie de acciones llevan a conseguir este objetivo.” Componentes de un problema: • Individuo (agente, humano, ...) • Estado actual (percepción del mundo real) • Estado meta (objetivo) • Acciones (que el individuo puede realizar) – – – – influyen en el mundo (cambian el estado del mundo) deben existir varias acciones el individuo debe ser capaz de seleccionar una acción las acciones deben repercutir de forma diferente en la consecución del objetivo • Voluntad de conseguir el objetivo por parte del individuo – el individuo ignora cual es la mejor secuencia de acciones para conseguir el objetivo Problemas bien definidos • discreto: – se puede concebir el mundo en estados – en cada estado hay conjunto finito de percepciones y acciones • accesible: – es posible percibir el estado actual del mundo – es posible determinar si un estado es un estado meta • determinista: – el resultado de cada acción es un estado totalmente definido 8-Puzzle Ejemplos: 1 2 6 4 8 7 Tres-en-Raya 3 5 Agentes de resolución de problemas • Son entes que desean resolver problemas (bien definidos) • Realizan acciones para modifican el estado del mundo de acuerdo con sus objetivos 1 2 8 7 3 4 6 2 7 3 1 8 4 5 6 5 Agentes de resolución de problemas Ciclo de actuación del agente: 1. 2. 3. Percibir y clasificar la situación presente Buscar una acción (o un plan de actuación) Ejecutar la acción (o el plan de actuación) Los agentes son especializados: • el diseñador dota al agente a priori con conocimientos específicos – que definen el entorno del problema – que definen los objetivos • se supone una percepción y una ejecución ideal Consideramos solamente agentes para problemas bien definidos Tipos de Agentes Función percepción-acción: • Agentes estimulo-reacción (reactivos) : – calculan las acciones directamente a partir de las percepciones – frecuentemente siguen un enfoque conexionista – en muchos dominios permite generar rápidamente acciones “buenas” • Agentes deliberativos: – mantienen un modelo simbólico de su entorno – anticipan los efectos potenciales de sus acciones a través del modelo – permite evitar emprender acciones equivocadas y irrevocables • Agentes híbridos: combinan ambos enfoques – enfoque reactivo para acciones inmediatas – enfoque deliberativo para acciones estratégicos Tema 1: Introducción a la IA Resumen: 1. Introducción 1.1 Qué es la IA? 1.2 Agentes de resolución de problemas 1.3 Juegos y sus características Juegos y sus características Juegos: • Presentan una gran similitud con problemas reales – Están bien formulados – Unen riqueza (complejidad) y simplicidad • Jugar bien requiere inteligencia: – en muchos juegos no se conoce un algoritmo que garantice una solución • Son ejemplos claros de problemas de toma de decisiones • Se han utilizado tradicionalmente como campo de estudio y de aplicación de IA • Agentes que juegan a juegos complejos y son capaces de mejorar su juego pueden ser los precursores de artefactos inteligentes del futuro Características generales Características generales para el empleo de juegos en IA: • Secuenciales: las jugadas se efectúan de forma secuencial y los efectos son inmediatos • Discretos: un número finito de jugadas posibles en cada estado del juego • Implícitos: no se sabe “a priori” la ganancia obtenida con una jugada • Voluntad de ganar: Existe un conjunto de estados objetivos y la voluntad de conseguirlos • Deterministas: los resultados de acciones son estados bien definidos • Accesible: se puede percibir el estado actual y se puede determinar si es un estado objetivo Para muchos juegos, “jugar bien” es un problema bien definido. Características de Juegos • Número de jugadores: – unipersonales: 8-puzzle, laberinto, comococos, ... – varios jugadores: ajedrez, damas, parchis • Determinista frente a no determinista: – ¿Los acciones del agente en un estado actual determinan completamente el estado resultante? – con elementos de azar: backgammon, juegos con dados – sin elementos de azar: damas, ajedrez Características de Juegos • Totalmente observable frente a parcialmente observable: – ¿El agente puede determinar inequívocamente el estado del juego? – información completa: damas, ajedrez – información incompleta: laberinto, póker • Estático frente a dinámico: – ¿El estado del entorno pueda cambiar mientras que el agente delibera? ¿Puede cambiar sin que el agente actúe? – estático: laberinto, 8-puzzle – semidinámico (cambios previsibles): ajedrez, damas – dinámico: videojuegos