compe-ia

11
UNIVERSIDAD PRIVADA DE CIENCIAS ADMINISTRATIVAS Y TECNOLÓGICAS CARRERA DE INGENIERÍA DE SISTEMAS GESTIÓN ACADÉMICA I - 2015 MÓDULO II PROYECTO PARA LA DEMOSTRACIÓN DE COMPETENCIAS “ Puzle de 8” ASIGNATURA: Inteligencia Artificial y Sistemas Expertos TURNO: Noche. HORARIO: 19:00 – 20:15. DOCENTE: Lic. Velásquez Ríos Claudia Isabel ESTUDIANTES: Cañoto Carrasco Ariel Hidalgo Jiménez Rodrigo Ángel Vásquez Gómez Carlos Alberto Cochabamba – Bolivia 2015

Upload: rodrigo-hidalgo

Post on 11-Dec-2015

215 views

Category:

Documents


3 download

DESCRIPTION

Compe-IA

TRANSCRIPT

Page 1: Compe-IA

UNIVERSIDAD PRIVADA DE CIENCIAS ADMINISTRATIVAS Y TECNOLÓGICAS CARRERA DE INGENIERÍA DE SISTEMAS

GESTIÓN ACADÉMICA I - 2015

MÓDULO II

PROYECTO PARA LA DEMOSTRACIÓN DE COMPETENCIAS “ Puzle de 8”

ASIGNATURA: Inteligencia Artificial y Sistemas ExpertosTURNO: Noche.HORARIO: 19:00 – 20:15. DOCENTE: Lic. Velásquez Ríos Claudia IsabelESTUDIANTES:

Cañoto Carrasco Ariel Hidalgo Jiménez Rodrigo Ángel Vásquez Gómez Carlos Alberto

Cochabamba – Bolivia2015

Page 2: Compe-IA

CONTENIDO

1. Introducción...............................................................................................................................1

2. Objetivos del proyecto...............................................................................................................1

2.1. Objetivo General................................................................................................................1

2.2. Objetivos Específico............................................................................................................1

3. Marco Teórico............................................................................................................................1

3.1. Sistemas Expertos...............................................................................................................1

3.2. Agentes..............................................................................................................................2

3.2.1 Agente Racional.................................................................................................................2

3.2.2 Agente Inteligente.............................................................................................................2

3.2.3 Agentes de Estímulo-Respuesta........................................................................................2

3.2.4 Características de un Agente.............................................................................................2

3.3. Búsqueda Heurística...........................................................................................................3

3.3.1. Algoritmo A*...............................................................................................................3

3.3.2. Búsqueda primero en amplitud..................................................................................4

3.3.3. Búsqueda primero en Profundidad............................................................................4

3.3.4. Algoritmo Ascenso de colina......................................................................................4

4. MARCO PRÁCTICO......................................................................................................................5

5. Conclusión..................................................................................................................................6

6. Bibliografía.................................................................................................................................6

Page 3: Compe-IA

1

1. INTRODUCCIÓNLa inteligencia artificial es considerada una rama de la computación y relaciona un fenómeno natural con una analogía artificial a través de programas de computador. La inteligencia artificial puede ser tomada como ciencia si se enfoca hacia la elaboración de programas basados en comparaciones con la eficiencia del hombre, contribuyendo a un mayor entendimiento del conocimiento humano.

El 8-puzzle, es una versión simplificada del juego de Lloyd el cual el objetivo del juego, es llegar a un estado solución a partir de un estado inicial en el menor tiempo posible.

2. OBJETIVOS DEL PROYECTO2.1. Objetivo GeneralEl objetivo del proyecto es el de poder resolver el problema del 8-Puzzle con un algoritmo informado de búsqueda.

2.2. Objetivos Específico Realizar la resolución del puzle con el Algoritmo A*. Plasmar la resolución del puzle con Búsqueda primero en Profundidad. Efectuar la resolución del puzle con el algoritmo Asenso de colina.

3. MARCO TEÓRICO3.1. Sistemas ExpertosSon programas de computación inteligentes que usan conocimientos y procesos de inferencia, para resolver problemas sumamente difíciles para un humano ya que requerirían de mucha experiencia. En sí un Sistema Experto; emula la capacidad de experiencia de un ser humano para tomar decisiones. Aunque los Sistemas Expertos se centran el domino del problema, no tienen conocimientos más allá de donde fueron programados, esto es, no relaciona ningún otro concepto, a menos que este específicamente indicado. A este conocimiento se le llama Dominio del Conocimiento y como ya se apuntó es muy cerrado. Los Sistemas Expertos se basan en las Redes Neuronales. Sus partes son: La Base del Conocimiento, el Motor de Inferencia, el Subsistema de Explicación y la Interfaz.

La Base del Conocimiento: Aquí están almacenados todos los datos que el Sistema Experto tiene para tomar decisiones.

El Motor de Inferencias: Contiene todos los procesos que manipulan la Base del Conocimiento, para deducir la información pedida por el usuario. (Por Ejemplo, resolución, encadenamiento atrás hacia delante, etc.).

El Subsistema de Explicación: Analiza la estructura del razonamiento y da una explicación al usuario.

La Interfaz: Que es el puente de comunicación entre el sistema y el usuario.

Page 4: Compe-IA

2

3.2. AgentesUn Agente es algo que razona (Viene del latín agere, hacer). Sin embargo los agentes informáticos deben tener algo que los diferencie de los programas comunes. Entre ellos está tener controles autónomos, percibir su entorno, que persistan por un periodo de tiempo prolongado, que se adapten a los cambios y que sean capaces de alcanzar objetivos distintos.

3.2.1 Agente RacionalEs el que actúa con la intención de obtener el mejor resultado, o si hay incertidumbre, el mas apropiado. Estos agentes se basan en Inferencias, aunque existen situaciones en las que no se puede hacer nada correcto, pero se debe tomar una decisión; también poseen Actos Reflejos, ya que son mucho mas eficientes que una larga inferencia en algunos casos. Para pasar la Prueba de Turing, los sistemas deben tener estas características. Estudiar la IA en base a Agentes Racionales, es beneficioso ya que nos hace diseñar al agente en base a inferencias, una forma correcta según las leyes del pensamiento. Sin embargo, por cuestiones de espacio es imposible diseñar una personalidad perfecta. En la práctica se usa una racionalidad limitada, por razones de tiempo y espacio.

3.2.2 Agente InteligenteSon capaces de percibir un medio ambiente, usando sensores y actuar usando actuadores, los sensores pueden ser de un agente robot: Teclado, red, detectores de luz, etc. Y los activadores pueden ser una pantalla o la red. Se dice que una agente tiene percepción si puede recibir múltiples entradas en cualquier instante. En general este agente tomará decisiones de acuerdo a todas las entradas que recibió. A esta secuencia se le ordena en una tabla, no obstante por lo infinita o grande que puede llegar a ser, se limitan algunas entradas. El Agente es manejado por el programa del Agente, se debe diferenciar entre la función que es una descripción abstracta en el programa con el propio programa, que es la implementación real.

3.2.3 Agentes de Estímulo-RespuestaEstos agentes solo reaccionan de acuerdo a los estímulos que reciben del mundo exterior donde operan, esta es la forma más sencilla de IA. Tomemos por ejemplo el caso de un robot que puede moverse en una superficie cuadricular, es capaz de percibir si las celdas están ocupadas o no y ser capaz de moverse a las desocupadas. El robot entonces dispondrá de 8 entradas que llamaremos S1, S2, S3, S4, S5, S6, S7, S8. Y que están numeradas en sentido horario. Además tiene 4 movimientos posibles:

Norte: Se mueve una celda arriba. Sur: Se mueve una celda abajo. Este: Se mueve una celda a la derecha.

3.2.4 Características de un Agente Percepción: Según el ejemplo anterior hay 8 variables para ubicarnos, por tanto existen

28=256 combinaciones de valores posibles. Algunos pueden ser descartados, ya que no existen pasillos estrechos. Podemos elegir 4 características llamadas X1, X2, X3, X4.

Page 5: Compe-IA

3

Acción: De las características definidas, lo siguiente que debemos hacer es darles alguna definición para que puedan cumplir su cometido.

3.3. Búsqueda HeurísticaLos métodos de búsqueda heurísticas (del griego heuriskein, que significa encontrar) están orientados a reducir la cantidad de búsqueda requerida para encontrar una solución. Cuando un problema es presentado como un árbol de búsqueda el enfoque heurístico intenta reducir el tamaño del árbol cortando nodos pocos prometedores. Estos métodos se llaman métodos fuertes porque ellos son más poderosos que los estudiados hasta aquí al incorporar conocimiento heurístico o heurística. Hay una contradicción entre generalidad y potencia en el sentido que los métodos débiles son esencialmente aplicables universalmente mientras que los fuertes son menos universales en su aplicabilidad y el conocimiento o heurística usada en un problema dado puede no ser totalmente aplicable o ser inaplicable en otro dominio o tarea.

3.3.1.Algoritmo A*El algoritmo A* es un algoritmo de búsqueda que puede ser empleado para el cálculo de caminos mínimos en una red. Se va a tratar de un algoritmo heurístico, ya que una de sus principales características es que hará uso de una función de evaluación heurística, mediante la cual etiquetará los diferentes nodos de la red y que servirá para determinar la probabilidad de dichos nodos de pertenecer al camino óptimo.

Esta función de evaluación que etiquetará los nodos de la red estará compuesta a su vez por otras dos funciones. Una de ellas indicará la distancia actual desde el nodo origen hasta el nodo a etiquetar, y la otra expresará la distancia estimada desde este nodo a etiquetar hasta el nodo destino hasta el que se pretende encontrar un camino mínimo. Es decir, si se pretende encontrar el camino más corto desde el nodo origen s, hasta el nodo destino t, un nodo intermedio de la red n tendría la siguiente función de evaluación f(n) como etiqueta:

F(n)= g(n) + h(n)Donde:

-g(n) indica la distancia del camino desde el nodo origen s al n. -h(n) expresa la distancia estimada desde el nodo n hasta el nodo destino t.

h(n) se trata de una función heurística, expresa la idea de cuán lejos aún se está de alcanzar el nodo destino, y de su correcta elección dependerá en gran medida el rendimiento del algoritmo A* al aplicarlo en una red. Así, en el caso de que esta función heurística nunca sobreestime el valor de la distancia real entre el nodo y el destino, se dice que es admisible, y está garantizada la solución óptima. Por el contario, en el caso en que la función no sea admisible no se puede garantizar el hallazgo de la solución óptima para el problema del camino más corto.

A la función de evaluación f que caracteriza a un nodo y que sirve para etiquetarlo, también se la conoce como mérito de ese nodo, y expresa la probabilidad del nodo de estar en el camino más

Page 6: Compe-IA

4

corto. Cuanto menor sea el mérito de un nodo, es decir, cuanto menor sea el valor de su función de evaluación, más probable será que el camino más corto atraviese ese nodo. En este mérito de los diferentes todos se basará el funcionamiento del algoritmo A*. El algoritmo irá explorando nodos de la red y sus sucesores (aquellos nodos con lo que les une algún enlace) basándose en su valor de mérito.

3.3.2.Búsqueda primero en amplitud.En Ciencias de la Computación, Búsqueda en anchura (en inglés BFS - Breadth First Search) es un algoritmo para recorrer o buscar elementos en un grafo (usado frecuentemente sobre árboles). Intuitivamente, se comienza en la raíz (eligiendo algún nodo como elemento raíz en el caso de un grafo) y se exploran todos los vecinos de este nodo. A continuación para cada uno de los vecinos se exploran sus respectivos vecinos adyacentes, y así hasta que se recorra todo el árbol.

Formalmente, BFS es un algoritmo de búsqueda sin información, que expande y examina todos los nodos de un árbol sistemáticamente para buscar una solución. El algoritmo no usa ninguna estrategia heurística.

3.3.3.Búsqueda primero en Profundidad.Una Búsqueda en profundidad (en inglés DFS o Depth First Search) es un algoritmo que permite recorrer todos los nodos de un grafo o árbol (teoría de grafos) de manera ordenada, pero no uniforme. Su funcionamiento consiste en ir expandiendo todos y cada uno de los nodos que va localizando, de forma recurrente, en un camino concreto. Cuando ya no quedan más nodos que visitar en dicho camino, regresa (Backtracking), de modo que repite el mismo proceso con cada uno de los hermanos del nodo ya procesado.

3.3.4.Algoritmo Ascenso de colina.Se usa la técnica de mejoramiento iterativo. Comienzan a partir de un punto (punto actual) en el espacio de búsqueda. En cada iteración, un nuevo punto es seleccionado de la vecindad del punto actual. Si el nuevo punto es mejor, se transforma en punto actual, sino otro punto vecino es seleccionado y evaluado. El método termina cuando no hay mejorías, o cuando se alcanza un número predefinido de iteraciones. Los algoritmos de ascenso a colina son típicamente locales, ya que deciden qué hacer mirando únicamente a las consecuencias inmediatas de sus acciones. Pueden que nunca lleguen a encontrar una solución si son atrapados en estados que no son el objetivo, desde donde no se puede hallar mejores estados.

Page 7: Compe-IA

5

4. MARCO PRÁCTICO Algoritmo A*.

Búsqueda primero en Profundidad.

Page 8: Compe-IA

6

Algoritmo Asenso de colina.

5. CONCLUSIÓNEn conclusión se puedo implementar los diferentes logaritmo para el juego del puzle de 8 en el cual tomamos un punto inicial y uno final, donde se tomó el tiempo de resolución y cantidad de movimientos para determinar cuál es el mejor método para la solución.

6. BIBLIOGRAFÍA Inteligencia Artificial Un Enfoque Moderno, 2da Edición – Russell y Norvig K.A. Berman and J. Paul. Fundamentals of Sequential and Parallel Algorithms. PWS Publishing Co. Boston, MA, USA, 1996. Millington. Arti_cial Intelligence for Games. Morgan Kaufmann, 2006. M. Ortega and O. Meza. Grafos y Algoritmos. Equinoccio, 2006. Reinefeld. Complete Solution of the Eight-Puzzle and the Benet of Node Ordering in IDA. In Procs. Int. Joint Conf. on AI, Chambery, pages 248{253, 1993.