III. BÚSQUEDA Y RESOLUCIÓN DE PROBLEMAS. III.3.
|
|
- Rosario Veronica Ayala Maldonado
- hace 8 años
- Vistas:
Transcripción
1 III. BÚSQUEDA Y RESOLUCIÓN DE PROBLEMAS. III.3. Búsquedas con retroceso. III.3.1. Búsquedas con retroceso a ciegas. III Procedimientos con retroceso. La búsqueda con retroceso, o backtracking, es una estrategia tentativa. El procedimiento lleva la cuenta de las reglas aplicadas. Si en el transcurso de la búsqueda se llega a un punto muerto, puede olvidar o "deshacer" la última regla aplicada y probar una nueva alternativa. Esto permite, en principio, explorar todos los caminos de un grafo a partir de un nodo inicial, siempre que sea finito y se compruebe la aparición de ciclos. El procedimiento RETROCESO recibe un estado inicial y devuelve: bien el camino de estados que lleva a un estado objetivo; o bien 'FRACASO' si no pudo encontrarse ningún camino solución. Aunque la idea de base es sencilla, pueden considerarse distintas implementaciones de la búsqueda con retroceso. Concretamente analizaremos dos versiones: La primera, que denominaremos backtrack, es una versión recursiva en la que la secuencia de nodos examinados se guarda en los entornos de las sucesivas llamadas recursivas. La segunda, que denominaremos retroceso, es una versión recursiva por la cola que manipula explícitamente una estructura de datos donde se guarda explícitamente el camino que se está examinando. a) Procedimiento BACKTRACK El procedimiento BACKTRACK recibe un estado e intenta encontrar un camino solución partiendo de él. Para ello genera un único sucesor y realiza una llamada recursiva. Si esta fracasa, se genera otro sucesor y se vuelve a realizar una llamada recursiva. Si las llamadas correspondientes a todos los sucesores fracasan, entonces se termina devolviendo FRACASO. Si en algún momento se encuentra un estado final, se termina con éxito, y la secuencia de retornos de las distintas llamadas construyen una lista con el camino solución. PROCEDIMIENTO BACKTRACK backtrack(e) Si finalp(e) entonces devolver (cons(e, NIL)); en otro caso, Para cada regla R aplicable a E E2 aplicar-regla(r,e); SOLUCION backtrack(e2); Si SOLUCION <> FRACASO entonces devolver (cons(e,solucion)); fin/para devolver ( FRACASO ); fin backtrack; b) Procedimiento RETROCESO El procedimiento RETROCESO realiza una exploración similar a la de BACKTRACK. La diferencia está en la implementación, que en el caso de RETROCESO responde a una función recursiva por la cola más versátil, y que permite la comprobación de ciclos. Para llevar la cuenta de los estados y reglas considerados, RETROCESO utiliza una lista de nodos. Cada nodo estará formado por dos elementos: un estado; una lista de las reglas aplicables a dicho estado y que aún no han sido probadas. Supondremos definidas las operaciones: hacer-nodo(e, LR), que recibe un estado E y una lista de reglas LR y devuelve un nodo. estado(n), que recibe un nodo N y devuelve el estado asociado. lista-reglas (N), que recibe un nodo N y devuelve la lista de reglas asociada. También supondremos que NIL denota la lista vacía, y que están definidas las operaciones sobre listas: añadir(x,l), que recibe un elemento X y una lista L, y devuelve una nueva lista cuyo primer elemento es X, y a continuación todos los de la lista L, es decir, en notación Prolog, la lista [X L]. cabeza(l), que recibe una lista L y devuelve su primer elemento. resto(l), que recibe una lista L y devuelve una lista igual que L tras eliminar su primer elemento. Apuntes IAlC 25/26 III.1 Dpto. Leng.Ciencias Comp., Univ.Málaga
2 vacío(l), que recibe una lista L y devuelve 'cierto' si L es la lista vacía, y 'falso' en otro caso. PROCEDIMIENTO RETROCESO retroceso(e); LR reglas-aplicables(e); N hacer-nodo(e, LR); CAMINO añadir(n, NIL); devolver(rtr(camino)); fin-retroceso. PROCEDIMIENTO RTR rtr(camino); NODO cabeza (CAMINO); E estado (NODO); LR lista-reglas (NODO); R cabeza (LR); según: vacío (CAMINO) : devolver ('FRACASO'); es-objetivo (E): devolver (CAMINO); vacío (LR): devolver (rtr (resto (CAMINO))); otro-caso: LR2 resto (LR); NODO2 hacer-nodo (E, LR2); fin-según; fin-rtr. NUEVO-CAM añadir(nodo2, resto (CAMINO)); devolver (rtr (avanzar (E,R, NUEVO-CAM))); Las cuatro condiciones de la estructura 'según' corresponden al fracaso, éxito, retroceso y avance respectivamente. Las dos primeras suponen la terminación de la búsqueda, mientras que las restantes la continúan. Nótese que cuando se prueba una regla de un nodo, la lista de reglas correspondiente debe ser actualizada. Nótese también que 'rtr' es una función recursiva por la cola. La función 'avanzar (E,R, CAM)' recibe un estado E, una regla R aplicable a E, y un camino CAM, y devuelve un camino igual que CAM, pero que además tiene a la cabeza el estado resultante de aplicar R a E. Según la naturaleza del problema que se pretenda resolver puede realizarse o no la comprobación de ciclos. Si los ciclos son imposibles, entonces comprobarlos es una pérdida de tiempo. Si los ciclos son posibles, no comprobarlos puede ser nefasto. Veamos versiones para ambas posibilidades: AVANZAR(E,R,CAMINO) ;versión que no comprueba ciclos E2 aplicar (R, E); LR2 reglas-aplicables (E2); NODO hacer-nodo (E2, LR2); devolver (añadir (NODO, CAMINO)); AVANZAR(E,R,CAMINO) ;versión que sí comprueba ciclos E2 aplicar (R, E); Si repetido(e2,camino) entonces devolver(camino); si-no LR2 reglas-aplicables (E2); NODO hacer-nodo (E2, LR2); devolver (añadir (NODO, CAMINO)); Apuntes IAlC 25/26 III.2 Dpto. Leng.Ciencias Comp., Univ.Málaga
3 donde la función 'repetido(e,camino)' devuleve: 'cierto' si el estado de algún nodo del CAMINO es igual a E; o 'falso' en otro caso. Ejemplo: Sea el grafo de la figura. El estado inicial es el etiquetado como E1, y el final el etiquetado como E4. Supongamos que las reglas se prueban siempre en el orden creciente (R1, R2, R3, R4, R5, R6). En este grafo (un árbol, en realidad) no se presentan ciclos, por lo que puede utilizarse sin peligro la primera versión de 'avanzar'. E 1 R 1 R 3 R 2 E 2 E 3 E 6 R 4 R 5 R 6 E 4 E 5 E 7 La llamada a 'retroceso(e1)' construye una lista formada por un único nodo: E1 (R1, R2, R3) A continuación se realiza la primera llamada a rtr, donde: NODO es E1 (R1, R2, R3) E es E1 LR es (R1, R2, R3) R es R1 El resultado es una segunda llamada recursiva a rtr con la lista: E2 ( ) E1 (R2, R3) y donde: NODO es E2 ( ) E es E2 LR es ( ) R no toma valor El resultado es una tercera llamada a rtr con la lista: Apuntes IAlC 25/26 III.3 Dpto. Leng.Ciencias Comp., Univ.Málaga
4 E1 (R2, R3) El resultado es una cuarta llamada a rtr con la lista: E3 (R4, R5) E1 (R3) El resultado es una quinta llamada a rtr con la lista: E4 ( ) E3 (R5) E1 (R3) Como E4 es el estado final, la búsqueda termina con éxito devolviendo el camino resultante. Apuntes IAlC 25/26 III.4 Dpto. Leng.Ciencias Comp., Univ.Málaga
5 III BÚSQUEDA CON PROFUNDIZACION PROGRESIVA. Consideremos un espacio de estados cuyo nodo s representa el estado inicial de un problema de búsqueda. El algoritmo de backtacking con profundización progresiva BID (Backtracking Iterative Deepening) se puede enunciar como sigue, dependiendo de la implementación de la búsqueda con retroceso empleada. a) BID (versión 1) Desarrollaremos primero una versión de BID partiendo del procedimiento BACKTRACK estudiado anteriormente: PROCEDIMIENTO BID (versión 1) bid (s) COTA ; Repetir SOLUCION backtrack-acotado(s, COTA, ); COTA COTA+1; hasta que SOLUCION <> FRACASO ; devolver (SOLUCION); fin-bid; PROCEDIMIENTO BACKTRACK-ACOTADO backtrack-acotado (E, COTA, PROF) Si finalp(e) entonces devolver (cons(e, NIL)); en otro caso, si PROF COTA entonces devolver ( FRACASO ); en otro caso, Para cada regla R aplicable a E E2 aplicar-regla(r,e); SOLUCION backtrack-acotado(e2, COTA, PROF+1); Si SOLUCION <> FRACASO entonces devolver (cons(e,solucion)); fin/para devolver ( FRACASO ); fin-backtrack-acotado; Nótese que 'backtrack-acotado' incorpora una nueva condición de retroceso respecto a 'backtrack': cuando la longitud del camino explorado supera un cierto límite. Es decir, primero se exploran todos los caminos de longitud 1; si ninguno lleva a un estado objetivo, se exploran los de longitud 2; y así hasta encontrar algún estado objetivo. Nótese que los nodos generados en un ciclo de profundización no se almacenan; en cada ciclo se vuelven a generar los nodos anteriormente generados. b) BID (versión 2) Desarrollaremos ahora una versión de BID aprovechando el procedimiento RTR descrito anteriormente. Nótese que la exploración realizada será la misma que con la versión anterior, siempre que no se comprueben ciclos. PROCEDIMIENTO BID (versión 2) bid(s); LR reglas-aplicables(s); N hacer-nodo(s, LR); CAMINO añadir(n, NIL); D ; repetir SOLUCION rtr-acotado(d, CAMINO, 1); D D+1 hasta que SOLUCION <> 'FRACASO'; devolver(solucion); fin-bid. Apuntes IAlC 25/26 III.5 Dpto. Leng.Ciencias Comp., Univ.Málaga
6 PROCEDIMIENTO RTR-ACOTADO rtr-acotado(lim_prof, CAMINO, PROF); NODO cabeza (CAMINO); E estado (NODO); LR lista-reglas (NODO); R cabeza (LR); según: vacío (CAMINO) : devolver ('FRACASO'); /*FRACASO*/ es-objetivo (E): devolver (CAMINO); /*ÉXITO*/ (PROF LIM-PROF) or (vacío (LR)): /*RETROCESO*/ devolver (rtr-acotado (LIM_PROF, resto(camino), PROF-1)); otro-caso: LR2 resto (LR); /*AVANCE*/ NODO2 hacer-nodo (E, LR2); NUEVO-CAM añadir(nodo2, resto (CAMINO)); devolver (rtr-acotado (LIM_PROF, avanzar (E,R, NUEVO-CAM) PROF+1)); fin-según; fin-rtr-acotado. Nótese que 'rtr-acotado' incorpora una nueva condición de retroceso respecto a 'rtr': cuando la longitud del camino explorado supera un cierto límite. Es decir, primero se exploran todos los caminos de longitud 1; si ninguno lleva a un estado objetivo, se exploran los de longitud 2; y así hasta encontrar algún estado objetivo. Nótese que los nodos generados en un ciclo de profundización no se almacenan; en cada ciclo se vuelven a generar los nodos anteriormente generados. c) Propiedades Ambas versiones de BID realizan la misma exploración (suponiendo que ninguno comprueba ciclos). Por tanto las propiedades son aplicables a ambos. Prop. Si hay una solución, el algoritmo BID acaba y encuentra una solución. Dem. Supongamos que hay una solución. Sea D el mínimo número de arcos que la conectan con s en el grafo. Es evidente que cada ciclo de profundización acaba, luego se llegará a alcanzar el ciclo con profundidad d=d, y en él se encontrará la solución y el algoritmo acabará. Consideremos ahora que el grafo es un árbol con factor de ramificación constante b. Prop. El número máximo Nm de nodos mantenidos en memoria simultáneamente por BID en función de la profundidad D a la que se encuentra el estado objetivo más superficial es de la forma O(D). Dem. El algoritmo de backtracking mantiene una sóla rama de búsqueda. La máxima longitud de esta rama es D, y a cada nivel de profundidad se ha generado 1 sucesor del nodo en el nivel anterior, luego en total se mantienen en el peor caso D nodos, que es de la forma O(D). Prop. El número máximo Ng de nodos generados por BID en función de la profundidad D a la que se encuentra el estado objetivo más superficial es de la forma O(b D ). Dem. Cada nodo a profundidad D se generará una sola vez (en el último ciclo de profundización); los nodos a profundidad D-1 se generarán 2 veces (en el último y el penúltimo ciclo);...; los nodos a profundidad 1 se generarán D veces, luego en total se generan o sea b D + 2b D-1 + 3b D (D-1)b 2 + Db nodos b D (1 + 2b b (D-1)b 1-(D-1) + Db 1-D ) y llamando x = 1/b b D (1 + 2x + 3x (D-1)x D-2 + Dx D-1 ) que es menor que la serie infinita b D Σ n x n y recordando que para -1 < x < 1 es Σ n x n = 1/(1-x) 2 Apuntes IAlC 25/26 III.6 Dpto. Leng.Ciencias Comp., Univ.Málaga
7 tenemos que el número de nodos es a lo sumo b D /(1-x) 2 o sea b D b 2 /(b-1) 2 que es de la forma O(b D ) Figura 1. 5 Ejemplo: Sea el grafo de la figura 1. El estado inicial es el etiquetado con y el objetivo el etiquetado con 5. Supongamos que los sucesores se generan siempre de izquierda a derecha y que no se comprueba la aparición de ciclos. En estas circunstancias, el algoritmo BID genera la siguiente sucesión de caminos (por simplicidad se muestran sólo los estados): d=; d=1; d= solución. Nótese que el algoritmo acaba pese a la existencia de un ciclo en el grafo. Ejercicio propuesto: Nótese que las versiones presentadas de BID no terminan en grafos finitos cuando no hay solución. Realizar las modificaciones necesarias para que BID termine con fracaso en un número finito de pasos en tales situaciones. Apuntes IAlC 25/26 III.7 Dpto. Leng.Ciencias Comp., Univ.Málaga
8 III SATISFACCION DE RESTRICCIONES. III a Definiciones. Un problema de satisfacción de restricciones queda definido por los siguientes elementos: -un conjunto finito de variables {X1,..., Xn}. -para cada variable Xi, un conjunto finito Di llamado dominio. -un conjunto finito de restricciones {C1,..., Cp}. Cada restricción Cj se define mediante una lista sin repeticiones de variables [Xj1,..., Xja(j)] y un subconjunto Vj del producto cartesiano Dj1... Dja(j). El valor a(j) es la aridad de la restricción Cj y el subconjunto Vj es el conjunto de asignaciones permitidas por la restricción Cj. Habitualmente, una restricción Cj no viene dada explícitamente por enumeración de sus asignaciones permitidas, sino por una expresión booleana que para cada asignación de sus variables dará el valor verdadero o el valor falso. El planteamiento del problema es el siguiente: encontrar un valor vi para cada variable Xi tal que: i) vi Di ii) (vj1,..., vja(j)) Vj para toda restricción Cj cuyas variables sean [Xj1,..., Xja(j)], y cuyo conjunto de asignaciones permitidas sea Vj. EJEMPLO: Sean 3 variables X1, X2, X3, con el mismo dominio D1=D2=D3={1,2,3}. Supongamos dos restricciones C1, C2 dadas por las expresiones X1<X2, X2<X3. Más explícitamente, serán C1: [X1, X2], V1= {(1,2), (1,3), (2,3)} C2: [X2, X3], V2= {(1,2), (1,3), (2,3)} Es evidente que la única solución a este problema viene dada por la asignación (X1 1), (X2 2), (X3 3) III b Búsqueda en árbol. Es posible plantear un problema de satisfacción de restricciones como una búsqueda en cierto espacio de estados, definido de la siguiente forma: -los estados son las asignaciones parciales admisibles de valores a un subconjunto de variables {X1,..., Xk}, k n. Una asignación parcial {(X1, v1)..., (Xk, vk)} (k n) es admisible cuando para toda restricción C cuyas variables (Xc1,..., Xcj) están todas en {X1,..., Xk}, las correspondientes tuplas (vc1,..., vcj) C. -el estado inicial es la asignación vacía. -Sea un estado s en el que se han asignado valores hasta la variable Xi. Los sucesores de s son las asignaciones admisibles en las que además de las variables consideradas en s, se ha dado un valor a la variable Xi+1. -los estados objetivo son las asignaciones en las cuales toda variable ha recibido un valor. El espacio así definido es un árbol, cuyas hojas serán todas las asignaciones de variables que satisfacen todas las restricciones. EJEMPLO: Con el ejemplo anterior, el espacio de estados es el de la figura 3. X1 1 X1 2 X1 3 X2 2 X2 3 X2 3 X3 3 Figura 3. Apuntes IAlC 25/26 III.8 Dpto. Leng.Ciencias Comp., Univ.Málaga
9 Es claro que una estrategia de búsqueda con retroceso permitirá generar de forma completa el árbol anterior. El algoritmo puede ser como sigue: Supongamos definidas una ordenación de las variables en una lista variables, y según ella las siguientes definidicones de las funciones variable(n), dominio(var) y la constante NUM-VAR variable(n) la variable n-ésima dominio(var) el dominio de la variable var NUM-VAR el número de variables del problema Representaremos las asignaciones por listas de pares (variable, valor). Supongamos también una función test(asignaciones) que, dada una asignación parcial de valores, devuelve verdadero, si es admisible, y falso en otro caso. La llamada inicial será RA(()), es decir, con la lista de asignaciones vacía. Supondremos también definidas las siguientes operaciones sobre listas: long(l) longitud de la lista L primero(l) primer elemento de la lista L resto(l) una lista como L, pero sin su primer elem. lista(a,b) una lista de la forma [A,B] añadir(e,l) una lista de la forma [E L] RA2(lista-asigs); ALGORITMO RA. si no test(lista-asigs) /*no se cumple alguna restr. */ entonces, devolver(fracaso); si long(lista-asigs) = NUM-VAR entonces, devolver(lista-asigs); num 1 + long(lista-asigs); /*num. orden de la sig. var */ var variable(num); valores dominio(var); loop si valores = [] entonces, devolver(fracaso); valor primero(valores); valores resto(valores); sig-asig lista(var, valor); sig-lista añadir(sig-asig, lista-asigs); resultado RA2(sig-lista); si resultado FRACASO entonces, devolver(resultado); fin-loop; fin-ra2; Cuando en una llamada se cumple la condición test(asignaciones), pero ninguna de las llamadas posteriores se llega a completar una solución, decimos que esa llamada es una llamada improductiva a RA. Ello corresponde a generar una asignación parcial admisible que no se puede completar de forma admisible. Por ello, a su nivel no se produce inmediatamente retroceso; sin embargo, ninguna de las llamadas que se originen a partir de ella producirá una salida. Por ejemplo, el el árbol anterior el nodo (X1, 2) se origina en una llamada improductiva; por el contrario, el nodo (X1, 1) se origina en una llamada productiva. III c. Consistencia en arcos. Otro enfoque para el problema de satisfacción de restricciones viene dado por los algoritmos de consistencia en arcos, también llamados de filtrado o relajación. En estos algoritmos se realiza un procesamiento de los dominios Di previamente a la búsqueda en un árbol de asignaciones parciales. Consideramemos únicamente el caso de restricciones binarias (que afectan a dos variables). El caso más general se puede abordar mediante un procedimiento análogo (consistencia en hiperarcos). Un conjunto de restricciones binarias define un grafo de restricciones en el cual los nodos son las variables con sus dominios y existe un arco (i,j) siempre que haya una restricción binaria C que afecta a las variables Xi y Xj. Al aplicar un algoritmo de consistencia en arcos, se comienza considerando el grafo con todos los dominios completos. En cada paso se intenta eliminar algún elemento de algún dominio. En efecto, si existe una restricción C que Apuntes IAlC 25/26 III.9 Dpto. Leng.Ciencias Comp., Univ.Málaga
10 afecta a las variables Xi y Xj con un conjunto de asignaciones permitidas V, y el valor vk Di es tal que para ningún elemento vm Dj se tiene (vk, vm) V, entonces podremos eliminar vk de Di, ya que no puede formar parte de ninguna solución. En el mejor de los casos, la búsqueda en árbol no será necesaria pues los dominios quedarán reducidos de forma que su producto cartesiano genere todas las soluciones, y precisamente éstas. Si no es así, al menos se habrá reducido el tamaño original de los dominios, y la búsqueda será más sencilla. 1, 2, 3 X1 X3 x1<x2 X2 1, 2, 3 1, 2 X1 X3 x1<x2 X2 1, 2, 3 1, 2, 3 x2<x3 1, 2, 3 x2<x3 1, 2 X1 X3 x1<x2 X2 2, 3 1 X1 X3 x1<x2 X2 2, 3 1, 2, 3 x2<x3 3 x2<x3 1 X1 X3 x1<x2 2 X2 3 x2<x3 Figura 4. Aclaremos el procedimiento aplicándolo al ejemplo anterior (figura 4). Representaremos cada dominio por una caja en cuyo interior figuren todos los posibles valores. Comenzamos llenando cada caja con todos los elementos del dominio. Consideremos el arco (1,2); el valor 3 de X1 es incompatible con todos los valores de X2, pues es 3<1, 3<2, 3<3. Por tanto, eliminamos el valor 3 de la caja de X1. De la misma forma, considerando el mismo arco en sentido contrario, el valor 1 de X2 es incompatible con todos los valores de X1, por lo que se puede eliminar. Considerando de nuevo el arco (1,2) vemos que el valor 2 de X1 es incompatible con los valores que quedan en X2, así que también lo eliminamos. Por otra parte, si atendemos al arco (2,3) en sentido inverso, los valores 1 y 2 de X3 son incompatibles con los valores de X2. Por último, observamos que el valor 2 de X2 es incompatible con el único valor que queda en X3. El procesamiento ha acabado y la única solución es la que queda en el grafo: (X1 1), (X2 2), (X3 3). Nótese que no hemos definido por completo un algoritmo, pues no se ha dicho el orden en que se realizan las comprobaciones ni el paso en el que dejan de realizarse. Una posibilidad es la siguiente: Llamemos Q al conjunto de pares (r,s) tales que existe una restricción C que afecta a [Xr, Xs] (lógicamente tambien pertenecerá a Q el par (s, r) si exite restricción que afecte a [Xs, Xr]). Para cada elemento (r,s) Q llamemos Vrs al conjunto de pares (v,w) que satisfacen la restricción correspondiente al arco C. Apuntes IAlC 25/26 III.1 Dpto. Leng.Ciencias Comp., Univ.Málaga
11 ALGORITMO AC DE CONSISTENCIA DE ARCOS. repetir cambio falso para todo arco (i,j) Q para todo valor v Di eliminación verdadero; para todo w Dj si (v,w) Vij eliminación falso; salir para-todo w fin-si fin-para todo; si eliminación Di Di - {v}; cambio verdadero; fin-si fin-para todo fin-para todo hasta que cambio = falso Prop. El algoritmo AC termina. Efectivamente, se parte de conjuntos finitos de valores en un conjunto finito de dominios. En cada ejecución del ciclo repetir (única fuente posible de no terminación) se eliminan uno o más valores, salvo en la última, donde no se elimina ninguno. Por tanto, el ciclo repetir se ejecutará a lo sumo un número de veces igual al producto de los cardinales de cada dominio inicial. Cuando se alcanza la condición de terminación, para todo valor v de un dominio D y para todo dominio D conectado con D, existe al menos un valor w D tal que (v,w) satisface la restricción correspondiente al arco. Esta condición es la denominada 2-consistencia o consistencia en arcos. Prop. Si el grafo de restricciones es un árbol, y las variables se enumeran según el preorden del árbol, y los dominios son 2-consistentes, entonces la llamada inicial al algoritmo RA no produce ninguna llamada improductiva. Dem: se omite. EJEMPLO: Sean tres subconjuntos de N, X={5, 2, 4, 6}, Y={2, 4, 6, 1}, Z={5, 2, 4, 6}. Se pide escoger un número de cada conjunto de forma que el número escogido de Z divida tanto al escogido de X como al escogido de Y. El grafo de restricciones puede representarse por un árbol, por ejemplo 5, 2, 4, 6 X Z 5, 2, 4, 6 2, 4, 6, 1 Y El preorden del árbol considerado es (Z, X, Y). Aplicando el procedimiento AC comprobamos que el grafo es 2-consistente. Por tanto, si realizamos una búsqueda comenzando las asignaciones por la variable Z, el árbol generado no tendrá nodos improductivos: Apuntes IAlC 25/26 III.11 Dpto. Leng.Ciencias Comp., Univ.Málaga
12 Z= X= Y= Por el contrario, si realizamos la búsqueda con la ordenación (X, Y, Z), que no corresponde a ningún preorden del grafo de restricciones, el árbol tiene nodos improductivos: X= Y= Z= Existen otros algoritmos que no realizan todas las comprobaciones que efectúa AC (algoritmos de retroceso con precomprobación y de retroceso con previsión parcial). También los hay que realizan más comprobaciones (algoritmos de k-consistencia). Apuntes IAlC 25/26 III.12 Dpto. Leng.Ciencias Comp., Univ.Málaga
13 III.3.2. Búsquedas heurísticas con retroceso: IDA* El algoritmo IDA* (Iterative Deepening A* - A* con Profundización Iterativa) es un algoritmo de búsqueda con retroceso que admite el mismo tipo de información heurística que el algoritmo de búsqueda con árbol A*. Consideremos un grafo G cuya raíz s representa el estado inicial de un problema de búsqueda. El algoritmo A* con profundización progresiva IDA* se puede enunciar como sigue: PROCEDIMIENTO IDA* poda f(s); sig-poda ; Camino [s]; REPETIR si Camino=[] y sig-poda = devolver('fracaso') en otro casi si Camino=[] poda sig-poda; empezar de nuevo; en otro caso si f(último(camino)) > poda actualizar sig-poda; retroceder; en otro caso si último(camino) Objetivos devolver(camino); en otro caso si otros-sucesores(último(camino))=[] retroceder; en otro caso avanzar; HASTA QUE FALSO. donde avanzar y retroceder tienen el significado habitual de la búsqueda con retroceso; empezar de nuevo supone volver al nodo inicial y emprender una nueva búsqueda con una nueva cota (sig-poda) para la poda; y sig-poda se va tomando como el menor de los valores encontrados que superan la actual cota de poda. Es decir, primero se exploran todos los caminos de coste hasta f(s); si ninguno lleva a un estado objetivo, se exploran los de coste c menor o igual que el menor de los costes anteriormente hallados que rebasaban la anterior cota de coste; y así hasta encontrar algún estado objetivo. Nótese que los nodos generados en un ciclo de profundización no se almacenan; en cada ciclo se vuelven a generar los nodos anteriormente generados. A diferencia del algoritmo A*, IDA* no mantiene las listas CERRADOS y ABIERTOS, ya que realiza una búsqueda con retroceso. Propiedades Prop. Admisibilidad. Si hay una solución y la función h(n) es una estimación optimista de h*(n), el algoritmo IDA* acaba y encuentra una solución de mínimo coste. Demostración. La cota de poda inicial es h(s) h*(s)=f*(s)=c*. Además, en cada nuevo ciclo de búsqueda la cota de poda es el mínimo valor que excedió la anterior cota, y siempre algún nodo n que yace en el camino solución tiene f(n) C*. Por tanto, la cota de poda llegará a ser exactamente C*, y en el correpondiente ciclo de búsqueda se encontrará un camino con coste C*. Prop. El número máximo Nm de nodos mantenidos en memoria simultáneamente por IDA* en función del coste óptimo C* y del coste mínimo de un arco c es de la forma O(C*/c). Llamemos factor de ramificación heurístico de un problema al factor B correspondiente a la aplicación de A* a dicho problema. Prop. Si el factor de ramificación heurístico es mayor que 1 y el espacio de estados es un árbol, entonces cuando crece la longitud de la solución el número de nodos generados por IDA* tiende asintóticamente al número de nodos generados por A*. Demostración. En el peor caso, el último ciclo de búsqueda de IDA* expande los mismos nodos que A*. Si el espacio es un árbol, cada nodo se expande a lo sumo una vez. Por otra parte, un argumento análogo al del algoritmo BID muestra que los nodos expandidos por IDA* en anteriores ciclos de búsqueda no afectan al valor asintótico del número total de nodos expandidos. Apuntes IAlC 25/26 III.13 Dpto. Leng.Ciencias Comp., Univ.Málaga
14 EJEMPLO. Sea el grafo de la figura 2. El estado inicial es el, el objetivo el 5, los costes de los arcos son los indicados. La función h toma los valores h()=2, h(1)=1, h(2)=1, h(3)=2, h(4)=1, h(5)=. 1 3, , , La aplicación de IDA* genera los caminos: Figura 2. poda= f()=2; f()=2 f(1)=2 f()=4 sig-poda se actualiza a 4. 2 f(2)=2,5 sig-poda se actualiza a 2,5. 3 f(3)=4 4 f(4)=5,4 2 f(2)=4 poda=2,5 f()=2 f(1)=2 f()=4 sig-poda se actualiza a 4. 2 f(2)=2,5 24 f(4)=4, f(5)=2,5 solución. Apuntes IAlC 25/26 III.14 Dpto. Leng.Ciencias Comp., Univ.Málaga
Resolución de Problemas
Introducción Resolución de Problemas La resolución de problemas es una capacidad que consideramos inteligente Somos capaces de resolver problemas muy diferentes Encontrar el camino en un laberinto Resolver
Más detallesRestricciones. Inteligencia Artificial. Ingeniería Superior en Informática, 4º Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani
Restricciones Ingeniería Superior en Informática, 4º Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani 1 Tema 2: Agentes basados en Búsqueda Resumen: 2. Agentes basados en búsqueda
Más detallesBúsqueda heurística Prof. Constantino Malagón
Búsqueda heurística Prof. Constantino Malagón Area de Computación e Inteligencia Artificial 1 Búsqueda heurística Los métodos de búsqueda heurística disponen de alguna información sobre la proximidad de
Más detallesÁrboles. Cursos Propedéuticos 2015. Dr. René Cumplido M. en C. Luis Rodríguez Flores
Árboles Cursos Propedéuticos 2015 Dr. René Cumplido M. en C. Luis Rodríguez Flores Contenido de la sección Introducción Árbol genérico Definición y representación Árboles binarios Definición, implementación,
Más detallesDivisibilidad y números primos
Divisibilidad y números primos Divisibilidad En muchos problemas es necesario saber si el reparto de varios elementos en diferentes grupos se puede hacer equitativamente, es decir, si el número de elementos
Más detallesEstructuras de Datos. Montículos. Montículos. Montículos. Tema 3. Montículos. Definiciones básicas: Definiciones básicas:
Estructuras de Datos Tema. 1. Definiciones básicas 2. Implementación. Operaciones con montículos 4. Definiciones básicas: En un árbol binario completo todos los niveles del árbol (excepto tal vez el último)
Más detallesTema 3. Espacios vectoriales
Tema 3. Espacios vectoriales Estructura del tema. Definición y propiedades. Ejemplos. Dependencia e independencia lineal. Conceptos de base y dimensión. Coordenadas Subespacios vectoriales. 0.1. Definición
Más detallesTema 2. Espacios Vectoriales. 2.1. Introducción
Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por
Más detallesAmpliación de Estructuras de Datos
Ampliación de Estructuras de Datos Amalia Duch Barcelona, marzo de 2007 Índice 1. Diccionarios implementados con árboles binarios de búsqueda 1 2. TAD Cola de Prioridad 4 3. Heapsort 8 1. Diccionarios
Más detallesGRAFOS. Prof. Ing. M.Sc. Fulbia Torres
ESTRUCTURAS DE DATOS 2006 Prof. DEFINICIÓN Un grafo consta de un conjunto de nodos(o vértices) y un conjunto de arcos (o aristas). Cada arco de un grafo se especifica mediante un par de nodos. Denotemos
Más detallesÁrboles AVL. Laboratorio de Programación II
Árboles AVL Laboratorio de Programación II Definición Un árbol AVL es un árbol binario de búsqueda que cumple con la condición de que la diferencia entre las alturas de los subárboles de cada uno de sus
Más detallesárbol como un conjunto de nodos y líneas
ÁRBOLES CAPÍTULO 6 ÁRBOLES Desde el punto de vista conceptual, un árbol es un objeto que comienza con una raíz (root) y se extiende en varias ramificaciones o líneas (edges), cada una de las cuales puede
Más detallesIngeniería en Informática
Departamento de Informática Universidad Carlos III de Madrid Ingeniería en Informática Aprendizaje Automático Junio 2007 Normas generales del examen El tiempo para realizar el examen es de 3 horas No se
Más detallesFundamentos de Investigación de Operaciones Investigación de Operaciones 1
Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 1 de agosto de 2003 1. Introducción Cualquier modelo de una situación es una simplificación de la situación real. Por lo tanto,
Más detallesESTRUCTURAS ALGEBRAICAS 1
ESTRUCTURAS ALGEBRAICAS Se da la relación entre dos conjuntos mediante el siguiente diagrama: (, ) (2, 3) (, 4) (, 2) (7, 8) (, ) (3, 3) (5, ) (6, ) (, 6)........ 5 6......... 2 5 i) Observa la correspondencia
Más detallesProblemas Resueltos del Tema 1
Tema 1. Probabilidad. 1 Problemas Resueltos del Tema 1 1- Un estudiante responde al azar a dos preguntas de verdadero o falso. Escriba el espacio muestral de este experimento aleatorio.. El espacio muestral
Más detallesEstructuras de datos: Árboles binarios de
Estructuras de datos: Árboles binarios de búsqueda, Dep. de Computación - Fac. de Informática Universidad de A Coruña Santiago Jorge santiago.jorge@udc.es Árboles binarios de búsqueda, Table of Contents
Más detallesMatrices equivalentes. El método de Gauss
Matrices equivalentes. El método de Gauss Dada una matriz A cualquiera decimos que B es equivalente a A si podemos transformar A en B mediante una combinación de las siguientes operaciones: Multiplicar
Más detallesBASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.
BASES Y DIMENSIÓN Definición: Base. Se llama base de un espacio (o subespacio) vectorial a un sistema generador de dicho espacio o subespacio, que sea a la vez linealmente independiente. β Propiedades
Más detallesEJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO
EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO 1º) Considérese un número estrictamente positivo del sistema de números máquina F(s+1, m, M, 10). Supongamos que tal número es: z = 0.d 1 d...d s 10 e Responde
Más detallesApuntes de Matemática Discreta 9. Funciones
Apuntes de Matemática Discreta 9. Funciones Francisco José González Gutiérrez Cádiz, Octubre de 004 Universidad de Cádiz Departamento de Matemáticas ii Lección 9 Funciones Contenido 9.1 Definiciones y
Más detallesTema 3: Problemas de Satisfacción de Restricciones
Tema 3: Problemas de Satisfacción de Restricciones Universidad de Granada Tema 3: Satisfacción de Restricciones Contenido Problemas de satisfacción de restricciones Métodos de búsqueda Búsqueda local para
Más detallesRelaciones entre conjuntos
Relaciones entre conjuntos Parejas ordenadas El orden de los elementos en un conjunto de dos elementos no interesa, por ejemplo: {3, 5} = {5, 3} Por otra parte, una pareja ordenada consiste en dos elementos,
Más detallesCapítulo 1. MANUAL DE USUARIO
Capítulo 1. MANUAL DE USUARIO 1.1 SUCESIONES GRÁFICAS Lo primero que se hará es mostrar la pantalla que se encontrará el usuario cuando ejecute la aplicación, indicando las zonas en las que se divide esta:
Más detallesEcuaciones de primer grado con dos incógnitas
Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad
Más detallesMétodos Heurísticos en Inteligencia Artificial
Métodos Heurísticos en Inteligencia Artificial Javier Ramírez rez-rodríguez Ana Lilia Laureano-Cruces Universidad Autónoma Metropolitana Métodos Heurísticos en Inteligencia Artificial Los problemas de
Más detallesDEFINICION. Ing. M.Sc. Fulbia Torres Asignatura: Estructuras de Datos Barquisimeto 2006
ARBOLES ESTRUCTURAS DE DATOS 2006 DEFINICION Un árbol (tree) es un conjunto finito de nodos. Es una estructura jerárquica aplicable sobre una colección de elementos u objetos llamados nodos; uno de los
Más detallesSatisfacción de Restricciones
Satisfacción de Restricciones Introducción Componentes del estado: Variables Dominios (valores posibles para las variables) Restricciones binarias entre las variables Objetivo: Encontrar un estado que
Más detallesTABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.
TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.
Más detallesCómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1
. ESPACIOS VECTORIALES Consideremos el siguiente subconjunto de R 4 : S = {(x, x 2, x 3, x 4 )/x x 4 = 0 x 2 x 4 = x 3 a. Comprobar que S es subespacio vectorial de R 4. Para demostrar que S es un subespacio
Más detallesResumen de técnicas para resolver problemas de programación entera. 15.053 Martes, 9 de abril. Enumeración. Un árbol de enumeración
5053 Martes, 9 de abril Ramificación y acotamiento () Entregas: material de clase Resumen de técnicas para resolver problemas de programación entera Técnicas de enumeración Enumeración completa hace una
Más detallesCapítulo 6. ÁRBOLES.
67 Capítulo 6. ÁRBOLES. 6.1 Árboles binarios. Un árbol binario es un conjunto finito de elementos, el cual está vacío o dividido en tres subconjuntos separados: El primer subconjunto contiene un elemento
Más detallesSistemas de numeración
Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan
Más detallesComplejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III
Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen
Más detallesUn grafo G es un par (V,E) donde V es un conjunto (llamado conjunto de vértices) y E un subconjunto de VxV (conjunto de aristas).
TEMA 5.- GRAFOS 5.1.- DEFINICIONES BÁSICAS Un grafo G es un par (V,E) donde V es un conjunto (llamado conjunto de vértices) y E un subconjunto de VxV (conjunto de aristas). Gráficamente representaremos
Más detallesTecnólogo Informático- Estructuras de Datos y Algoritmos- 2009
Árboles Ejemplos de estructuras arborescentes: con forma de árbol Regla de Alcance: los objetos visibles en un procedimiento son aquellos declarados en él mismo o en cualquier ancestro de él (cualquier
Más detallesEstas visiones de la información, denominadas vistas, se pueden identificar de varias formas.
El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los
Más detalles3. Modelo relacional: Estructura e integridad.
Modelo relacional: Estructura e integridad 47 3. Modelo relacional: Estructura e integridad. 3.1. Introducción. El modelo de datos relacional es posterior a los modelos jerárquicos y de red. Nació como
Más detallesCapítulo 12: Indexación y asociación
Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación
Más detallesTecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014
Tecnologías en la Educación Matemática jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR 1 Datos Los algoritmos combinan datos con acciones. Los datos de entrada
Más detallesDETERMINACIÓN DEL VOLUMEN DE PEDIDO.
Lote económico de compra o Lote Optimo DETERMINACIÓN DEL VOLUMEN DE PEDIDO. Concepto que vemos en casi todos libros de aprovisionamiento, habitualmente la decisión de la cantidad a reaprovisionar en las
Más detallesFunción exponencial y Logaritmos
Eje temático: Álgebra y funciones Contenidos: Función exponencial y Logaritmos Nivel: 4 Medio Función exponencial y Logaritmos 1. Funciones exponenciales Existen numerosos fenómenos que se rigen por leyes
Más detallesNota 2. Luis Sierra. Marzo del 2010
Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones
Más detallesIntroducción a los Autómatas Finitos
Teoría de Introducción a los Un modelo de Computación. Universidad de Cantabria Esquema Introducción Teoría de 1 Introducción 2 Teoría de 3 4 5 El Problema Introducción Teoría de Nuestro objetivo en este
Más detallesRegistro (record): es la unidad básica de acceso y manipulación de la base de datos.
UNIDAD II 1. Modelos de Bases de Datos. Modelo de Red. Representan las entidades en forma de nodos de un grafo y las asociaciones o interrelaciones entre estas, mediante los arcos que unen a dichos nodos.
Más detallesFundamentos de Investigación de Operaciones Asignación y Vendedor Viajero
Fundamentos de Investigación de Operaciones y Vendedor Viajero 23 de mayo de 2004 Si bien la resolución del problema de transporte mediante tableau parece ser muy expedita, existen ciertos tipos de problemas
Más detallesSubespacios vectoriales en R n
Subespacios vectoriales en R n Víctor Domínguez Octubre 2011 1. Introducción Con estas notas resumimos los conceptos fundamentales del tema 3 que, en pocas palabras, se puede resumir en técnicas de manejo
Más detalles1. SOLUCIONES A LOS EJERCICIOS PROPUESTOS
1 1. SOLUCIONES A LOS EJERCICIOS PROPUESTOS 1.1. ESPACIOS VECTORIALES 1. Analizar cuáles de los siguientes subconjuntos de R 3 son subespacios vectoriales. a) A = {(2x, x, 7x)/x R} El conjunto A es una
Más detallesRestricciones sobre dominios finitos con Gprolog
Autores: Rubén García Portal Nikolai Smirnov Restricciones sobre dominios finitos con Gprolog Introducción. Este documento explicará brevemente las funciones que se utilizan en Gprolog para resolución
Más detallesMANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA. Perfil Entidad Proveedora
MANUAL DE USUARIO DE LA APLICACIÓN DE ACREDITACION DE ACTIVIDADES DE FORMACION CONTINUADA Perfil Entidad Proveedora El objetivo del módulo de Gestión de Solicitudes vía Internet es facilitar el trabajo
Más detallesUniversidad Nacional de Quilmes Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Agosto de 2005
Extracción de Frontera (Boundary Extraction) La frontera de un conjunto A, escrita como β(a), se puede obtener erosionando A por B y luego calcular la diferencia entre A y su erosión. Esto es β ( A) =
Más detallesUna (muy) breve introducción a la teoría de la computación
Una (muy) breve introducción a la teoría de la computación Marcelo Arenas M. Arenas Una (muy) breve introducción a la teoría de la computación 1 / 48 Ciencia de la computación Cuál es el objeto de estudio
Más detallesJuan Antonio González Mota Profesor de Matemáticas del Colegio Juan XIII Zaidín de Granada
FUNCIONES CONTINUAS. La mayor parte de las funciones que manejamos, a nivel elemental, presentan en sus gráficas una propiedad característica que es la continuidad. La continuidad de una función definida
Más detallesLa nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx
La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx Resumen Se dan algunas definiciones básicas relacionadas con la divisibilidad
Más detallesOperaciones Morfológicas en Imágenes Binarias
Operaciones Morfológicas en Imágenes Binarias Introducción La morfología matemática es una herramienta muy utilizada en el procesamiento de i- mágenes. Las operaciones morfológicas pueden simplificar los
Más detallesSubconjuntos destacados en la
2 Subconjuntos destacados en la topología métrica En este capítulo, introducimos una serie de conceptos ligados a los puntos y a conjuntos que por el importante papel que juegan en la topología métrica,
Más detallesforma de entrenar a la nuerona en su aprendizaje.
Sistemas expertos e Inteligencia Artificial,Guía5 1 Facultad : Ingeniería Escuela : Computación Asignatura: Sistemas expertos e Inteligencia Artificial Tema: SISTEMAS BASADOS EN CONOCIMIENTO. Objetivo
Más detallesEstructuras de Datos y Algoritmos. Árboles de Expresión
Estructuras de Datos y Algoritmos Árboles de Expresión Año 2014 Introducción Los avances tecnológicos producen día a día una gran cantidad de información que debe ser almacenada y procesada en forma eficiente.
Más detallesTEMA 9: EFECTOS COMERCIALES A COBRAR
TEMA 9: EFECTOS COMERCIALES A COBRAR 1- LOS EFECTOS COMERCIALES A COBRAR 2- LOS EFECTOS COMERCIALES EN CARTERA 3- EL DESCUENTO DE EFECTOS 4- LOS EFECTOS COMERCIALES EN GESTIÓN DE COBRO 5- LOS EFECTOS COMERCIALES
Más detallesSOLUCIÓN CASO GESTIÓN DE PERSONAL I
SOLUCIÓN CASO GESTIÓN DE PERSONAL I Empezaremos abriendo un nuevo libro de trabajo que podemos guardar como Nóminas e introducimos los datos que nos proporciona el enunciado relativos a coste por hora
Más detallesH E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS
H E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS Una situación que se nos plantea algunas veces es la de resolver un problema hacia atrás, esto es, encontrar
Más detalles1.4.- D E S I G U A L D A D E S
1.4.- D E S I G U A L D A D E S OBJETIVO: Que el alumno conozca y maneje las reglas empleadas en la resolución de desigualdades y las use para determinar el conjunto solución de una desigualdad dada y
Más detallesTablas. Estas serán las tablas que usaremos en la mayoría de ejemplos. Empleado
Álgebra Relacional Un álgebra es un sistema matemático constituido por Operandos: objetos (valores o variables) desde los cuales nuevos objetos pueden ser construidos. Operadores: símbolos que denotan
Más detallesIngeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007
Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el
Más detallesAnalisis de algoritmos
Analisis de algoritmos Eficiencia Es la capacidad de disponer de un recurso. En el caso de los algoritmos, la eficiencia se logra haciendo el mejor uso posible de los recursos del sistema. Recursos Qué
Más detallesProblemas de satisfacción de restricciones.
Problemas de satisfacción de restricciones. In whitch we see how treating states as more than just little black boxes leads to the invention of a range of powerful new search methods and a deeper understanding
Más detallesEs de aplicación a todas aquellas situaciones en las que se necesita desplegar un objetivo para obtener una visión clara de cómo debe ser alcanzado.
DIAGRAMA DE AÁRBOL 1.- INTRODUCCIÓN Este documento describe el proceso de construcción de un Diagrama de Árbol, mediante el cual se dispone de una metodología simple y sistemática para la identificación
Más detallesCURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES
INECUACIONES NOTA IMPORTANTE: El signo de desigualdad de una inecuación puede ser,, < o >. Para las cuestiones teóricas que se desarrollan en esta unidad únicamente se utilizará la desigualdad >, siendo
Más detallesArboles Binarios de Búsqueda
Arboles Binarios de Búsqueda Algoritmos y Estructuras de Datos Departamento de Electricidad y Electrónica (UPV/EHU) Arboles Binarios de Búsqueda p.1/52 Arboles Binarios Arbol binario: árbol ordenado de
Más detallesGrupos. Subgrupos. Teorema de Lagrange. Operaciones.
1 Tema 1.-. Grupos. Subgrupos. Teorema de Lagrange. Operaciones. 1.1. Primeras definiciones Definición 1.1.1. Una operación binaria en un conjunto A es una aplicación α : A A A. En un lenguaje más coloquial
Más detalles4.Diseño de Bases de Datos (I)
4.Diseño de Bases de Datos (I) 4.1 Anomalías. Se denominan así en teoría de Bases de Datos a ciertos problemas que aparecen con frecuencia en el manejo de las mismas cuando el diseño no ha sido realizado
Más detallesEcuaciones Diferenciales Tema 2. Trasformada de Laplace
Ecuaciones Diferenciales Tema 2. Trasformada de Laplace Ester Simó Mezquita Matemática Aplicada IV 1 1. Transformada de Laplace de una función admisible 2. Propiedades básicas de la transformada de Laplace
Más detallesBase de datos en Excel
Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de
Más detallesE 1 E 2 E 2 E 3 E 4 E 5 2E 4
Problemas resueltos de Espacios Vectoriales: 1- Para cada uno de los conjuntos de vectores que se dan a continuación estudia si son linealmente independientes, sistema generador o base: a) (2, 1, 1, 1),
Más detallesMODELOS DE RECUPERACION
RECUPERACIÓN Y ORGANIZACIÓN DE LA INFORMACIÓN INGENIERÍA INFORMÁTICA RECUPERACIÓN Y ACCESO A LA INFORMACIÓN MODELOS DE RECUPERACION AUTOR: Rubén García Broncano NIA 100065530 grupo 81 1 INDICE 1- INTRODUCCIÓN
Más detalles1 Agencia de viajes: enunciado
1 AGENCIA DE VIAJES: ENUNCIADO 1 1 Agencia de viajes: enunciado Una agencia de viajes mantiene una base de datos con exactamente N clientes y M destinos turísticos. En una situación real, estos valores
Más detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesProyecto Unico Interpretador de SetCalc
Universidad Simón Bolívar Dpto. de Computación y Tecnología de la Información CI3721 - Traductores e Interpretadores Abril-Julio 2008 Proyecto Unico Interpretador de SetCalc A continuación se describe
Más detallesGUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS
ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia
Más detallesProgramación Genética
Programación Genética Programación Genética consiste en la evolución automática de programas usando ideas basadas en la selección natural (Darwin). No sólo se ha utilizado para generar programas, sino
Más detallesEJERCICIOS DE FUNCIONES REALES
EJERCICIOS DE FUNCIONES REALES.- La ley que relaciona el valor del área de un cuadrado con la longitud de su lado es una función. Sabemos que la epresión que nos relacionas ambas variables es. Observa
Más detallesANÁLISIS DE DATOS NO NUMERICOS
ANÁLISIS DE DATOS NO NUMERICOS ESCALAS DE MEDIDA CATEGORICAS Jorge Galbiati Riesco Los datos categóricos son datos que provienen de resultados de experimentos en que sus resultados se miden en escalas
Más detallesAlgoritmos sobre Grafos
Sexta Sesión 27 de febrero de 2010 Contenido Deniciones 1 Deniciones 2 3 4 Deniciones sobre Grafos Par de una lista de nodos y una lista de enlaces, denidos a su vez como pares del conjunto de nodos.
Más detallesLÍMITES Y CONTINUIDAD DE FUNCIONES
Capítulo 9 LÍMITES Y CONTINUIDAD DE FUNCIONES 9.. Introducción El concepto de ite en Matemáticas tiene el sentido de lugar hacia el que se dirige una función en un determinado punto o en el infinito. Veamos
Más detallesHoja de Problemas Tema 6 Búsqueda con estados estructurados: Restricciones
Ejercicio 1: 1.1. Si se resuelve un problema de satisfacción de restricciones mediante búsqueda con asignaciones parciales, entonces (a) (b) (c) (d) (e) Un estado siempre asigna un valor a todas las variables
Más detallesy los conos serán todos los diagramas (acá usamos la palabra en el sentido habitual, no en el que acabamos de definir) de la forma
(Novena clase: Límites y colímites) Las definiciones de obeto terminal, producto binario, ecualizador y pullback, son casos particulares de un concepto general, llamado límite, que presentaremos a continuación.
Más detallesPrimer Parcial de Programación 3 (1/10/2009)
Primer Parcial de Programación (/0/009) Instituto de Computación, Facultad de Ingeniería Este parcial dura horas y contiene carillas. El total de puntos es 0. En los enunciados llamamos C* a la extensión
Más detalles3. Consideremos el puzzle-8 descrito en clase y sea el estado objetivo, como de costumbre,
E.T.S.I. INFORMÁTICA 4º CURSO. INTELIGENCIA ARTIFICIAL. UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y Ciencias de la Computación RELACIÓN DE PROLEMAS. ÚSQUEDAS CON ÁROL.. Un móvil puede situarse en los nodos
Más detallesDOMINIO Y RANGO página 89. Cuando se grafica una función existen las siguientes posibilidades:
DOMINIO Y RANGO página 89 3. CONCEPTOS Y DEFINICIONES Cuando se grafica una función eisten las siguientes posibilidades: a) Que la gráfica ocupe todo el plano horizontalmente (sobre el eje de las ). b)
Más detallesSistemas de producción y búsqueda de soluciones. Area de Computación e Inteligencia Artificial 1
Sistemas de producción y búsqueda de soluciones Area de Computación e Inteligencia Artificial 1 Técnicas de búsqueda Resolución de problemas en Inteligencia Artificial. En general, podemos afirmar que
Más detallesUn problema sobre repetidas apuestas al azar
Un problema sobre repetidas apuestas al azar Eleonora Catsigeras 1 10 de marzo de 2003. Resumen En estas notas se da el enunciado y una demostración de un conocido resultado sobre la probabilidad de éxito
Más detallesDefinición 2.1.1. Se llama suceso aleatorio a cualquier subconjunto del espacio muestral.
Capítulo 2 Probabilidades 2. Definición y propiedades Al realizar un experimento aleatorio nuestro interés es obtener información sobre las leyes que rigen el fenómeno sometido a estudio. El punto de partida
Más detallesMarch 25, 2010 CAPÍTULO 2: LÍMITES Y CONTINUIDAD DE FUNCIONES EN EL ESPACIO EUCLÍDEO
March 25, 2010 CAPÍTULO 2: LÍMITE Y CONTINUIDAD DE FUNCIONE EN EL EPACIO EUCLÍDEO 1. Producto Escalar en R n Definición 1.1. Dado x = (x 1,..., x n ), y = (y 1,..., y n ) R n, su producto escalar está
Más detallesNormalización. El diseño que hemos recibido está compuesto de estas dos relaciones:
Normalización 1. Introducción Nuestro departamento de informática ha recibido el encargo de diseñar una base de datos para llevar el control de las piezas, proveedores y proyectos que realiza nuestra empresa.
Más detallesNúmeros Reales. MathCon c 2007-2009
Números Reales z x y MathCon c 2007-2009 Contenido 1. Introducción 2 1.1. Propiedades básicas de los números naturales....................... 2 1.2. Propiedades básicas de los números enteros........................
Más detalles1. Producto escalar, métrica y norma asociada
1. asociada Consideramos el espacio vectorial R n sobre el cuerpo R; escribimos los vectores o puntos de R n, indistintamente, como x = (x 1,..., x n ) = n x i e i i=1 donde e i son los vectores de la
Más detallesCon esta nueva versión, si un artículo que está incluido dentro de un Paquete de Ventas tiene precio 0,00, significará gratis.
NOVEDADES Y MEJORAS Continuando con nuestra política de mejora, innovación y desarrollo, le presentamos la nueva versión 9.50 de datahotel que se enriquece con nuevas funcionalidades que aportan soluciones
Más detallesInstrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A)
aprenderaprogramar.com Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A) Sección: Cursos Categoría: Curso Bases de la programación
Más detallesSINAUTO. (Captura Requirimientos) GRUPO 03
SINAUTO (Captura Requirimientos) GRUPO 03 Iker Jauregi ikerjauregivicente@hotmail.com Iñigo Arregui bateman2012@gmail.com Javier Arce arcjav@hotmail.com Jorge García. jgfand@gmail.com Patxi Campos.patxi948@wanadoo.es
Más detalles