inteligencia artificial
TRANSCRIPT
INTELIGENCIA ARTIFICIAL
a) Introducción
b) Características
c) Paradigmas, Teorías y Metodologías
d) Objetivos de investigación
e) Problemas
Que es la inteligencia
Introducción a la Ingeniería Mecatrónica
2
Inteligencia Artificial
• Es una de las disciplinas mas nuevas.
• Formalmente se acuño este termino en 1956. Sinembargo el estudio de la inteligencia contemplada como
el razonamiento humano viene siendo estudiado por los
filósofos hace más de 2 milenios.
La inteligencia artificial es la ciencia que enfoca su
estudio a lograr la comprensión de entidades inteligentes.
Introducción a la Ingeniería Mecatrónica
3
Inteligencia Artificial
Introducción a la Ingeniería Mecatrónica
4
Resultado de:
La investigación
en psicología
cognitiva y
lógica
matemática.
Enfoque:
En la
explicación del
trabajo mental y
construcción de
algoritmos de
solución a
problemas de
propósito
general.
La abstracción y la generalidad
Favorece:
Inteligencia artificial
Introducción a la Ingeniería Mecatrónica
5
Inteligencia Artificial
Ciencia del computador
FilosofíaFisiología
RobóticaSistemas Expertos
Enfocados en creación de maquinas pensantes
Combinación de
Reúne campos como:
Inteligencia artificialROBOTICA:
• Campo industrial; comprensión de lenguajes y traducción;
• Visión en máquinas que distinguen formas y que se usan en líneas de ensamblaje;
• Reconocimiento de palabras y aprendizaje de máquinas;
• Sistemas computacionales expertos.
SISTEMAS EXPERTOS
• Reproducen el comportamiento humano en un estrecho ámbito del conocimiento, son programas tanvariados como los que diagnostican infecciones en la sangre e indican un tratamiento, los queinterpretan datos sismológicos en exploración geológica y los que configuran complejos equipos dealta tecnología.
▫ Tales tareas reducen costos.
▫ Reducen riesgos en la manipulación humana en áreas peligrosas.
▫ Mejoran el desempeño del personal inexperto.
▫ Mejoran el control de calidad sobre todo en el ámbito comercial.
Introducción a la Ingeniería Mecatrónica
6
Inteligencia Artificial
• La idea de construir una máquina que pueda ejecutar tareaspercibidas como requerimientos de inteligencia humana es unatractivo.
• Las tareas que han sido estudiadas desde este punto de vistaincluyen juegos, traducción de idiomas, comprensión de idiomas,diagnóstico de fallas, robótica, suministro de asesoría experta endiversos temas.
• Es así como los sistemas de administración de base de datos cadavez más sofisticados, la estructura de datos y el desarrollo dealgoritmos de inserción, borrado y locación de datos, así como elintento de crear máquinas capaces de realizar tareas que sonpensadas como típicas del ámbito de la inteligencia humana,acuñaron el término Inteligencia Artificial en 1956.
Introducción a la Ingeniería Mecatrónica
7
Inteligencia ArtificialLas ciencias que aportan a la IA
• Filosofía
• Matemáticas
• Psicología Lingüística
• Ciencias de la Computación
Introducción a la Ingeniería Mecatrónica
8
Definición
• Disciplina científico-técnica que trata de crear sistemasartificiales capaces de comportamientos que, de ser realizadospor seres humanos, se diría que requieren inteligencia.
• Desde sus comienzos hasta la actualidad, la InteligenciaArtificial ha tenido que hacer frente a una serie de problemas:
1. Las computadoras no pueden manejar (no contienen) verdaderossignificados.
2. Las computadoras no tienen autoconciencia (emociones, sociabilidad, etc.).
3. Una computadora sólo puede hacer aquello para lo que está programado.
4. Las máquinas no pueden pensar realmente.
Introducción a la Ingeniería Mecatrónica
9
Características
1. Una característica fundamental que distingue a losmétodos de Inteligencia Artificial de los métodosnuméricos es el uso de símbolos no matemáticos,aunque no es suficiente para distinguirlocompletamente.
• Otros tipos de programas como los compiladores ysistemas de bases de datos, también procesansímbolos y no se considera que usen técnicas deInteligencia Artificial.
Introducción a la Ingeniería Mecatrónica
10
Características
2. El comportamiento de los programas no es descritoexplícitamente por el algoritmo. La secuencia de pasosseguidos por el programa es influenciado por elproblema particular presente.
▫ El programa especifica cómo encontrar la secuencia depasos necesarios para resolver un problema dado(programa declarativo). En contraste con los programasque no son de Inteligencia Artificial, que siguen unalgoritmo definido, que especifica, explícitamente, cómoencontrar las variables de salida para cualquier variabledada de entrada (programa de procedimiento).
Introducción a la Ingeniería Mecatrónica
11
Características
• Las conclusiones de un programa declarativo no son
fijas y son determinadas parcialmente por las
conclusiones intermedias alcanzadas durante las
consideraciones al problema específico. Los
lenguajes orientados al objeto comparten esta
propiedad y se han caracterizado por su afinidad con
la Inteligencia Artificial.
Introducción a la Ingeniería Mecatrónica
12
Características
3. El razonamiento basado en el conocimiento implicaque estos programas incorporan factores yrelaciones del mundo real y del ámbito delconocimiento en que ellos operan.
▫ Al contrario de los programas para propósitoespecífico, como los de contabilidad y cálculoscientíficos; los programas de Inteligencia Artificialpueden distinguir entre el programa de razonamientoo motor de inferencia y base de conocimientos dándolela capacidad de explicar discrepancias entre ellas.
Introducción a la Ingeniería Mecatrónica
13
Características
4. Aplicabilidad a datos y problemas malestructurados, sin las técnicas de InteligenciaArtificial los programas no pueden trabajar coneste tipo de problemas.
▫ Un ejemplo es la resolución de conflictos en tareas orientadas ametas como en planificación, o el diagnóstico de tareas en unsistema del mundo real: con poca información, con una solucióncercana y no necesariamente exacta.
Introducción a la Ingeniería Mecatrónica
14
Cuando es inteligente un sistema.
En 1950 Alan Turing propuso : La prueba de Turing
• La prueba consiste en un desafío. La máquina ha de hacersepasar por humana en una conversación con un hombre através de una comunicación de texto estilo chat. Al sujeto nose le avisa si está hablando con una máquina o una persona. Siel sujeto es incapaz de determinar si la otra parte de lacomunicación es humana o máquina, entonces se consideraque la máquina ha alcanzado un determinado nivel demadurez: es inteligente.
• Todavía ninguna máquina puede pasar este examen en unaexperiencia con método científico.
Introducción a la Ingeniería Mecatrónica
15
Paradigmas en IA
Introducción a la Ingeniería Mecatrónica
16
Teorías
1. Construir réplicas de lacompleja red neuronaldel cerebro humano(bottom-up).
2. Intentar imitar elcomportamiento delcerebro humano con uncomputador (top-down).
Introducción a la Ingeniería Mecatrónica
17
• Se formula un resumen del sistema, sin especificar detalles. •Planificación y conocimiento completo del sistema.
• Nivel de detalle suficiente.• Retrasa las pruebas de las unidades funcionales.
• Partes individuales se diseñan
con detalle y luego se enlazan.•Riesgo de programar cosas sin saber como se van a conectar al resto del sistema.
• El reuso del código es uno de los mayores beneficios del enfoque bottom-up.
Metodologías
1. La lógica difusa: permite tomar decisiones bajo condiciones deincerteza.
2. Redes neuronales: esta tecnología es poderosa en ciertas tareascomo la clasificación y el reconocimiento de patrones. Está basadaen el concepto de "aprender" por agregación de un gran número demuy simples elementos.
Introducción a la Ingeniería Mecatrónica
18
Objetivos de investigación en IA
• Algunos investigadores se concentran principalmente en:▫ Los sistemas expertos.▫ La resolución de problemas.▫ El control automático.▫ Las bases de datos inteligentes.▫ La ingeniería del software (diseños de entornos de
programación inteligente).
• Otros Investigadores están trabajando en el reto:▫ Reconocimiento de patrones donde se espera un rápido
progreso en este campo que abarca la comprensión y la síntesis del habla, el proceso de imágenes y la visión artificial.
Introducción a la Ingeniería Mecatrónica
19
Objetivos de investigación en IA
• Finalmente, la fundamental investigación sobre la
representación del conocimiento, la
conceptualización cognoscitiva y la comprensión del
lenguaje natural.
• Uno de los principales objetivos de los investigadores
en inteligencia artificial es la reproducción
automática del razonamiento humano.
Introducción a la Ingeniería Mecatrónica
20
Formas de considerar situaciones
complejas.• Deducción: Permite obtener conclusiones de reglas cuyas premisas
hemos comprobado.
• Inducción: Produce reglas a partir de observaciones parciales.
▫ La inducción puede tener lugar cuando se comparan situaciones que soncasi similares, con parámetros desconocidos en una situación dadaasignándole los valores que tienen ya en una situación de referencia; estees un razonamiento por analogía.
• Estos dos tipos principales pueden utilizarse de un modo analítico (elrazonamiento se divide en submódulos que son más difíciles demanejar, o de un modo sintético (inverso del proceso anterior,juntando elementos que se separaron anteriormente).
Introducción a la Ingeniería Mecatrónica
21
Resolución de problemas
Deseamos definir cualquier tipo de problema de
manera que se pueda resolver automáticamente
• Necesitamos:
1. Una representación común para todos los problemas.
2. Algoritmos que usen alguna estrategia para resolver
problemas definidos en esa representación común.
Introducción a la Ingeniería Mecatrónica
22
Definición de un problema
• Si abstraemos los elementos de un problema podemos identificar:
1. Un punto de partida.
2. Un objetivo a alcanzar.
3. Acciones a nuestra disposición para resolver el problema.
4. Restricciones sobre el objetivo.
5. Elementos que son relevantes en el problema definidos por el tipo de dominio.
Introducción a la Ingeniería Mecatrónica
23
Representación de problemas• Existen diferentes formas de representar problemas para resolverlos de
manera automática.
Representaciones generales:
▫ Espacio de estados: un problema se divide en un conjunto de pasos de resolución desde el inicio hasta el objetivo.
▫ Reducción a subproblemas: un problema se puede descomponer en una jerarquía de subproblemas.
Representaciones para problemas específicos:
▫ Resolución de juegos
▫ Satisfacción de restricciones
Introducción a la Ingeniería Mecatrónica
24
Representación de problemas:
ESTADOS• Podemos definir un problema por los elementos que
intervienen y sus relaciones.
• En cada instante de la resolución de un problema esoselementos tendrán unas características y relacionesespecíficas.
• Denominaremos Estado a la representación de loselementos que describen el problema en un momento.
• Distinguiremos dos estado especiales:▫ Estado Inicial (punto de partida) .▫ Estado Final (objetivo del problema).
• ¿Que incluir en el estado?
Introducción a la Ingeniería Mecatrónica
25
Modificación del estado:
OPERADORES• Para poder movernos entre los diferentes estados
necesitamos operadores de transformación.
• Operador: Función de transformación sobre larepresentación de un estado que lo convierte en otro estado.
• Los operadores definen una relación de accesibilidad entre estados.
• Representación de un operador:▫ Condiciones de aplicabilidad▫ Función de transformación
• ¿Que operadores?¿Cuantos?¿Que granularidad?
Introducción a la Ingeniería Mecatrónica
26
Espacio entre estados
• Los estados y su relación de accesibilidad conforman lo que se denomina espacio de estados.
• Representa todos los caminos que hay entre todos los estados posibles de un problema.
• Podría asimilarse con un mapa de carreteras de unproblema.
• La solución de nuestro problema esta dentro de ese mapa
Introducción a la Ingeniería Mecatrónica
27
Solución de un problema en espacio de
estados.
• Solución: Secuencia de pasos que llevan del estado inicial al final (secuencia de operadores) o también el estado final.
• Tipos de solución: una cualquiera, la mejor, todas.
• Coste de una solución: Gasto en recursos de la aplicación de los operadores a los estados. Puede ser importante o no según el problema y que tipo de solución busquemos
Introducción a la Ingeniería Mecatrónica
28
Descripción de un problema en espacio
de estados
• Definir el espacio de estados (explícita o implícitamente).
• Especificar el estado inicial.
• Especificar el estado final o las condiciones que cumple.
• Especificar los operadores de cambio de estado (condiciones de aplicabilidad y función de transformación).
• Especificar el tipo de solución:▫ La secuencia de operadores o el estado final▫ Una solución cualquiera, la mejor (definición de coste).
Introducción a la Ingeniería Mecatrónica
29
Ejemplo: 8 puzzle
Introducción a la Ingeniería Mecatrónica
30
Ejemplo: 8 puzzle
• Espacio de estados: Configuraciones de 8 fichas en el tablero.
• Estado inicial: Cualquier configuración.
• Estado final: Fichas en orden específico.
• Operadores: Mover hueco▫ Condiciones: El movimiento está dentro del tablero▫ Transformación: Intercambio entre el hueco y la ficha
en la posición del movimiento
• Solución: Que pasos + El menor número
Introducción a la Ingeniería Mecatrónica
31
Ejemplo: N reinas
Introducción a la Ingeniería Mecatrónica
32
Ejemplo: N reinas
• Espacio de estados: Configuraciones de 0 a n reinas en el tablero con sólo una por fila y columna.
• Estado inicial: Configuración sin reinas en el tablero.
• Estado final: Configuración en la que ninguna reina se mata entre si.
• Operadores: Colocar una reina en una fila y columna.
▫ Condiciones: La reina no es matada por ninguna ya colocada▫ Transformación: Colocar una reina mas en el tablero en una fila y
columna determinada
• Solución: Una solución, pero no nos importan los pasos.
Introducción a la Ingeniería Mecatrónica
33
Búsqueda en el espacio de estados
• La resolución de un problema con esta representación pasa por explorar el espacio de estados.
• Partimos del estado inicial evaluando cada paso hastaencontrar un estado final.
• En el caso peor exploraremos todos los posibles caminos entre el estado inicial del problema hasta llegar al estadofinal.
• Definiremos una representación del espacio de estadospara poder implementar algoritmos que busquensoluciones.
Introducción a la Ingeniería Mecatrónica
34
Estructura del espacio de estados.
• Estructuras de datos: Árboles y Grafos
• Estados = Nodos
• Operadores = Arcos entre nodos (dirigidos)
• Árboles: Solo un camino lleva a un nodo
• Grafos: Varios caminos pueden llevar a un nodo
Introducción a la Ingeniería Mecatrónica
35
Algoritmo básico• Basado en búsqueda y recorrido en árboles y grafos.
• La estructura la construimos a medida que hacemos la búsqueda.
• Algoritmo para una solución:Seleccionar el primer estado como el estado actual mientras el estado actual no es el estado final.
Hacer Generar y guardar sucesores del estado actual (expansión)
Escoger el siguiente estado entre los pendientes (selección).
Mientras:
• La selección del siguiente nodo determinará el tipo debúsqueda (orden de selección o expansión).
• Es necesario definir un orden entre los sucesores de unnodo (orden de generación)
Introducción a la Ingeniería Mecatrónica
36
Algoritmo básico
• Nodos abiertos: Estados generados pero aún no visitados.
• Nodos cerrados: Estados visitados y que ya se han expandido.
• Tendremos una estructura para almacenar los nodos abiertos.
• Las diferentes políticas de inserción en la estructura determinaránel tipo de búsqueda.
• Si exploramos un grafo puede ser necesario tener en cuenta losestados repetidos (esto significa tener una estructura para losnodos cerrados). Merece la pena si el número de nodos diferenteses pequeño respecto al número de caminos
Introducción a la Ingeniería Mecatrónica
37
Características de los algoritmos
• Completitud: ¿Encontrará una solución?
• Complejidad temporal: ¿Cuanto tardará?
• Complejidad espacial: ¿Cuanta memoria gastará?
• Optimalidad: ¿Encontrará la solución óptima?
Introducción a la Ingeniería Mecatrónica
38
Árbol de búsqueda profundidad
Introducción a la Ingeniería Mecatrónica
39
Tipos de algoritmos• Algoritmos de búsqueda ciega
▫ No tienen en cuenta el coste de la solución en la búsqueda.
▫ Su funcionamiento es sistemático, siguen un orden de visitas ygeneración de nodos establecido por la estructura del espacio debúsqueda.
▫ Anchura prioritaria, Profundidad prioritaria, Profundidaditerativa.
• Algoritmos de búsqueda heurística▫ Utilizan una estimación del coste de la solución para guiar la
búsqueda
▫ No siempre garantizan el óptimo, ni una solución
▫ Hill-climbing, Branch & Bound, A*, IDA*
Introducción a la Ingeniería Mecatrónica
40
Búsqueda en Anchura Prioritaria
• Los nodos se visitan y generan por niveles.
• La estructura para los nodos abiertos es una cola (FIFO).
• Un nodo es visitado cuando todos los nodos de los niveles.
superiores y sus hermanos precedentes han sido visitados.
Características:
• Completidud: El algoritmo siempre encuentra una solución.
• Complejidad temporal: Exponencial respecto al factor deramificación y la profundidad de la solución O (rp).
• Complejidad espacial: Exponencial respecto al factor deramificación y la profundidad de la solución O (rp).
• Optimalidad: La solución que se encuentra es óptima en número deniveles desde la raíz
Introducción a la Ingeniería Mecatrónica
41
Búsqueda de anchura prioritaria
Introducción a la Ingeniería Mecatrónica
42
Búsqueda en Profundidad Prioritaria
• Los nodos se visitan y generan buscando los nodos a mayor
profundidad y retrocediendo cuando no se encuentran
nodos sucesores.
• La estructura para los nodos abiertos es una pila (LIFO).
• Para garantizar que el algoritmo acabe, debe imponerse un
límite en la profundidad de exploración.
Introducción a la Ingeniería Mecatrónica
43
Búsqueda en Profundidad
PrioritariaCaracterísticas:
• Completidud: El algoritmo encuentra una solución si se impone un límite de profundidad y existe una solución dentro de ese límite.
• Complejidad temporal: Exponencial respecto al factor de ramificación y la profundidad del límite de exploración O(rp).
• Complejidad espacial: En el caso de no controlar los nodos repetidos el
coste es lineal respecto al factor de ramificación y el límite de profundidad O(rp). Si tratamos repetidos el coste es igual que en anchura. Si la implementación es recursiva el coste es O(p).
• Optimalidad: No se garantiza que la solución sea óptima
Introducción a la Ingeniería Mecatrónica
44
Búsqueda de profundidad prioritaria
Introducción a la Ingeniería Mecatrónica
45
Tratamiento de nodos repetidos• En anchura
▫ Si el repetido está en la estructura de nodos cerrados podemos olvidarlo. Tendrá una profundidad igual o mayor al repetido cerrado.
▫ Si el repetido está en la estructura de nodos abiertos podemos
olvidarlo. Tendrá una profundidad igual o mayor al repetido
abierto.
• En profundidad
▫ Si el repetido está en la estructura de nodos cerrados lo dejaremos si tiene una profundidad menor.
▫ Si el repetido está en la estructura de nodos abiertos podemos olvidarlo, seguro que tiene una profundidad mayor.
Introducción a la Ingeniería Mecatrónica
46
ID (iterative deepening): profundidad
iterativa• Intenta combinar el comportamiento espacial del DFS con la optimalidad del BFS.
• El algoritmo consiste en realizar búsquedas en profundidad sucesivas con un nivel de profundidad máximo acotado y creciente en cada iteración.
• Así se consigue el comportamiento de BFS pero sin su coste espacial, ya que la exploración es en profundidad, y además los nodos se regeneran a cada iteración.
• Además esto permite evitar los casos en que DFS no acaba (existen ramas infinitas).
• En la primera iteración la profundidad máxima será 1 y este valor irá
aumentando en sucesivas iteraciones hasta llegar a la solución.
• Para garantizar que el algoritmo acaba si no hay solución, se puede definir una cota máxima de profundidad en la exploración.
Introducción a la Ingeniería Mecatrónica
47
Profundidad iterativa
Introducción a la Ingeniería Mecatrónica
48
Profundidad Iterativa
• Completitud: El algoritmo siempre encontrará la solución.
• Complejidad temporal: La misma que la búsqueda en anchura. El regenerar el árbol en cada iteración solo añade un factor constante a la función de coste O(rp).
• Complejidad espacial: Igual que en la búsqueda en profundidad.
• Optimalidad: La solución es óptima igual que en la búsqueda en anchura.
Introducción a la Ingeniería Mecatrónica
49
Tarea 5• En base al proyecto elegido para la tarea 2, se debe continuar con la investigación.
▫ Presentar documento corregido de la primer revisión.▫ Incluir alguna sección creada por usted mismo como:▫ Estado del arte (Proyectos relacionados).▫ Características.▫ Como funciona.▫ Alguna clasificación. (No anteriormente establecida, si realizada mediante un criterio propio).
• Incluir 3 bibliografías aparte de las ya incluidas en la primer entrega. Si no se presento completa la bibliografía anteriormente o se presento de manera errónea, debe de buscar más y presentar 6 en total. (Respetar el formato para bibliografías de la plantilla y no solo presentar direcciones electrónicas).
• Presentar en formato estándar.
• FECHA DE ENTREGA: GRUPO E: Lunes 28 de Septiembre• GRUPO D: Martes 29 de Septiembre
Introducción a la Ingeniería Mecatrónica
50