inteligencia artificial

50
INTELIGENCIA ARTIFICIAL a) Introducción b) Características c) Paradigmas, Teorías y Metodologías d) Objetivos de investigación e) Problemas

Upload: edgarbiya

Post on 25-Jun-2015

361 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inteligencia Artificial

INTELIGENCIA ARTIFICIAL

a) Introducción

b) Características

c) Paradigmas, Teorías y Metodologías

d) Objetivos de investigación

e) Problemas

Page 2: Inteligencia Artificial

Que es la inteligencia

Introducción a la Ingeniería Mecatrónica

2

Page 3: Inteligencia Artificial

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

Page 4: Inteligencia Artificial

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:

Page 5: Inteligencia Artificial

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:

Page 6: Inteligencia Artificial

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

Page 7: Inteligencia Artificial

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

Page 9: Inteligencia Artificial

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

Page 10: Inteligencia Artificial

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

Page 11: Inteligencia Artificial

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

Page 12: Inteligencia Artificial

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

Page 13: Inteligencia Artificial

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

Page 14: Inteligencia Artificial

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

Page 15: Inteligencia Artificial

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

Page 16: Inteligencia Artificial

Paradigmas en IA

Introducción a la Ingeniería Mecatrónica

16

Page 17: Inteligencia Artificial

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.

Page 18: Inteligencia Artificial

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

Page 19: Inteligencia Artificial

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

Page 20: Inteligencia Artificial

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

Page 21: Inteligencia Artificial

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

Page 22: Inteligencia Artificial

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

Page 23: Inteligencia Artificial

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

Page 24: Inteligencia Artificial

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

Page 25: Inteligencia Artificial

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

Page 26: Inteligencia Artificial

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

Page 27: Inteligencia Artificial

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

Page 28: Inteligencia Artificial

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

Page 29: Inteligencia Artificial

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

Page 30: Inteligencia Artificial

Ejemplo: 8 puzzle

Introducción a la Ingeniería Mecatrónica

30

Page 31: Inteligencia Artificial

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

Page 32: Inteligencia Artificial

Ejemplo: N reinas

Introducción a la Ingeniería Mecatrónica

32

Page 33: Inteligencia Artificial

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

Page 34: Inteligencia Artificial

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

Page 35: Inteligencia Artificial

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

Page 36: Inteligencia Artificial

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

Page 37: Inteligencia Artificial

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

Page 38: Inteligencia Artificial

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

Page 39: Inteligencia Artificial

Árbol de búsqueda profundidad

Introducción a la Ingeniería Mecatrónica

39

Page 40: Inteligencia Artificial

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

Page 41: Inteligencia Artificial

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

Page 42: Inteligencia Artificial

Búsqueda de anchura prioritaria

Introducción a la Ingeniería Mecatrónica

42

Page 43: Inteligencia Artificial

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

Page 44: Inteligencia Artificial

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

Page 45: Inteligencia Artificial

Búsqueda de profundidad prioritaria

Introducción a la Ingeniería Mecatrónica

45

Page 46: Inteligencia Artificial

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

Page 47: Inteligencia Artificial

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

Page 48: Inteligencia Artificial

Profundidad iterativa

Introducción a la Ingeniería Mecatrónica

48

Page 49: Inteligencia Artificial

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

Page 50: Inteligencia Artificial

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