SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Introducción a los Algoritmos de Planning
Práctico Nro. 1

18 de Septiembre de 2008
Alumno: Martín Ignacio Pacheco
Lib.: 245214

1
Ejercicios
5. Dada la situación graficada a continuación, donde XX2 es una variable sin instanciar, y el
siguiente orden de acciones:
O = {EF > Accion3; Accion3 > Accion2; Accion3 > Accion1; Accion2 > EI; Accion1 > EI}

A๐
ss(a,h) ss(b), ss(a), ss(b,m)

ss(a,h), ss(b) ss(a)

ss(a), ss(XX2,Y) ss(XX2)

A2

A1

pe(b) not(ss(a)) algo(h)

pe(a) not(ss(XX2)) algo(Y)

pe(a) pe(b) unomas(a,XX1)
A3

predicado(a,b), not(pe(a)), not(pe(b))

predicado(a,b)
A∞
a. ¿Existen enlaces en peligro en el grafo de planning planteado? En caso afirmativo
indique como los resolvería.
2
Para verificar la existencia de una amenaza en el grafo de planning planteado, realizo el
algoritmo UCPOP con los datos respectivos, es decir que se agregaran solo los links que
posee el gráfico. De esta manera veo con que posibles valores se instancia la variable
XX2 y si ello o algunos de los links me produce un conflicto.
Entonces para el algoritmo mencionado tendré los siguientes datos (<A, O, L, B>,
agenda, actions), con A= {A๐, A∞}, O= {A∞ > A3; A3 > A2; A3 > A1; A2 > A๐; A1 >
A๐}, L= {}, B= {}, Agenda= {<predicado(a, b), A∞>} y Actions= {A1, A2, A3}).
El seguimiento del algoritmo es el siguiente:
1. Selecciono de la agenda <predicado(a, b), A∞>.
2. Elijo una acción del conjunto Actions que unifique con la dos-tupla elegida en el
paso anterior, en este caso seria A3.
Actualizo:
- L’= L U {A3—(predicado(a, b))—> A∞}
- O queda igual ya que la restricción de orden esta incluida.
- A’= A U {A3}
- Actions’= Actions – {A3}
- B’= B U {XX1= sin valor}
- Agenda’= Agenda – {<predicado(a, b), A∞>} U {<pe(a), A3>,
<pe(b), A3>, <unosmas(a,XX1), A3>}
3. Verifico los links causales y ninguno hasta ahora presenta una amenaza.
4. Hago la invocación recursiva con (<A’,O, L’, B’>, Agenda’, Actions’).
5. Selecciono de la agenda <pe(a), A3>.
6. Elijo una acción del conjunto Actions que unifique con la dos-tupla elegida en el
paso anterior, en este caso seria A1.
Actualizo:
- L’= L U {A1—(pe(a))—> A3}
- O queda igual ya que la restricción de orden esta incluida.
- A’= A U {A1}
- Actions’= Actions – {A1}
- B’= B U {XX2= sin valor, Y= sin valor}
- Agenda’= Agenda – {<pe(a), A3>} U {<ss(a), A1>,
<ss(XX2,Y), A1>, <ss(XX2), A1>}
7. Verifico los links causales y ninguno hasta ahora presenta una amenaza.
8. Hago la invocación recursiva con (<A’,O, L’, B’>, Agenda’, Actions’).
9. Selecciono de la agenda <ss(a), A1>.
10. Elijo una acción del conjunto A (es en el primer conjuntos que me fijo antes de pasar
a mirar en el conjunto Actions) que unifique con la dos-tupla elegida en el paso
anterior, en este caso seria A๐.
Actualizo:
- L’= L U {A0—(ss(a))—> A1}
- O queda igual ya que la restricción de orden esta incluida.
- A queda igual ya que la acción esta incluida.
- Actions queda igual ya que no buscamos ninguna acción en ella.
- B queda igual ya que no tengo nuevas variables y ni tampoco se
les modifica el valor a ninguna.
3
- Agenda’= Agenda – {<ss(a), A1>}
11. Verifico los links causales y ninguno hasta ahora presenta una amenaza.
12. Hago la invocación recursiva con (<A,O, L’, B>, Agenda’, Actions).
13. Selecciono de la agenda <pe(b), A3>.
14. Nuevamente busco una acción que me unifique esta pre-condicion, en el conjunto A
no encuentro ninguno, entonces busco en el conjunto Acctions y encuentro la acción
A2.
Actualizo:
- L’= L U {A2—(pe(b))—> A3}
- O queda igual ya que la restricción de orden esta incluida.
- A’= A U {A2}
- Actions’= Actions – {A2}
- B queda igual ya que no tengo nuevas variables y ni tampoco se
les modifica el valor a ninguna.
- Agenda’= Agenda – {<pe(b), A3>} U {<ss(a,h), A2>, <ss(b),
A2>, <ss(a), A2>}
15. Verifico los links causales y ninguno hasta ahora presenta una amenaza.
16. Hago la invocación recursiva con (<A’,O, L’, B>, Agenda’, Actions’).
17. Selecciono de la agenda <ss(a,h), A2>.
18. Nuevamente busco una acción que me unifique esta pre-condicion, en el conjunto A
y la cumple la acción inicial A๐.
Actualizo:
- L’= L U {A๐—(ss(a,h))—> A2}
- O queda igual ya que la restricción de orden esta incluida.
- A queda igual ya que no se agregaron mas acciones.
- Actions ya que no se quitaron mas acciones.
- B queda igual ya que no tengo nuevas variables y ni tampoco se
les modifica el valor a ninguna.
- Agenda’= Agenda – {<ss(a,h), A2>}
19. Verifico los links causales y ninguno hasta ahora presenta una amenaza.
20. Hago la invocación recursiva con (<A,O, L, B>, Agenda’, Actions).
21. Ahora por últimos agrego el ultimo link, o sea selecciono de la agenda <ss(b), A2>.
22. Nuevamente busco una acción que me unifique esta pre-condicion, en el conjunto A
y la cumple la acción inicial A๐.
Actualizo:
- L’= L U {A๐—(ss(b))—> A2}
- O queda igual ya que la restricción de orden esta incluida.
- A queda igual ya que no se agregaron mas acciones.
- Actions ya que no se quitaron mas acciones.
- B queda igual ya que no tengo nuevas variables y ni tampoco se
les modifica el valor a ninguna.
- Agenda’= Agenda – {<ss(b), A2>}
23. Verifico los links causales y ninguno hasta ahora presenta una amenaza.
Por lo tanto se pudo demostrar que en la situación en que se encuentran los links
independientemente del orden en que los selecciono no tengo amenaza alguna.
4
b. ¿Qué sucede al agregar el link desde el estado inicial a Accion1 mediante ss(b,m)?
En este caso al agregar el link de A๐—(ss(b,m))—> A1 si se produce una amenaza (ver
línea punteada del gráfico). Lo que sucede aquí es que el conjunto de variables, B, que
teníamos sin instanciar se unifican con esta post-condición de A๐, por lo que XX2 tendría
como valor b e Y tendría como valor m.
Esto me produce un efecto negador (¬Q) si se ejecuta A1 antes que A2. La amenaza
surge de que como bien decimos que A1 podria ejecutarse antes que A2, ya que no hay
ninguna restricción al respecto en el conjunto O, lo que me produce la post-condición
not(ss(XX2)) unificada not(ss(b)) logrando el efecto negador para la pre-condición ss(b)
requerida por la acción A2. De esta manera me rompe el planning, ya que de no ejecutar
A2 no puedo cumplir con las pre-condiciones de A3 y por ende no alcanzo mi estado
final.
Para salvar esta amenaza se debe agregar la restricción de orden en el conjunto O,
aplicando una promición, osea O’= O U {A2<A1}. De manera tal que cuando ejecute A1,
A2 ya habra ejecutado y pierdo la ameanza.

5
6. De una representación UCPOP para los siguientes problemas, y discuta las soluciones
propuestas.
c. Torres de Hanoi: El problema consiste en mover n discos desde un poste hasta otro con
la ayuda de un poste auxiliar. Existen dos reglas: solamente se puede mover un disco por
vez y un disco nunca puede ser colocado sobre un disco más pequeño.
Para simplificar utilizo dos discos. En el gráfico siguiente muestro como los enumero.

A

B

C

A

B

C

D1

D1

D2

D2

Estado inicial

Estado final

Los elementos que se tienen son: D = {d1, d2, a, b, c}, donde D es el conjuntos de discos
y A, B, C también los considero como discos porque me facilita la cantidad de predicados
extras.
Los predicados extras que voy a usar son:
less(X, Y)= {X, Y ∈ D and X < Y}
clean(X)= {:X ∈ D} # Quiere decir que X no tiene elementos encima de el.
on(X, Y)= {X, Y ∈ D and less(X, Y) and clean(X) and clean(Y)}
Estado inicial
A๐ : on(d1, d2), on(d2, a), clear(d1), clear(b), clear(c), less(d1, d2), less(d2, a), less(d2,
b), less(d2, c)
Estado final
A∞ : on(d1,d2), on(d2,c), clean(d1), clean(b), clean(a) ), less(d1, d2), less(d2, a),
less(d2, b), less(d2, c)
Las acciones que voy a tener son:
A1 : move(X, Y, Z) # Mueve el disco X que esta sobre Y hacia Z. Se tiene en cuenta que
Y es distinto a Z.
6
Pre-condiciones:
notEqual(Y, Z), notEqual(X, Z), notEqual(X,Y), clean(X), clean(Z), less(X, Y),
less(X, Z), on(X, Y)
Efectos:
clean(X), on(X, Z), clean(Y), not(clean(Z))
Unas de las consideraciones que se podrían haber tomado seria la de distinguir entre
postes y discos puesto que se podría usar la clausula or para dar la opción de mover sobre
un disco o a un poste solo, pero la complejidad me aumenta.
d. El mono y las bananas es un problema que se realizo en un laboratorio con algunas
bananas colgadas del techo. Se encuentra disponible una caja que le permite al mono
alcanzarlas siempre y cuando se suba a ella. Sin embargo existen solo algunas posiciones
en las que puede alcanzarlas, subir a la caja no implica que llegue, sino que la caja y la
banana se deben encontrar en el mismo espacio (etiquetado de alguna forma). Cada
objeto además de la posición tiene una altura, por ejemplo las bananas que están en el
techo están altas, la caja esta baja, etc.
Inicialmente el mono se encuentra en A, las bananas en B y la caja en C. El mono y la
caja se encuentran bajos, pero si el mono trepa a la caja su altura será alta (igual que las
bananas)
Modelar las acciones disponibles, para que el mono pueda alcanzar las bananas, así como
el estado inicial y final del plan.
Altura
alta

baja
Posiciones:

1

2

3

4

Las acciones disponibles para el mono son:
- moveMonkeyIzq(A, E1, E2), el mono se movería del espacio donde se
encuentra al espacio contiguo izquierdo.
- moveMonkeyDer(A, E1, E2), idem al anterio pero hacia la derecha.
- jumpIzq(A, C, E1, E2, E3), el mono salta la caja hacia la izquierda.
- jumpDer(A, C, E1, E2, E3), idem al anterior pero hacia la derecha
7
- moveBoxDerMi(A, C, E1), el mono mueve la caja hacia la derecha estando el
mono en la izquierda de la caja.
- moveBoxIzqMi(A, C, E1), idem al anterior pero el mono se lleva la caja hacia
la izquierda.
- moveBoxDerMd(A, C, E1), el mono mueve la caja hacia la derecha estando el
mono a la derecha de la caja.
- moveBoxIzqMd(A, C, E1), idem al anterior pero el mono empuja la caja hacia
la izquierda.
- onBox(A, C, B), el mono se sube a la caja para tomar las bananas, estando el
mismo a la izquierda o derecha de la posición de la caja.
- downBox(A, C, E1), el mono se baja de la caja estando este sobre la misma. Se
baja hacia cualquier lado, osea que el mono toma la posición del espacio E1
estando obviamente este libre.
Los predicados auxiliares que utilizo son para describir los estados del mundo y también
defino unos conjuntos para describir los estados para los diferentes objetos.
I= {A, C, B1, B2, …, Bn}
A= {alta, baja}
C={colgada, tomada}
Predicados auxiliares:
-

pos(X,Y)= {X ∈ I and Y ∈ Naturales}
alt(X,Y)= {X ∈ {A} and Y ∈ A}
libre(X)= {X ∈ Naturales}
izq(X,Y)= {X, Y ∈ Naturales : X= Y - 1}
catch(X, Y)= {X ∈ {B1, B2,…, Bn and Y ∈ C}

Estado inicial
A๐ : pos(A, 1), pos(C, 3), pos(B1, 2), pos(B2, 4), alt(M, baja), catch(B1, colgada),
catch(B2, colgada)
Estado final
A∞ : pos(A, 2), pos(C,2), alt(A, alta), catch(B1, tomada), catch(B2, tomada)
Acciones:
moveMonkeyIzq(A, E1, E2)
Pre-condiciones: libre(E2), pos(A,E1), alt(A,baja), izq(E2,E1)
Efectos: not(libre(E2)), pos(A, E2), libre(E1)
8
moveMonkeyDer(A, E1, E2)
Pre-condiciones: libre(E2), pos(A,E1), alt(A,baja), izq(E1,E2)
Efectos: not(libre(E2)), pos(A, E2), libre(E1)
jumpIzq(A, C, E1, E2, E3)
Pre-condiciones: libre(E3), pos(A, E1), pos(C, E2), izq(E3, E2), izq(E2, E1), alt(A, baja)
Efectos: not(libre(E3)), pos(A, E3), libre(E1)
jumpDer(A, C, E1, E2, E3)
Pre-condiciones: libre(E3), pos(A, E1), pos(C, E2), izq(E1, E2), izq(E2, E3), alt(A, baja)
Efectos: not(libre(E3)), pos(A, E3), libre(E1)
moveBoxDerMi(A, C, E1)
Pre-condiciones: libre(E1), izq(A, C), izq(C, E1), alt(A, baja)
Efectos: not(libre(E1)), pos(A, C), pos(C, E1)
moveBoxIzqMi(A, C, E1)
Pre-condiciones: libre(E1), izq(A, C), izq(E1, A), alt(A, baja)
Efectos: not(libre(E1)), pos(C, A), pos(A, E1)
moveBoxDerMd(A, C, E1)
Pre-condiciones: libre(E1), izq(C, A), izq(A, E1), alt(A, baja)
Efectos: not(libre(E1)), pos(C, A), pos(A, E1)
moveBoxIzqMd(A, C, E1)
Pre-condiciones: libre(E1), izq(C, A), izq(E1, C), alt(A, baja)
Efectos: not(libre(E1)), pos(A, C), pos(C, E1)
onBox(A, C, B)
Pre-condiciones: or(izq(A,C), izq(C, A)), alt(A, baja), catch(B, colgada), pos(B, C)
Efectos: cath(B, tomada), alt(A, alta)
downBox(A, C, E1)
Pre-condiciones: libre(E1), equal(C, A), or(izq(E1,C), izq(C, E1)), alt(A, alta)
Efectos: not(libre(E1)), pos(A, E1), alt(A, baja)
Lo que tuve en cuenta es que la altura de la caja y de las bananas es siempre la misma por
lo que no lo modele para esos objetos. En el caso de las bananas simplemente cambian su
estado de colgada a tomada. Otra acción que doy por implícita es que el mono cuando se
sube a la caja es porque esta en condiciones de tomar la banana o sea que se encuentra
posicionada la caja por debajo del plátano. Con respecto a que algún elemento como el
mono o la caja tomen valores inválidos queda solucionado porque simplemente ese valor
no estará libre.
9

Weitere ähnliche Inhalte

Was ist angesagt? (19)

Funciones y graficas
Funciones y graficasFunciones y graficas
Funciones y graficas
 
Clasificación de las funciones
Clasificación de las funcionesClasificación de las funciones
Clasificación de las funciones
 
Funciones
FuncionesFunciones
Funciones
 
Estructuras
EstructurasEstructuras
Estructuras
 
Dominioycodominio
DominioycodominioDominioycodominio
Dominioycodominio
 
Funciones y sus gráficas
Funciones y sus gráficasFunciones y sus gráficas
Funciones y sus gráficas
 
Notacion Asintotica
Notacion AsintoticaNotacion Asintotica
Notacion Asintotica
 
Algebra_Lineal
Algebra_LinealAlgebra_Lineal
Algebra_Lineal
 
C1 mate función valor absoluto - 4º
C1 mate   función valor absoluto - 4ºC1 mate   función valor absoluto - 4º
C1 mate función valor absoluto - 4º
 
Funciones inicio
Funciones inicioFunciones inicio
Funciones inicio
 
matemática
matemáticamatemática
matemática
 
Funciones Y Transformaciones
Funciones Y TransformacionesFunciones Y Transformaciones
Funciones Y Transformaciones
 
Derivada Direccional
Derivada DireccionalDerivada Direccional
Derivada Direccional
 
T1 primer tutorial de lisp-grupo6
T1 primer tutorial de lisp-grupo6T1 primer tutorial de lisp-grupo6
T1 primer tutorial de lisp-grupo6
 
Ilate
IlateIlate
Ilate
 
Funciones (PRUEBA)
Funciones (PRUEBA)Funciones (PRUEBA)
Funciones (PRUEBA)
 
Funciones
FuncionesFunciones
Funciones
 
Funciones
Funciones Funciones
Funciones
 
Ejercicios resueltos valores y vectores propios, diagonaliz,.....
Ejercicios resueltos valores y vectores propios, diagonaliz,.....Ejercicios resueltos valores y vectores propios, diagonaliz,.....
Ejercicios resueltos valores y vectores propios, diagonaliz,.....
 

Andere mochten auch

Multimedia Resolución de Problemas y Algoritmos
Multimedia Resolución de Problemas y AlgoritmosMultimedia Resolución de Problemas y Algoritmos
Multimedia Resolución de Problemas y AlgoritmosAndreaF
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)Fuerza Auriazul
 
Algoritmos Y Programas Unidad1
Algoritmos Y  Programas Unidad1Algoritmos Y  Programas Unidad1
Algoritmos Y Programas Unidad1Silvanac
 
Cuaderno de trabajo introducción a la computación octavo
Cuaderno de trabajo   introducción a la computación octavoCuaderno de trabajo   introducción a la computación octavo
Cuaderno de trabajo introducción a la computación octavoRosa Padilla
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmosjhonshebax
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigoepetekaun
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltosRoldan El Gato
 

Andere mochten auch (10)

Multimedia Resolución de Problemas y Algoritmos
Multimedia Resolución de Problemas y AlgoritmosMultimedia Resolución de Problemas y Algoritmos
Multimedia Resolución de Problemas y Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Programación 1: algoritmos
Programación 1: algoritmosProgramación 1: algoritmos
Programación 1: algoritmos
 
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
METODOS DE ORDENACION ORDENAMIENTO Y BUSQUEDA (ALGORITMOS)
 
Algoritmos Y Programas Unidad1
Algoritmos Y  Programas Unidad1Algoritmos Y  Programas Unidad1
Algoritmos Y Programas Unidad1
 
Cuaderno de trabajo introducción a la computación octavo
Cuaderno de trabajo   introducción a la computación octavoCuaderno de trabajo   introducción a la computación octavo
Cuaderno de trabajo introducción a la computación octavo
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 

Ähnlich wie Algoritmos de Planning - Práctico Nro. 1

Práctica Álgebra exactas-ingeniería CBC (27)
Práctica Álgebra exactas-ingeniería CBC (27)Práctica Álgebra exactas-ingeniería CBC (27)
Práctica Álgebra exactas-ingeniería CBC (27)universo exacto
 
Espacio vectorial Y COMBINACION LINEAL
Espacio vectorial Y COMBINACION LINEALEspacio vectorial Y COMBINACION LINEAL
Espacio vectorial Y COMBINACION LINEALMiguel Vasquez
 
Folleto 1° parcial nestor montaño
Folleto 1° parcial   nestor montañoFolleto 1° parcial   nestor montaño
Folleto 1° parcial nestor montañojulio sanchez
 
Algebra lineal 27 exactas e ingenieria
Algebra lineal 27 exactas e ingenieriaAlgebra lineal 27 exactas e ingenieria
Algebra lineal 27 exactas e ingenieriagerly diaz
 
Estructuras algebraicas
Estructuras algebraicasEstructuras algebraicas
Estructuras algebraicastanato153
 
Ejercicios detallados del obj 6 mat iii 733
Ejercicios detallados del obj 6 mat iii  733 Ejercicios detallados del obj 6 mat iii  733
Ejercicios detallados del obj 6 mat iii 733 Jonathan Mejías
 
Proba-Conjuntos.pdf
Proba-Conjuntos.pdfProba-Conjuntos.pdf
Proba-Conjuntos.pdfAlbertoRO3
 
Numeros Reales
Numeros RealesNumeros Reales
Numeros RealesFran Crema
 
Vectores2 trabajo con vectores utilizando coordenadas y componentes
Vectores2 trabajo con vectores utilizando coordenadas y componentesVectores2 trabajo con vectores utilizando coordenadas y componentes
Vectores2 trabajo con vectores utilizando coordenadas y componentesArturo Iglesias Castro
 
Matrices algebra-lineal
Matrices algebra-linealMatrices algebra-lineal
Matrices algebra-linealAlex Torres
 
clase-4-espacios-vectoriales-27-10-2015.pdf
clase-4-espacios-vectoriales-27-10-2015.pdfclase-4-espacios-vectoriales-27-10-2015.pdf
clase-4-espacios-vectoriales-27-10-2015.pdfBrayanSneeiderCastil
 
Problemasalgebralineal20191p
Problemasalgebralineal20191pProblemasalgebralineal20191p
Problemasalgebralineal20191pAngel Guale
 
NÚMEROS REALES I
NÚMEROS REALES INÚMEROS REALES I
NÚMEROS REALES ICESAR V
 

Ähnlich wie Algoritmos de Planning - Práctico Nro. 1 (20)

Práctica Álgebra exactas-ingeniería CBC (27)
Práctica Álgebra exactas-ingeniería CBC (27)Práctica Álgebra exactas-ingeniería CBC (27)
Práctica Álgebra exactas-ingeniería CBC (27)
 
Espacio vectorial Y COMBINACION LINEAL
Espacio vectorial Y COMBINACION LINEALEspacio vectorial Y COMBINACION LINEAL
Espacio vectorial Y COMBINACION LINEAL
 
Espacio vector
Espacio vectorEspacio vector
Espacio vector
 
Folleto 1° parcial nestor montaño
Folleto 1° parcial   nestor montañoFolleto 1° parcial   nestor montaño
Folleto 1° parcial nestor montaño
 
Algebra lineal 27 exactas e ingenieria
Algebra lineal 27 exactas e ingenieriaAlgebra lineal 27 exactas e ingenieria
Algebra lineal 27 exactas e ingenieria
 
Grupos, anillos y cuerpos
Grupos, anillos y cuerposGrupos, anillos y cuerpos
Grupos, anillos y cuerpos
 
Estructuras algebraicas
Estructuras algebraicasEstructuras algebraicas
Estructuras algebraicas
 
Ejercicios detallados del obj 6 mat iii 733
Ejercicios detallados del obj 6 mat iii  733 Ejercicios detallados del obj 6 mat iii  733
Ejercicios detallados del obj 6 mat iii 733
 
Proba-Conjuntos.pdf
Proba-Conjuntos.pdfProba-Conjuntos.pdf
Proba-Conjuntos.pdf
 
Numeros Reales
Numeros RealesNumeros Reales
Numeros Reales
 
Vectores2 trabajo con vectores utilizando coordenadas y componentes
Vectores2 trabajo con vectores utilizando coordenadas y componentesVectores2 trabajo con vectores utilizando coordenadas y componentes
Vectores2 trabajo con vectores utilizando coordenadas y componentes
 
Final
FinalFinal
Final
 
Num reales 2010
Num reales  2010Num reales  2010
Num reales 2010
 
Matrices algebra-lineal
Matrices algebra-linealMatrices algebra-lineal
Matrices algebra-lineal
 
3 Operaciones Binarias
3  Operaciones Binarias3  Operaciones Binarias
3 Operaciones Binarias
 
clase-4-espacios-vectoriales-27-10-2015.pdf
clase-4-espacios-vectoriales-27-10-2015.pdfclase-4-espacios-vectoriales-27-10-2015.pdf
clase-4-espacios-vectoriales-27-10-2015.pdf
 
Problemasalgebralineal20191p
Problemasalgebralineal20191pProblemasalgebralineal20191p
Problemasalgebralineal20191p
 
Matriz inversa
Matriz inversaMatriz inversa
Matriz inversa
 
Matriz inversa
Matriz inversaMatriz inversa
Matriz inversa
 
NÚMEROS REALES I
NÚMEROS REALES INÚMEROS REALES I
NÚMEROS REALES I
 

Mehr von martinp

Evolutionary Computing - Genetic Algorithms - An Introduction
Evolutionary Computing - Genetic Algorithms - An IntroductionEvolutionary Computing - Genetic Algorithms - An Introduction
Evolutionary Computing - Genetic Algorithms - An Introductionmartinp
 
Sistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web SemácticaSistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web Semácticamartinp
 
Extraction and Analysis System of Topics for Software History Reports
Extraction and Analysis System of Topics for Software History ReportsExtraction and Analysis System of Topics for Software History Reports
Extraction and Analysis System of Topics for Software History Reportsmartinp
 
IA - Redes Neuronales
IA - Redes NeuronalesIA - Redes Neuronales
IA - Redes Neuronalesmartinp
 
The Deep Web
The Deep WebThe Deep Web
The Deep Webmartinp
 
Hofstede’s Cultural Dimensions
Hofstede’s Cultural DimensionsHofstede’s Cultural Dimensions
Hofstede’s Cultural Dimensionsmartinp
 
Desarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a AspectosDesarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a Aspectosmartinp
 
Patrimonio dell'umanità in Italia
Patrimonio dell'umanità in ItaliaPatrimonio dell'umanità in Italia
Patrimonio dell'umanità in Italiamartinp
 
Int. a la Computación Evolutiva - Informe para cursada
Int. a la Computación Evolutiva - Informe para cursadaInt. a la Computación Evolutiva - Informe para cursada
Int. a la Computación Evolutiva - Informe para cursadamartinp
 
Software Libre/Código Abierto - Enunciado
Software Libre/Código Abierto - EnunciadoSoftware Libre/Código Abierto - Enunciado
Software Libre/Código Abierto - Enunciadomartinp
 
Software Libre/Código Abierto - Informe Final
Software Libre/Código Abierto - Informe FinalSoftware Libre/Código Abierto - Informe Final
Software Libre/Código Abierto - Informe Finalmartinp
 

Mehr von martinp (11)

Evolutionary Computing - Genetic Algorithms - An Introduction
Evolutionary Computing - Genetic Algorithms - An IntroductionEvolutionary Computing - Genetic Algorithms - An Introduction
Evolutionary Computing - Genetic Algorithms - An Introduction
 
Sistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web SemácticaSistemas de Recomendación de Información - Web Semáctica
Sistemas de Recomendación de Información - Web Semáctica
 
Extraction and Analysis System of Topics for Software History Reports
Extraction and Analysis System of Topics for Software History ReportsExtraction and Analysis System of Topics for Software History Reports
Extraction and Analysis System of Topics for Software History Reports
 
IA - Redes Neuronales
IA - Redes NeuronalesIA - Redes Neuronales
IA - Redes Neuronales
 
The Deep Web
The Deep WebThe Deep Web
The Deep Web
 
Hofstede’s Cultural Dimensions
Hofstede’s Cultural DimensionsHofstede’s Cultural Dimensions
Hofstede’s Cultural Dimensions
 
Desarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a AspectosDesarrollo de Software Orientado a Aspectos
Desarrollo de Software Orientado a Aspectos
 
Patrimonio dell'umanità in Italia
Patrimonio dell'umanità in ItaliaPatrimonio dell'umanità in Italia
Patrimonio dell'umanità in Italia
 
Int. a la Computación Evolutiva - Informe para cursada
Int. a la Computación Evolutiva - Informe para cursadaInt. a la Computación Evolutiva - Informe para cursada
Int. a la Computación Evolutiva - Informe para cursada
 
Software Libre/Código Abierto - Enunciado
Software Libre/Código Abierto - EnunciadoSoftware Libre/Código Abierto - Enunciado
Software Libre/Código Abierto - Enunciado
 
Software Libre/Código Abierto - Informe Final
Software Libre/Código Abierto - Informe FinalSoftware Libre/Código Abierto - Informe Final
Software Libre/Código Abierto - Informe Final
 

Kürzlich hochgeladen

prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfFICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfRaulGomez822561
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfEduardoJosVargasCama1
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuelabeltranponce75
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfcarolinamartinezsev
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdfDemetrio Ccesa Rayme
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 

Kürzlich hochgeladen (20)

prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfFICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 

Algoritmos de Planning - Práctico Nro. 1

  • 1. Introducción a los Algoritmos de Planning Práctico Nro. 1 18 de Septiembre de 2008 Alumno: Martín Ignacio Pacheco Lib.: 245214 1
  • 2. Ejercicios 5. Dada la situación graficada a continuación, donde XX2 es una variable sin instanciar, y el siguiente orden de acciones: O = {EF > Accion3; Accion3 > Accion2; Accion3 > Accion1; Accion2 > EI; Accion1 > EI} A๐ ss(a,h) ss(b), ss(a), ss(b,m) ss(a,h), ss(b) ss(a) ss(a), ss(XX2,Y) ss(XX2) A2 A1 pe(b) not(ss(a)) algo(h) pe(a) not(ss(XX2)) algo(Y) pe(a) pe(b) unomas(a,XX1) A3 predicado(a,b), not(pe(a)), not(pe(b)) predicado(a,b) A∞ a. ¿Existen enlaces en peligro en el grafo de planning planteado? En caso afirmativo indique como los resolvería. 2
  • 3. Para verificar la existencia de una amenaza en el grafo de planning planteado, realizo el algoritmo UCPOP con los datos respectivos, es decir que se agregaran solo los links que posee el gráfico. De esta manera veo con que posibles valores se instancia la variable XX2 y si ello o algunos de los links me produce un conflicto. Entonces para el algoritmo mencionado tendré los siguientes datos (<A, O, L, B>, agenda, actions), con A= {A๐, A∞}, O= {A∞ > A3; A3 > A2; A3 > A1; A2 > A๐; A1 > A๐}, L= {}, B= {}, Agenda= {<predicado(a, b), A∞>} y Actions= {A1, A2, A3}). El seguimiento del algoritmo es el siguiente: 1. Selecciono de la agenda <predicado(a, b), A∞>. 2. Elijo una acción del conjunto Actions que unifique con la dos-tupla elegida en el paso anterior, en este caso seria A3. Actualizo: - L’= L U {A3—(predicado(a, b))—> A∞} - O queda igual ya que la restricción de orden esta incluida. - A’= A U {A3} - Actions’= Actions – {A3} - B’= B U {XX1= sin valor} - Agenda’= Agenda – {<predicado(a, b), A∞>} U {<pe(a), A3>, <pe(b), A3>, <unosmas(a,XX1), A3>} 3. Verifico los links causales y ninguno hasta ahora presenta una amenaza. 4. Hago la invocación recursiva con (<A’,O, L’, B’>, Agenda’, Actions’). 5. Selecciono de la agenda <pe(a), A3>. 6. Elijo una acción del conjunto Actions que unifique con la dos-tupla elegida en el paso anterior, en este caso seria A1. Actualizo: - L’= L U {A1—(pe(a))—> A3} - O queda igual ya que la restricción de orden esta incluida. - A’= A U {A1} - Actions’= Actions – {A1} - B’= B U {XX2= sin valor, Y= sin valor} - Agenda’= Agenda – {<pe(a), A3>} U {<ss(a), A1>, <ss(XX2,Y), A1>, <ss(XX2), A1>} 7. Verifico los links causales y ninguno hasta ahora presenta una amenaza. 8. Hago la invocación recursiva con (<A’,O, L’, B’>, Agenda’, Actions’). 9. Selecciono de la agenda <ss(a), A1>. 10. Elijo una acción del conjunto A (es en el primer conjuntos que me fijo antes de pasar a mirar en el conjunto Actions) que unifique con la dos-tupla elegida en el paso anterior, en este caso seria A๐. Actualizo: - L’= L U {A0—(ss(a))—> A1} - O queda igual ya que la restricción de orden esta incluida. - A queda igual ya que la acción esta incluida. - Actions queda igual ya que no buscamos ninguna acción en ella. - B queda igual ya que no tengo nuevas variables y ni tampoco se les modifica el valor a ninguna. 3
  • 4. - Agenda’= Agenda – {<ss(a), A1>} 11. Verifico los links causales y ninguno hasta ahora presenta una amenaza. 12. Hago la invocación recursiva con (<A,O, L’, B>, Agenda’, Actions). 13. Selecciono de la agenda <pe(b), A3>. 14. Nuevamente busco una acción que me unifique esta pre-condicion, en el conjunto A no encuentro ninguno, entonces busco en el conjunto Acctions y encuentro la acción A2. Actualizo: - L’= L U {A2—(pe(b))—> A3} - O queda igual ya que la restricción de orden esta incluida. - A’= A U {A2} - Actions’= Actions – {A2} - B queda igual ya que no tengo nuevas variables y ni tampoco se les modifica el valor a ninguna. - Agenda’= Agenda – {<pe(b), A3>} U {<ss(a,h), A2>, <ss(b), A2>, <ss(a), A2>} 15. Verifico los links causales y ninguno hasta ahora presenta una amenaza. 16. Hago la invocación recursiva con (<A’,O, L’, B>, Agenda’, Actions’). 17. Selecciono de la agenda <ss(a,h), A2>. 18. Nuevamente busco una acción que me unifique esta pre-condicion, en el conjunto A y la cumple la acción inicial A๐. Actualizo: - L’= L U {A๐—(ss(a,h))—> A2} - O queda igual ya que la restricción de orden esta incluida. - A queda igual ya que no se agregaron mas acciones. - Actions ya que no se quitaron mas acciones. - B queda igual ya que no tengo nuevas variables y ni tampoco se les modifica el valor a ninguna. - Agenda’= Agenda – {<ss(a,h), A2>} 19. Verifico los links causales y ninguno hasta ahora presenta una amenaza. 20. Hago la invocación recursiva con (<A,O, L, B>, Agenda’, Actions). 21. Ahora por últimos agrego el ultimo link, o sea selecciono de la agenda <ss(b), A2>. 22. Nuevamente busco una acción que me unifique esta pre-condicion, en el conjunto A y la cumple la acción inicial A๐. Actualizo: - L’= L U {A๐—(ss(b))—> A2} - O queda igual ya que la restricción de orden esta incluida. - A queda igual ya que no se agregaron mas acciones. - Actions ya que no se quitaron mas acciones. - B queda igual ya que no tengo nuevas variables y ni tampoco se les modifica el valor a ninguna. - Agenda’= Agenda – {<ss(b), A2>} 23. Verifico los links causales y ninguno hasta ahora presenta una amenaza. Por lo tanto se pudo demostrar que en la situación en que se encuentran los links independientemente del orden en que los selecciono no tengo amenaza alguna. 4
  • 5. b. ¿Qué sucede al agregar el link desde el estado inicial a Accion1 mediante ss(b,m)? En este caso al agregar el link de A๐—(ss(b,m))—> A1 si se produce una amenaza (ver línea punteada del gráfico). Lo que sucede aquí es que el conjunto de variables, B, que teníamos sin instanciar se unifican con esta post-condición de A๐, por lo que XX2 tendría como valor b e Y tendría como valor m. Esto me produce un efecto negador (¬Q) si se ejecuta A1 antes que A2. La amenaza surge de que como bien decimos que A1 podria ejecutarse antes que A2, ya que no hay ninguna restricción al respecto en el conjunto O, lo que me produce la post-condición not(ss(XX2)) unificada not(ss(b)) logrando el efecto negador para la pre-condición ss(b) requerida por la acción A2. De esta manera me rompe el planning, ya que de no ejecutar A2 no puedo cumplir con las pre-condiciones de A3 y por ende no alcanzo mi estado final. Para salvar esta amenaza se debe agregar la restricción de orden en el conjunto O, aplicando una promición, osea O’= O U {A2<A1}. De manera tal que cuando ejecute A1, A2 ya habra ejecutado y pierdo la ameanza. 5
  • 6. 6. De una representación UCPOP para los siguientes problemas, y discuta las soluciones propuestas. c. Torres de Hanoi: El problema consiste en mover n discos desde un poste hasta otro con la ayuda de un poste auxiliar. Existen dos reglas: solamente se puede mover un disco por vez y un disco nunca puede ser colocado sobre un disco más pequeño. Para simplificar utilizo dos discos. En el gráfico siguiente muestro como los enumero. A B C A B C D1 D1 D2 D2 Estado inicial Estado final Los elementos que se tienen son: D = {d1, d2, a, b, c}, donde D es el conjuntos de discos y A, B, C también los considero como discos porque me facilita la cantidad de predicados extras. Los predicados extras que voy a usar son: less(X, Y)= {X, Y ∈ D and X < Y} clean(X)= {:X ∈ D} # Quiere decir que X no tiene elementos encima de el. on(X, Y)= {X, Y ∈ D and less(X, Y) and clean(X) and clean(Y)} Estado inicial A๐ : on(d1, d2), on(d2, a), clear(d1), clear(b), clear(c), less(d1, d2), less(d2, a), less(d2, b), less(d2, c) Estado final A∞ : on(d1,d2), on(d2,c), clean(d1), clean(b), clean(a) ), less(d1, d2), less(d2, a), less(d2, b), less(d2, c) Las acciones que voy a tener son: A1 : move(X, Y, Z) # Mueve el disco X que esta sobre Y hacia Z. Se tiene en cuenta que Y es distinto a Z. 6
  • 7. Pre-condiciones: notEqual(Y, Z), notEqual(X, Z), notEqual(X,Y), clean(X), clean(Z), less(X, Y), less(X, Z), on(X, Y) Efectos: clean(X), on(X, Z), clean(Y), not(clean(Z)) Unas de las consideraciones que se podrían haber tomado seria la de distinguir entre postes y discos puesto que se podría usar la clausula or para dar la opción de mover sobre un disco o a un poste solo, pero la complejidad me aumenta. d. El mono y las bananas es un problema que se realizo en un laboratorio con algunas bananas colgadas del techo. Se encuentra disponible una caja que le permite al mono alcanzarlas siempre y cuando se suba a ella. Sin embargo existen solo algunas posiciones en las que puede alcanzarlas, subir a la caja no implica que llegue, sino que la caja y la banana se deben encontrar en el mismo espacio (etiquetado de alguna forma). Cada objeto además de la posición tiene una altura, por ejemplo las bananas que están en el techo están altas, la caja esta baja, etc. Inicialmente el mono se encuentra en A, las bananas en B y la caja en C. El mono y la caja se encuentran bajos, pero si el mono trepa a la caja su altura será alta (igual que las bananas) Modelar las acciones disponibles, para que el mono pueda alcanzar las bananas, así como el estado inicial y final del plan. Altura alta baja Posiciones: 1 2 3 4 Las acciones disponibles para el mono son: - moveMonkeyIzq(A, E1, E2), el mono se movería del espacio donde se encuentra al espacio contiguo izquierdo. - moveMonkeyDer(A, E1, E2), idem al anterio pero hacia la derecha. - jumpIzq(A, C, E1, E2, E3), el mono salta la caja hacia la izquierda. - jumpDer(A, C, E1, E2, E3), idem al anterior pero hacia la derecha 7
  • 8. - moveBoxDerMi(A, C, E1), el mono mueve la caja hacia la derecha estando el mono en la izquierda de la caja. - moveBoxIzqMi(A, C, E1), idem al anterior pero el mono se lleva la caja hacia la izquierda. - moveBoxDerMd(A, C, E1), el mono mueve la caja hacia la derecha estando el mono a la derecha de la caja. - moveBoxIzqMd(A, C, E1), idem al anterior pero el mono empuja la caja hacia la izquierda. - onBox(A, C, B), el mono se sube a la caja para tomar las bananas, estando el mismo a la izquierda o derecha de la posición de la caja. - downBox(A, C, E1), el mono se baja de la caja estando este sobre la misma. Se baja hacia cualquier lado, osea que el mono toma la posición del espacio E1 estando obviamente este libre. Los predicados auxiliares que utilizo son para describir los estados del mundo y también defino unos conjuntos para describir los estados para los diferentes objetos. I= {A, C, B1, B2, …, Bn} A= {alta, baja} C={colgada, tomada} Predicados auxiliares: - pos(X,Y)= {X ∈ I and Y ∈ Naturales} alt(X,Y)= {X ∈ {A} and Y ∈ A} libre(X)= {X ∈ Naturales} izq(X,Y)= {X, Y ∈ Naturales : X= Y - 1} catch(X, Y)= {X ∈ {B1, B2,…, Bn and Y ∈ C} Estado inicial A๐ : pos(A, 1), pos(C, 3), pos(B1, 2), pos(B2, 4), alt(M, baja), catch(B1, colgada), catch(B2, colgada) Estado final A∞ : pos(A, 2), pos(C,2), alt(A, alta), catch(B1, tomada), catch(B2, tomada) Acciones: moveMonkeyIzq(A, E1, E2) Pre-condiciones: libre(E2), pos(A,E1), alt(A,baja), izq(E2,E1) Efectos: not(libre(E2)), pos(A, E2), libre(E1) 8
  • 9. moveMonkeyDer(A, E1, E2) Pre-condiciones: libre(E2), pos(A,E1), alt(A,baja), izq(E1,E2) Efectos: not(libre(E2)), pos(A, E2), libre(E1) jumpIzq(A, C, E1, E2, E3) Pre-condiciones: libre(E3), pos(A, E1), pos(C, E2), izq(E3, E2), izq(E2, E1), alt(A, baja) Efectos: not(libre(E3)), pos(A, E3), libre(E1) jumpDer(A, C, E1, E2, E3) Pre-condiciones: libre(E3), pos(A, E1), pos(C, E2), izq(E1, E2), izq(E2, E3), alt(A, baja) Efectos: not(libre(E3)), pos(A, E3), libre(E1) moveBoxDerMi(A, C, E1) Pre-condiciones: libre(E1), izq(A, C), izq(C, E1), alt(A, baja) Efectos: not(libre(E1)), pos(A, C), pos(C, E1) moveBoxIzqMi(A, C, E1) Pre-condiciones: libre(E1), izq(A, C), izq(E1, A), alt(A, baja) Efectos: not(libre(E1)), pos(C, A), pos(A, E1) moveBoxDerMd(A, C, E1) Pre-condiciones: libre(E1), izq(C, A), izq(A, E1), alt(A, baja) Efectos: not(libre(E1)), pos(C, A), pos(A, E1) moveBoxIzqMd(A, C, E1) Pre-condiciones: libre(E1), izq(C, A), izq(E1, C), alt(A, baja) Efectos: not(libre(E1)), pos(A, C), pos(C, E1) onBox(A, C, B) Pre-condiciones: or(izq(A,C), izq(C, A)), alt(A, baja), catch(B, colgada), pos(B, C) Efectos: cath(B, tomada), alt(A, alta) downBox(A, C, E1) Pre-condiciones: libre(E1), equal(C, A), or(izq(E1,C), izq(C, E1)), alt(A, alta) Efectos: not(libre(E1)), pos(A, E1), alt(A, baja) Lo que tuve en cuenta es que la altura de la caja y de las bananas es siempre la misma por lo que no lo modele para esos objetos. En el caso de las bananas simplemente cambian su estado de colgada a tomada. Otra acción que doy por implícita es que el mono cuando se sube a la caja es porque esta en condiciones de tomar la banana o sea que se encuentra posicionada la caja por debajo del plátano. Con respecto a que algún elemento como el mono o la caja tomen valores inválidos queda solucionado porque simplemente ese valor no estará libre. 9