ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Técnicas Heurísticas De Resolución De Problemas: Computación Evolutiva Y Redes Neuronales


Enviado por   •  29 de Mayo de 2014  •  5.464 Palabras (22 Páginas)  •  330 Visitas

Página 1 de 22

Introducción: problemas de búsqueda y técnicas tradicionales

Si un problema está formulado de forma unívoca, y el espacio de todas las soluciones posibles es conocido, un método de búsqueda trata de encontrar las soluciones o soluciones que satisfagan el enunciado del problema. Dicho así parece una tautología, pero no todos los problemas son problemas de búsqueda, ni todos los espacios de búsqueda se pueden definir también de forma unívoca.

El libro que sirve de referencia para este capítulo es Modern Heuristics, de Zbigniew Michalewicz, David B. Fogel . Tiene un enfoque moderno, como su título indica, a la resolución de problemas, incluyendo todo tipo de técnicas subsimbólicas, y usando una serie de problemas de referencia (recorrido del viajante, satisfiabilidad máxima y problema multimodal de optimización numérica) para aplicarle esas técnicas y ver su funcionamiento.

Pero si resulta que efectivamente, un problema se puede efectuar como problema de búsqueda, en muchos casos se puede reducir a un problema de hallar un máximo o mínimo, o sea, un óptimo. Sólo va a funcionar esto en el caso de que se pueda calcular la bondad de una solución: la solución del problema será aquella, o aquellas, que optimicen una función de bondad, ajuste, evaluación o fitness; en muchos casos, por lo tanto, un problema de búsqueda se puede reducir a un problema de optimización (maximización o minimización). No siempre es así, pero cuando sucede hay que congratularse y celebrarlo adecuadamente. La mayor parte de los problemas con los que trataremos en este tutorial serán problemas de optimización.

El lector sería capaz de enumerar algún problema de búsquda que no sea optimización? Por ejemplo, los problemas de búsqueda interativos, en los cuales se busca algo a base de las pistas que da un usuario; o incluso el ajedrez, que se puede formular como problema de búsqueda, pero en cada paso es difícil asignar una función de bondad, sin tener en cuenta posibles soluciones posteriores.

¿Quién, a estas alturas de la película, no conoce el recorrido del viajante de comercio, también llamado TSP (travelling salesman problem)? [Imagen TSP pirateada de

www.sscnet.ucla.edu/geog/ gessler/borland/wip.htm] Este problema, explicado aquí, por ejemplo, consiste en hallar un recorrido por n ciudades, sin pasar dos veces por la misma ciudad, que minimice la distancia total recorrida. En este caso, el problema de búsqueda consiste en encontrar el recorrido óptimo, por lo que, desde el principio, está formulado como un problema de optimización.

Dado que cada ciudad se puede visitar una sola vez, se trata de un problema de optimización combinatoria; las soluciones posibles están situadas en el espacio de todas las permutaciones del conjunto de ciudades. Si denominamos a las ciudades con letras mayúsculas, A, B, ....; una solución posible podría ser ABDEFC, y otra BDFECA. Cada una de estas soluciones tiene una puntuación, que sería la cantidad total de kilómetros recorridos; evidentemente habrá una cuyo kilometraje sea menor o igual que todas las otras soluciones.

Claro está, hay que encontrar esa solución. Para 6 ciudades es fácil, pero para 200 no lo es. La razón es, simplemente, que el tamaño del espacio de búsqueda aumenta con el número de ciudades, de hecho, su tamaño es (n-1)!/2, donde n es el número de ciudades. Eso lo hace un problema NP-difícil: no pueden ser resueltos por una máquina de Turing no determinística en tiempo polinómico.

En muchos casos, los problemas a los que se va a enfrentar uno se comportan de esta forma: cuando aumenta el tamaño del mismo, el tamaño del espacio de búsqueda aumenta mucho más rápidamente, y por tanto, el tiempo de solución del problema (o el espacio en memoria necesario para solucionarlo), teóricamente, aumenta más o menos de la misma forma.

Otros problemas de búsqueda son los siguientes:

8-puzzle, en el cual, como se muestra en la ilustración, a partir de una configuración inicial donde hay 8 cuadros desordenados, hay que llegar a otra configuración donde estén ordenados, usando para el intercambio cualquier posición que se halle vacía. El problema de búsqueda en este caso consiste en encontrar un camino que vaya desde la configuración inicial hasta la final. Hay un problem equivalente, o al menos similar, en el libro de Michalewicz, denominado el problema de los cuatro caballos: dos caballos blancos y dos negros situados en un tablero de 3x3, tienen que moverse de forma que los caballos negros intercambien sus posiciones con los caballos blancos.

Problema de la mochila: dados una serie de objetos, generalmente rectangulares, maximizar la cantidad de objetos que se pueden empaquetar dentro de una superficie finita, también rectangular. También se le conoce como el bin-packing problem.

Problemas de optimización númerica: se trata de encontrar el punto o puntos en una función multidimensional que den el máximo, o mínimo, valor para esa función. En algunos casos, tal función puede estar definida en todo el dominio, y ser diferenciable hasta dos veces, pero en otros casos, puede haber zonas del espacio en las cuales no esté definida, o puede que no tenga derivadas en algún punto, o puede que esté definida, con toda la mala leche del mundo, a trozos. Nunca te puedes fiar de que una función a optimizar esté definida decentemente.

Mastermind: En este juego, que se muestra en la figura, un jugador debe de averiguar una combinación de chinchetas de colores oculta por el otro jugador haciendo suposiciones sobre la combinación, y siendo contestado con una chincheta pequeña y blanca por cada acierto de color, y una negra por cada acierto de color y posición. Sólo una solución (entre 64) es la correcta, pero el jugador que ha puesto la combinación oculta va orientando la búsqueda mediante las chinchetas blancas o negras. El problema se hace exponencialmente más difícil cuando se aumenta el número de colores, y la longitud de la combinación. Este es un ejemplo particular de una gama más general de problemas denominados problema oráculo: un usuario tiene que averiguar una combinación secreta guiado por las respuestas de un oráculo, que concede pistas a partir de las posibles soluciones apuntadas por el usuario. Este tipo de problemas tiene aplicación en criptoanálisis diferencial tests de circuitos VLSI, y juegos tales como el que se está tratando.

1.1 Modelización de un problema

Generalmente, para resolver un problema del mundo real, no se trabaja directamente con el mundo real. Para resolver el problema del viajante no se compra uno una Kangoo y se lía a hacerse kilómetros, sino que se hace un modelo del problema. En ese modelo, se extraen

...

Descargar como (para miembros actualizados) txt (34 Kb)
Leer 21 páginas más »
Disponible sólo en Clubensayos.com