introducciÓn

13
INTRODUCCIÓN En inteligencia artificial el tema de búsquedas es muy importante, dado que para resolver un problema utilizando IA en un ordenador es necesario introducir y codificar en su memoria un conjunto de datos que representen de manera directa o indirecta la estructura del problema, esto es, que posea algún tipo de conocimiento de la cuestión que tiene que solucionar. En los comienzos de la IA se buscaron, ensayaron y usaron diferentes técnicas de representación, diversas formas de implementar el saber en el sistema; enumeración, representación algebraica, espacio de datos, reducción, formal, etc... Todas ellas se ajustaban y cumplían los requisitos de una representación que pudiera aplicarse en todo tipo de problemas, la mayoría de ellas han sido superadas en sentido hegeliano debido a que la complejidad de los datos que requiere la representación de un problema las ha convertido en ineficaces. De cualquier manera han sido base y fundamento de todos los formalismos las técnicas más relevantes partiendo del contexto en el que se generaron. En los albores de la IA se partía del supuesto de que para cualquier tipo de representación que se seleccione era requisito indispensable partir de un conocimiento adecuado de las condiciones iniciales y del ambiente del problema que facilite una descripción formal del mismo aunque ello implique una tremenda simplificación. En la realización de esta tarea resulto fructífero tomar como banco de pruebas para elaborar descripciones y representaciones formales, el análisis y soluciones de problemas sencillos pero especialmente juegos como el juego de las torre de HANOI. Los investigadores en esta rama del saber siempre se sintieron fascinados por esos problemas y juegos los cuales, conviene subrayarlo han sido motor de desarrollo y perfeccionamiento de la IA. Otro juego que tenía y actualmente sigue teniendo un enorme interés es el juego de ajedrez. La aspiración de los investigadores en la IA es el del laberinto: ¿Cómo puede salir una persona del laberinto en el que ha entrado sin perderse por sus recovecos? Se trata de construir un hilo de algorítmico o ruta que permita fijar el camino exacto que va de la entrada a la salida, pues bien para poder

Upload: jahn-jhordee-bedon-jauregui

Post on 04-Dec-2015

220 views

Category:

Documents


0 download

DESCRIPTION

Inteligencia Artificial

TRANSCRIPT

Page 1: INTRODUCCIÓN

INTRODUCCIÓN

En inteligencia artificial el tema de búsquedas es muy importante, dado que para

resolver un problema utilizando IA en un ordenador es necesario introducir y codificar

en su memoria un conjunto de datos que representen de manera directa o indirecta la

estructura del problema, esto es, que posea algún tipo de conocimiento de la cuestión

que tiene que solucionar. En los comienzos de la IA se buscaron, ensayaron y usaron

diferentes técnicas de representación, diversas formas de implementar el saber en el

sistema; enumeración, representación algebraica, espacio de datos, reducción,

formal, etc... Todas ellas se ajustaban y cumplían los requisitos de una representación

que pudiera aplicarse en todo tipo de problemas, la mayoría de ellas han sido

superadas en sentido hegeliano debido a que la complejidad de los datos que

requiere la representación de un problema las ha convertido en ineficaces. De

cualquier manera han sido base y fundamento de todos los formalismos las técnicas

más relevantes partiendo del contexto en el que se generaron.

En los albores de la IA se partía del supuesto de que para cualquier tipo de

representación que se seleccione era requisito indispensable partir de un

conocimiento adecuado de las condiciones iniciales y del ambiente del problema que

facilite una descripción formal del mismo aunque ello implique una tremenda

simplificación. En la realización de esta tarea resulto fructífero tomar como banco de

pruebas para elaborar descripciones y representaciones formales, el análisis y

soluciones de problemas sencillos pero especialmente juegos como el juego de las

torre de HANOI. Los investigadores en esta rama del saber siempre se sintieron

fascinados por esos problemas y juegos los cuales, conviene subrayarlo han sido

motor de desarrollo y perfeccionamiento de la IA. Otro juego que tenía y actualmente

sigue teniendo un enorme interés es el juego de ajedrez. La aspiración de los

investigadores en la IA es el del laberinto: ¿Cómo puede salir una persona del

laberinto en el que ha entrado sin perderse por sus recovecos? Se trata de construir

un hilo de algorítmico o ruta que permita fijar el camino exacto que va de la entrada a

la salida, pues bien para poder solucionar o ejecutar estos juegos en el ordenador

resulto fértil la construcción de un mapa en el que se representa de una manera

esquemática pero precisa la configuración total y los movimientos posibles que

conducen de la entrada a la salida. Ello se puede lograr por medio de diferentes

estructuras de datos que pueden ser manipuladas por un ordenador. En ellas se

atiende única y exclusivamente a la configuración global del problema prescindiendo

de aquellos aspectos que no son significativos para su solución. Resulto eficiente ver

el mapa de un problema a través de una estructura de datos: listas, cadenas de

símbolos, matrices, grafos, árboles, etc. La que más relevancia alcanzo en esta etapa

para organizar y estructurar el conjunto de datos fue un tipo de representación que se

Page 2: INTRODUCCIÓN

puede visualizar en forma de grafo. Un tipo especial de grafos es el árbol cuyo uso en

la representación evita bucles, son más fáciles de analizar que los grafos y se pueden

fácilmente implementar en los ordenadores. Esta estructura de datos se considera tan

eficiente que a veces se identifica solución del problema con hallas la búsqueda de un

camino y esta búsqueda representada por medio de grafos y árboles. De ahí la

conveniencia de recordar algunas nociones elementales acerca de los conceptos

relacionados y complementarios en ciencias de la computación.

TIPO O METODOS DE BUSQUEDA

La relevancia de este tema la ha puesto de manifiesto gevarter” Muchas tareas se

pueden formular como preguntas; dado un objetivo ¿cómo lo podemos conseguir? Si,

como es el caso usual en los problemas de IA, la solución no es alcanzable por

métodos directos, hay que utilizar un procedimiento de búsqueda que seleccione entre

las diversas alternativas. Por tanto, encontrar métodos eficientes de búsqueda es

unos de los temas centrales de la resolución automática de problemas. Si partimos de

una representación de los problemas por medio de un espacio de estados los

métodos de búsqueda, que son estrategias para encontrar un camino hacia la

solución final en un grafo o árbol por medio de los cuales representamos el problema.

Pensemos que si solucionar un problema consiste en encontrar el camino adecuado

en un espacio de estados que parte del estado inicial para llegar al estado final, y

supuesto que existen diferentes alternativas o bifurcaciones entre las que se puede

optar y diferentes operadores a aplicar, parece claro que la posesión métodos

eficaces nos ayudaran a alcanzar la solución más satisfactoria-; es obvio que el uso

de algún tipo de estrategia que indique como se aplican los operadores en las

diferentes configuraciones nos facilitara llegar a la meta final. Pues bien este contexto

de método de búsqueda se puede definir como una guía dinámica, ordenada y

efectiva para poder optar entre diferentes alternativas. La Dinámica hace referencia a

aquella propiedad de la estrategia que pone el proceso en movimiento creando,

transformando o eliminado las situaciones que configuran el problema. Ordenada

significa que este proceso se ejecuta de manera sistemática y controlada; de ahí que

método de búsqueda se pueda identificar con estrategias de control

En una primera aproximación podemos hablar de dos métodos de búsqueda que han

sido usados en IA para solucionar problemas: algoritmos y estrategias de búsqueda

(algoritmos sistemáticos y que pueden usar información). Comenzaremos con una

definición precisa de algoritmo para que se con claridad la necesidad de superar este

tipo de control- aunque no se excluya totalmente- en la solución de problemas

Page 3: INTRODUCCIÓN

Un algoritmo se puede definir” una lista L de instrucciones de tamaño finito (dadas

normalmente en forma de texto finito), que ha de cumplir las siguientes condiciones:

A) Existe un actuante humano que eventualmente con ayuda de máquinas u otros

medio puede realizar lo que indica L

B) Para que las instrucciones comience a aplicarse se necesita una entrada(

input) es decir un dato en concreto a la cual es aplicable

EL PAPEL DE LA BÚSQUEDA EN LA INTELIGENCIA ARTIFICIAL   

En Inteligencia Artificial (IA) los términos resolución de problemas y búsqueda se

refieren a un núcleo fundamental de técnicas que se utilizan en dominios como la

deducción, elaboración de planes de actuación, razonamientos de sentido común,

prueba automática de teoremas, etc. Aplicaciones de estas ideas generales aparecen

en la práctica totalidad de los sistemas inteligentes, como por ejemplo en los

programas que tratan de entender el lenguaje natural, en los programas que tratan de

sintetizar un conjunto de reglas de clasificación en un determinado dominio de

actuación, o en los sistemas que realizan inferencias a partir de un conjunto de reglas.  COMPONENTES DE UN SISTEMA DE BÚSQUEDA      

La resolución de problemas en IA requiere, normalmente, determinar una secuencia

de acciones o decisiones. Esta secuencia será ejecutada posteriormente por un

agente con el fin de alcanzar un objetivo a partir de una situación inicial dada.

Dependiendo del problema concreto, la ejecución de la secuencia de acciones o

decisiones tiene asociado un costo que se tratará de minimizar, o bien tiene asociado

un beneficio que se tratará de maximizar. En la descripción de los sistemas de

búsqueda, se supone que el agente se mueve en un entorno accesible, o lo que es lo

mismo, que es capaz de percibir el entorno con precisión. Además, se supone

también que tanto el efecto como el coste o costo de las acciones se pueden predecir

con exactitud. De este modo, la secuencia de acciones se puede obtener antes de su

ejecución; en otro caso, la siguiente acción no podría ser determinada hasta conocer

el resultado de la ejecución de la anterior. 

CLASIFICACIÓN  

Para elaborar una clasificación de los sistemas de búsqueda se tienen muchas

clasificaciones tantas como investigadores y autores en inteligencia artificial existen,

en el módulo se ha tratado de organizar esta información para ofrecer un panorama lo

Page 4: INTRODUCCIÓN

más amplio posible para que el estudiante abarque la mayor cantidad de información,

los nombres de los algoritmos y métodos de solución en unos casos tienen diferencias

que se aclaran en el transcurso del documento. La siguiente clasificación se puede

tomar como genérica para tener una idea de las posibilidades de búsqueda.

BUSQUEDA SIN INFORMACION

Conocida como búsqueda no informada, es decir solo conoce de donde procede pero no considera a donde va ni la utilidad, ventaja, distancias, simplemente recorre los todos los nodos de un árbol por así decirlo existen entre estas técnicas llamadas búsqueda en anchura y amplitud.

Esta técnica son pocos eficientes, en coste promedio, son mejores que las que utilizan el conocimiento del dominio del problema. Se caracterizan, entre otras cosas, porque la aplicación de los operadores a los estados se realiza de manera sistemática, uno detrás de otro (estrategia de control no informada). Además todas ellas son búsquedas por tentativas y utilizan un esquema de producción (búsqueda en el espacio de estados)

Como criterio para diferenciarlas, se utilizara el orden en que se recorren los estados

Page 5: INTRODUCCIÓN

Así, para el espacio de datos, tendemos:

1. BÚSQUEDA EN AMPLITUD Esta técnica su fin es recorrer todos los nodos del mismo nivel que de donde se encuentra como todo siempre la posición será el inicio y como final el objetivo buscado, por ejemplo

Ventajas: si el problema tiene una solución este procedimiento garantiza el encontrarla. Si hubiera varias soluciones se obtiene la de menor coste (la óptima), es decir, la que requiere un menor número de pasos (si consideramos un coste uniforme de aplicación de los operadores).

Desventajas: si el nivel de profundidad asociado a la solución es significativamente menor que el factor de ramificación se expandirían demasiados nodos inútilmente. Por otro lado la principal desventaja de este método es el espacio de almacenamiento requerido. Esto lo hace prácticamente inviable para problemas complejos, como suelen ser los del mundo real.

Page 6: INTRODUCCIÓN

Características

-Procedimientos de búsqueda- Para cada uno de los nodos de un nivel se aplican todos los posibles operadores-No se expande ningún nodo de un nivel antes de haber expandido todos los del nivel anterior-Si existe la solución, la encuentra en la menos profundidad posible.-Explosión combinatoria, aparece frecuentemente debido a la alta complejidad espacial y temporal de esta técnica.

ALGORITMO BÚSQUEDA EN ANCHURA:

Sea G = (V, A) un grafo conexo, V’ = V un conjunto de vértices, A’ un vector de arcos inicialmente vacío y P un vector auxiliar inicialmente vacío: Se introduce el vértice inicial en P y se elimina del conjunto. Mientras V’ no sea vacío repetir los puntos 3 y 4. En otro caso parar. Se toma el primer elemento de P como vértice activo. Si el vértice activo tiene algún vértice adyacente que se encuentre en V’:

Se toma el de menor índice.Se inserta en P como último elemento.Se elimina de V’.Se inserta en A’ el arco que le une con el vértice activo.

Si el vértice activo no tiene adyacentes se elimina de P.

2. BÚSQUEDA EN PROFUNDIDAD

Se refiere en buscar esta vez no por niveles sino según sea el camino que se haya elegido recorrerlo hasta que ya no existan más nodos al final, es decir en expandir un único camino desde la raíz hasta el último en esa rama si ya no existen más nodos retrocede y selecciona otro camino a los siguientes nodos por descubrir.

CARACTERISTICAS-La búsqueda se realiza por una sola rama del árbol hasta encontrar una solución o hasta que se tome la decisión de terminar la búsqueda por esa dirección.-Terminar la búsqueda por una dirección se debe a no haber posibles operadores que aplicar sobre el nodo hoja o por haber alcanzado un nivel de profundidad muy grande.-Si esto ocurre se produce una vuelta atrás (back tracking) y se sigue por otra rama hasta visitar todas las ramas del árbol si es necesario.

Page 7: INTRODUCCIÓN

En la imagen se muestra la forma de búsqueda en profundidad se recorre cada nodo buscando el objetivo en cada nodo si no está el objetivo se retrocede y se busca en una nueva rama de nodos seguidamente hasta conseguir el final de cada rama.

VENTAJAS: la principal ventaja de este algoritmo radica en el reducido valor de su complejidad espacial. Cuando existen múltiples soluciones posibles la eficiencia del algoritmo aumenta.

DESVENTAJAS: la dificultad estriba en el tiempo requerido. El algoritmo puede dedicarse a recorrer un camino demasiado largo que no conduzca a ninguna solución. Es más, si no se guarda constancia de los nodos que forman el camino recorrido se podría caer en ciclos y el proceso no acabaría. El problema por tanto es determinar cuál debe serlo. Si éste es inferior a la longitud real del camino de la solución, ésta nunca se encontraría, y si es mucho mayor sería ineficiente. Esta es la razón por la que lp debería llamarse límite de exploración.

Page 8: INTRODUCCIÓN

3. ALGORITMO BÚSQUEDA EN PROFUNDIDAD:

Sea G = (V, A) un grafo conexo, V’ = V un conjunto de vértice, A’un vector de arcos inicialmente vacío y P un vector auxiliar inicialmente vacío:

Se introduce el vértice inicial en P y se elimina del conjunto V’. Mientras V’ no sea vacío repetir los puntos 3 y 4. En otro caso parar. Se toma el último elemento de P como vértice activo. Si el vértice activo tiene algún vértice adyacente que se encuentre en

V’:Se toma el de menor índice.Se inserta en P como último elemento.Se elimina de V’.Se inserta en A’ el arco que le une con el vértice activo.

Si el vértice activo no tiene adyacentes se elimina de P.

4. BÚSQUEDA CON RETROCESO

Otras estrategias derivadas de las anteriores

-BÚSQUEDA EN PROFUNDIDAD PROGRESIVA

-SE DEFINE UNA PROFUNDIDAD PREDEFINIDA.

-Se desarrolla el árbol realizando una búsqueda en profundidad hasta el límite definido en el punto anterior.

-Si se encuentra la solución entonces FIN

-En caso contrario, se establece un nuevo límite y volvemos al segundo paso.}

5. BÚSQUEDA BIDIRECCIONAL

VENTAJAS:

-Se llevan a la vez dos búsquedas, una descendente desde el nodo inicial y otra ascendente desde el nodo de meta.

-Al menos una de estas dos búsquedas debe ser en anchura para que el recorrido ascendente y descendente puedan encontrarse en algún momento.

-Cuando se llegue a un nodo donde ya había sido explorado con el otro tipo de búsqueda, el algoritmo acaba.

Page 9: INTRODUCCIÓN

-El camino solución es la sima de los caminos hallados por cada búsqueda desde el nodo mencionado hasta el nodo inicial y hasta el nodo meta.

CARACTERISTICAS:

Sistemática: No deja sin explorar ningún nodo y lo explora solo una vez

Objetiva: Pues no depende del dominio del problema

CONCLUSIONES:

Las búsquedas para las aplicaciones de la IA son tan relevantes que para poder aplicarlas en un problema real se necesita de la compresión de cada uno de las técnicas de búsqueda, mi manera de comprender es que por cada problema real se necesita una cierta aplicación de las técnicas que hasta ahorita hemos estado haciendo mención, cada una de ellas tiene ventajas y desventajas por el uso de memoria algunas más necesitan recolectar más información para poder ejecutar de manera óptima su búsqueda, consiguiendo así resolver problemas que requieren de cierta inteligencia los más reflejados son los juegos de ajedrez que necesitan algoritmos de búsqueda de soluciones optimas que lo llevaran a la victoria, como el que se le aplica a un artefacto que de tal forma pueda resolver un laberinto necesita información para poder salir, eso se logra a través de la recolección de caminos y rutas de forma que le permitan llegar al objetivo, o como los juegos donde se logra obtener el siguiente salto del usuario para ellos el algoritmo debe estar ya preparado lógicamente que averigüe cual será el siguiente movimiento y muchas más aplicaciones en la Inteligencia Artificial.

Page 10: INTRODUCCIÓN

BIBLIOGRAFIA

https://books.google.com.pe/books?id=UfccXvwzIOUC&pg=PA83&lpg=PA83&dq=LA+BUSQUEDA+EN+IA&source=bl&ots=z_6dVm_UAn&sig=_GbrTozjSVpCfD-t8cVA0kdr1no&hl=es-419&sa=X&ved=0CB8Q6AEwATgKahUKEwi5pPPE0ZLIAhWJhQ0KHWNfDa8#v=onepage&q=LA%20BUSQUEDA%20EN%20IA&f=true

http://ia-israel.blogspot.pe/2014/04/tecnica-de-busqueda-ciega.html

http://www.dma.fi.upm.es/java/matematicadiscreta/busqueda/

http://www.nebrija.es/~cmalagon/ia/transparencias/busqueda_general_ia.pdf

http://blog.vidasconcurrentes.com/programacion/busqueda-en-profundidad-y-busqueda-en-anchura/