Metodo Voraz

28
Inteligencia artificial UNIVERSIDAD NACIONAL DE TRUJILLO FACULTAD DE INGENIERÍA ESCUELA ACADÉMICA PROFESIONAL DE INGENIERÍA DE SISTEMAS MÉTODOS DE BÚSQUEDA INFORMADA

description

Diapos para expo

Transcript of Metodo Voraz

Inteligencia artificial

Inteligencia artificial

UNIVERSIDAD NACIONAL DE TRUJILLOFACULTAD DE INGENIERAESCUELA ACADMICA PROFESIONAL DE INGENIERA DE SISTEMASMtodos de bsqueda informada

Un problema tpico de la Inteligencia Artificial consiste en buscar un estado concreto entre un conjunto determinado, al que se le llama espacio de estados. Imaginemos, por ejemplo, una habitacin en la que hay un libro. Un robot se desea desplazar por la habitacin con el fin de llegar a dicho libro. De qu manera lo har? En este punto es donde entran en juego las estrategias y los algoritmos de bsqueda.

Bsqueda informadaLas estrategias de bsqueda informada o heurstica se caracterizan por la tendencia a limitar el tiempo y el espacio en donde buscar la respuesta a problemas complejos.Utiliza informacin adicional sobre el problema especfico como el coste o la distancia al estado finalBsqueda informadaBsqueda preferentemente por lo mejor.Bsqueda limita por la capacidad de la memoria.Bsquedas de mejoramiento iterativo.

Bsqueda preferente lo mejorEsta bsqueda consiste en expandir primero aqul nodo con mejor evaluacin. Dicha evaluacin es el resultado de aplicar la funcin de evaluacin al nodo, la cual devuelve un nmero que sirve para representar lo deseable que sera la expansin de un nodo.Bsqueda preferente lo mejorDentro de este tipo de bsqueda se encuentran:Bsqueda avara (voraz) o bsqueda primero el mejor.Bsqueda A*.BSQUEDA AVARA La bsqueda avara (Greddy Search) es una de las ms sencillas estrategias de la BPPLM, que consiste en reducir al mnimo el costo estimado para lograr una meta. En otras palabras, el nodo cuyos estados se considere ms cercano a la meta en trminos de costo de ruta se expande primero.

BSQUEDA AVARAUn individuo tiene que llevar a cabo cierta tarea, y hay muchas formas de conseguirlo. En principio todas esas formas de completar la tarea son vlidas, son planes factibles. Pero adems de completar la tarea asignada, que es el objetivo irrenunciable, tiene otro objetivo secundario: hacerlo lo ms rpido posible, o lo ms barato posible, o gastar la menor cantidad posible de un cierto recurso, etc. Entonces, cuando se tiene en cuenta este segundo objetivo, no todos los planes factibles son igual de buenos, porque unos son ms costosos que otros (entiempo, en dinero, en el recurso que queremos ahorrar.)BSQUEDA AVARASurge entonces la necesidad de escoger, entre los planes factibles, el que mejor satisface nuestro objetivo. Se trata entonces de un problema de optimizacin: escoger la mejor solucin entre las posibles.

BSQUEDA AVARA ELEMENTOSUna entrada de tamao n que son los candidatos a formar parte de la solucin.Una solucin factible, la cual est constituida por un subconjunto de esos n candidatos que satisface ciertas restricciones.Una solucin ptima, es decir una solucin factible que maximice o minimice una cierta funcin objetivo.

EJEMPLOS COMUNES Encontrar la secuencia ptima para procesar un conjunto de tareas por un computadorHallar un camino mnimo en grafoPASOS DEL ESQUEMA VORAZEl conjunto de candidatos escogidos es vaco.En cada paso se intenta aadir al conjunto de los escogidos el mejor de los no escogidos (sin pensar en el futuro), utilizando una funcin de seleccin basada en algn criterio de optimizacin (puede ser o no ser la funcin objetivo).Tras cada paso, es necesario revisar si el conjunto seleccionado es completable (si aadiendo ms candidatos se puede llegar a una solucin).Tras cada incorporacin se comprueba si el conjunto resultante es una solucin.El algoritmo termina cuando se obtiene una solucin.El algoritmo es correcto si la solucin encontrada es siempre ptima.

funcin voraz (C:conjunto) devuelve conjunto {C es el conjunto de todos los candidatos}principio S:= ; {S es el conjunto en el que se construye la solucin} mq solucin (S) C hacerx: =elemento de C que maximiza seleccionar(x);C:= C-{x};si completable (S {x} ) entonces S:= S {x}fsi fmq; si solucin(S)entonces devuelve Ssino devuelve no hay solucin fsifinCAMBIO EN MONEDASSe trata de devolver una cantidad de pesetas con el menor nmero posible de monedasUn conjunto de tipos de monedas vlidas, de las que se supone que hay cantidad suficiente para realizar el desglose.Un importe a devolver.

CAMBIO EN MONEDASConjunto de candidatos: Cada una de las monedas de los diferentes tipos que se pueden usar para realizar el desglose del importe dado.Solucin: Conjunto de monedas devuelto tras el desglose y cuyo valor total es igual al importe a desglosar.Completable: La suma de los valores de las monedas escogidas en un momento dado no supera el importe a desglosar.Funcin de seleccin: Elegir si es posible la moneda de mayor valor de entre las candidatas. Funcin objetivo: Nmero total de monedas utilizadas en la solucin (debe minimizarse).

tipo moneda= (M25, M10, M5, M1) funcin cambia (importe: nat; valor: vector[moneda] de nat) devuelve vector [moneda] de natvariable mon: moneda; cambio: vector[moneda] de natprincipio para todo mon en moneda hacercambio[mon]:=0 fpara; para mon:=25 hasta M1 hacermq valor[mon] importe hacercambio[mon] := cambio[mon]+1;importe := importe valor[mon]fmq fpara; devuelve cambiofinSe pide crear una aplicacin que permita a una mquina expendedora devolver el cambio mediante el menor nmero de monedas posible, considerando que el nmero de monedas es limitado, es decir, se tiene un nmero concreto de monedas de cada tipo.

KNAPSACK PROBLEMDenominado tambin Problema de la mochila. Es un problema de optimizacin combinatoria. Modela una situacin anloga al llenar una mochila, incapaz de soportar ms de un peso determinado, con todo o parte de un conjunto de objetos, cada uno con un peso y valor especficos. Los objetos colocados en la mochila deben maximizar el valor total sin exceder el peso mximo.

KNAPSACK PROBLEMSe tienen n objetos fraccionables y una mochila.El objeto i tiene peso pi, 1