Sie sind auf Seite 1von 13

TRABAJO COLABORATIVO N2 INTELIGENCIA ARTIFICIAL

ALUMNOS EDWARD RENAN GAVIRIA GUSTAVO LUIS MORELO ESPITIA HERMES BERNAL PIZA ISIDRO JOSE ANGEL GAVIRIA

GRUPO: 90169_2

TUTOR JOHN F ARROYAVE GUTIRRES

UNIVERSIDAD NACIONAL ABIERTA Y ADISTANCIA UNAD OCTUBRE 2011

INTRODUCCION

El problema de la inteligencia se reduce a un problema de bsqueda en pos de resolver un problema, casi siempre desde un nodo inicial hasta un nodo meta. Medir la inteligencia, para ellos, es averiguar el empleo de todo lo que se sabe en forma til. Se trata de hallar soluciones a problemas ya sea consultando soluciones previas ("preparacin") o combinando posibles soluciones ("deliberacin"). Hay infinitos mtodos de bsqueda, el ms trivial y demorado es el de bsqueda del ptimo por fuerza bruta (revisar sistemticamente todo el espacio de problema) y los ms sofisticados, ms breves, apelan a matemticas que pueden ser tan complicadas como el autor quiera, sujeto a que su lgica sea entendible por algn experto.

OBJETIVOS

Tratar con mayor detalle la resolucin general de problemas y las tcnicas de representacin del conocimiento (bsqueda de la solucin en un espacio de estados, heurstica, inferencia y control). Una parte fundamental de la Inteligencia Artificial es su aspecto prctico, para ello se Estudiarn y desarrollarn programas que permitan comprobar su inters desde el punto de vista informtico. Disear algoritmos por medio de IA que nos lleven a una solucin clara y precisa. Conocer los diferentes tipos de algoritmos de bsqueda IA creacin de un problema. para la

Ejercicio 1:

Cliente

200.000 A1

150.000 B

100.000 C

220.000 A2

330.000 A1B

300.000 A1C

240.000 BC

340.000 A2B

300.000 A2C

420.000 A1BC

410.000 A2BC

Da1 = A2, Da2 = B, Da3 = C Analizando: El algoritmo de bsqueda (Primero el mejor) crea una bsqueda siempre buscando el mejor costo de la ruta (h), aunque se podra tomar como C = 100.000 primero para este camino, hay una constante de porcentaje de descuento que se debe tener en cuenta, por ello, el descuento mayor lo tiene A2 = 20% dcto, si se compra primero ese producto ya que afectara a los 2 productos que le siguen, luego tenemos a B= 10% dcto, si se compra un da anterior y este hecho afectara al producto que le sigue, as que comprando primero A2, luego B y finalmente C, obtendremos que C quedara con un 30% dcto, lo cual nos deja con un valor de compra de 410.000, frente a 420.000 si se hubiese comprado A1.

Ejercicio 2:
(0,0)

(1,0) (2,-3)

(0,1)

(2,0) (4,-6)

(1,1)

(0,2)

(3,0)

(2,1) (6,9)

(1,2)

(0,3)

(3,1)

(2,2) (8,-12)

(1,3)

(0,4)

(3,2)

(2,3) (10,-15)

(1,4)

(3,3) (12,-18)

(2,4)

(3,4) (13,-22)

La mejor Ruta con un algoritmo A* es: (0,0), (1,0), (2,0), (2,1), (2,2), (2,3), (3,3), (3,4) Analizando: Se debe sumar los tiempos de cada camino para generar el costo de G(n) , considerando el costo H(n) como el valor de cada calle. La Heurstica A* optimiza el camino que menos minutos en contra tiene evitando tomar la ruta que ms flechas gruesas tuviese.

Una funcin h2(n): Hace que h sobrestime la meta y no lo hace optimista, es decir, el costo es ms alto que el Costo Estimado C. Ejercicio3:

Para la solucin con un mtodo manual del problema se utiliza el mtodo de rbol de expansin mnima (Metodo Kruskal) , seleccionando las aristas de menor a mayor valor sin encerrar un polgono hasta completar la unin de todos los nodos.

El Resultado es el Siguiente: Arista A->C Arista A->B Arista C->E Arista E->D Arista D->B Entonces: La solucin Optima es: A,C,E,D,B = 1+2+8+5+2 = 18 PUNTOS. Nota La arista B->E, no se puede tomar debido que cierra el polgono y deja por fuera al nodo D.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Funcin RutaMasOptima() Declarar k, l, i, j, m,Subtotal, FactorCiclo es entero Declarar matrizA[] //Donde k y l deben tener el mismo tamao Declarar VectorNodo [] Declarar VectorValorArista[] Leer k, l Cargar MatrizA[k,l] COntarVector = VectorNodo(j).contar //Listar Nodos if (matrizA[k,l] est vaca) then termina RutaMasOptima() else For m = 0 to ContarVector for I = 0 to k for j = 0 to l si MatrizA[i,j] es null then sino if m = 0 then VectorValorArista[m] = uscarMenorArista(MatrizA[i,j]) VectorNodo[m] = j matrizA[i,j] = null else If BuscarMenorArista(MatrizA[i,j])] >= (VectorValorArista [m-1]) then If j = BuscarVectornodo(j) then matrizA[i,j] = null Else VectorValorArista[m] = BuscarMenorArista(MatrizA[i,j]) VectorNodo[m] = j matrizA[i,j] = null End if End if

31 32 33 34 35 36 37 38 39 40 41 42 43

End if end if MatrizA[i,j] es null Siguiente j Siguiente i Next m fin (matrizA[k,l] est vaca) //Mostramos la Ruta For m = 0 to ContarVector Mostrar = Mostrar & , VectorNodo[m] Subtotal = VectorValorArista[m] + Subtotal Next m Solucion optima Mostrar & = & subtotal Fin funcin RutaMasOptima()

Linea 18: Se recorre toda la matriz en busca del menor valor con la funcin BuscarMenorvalor, por primera vez Linea 19: Tomamo la Ubicacin Linea 20: Borramos el valor de la matriz para que la funcin BuscarMenorvalor descarte ese tem Linea 22: En la Iteracin m>0 evaluamos el valor guardado m-1 en el Vector VectorValorArista con el actualmente encontrado, m debe ser > 0 Linea 23: Evaluamos la posicin ose el Nodo, para evitar que se repitan y que se cierren los polgonos antes de recorrer todo el diagrama, es posible que el nodo ya se encuentre registrado. Ejercicio 4: Siendo que M y K son nodos solucin tenemos que: La ruta para llegar a K es: C = 3, F= 6, I = 1, K = 0 La ruta para llegar a M es: C = 3, F= 6, I = 1, D = 7, H = 5, I = 2, M = 0 La lista Abierta es: C, F, I, D, H, I, ya que esta lista es creada por los nodos ms deseables. La lista Cerrada es: B, E, G, I, N, siendo I = 2.

El algoritmo para su solucin es: Procedimiento: Bsqueda en profundidad iterativa (limite: entero) prof 1 Actual Estado inicial mientras no es_nal? (Actual) y prof<limite hacer Est_abiertos.inicializar() Est_abiertos.insertar(Estado inicial) Actual Est_abiertos.primero() mientras no es_nal? (Actual) y no Est_abiertos.vacia? () hacer Est_abiertos.borrar_primero() Est_cerrados.insertar(Actual) si profundidad (Actual) prof entonces Hos generar_sucesores (Actual) Hos tratar_repetidos (Hos, Est_cerrados, Est_abiertos) Est_abiertos.insertar (Hos) n Actual Est_abiertos.primero () n prof prof+1 n

Ejercicio 5: Desarrolle

Desarrolle el rbol de bsqueda que expande el algoritmo A*, utilizando la siguiente heurstica: h*(n) = no bloques descolocados Filtre los ciclos simples, indique el orden de expansin de los estados y muestre en cada paso los valores de f*, g y h*.Suponga que el coste de cada operador es 1.

CONCLUSION

Los problemas de encontrar una ruta ptima tienen diferentes soluciones algortmicamente, pero encontrar la mejor para cada situacin requiere de un estudio previo y habilidad. La ms ptima es el conocido algoritmo A*. Aunque los algoritmos de Heurstica y de bsqueda no solo sirven para encontrar el mejor camino, sino, para encontrar la solucin a problemas de lgica los cuales los hacen muy verstiles en su uso. Uno de los mejores avances que ha tenido la I.A. ha sido este tipo de algoritmos ya que se han podido computar preguntas muy complejas que el cerebro del ser humano no puede lograr responder por el hecho de manejar una enorme cantidad de informacin, haciendo que la tecnologa avance de forma rpida.

BIBLIOGRAFIA

Arroyave Gutirrez, John Freddy. Inteligencia Artificial. Medelln Julio 2010

Das könnte Ihnen auch gefallen