diff options
| author | Juan Marín Noguera <juan.marinn@um.es> | 2021-07-12 19:41:43 +0200 | 
|---|---|---|
| committer | Juan Marín Noguera <juan.marinn@um.es> | 2021-07-12 19:41:53 +0200 | 
| commit | 7f6946f98125b1b427135dfdf87576be654ab4db (patch) | |
| tree | d77f06f667722e16486e7e2da769f22bf9418ab8 /si/n3.lyx | |
| parent | 6ec63727b831a49824c0d1705af9db68ac3fb596 (diff) | |
Errata en SSII
Diffstat (limited to 'si/n3.lyx')
| -rw-r--r-- | si/n3.lyx | 430 | 
1 files changed, 278 insertions, 152 deletions
| @@ -82,8 +82,8 @@ algorithm2e  \begin_layout Standard  Los algoritmos de búsqueda que veremos operan sobre un grafo o árbol de - búsqueda, esto es, un grafo dirigido o árbol que representa un espacio - de estados o una reducción (en cuyo caso sería un árbol o grafo Y-O). + búsqueda, un grafo dirigido o árbol que representa un espacio de estados + o una reducción (en cuyo caso sería un árbol o grafo Y-O).   En cada nodo, además de almacenar el estado, almacenamos el nodo padre   y la acción que se ha aplicado a este para obtener el nodo, lo que describe   un camino. @@ -105,11 +105,11 @@ El entorno es  \series bold  observable  \series default - si siempre conocemos todo el estado,  + si siempre conocemos todo el estado;   \series bold  determinista  \series default - si sabemos el resultado de cualquier secuencia de acciones desde un estado, + si sabemos el resultado de cualquier secuencia de acciones desde un estado;  \series bold  estático @@ -152,15 +152,15 @@ Podemos representar un problema de búsqueda en un espacio de estados como  \begin_inset Formula $v$  \end_inset -; un estado inicial  +;   \begin_inset Formula $s\in V$  \end_inset -, y un conjunto computable de estados finales  + es un estado inicial, y   \begin_inset Formula $F\subseteq V$  \end_inset -. + es un conjunto computable de estados finales.   Entonces una solución es un camino de   \begin_inset Formula $s$  \end_inset @@ -470,6 +470,10 @@ Primero en profundidad con profundidad iterativa  \begin_inset Formula $O(b^{d})$  \end_inset + para  +\begin_inset Formula $d>1$ +\end_inset +   y en espacio   \begin_inset Formula $O(bd)$  \end_inset @@ -499,7 +503,8 @@ Suponemos  \begin_inset Formula $\omega(A)\subseteq\mathbb{R}^{\geq0}$  \end_inset -.Una  +. + Una   \series bold  función heurística  \series default @@ -507,7 +512,7 @@ función heurística  \begin_inset Formula $h:V\to\mathbb{R}^{\geq0}$  \end_inset - estima el menor peso de un camino de un nodo dado a un nodo objetivo de + estima el menor peso de un camino de un nodo dado a un nodo objetivo, de   forma que   \begin_inset Formula $h(F)=\{0\}$  \end_inset @@ -560,9 +565,9 @@ voraz  \series default   o   \series bold -primero el mejor +primero el mejor:  \series default -:  +   \begin_inset Formula $f(P)=h(\text{final}(P))$  \end_inset @@ -581,9 +586,9 @@ primero el mejor  \begin_layout Itemize  \series bold -A* +A*:  \series default -:  +   \begin_inset Formula $f(P)=\omega(P)+h(\text{final}(P))$  \end_inset @@ -604,12 +609,8 @@ admisible  \series bold  optimista  \series default - si, para  -\begin_inset Formula $v\in V$ -\end_inset - -,  -\begin_inset Formula $h(v)\leq\min\omega({\cal P}_{v,F})$ + si  +\begin_inset Formula $\forall v\in V,h(v)\leq\min\omega({\cal P}_{v,F})$  \end_inset  , y es  @@ -657,7 +658,7 @@ Demostración:   cumple   \begin_inset Formula   \[ -f(R)=\omega(R)+h(\text{final}(R))\leq\omega(R)+\min\omega({\cal P}_{\text{final}(R),F})\overset{S\in{\cal P}_{\text{final}(R),F}}{\leq}\omega(P)=c, +f(R)=\omega(R)+h(\text{final}(R))\leq\omega(R)+\min\omega({\cal P}_{\text{final}(R),F})\overset{S\in{\cal P}_{\text{final}(R),F}}{\leq}\omega(RS)=c,  \]  \end_inset @@ -676,15 +677,18 @@ f(R)=\omega(R)+h(\text{final}(R))\leq\omega(R)+\min\omega({\cal P}_{\text{final}  \end_inset   cumple  -\begin_inset Formula $\omega(Q)\leq f(Q)\leq c$ +\begin_inset Formula $\omega(Q)\leq\omega(Q)+h(\text{final}(Q))=f(Q)\leq c$  \end_inset   y tiene pues longitud máxima   \begin_inset Formula $c/p$  \end_inset -, luego hay una cantidad finita de nodos así y el algoritmo siempre llega - a una solución con coste  +, luego hay una cantidad finita de caminos con  +\begin_inset Formula $f(Q)\leq c$ +\end_inset + + y el algoritmo siempre llega a una solución con coste   \begin_inset Formula $c$  \end_inset @@ -788,7 +792,7 @@ Si  \end_inset   es  -\begin_inset Formula $f(P_{j})=\omega(P_{j})+h(v_{j})=\omega(P_{i})+\omega(v_{i}\cdots v_{j})+h(v_{j})\geq\omega(P_{i})+h(v_{i})=f(P_{i})$ +\begin_inset Formula $f(P_{i})=\omega(P_{i})+h(v_{i})\leq\omega(P_{i})+\omega(v_{i}\cdots v_{j})+h(v_{j})=\omega(P_{j})+h(v_{j})=f(P_{j})$  \end_inset  . @@ -802,7 +806,7 @@ Métodos limitados en memoria  Cuando A* es óptimo, es el método óptimo más eficiente en tiempo, pero en   general usa una frontera de tamaño exponencial y se queda pronto sin espacio.   Algunos métodos usan menos espacio sin sacrificar optimalidad y completitud - a cambio de un mayor coste de ejecución: + a cambio de un mayor tiempo de ejecución:  \end_layout  \begin_layout Standard @@ -996,7 +1000,7 @@ lSSi{$  \backslash  text{  \backslash -rm fallo}(t):=r$}{$b +rm fallo}(t):=r$}{$f_b  \backslash  gets t$}  \end_layout @@ -1136,8 +1140,8 @@ Concretamente se elimina el nodo más antiguo dentro de los de mayor valor  .   Esto se hace así para evitar entrar en un bucle cuando todos los nodos - tienen el valor, y funciona si hay más de un nodo, pero si solo hay un - nodo esto significa que el camino solución está ocupando toda la memoria + tienen el mismo valor, y funciona si hay más de un nodo, pero si solo hay + un nodo esto significa que el camino solución está ocupando toda la memoria   y no es representable en memoria.  \end_layout @@ -1194,23 +1198,28 @@ Podemos representar un problema de reducción como una tupla  \begin_inset Formula $(V,A,\omega,s)$  \end_inset - donde  +, donde   \begin_inset Formula $(V,A)$  \end_inset - es un grafo YO acíclico con  -\begin_inset Formula $\{(u,S):u\in V\}$ + es un grafo Y/O acíclico con  +\begin_inset Formula $V$ +\end_inset + + contable y tanto  +\begin_inset Formula $\{S\subseteq V:(u,S)\in V\}$  \end_inset - finito y recursivamente enumerable a partir de  + como cada uno de sus elementos finito y recursivamente enumerable a partir + de   \begin_inset Formula $u$  \end_inset -,  +;   \begin_inset Formula $\omega:A\to\mathbb{R}^{\geq0}$  \end_inset - es una función de coste y  + es una función de coste, y   \begin_inset Formula $s\in V$  \end_inset @@ -1279,7 +1288,7 @@ noprefix "false"  \end_inset  , que va expandiendo nodos y eliminando nodos resolubles e irresolubles - de la frontera hasta que el nodo inicial sea de uno de los dos tipos. + de la frontera hasta clasificar el nodo inicial.  \end_layout  \begin_layout Standard @@ -1298,7 +1307,7 @@ status open  \backslash  Entrada{Problema de reducción $(V,A,  \backslash -omega,s)$.} +omega,s)$ con $s$ no primitivo.}  \end_layout  \begin_layout Plain Layout @@ -1320,7 +1329,7 @@ gets  \backslash  }$  \backslash -; +tcp*{Caminos frontera}  \end_layout  \begin_layout Plain Layout @@ -1331,7 +1340,7 @@ gets  \backslash  emptyset$  \backslash -; +tcp*{Nodos irresolubles}  \end_layout  \begin_layout Plain Layout @@ -1342,11 +1351,103 @@ gets  \backslash  emptyset$  \backslash +tcp*{Nodos resolubles y su hiperarco siguiente} +\end_layout + +\begin_layout Plain Layout + + +\backslash +SetKwFunction{Resolucion}{{}resolución} +\end_layout + +\begin_layout Plain Layout + + +\backslash +SetKwProg{Func}{función}{}{fin} +\end_layout + +\begin_layout Plain Layout + + +\backslash +Func{ +\backslash +Resolucion{$R,s$}}{ +\end_layout + +\begin_layout Plain Layout + +	$N +\backslash +gets R(s)$ +\backslash  ;  \end_layout  \begin_layout Plain Layout +	$(V_0,A_0) +\backslash +gets( +\backslash +{s +\backslash +}, +\backslash +{(s,N) +\backslash +})$ +\backslash +; +\end_layout + +\begin_layout Plain Layout + +	 +\backslash +lPara{$n +\backslash +in N$}{$(V_n,A_n) +\backslash +gets +\backslash +text{ +\backslash +Resolucion{ +\backslash +ensuremath{R,n}}}$} +\end_layout + +\begin_layout Plain Layout + +	 +\backslash +Devolver $(V_0 +\backslash +cup +\backslash +bigcup_{n +\backslash +in N}V_n,A_0 +\backslash +cup +\backslash +bigcup_{n +\backslash +in N}A_n)$ +\backslash +; +\end_layout + +\begin_layout Plain Layout + +} +\end_layout + +\begin_layout Plain Layout +  \backslash  Mientras{$F @@ -1380,6 +1481,8 @@ subseteq V:(u_n,S)  in A  \backslash  }$ +\backslash +;  \end_layout  \begin_layout Plain Layout @@ -1404,7 +1507,9 @@ emptyset$}{  		$i  \backslash -gets n$; +gets n$ +\backslash +;  \end_layout  \begin_layout Plain Layout @@ -1464,7 +1569,9 @@ gets i-1$  \backslash -Para{$v +SSi{$ +\backslash +exists v  \backslash  in N:(v,  \backslash @@ -1475,76 +1582,61 @@ in A$}{  \begin_layout Plain Layout -		$i -\backslash -gets n$ -\backslash -; -\end_layout - -\begin_layout Plain Layout -  \backslash -Repetir{$ +lPara{$v +\backslash +in N:(v,  \backslash -forall(u_i,S) +emptyset)  \backslash -in A,S +in A$}{añadir $(v,  \backslash -nsubseteq R$}{ +emptyset)$ a $R$}  \end_layout  \begin_layout Plain Layout -			Añadir $u_i$ a $R$ +		$i +\backslash +gets n$  \backslash  ;  \end_layout  \begin_layout Plain Layout -			 +		  \backslash -lSSi{$i=0$}{ -\end_layout - -\begin_layout Plain Layout - -				$A' +Mientras{$  \backslash -gets +exists(u_i,S)  \backslash -{ +in A:S  \backslash -text{todos los hiperarcos del camino }P +subseteq  \backslash -}$ +text{  \backslash -; +rm Dom}R$}{  \end_layout  \begin_layout Plain Layout -				$V' -\backslash -gets -\backslash -text{vértices referenciados por }A'$ +			Añadir $(u_i,S)$ a $R$  \backslash  ;  \end_layout  \begin_layout Plain Layout -				 +			  \backslash -Devolver{$(V',A')$} -\end_layout - -\begin_layout Plain Layout - -			} +lSSi{$i=0$}{ +\backslash +Devolver +\backslash +Resolucion{$R,s$}}  \end_layout  \begin_layout Plain Layout @@ -1563,7 +1655,9 @@ gets i-1$  \begin_layout Plain Layout -		Borrar de $F$ los nodos que contienen un vértice de $R$ +		Borrar de $F$ los nodos que contienen un vértice de $ +\backslash +text{Dom}R$  \backslash  ;  \end_layout @@ -1605,6 +1699,12 @@ name "alg:search-generic-yo"  \end_inset  Algoritmo genérico de búsqueda en árboles Y/O. + En la versión de clase,  +\begin_inset Formula $R$ +\end_inset + + no guarda el hiperarco siguiente de los nodos y la solución se extrae pues + por arte de magia.  \end_layout  \end_inset @@ -1642,7 +1742,7 @@ Primero en profundidad  \series bold  De profundidad limitada  \series default -: Como la búsqueda en profundidad pero con un límite de profundidad. +: Como primero en profundidad pero con límite de profundidad.  \end_layout  \begin_layout Subsection @@ -1654,7 +1754,7 @@ Usamos una función heurística  \begin_inset Formula $h:V\to\mathbb{R}^{\geq0}$  \end_inset - que estima el coste mínimo de una solución a partir de un grafo. + que estima el coste mínimo de una solución a partir de un nodo.   Si   \begin_inset Formula $h$  \end_inset @@ -1713,6 +1813,13 @@ emptyset$.}  \begin_layout Plain Layout + +\backslash +SetKwFunction{Resolucion}{{}resolución} +\end_layout + +\begin_layout Plain Layout +  $R  \backslash  gets @@ -1721,7 +1828,7 @@ gets  \backslash  }$  \backslash -; +tcp*{Por resolver}  \end_layout  \begin_layout Plain Layout @@ -1732,7 +1839,7 @@ gets  \backslash  emptyset$  \backslash -; +tcp*{Completados}  \end_layout  \begin_layout Plain Layout @@ -1741,33 +1848,47 @@ $w_s  \backslash  gets h(s)$  \backslash -; +tcp*{Coste estimado}  \end_layout  \begin_layout Plain Layout  \backslash -lPara{$v +SSi{$(s,  \backslash -in V$}{$b_s +emptyset) +\backslash +in A$}{ +\end_layout + +\begin_layout Plain Layout + +	$b_s  \backslash  gets  \backslash -emptyset$} +emptyset$ +\backslash +tcp*{Conector siguiente}  \end_layout  \begin_layout Plain Layout - -\backslash -lSSi{$s$ es primitiva}{$C +	$C  \backslash  gets  \backslash  {s  \backslash -}$} +}$ +\backslash +; +\end_layout + +\begin_layout Plain Layout + +}  \end_layout  \begin_layout Plain Layout @@ -1778,7 +1899,7 @@ Mientras{$s  \backslash  notin C  \backslash -land c_s +land w_s  \backslash  leq F$}{  \end_layout @@ -1787,9 +1908,11 @@ leq F$}{  	Tomar $n  \backslash -in R$ con $b_n= +in R  \backslash -emptyset$ +setminus +\backslash +text{Dom}b$  \backslash  ;  \end_layout @@ -1806,7 +1929,9 @@ in{  \backslash  cal P}(V):(n,S)  \backslash -in A$ +in A +\backslash +}$  \backslash  ;  \end_layout @@ -1856,15 +1981,18 @@ uSSi{$u$ es primitiva}{  \begin_layout Plain Layout -				$C -\backslash -gets C +				$b_u  \backslash -cup +gets  \backslash -{u +emptyset$  \backslash -}$ +; +\end_layout + +\begin_layout Plain Layout + +				Añadir $u$ a $C$  \backslash  ;  \end_layout @@ -1903,15 +2031,7 @@ gets h(u)$  \begin_layout Plain Layout -			$R -\backslash -gets R -\backslash -cup -\backslash -{u -\backslash -}$ +			Añadir $u$ a $R$  \backslash  ;  \end_layout @@ -1928,22 +2048,22 @@ cup  \begin_layout Plain Layout -	$P +	$M  \backslash  gets  \backslash -{u +{n  \backslash  }$  \backslash -; +tcp*{Modificados}  \end_layout  \begin_layout Plain Layout  \backslash -Mientras{$P +Mientras{$M  \backslash  neq  \backslash @@ -1954,22 +2074,22 @@ emptyset$}{  		Tomar $u  \backslash -in P$ y sacarlo de $P$ +in M$ sin sucesores en $M$ y sacarlo de $M$  \backslash  ;  \end_layout  \begin_layout Plain Layout -		Tomar el $S:(u,S) +		Tomar el $S$ con $(u,S)  \backslash -in A$ con mínimo $ +in A$ de menor $  \backslash  omega(u,S)+  \backslash  sum_{v  \backslash -in S}c_v$ +in S}w_v$  \backslash  ;  \end_layout @@ -1984,7 +2104,7 @@ omega(u,S)+  \backslash  sum_{v  \backslash -in S}c_v$ +in S}w_v$  \backslash  ;  \end_layout @@ -2004,20 +2124,16 @@ gets S$  \backslash  lSSi{$S  \backslash -subseteq C$}{$C -\backslash -gets C -\backslash -cup -\backslash -{Pu -\backslash -}$} +subseteq C$}{añadir $u$ a $C$}  \end_layout  \begin_layout Plain Layout -		Añadir a $P$ los antecesores $v$ con $u +		Añadir a $M$ los $v +\backslash +in +\backslash +text{Dom}b$ con $u  \backslash  in b_v$  \backslash @@ -2038,9 +2154,9 @@ in b_v$  \backslash -Devolver un grafo que contenga el nodo $s$, el conector $b_s$, los sucesores - $(n_i)_i$ de $b_s$, sus conectores $b_{n_i}$, etc., de forma recursiva hasta - llegar a primitivas +Devolver  +\backslash +Resolucion{$b,s$}  \backslash  ;  \end_layout @@ -2075,16 +2191,16 @@ Método YO*.  \begin_layout Standard  Para modelar procesos físicos en los que un subproblema puede tener que - resolverse dos o más veces, se pueden modificar el método YO* para trabajar + resolverse dos o más veces, se puede modificar el método YO* para trabajar   con grafos que tengan ciclos, contando el coste de resolverlos varias veces,   pero esto no es apropiado para problemas con procesos de resolución distintos.  \end_layout  \begin_layout Standard -Además, estamos suponiendo que la resolución de un subproblema no afecta - a la de otro, pero en muchos problemas sí que afecta, por lo que en vez - de esto se usan métodos de planificación. +Además, hemos supuesto que la resolución de un subproblema no afecta a la + de otro, pero en muchos problemas sí que afecta, por lo que en vez de esto + se usan métodos de planificación.  \end_layout  \begin_layout Section @@ -2100,29 +2216,39 @@ Si un problema tiene solución a profundidad  \begin_inset Formula $N$  \end_inset - nodos (no se cuenta el nodo inicial), el  + nodos (sin contar el nodo inicial), el   \series bold  factor de ramificación eficaz  \series default - es el que un árbol con igual número de hijos en cada nodo tendría que tener - para que hubiera  -\begin_inset Formula $N+1$ + es un  +\begin_inset Formula $b^{*}\in\mathbb{R}^{\geq0}$ +\end_inset + + tal que  +\begin_inset Formula $N=b^{*}+(b^{*})^{2}+\dots+(b^{*})^{d}$ +\end_inset + +, ya que cuando  +\begin_inset Formula $b^{*}\in\mathbb{N}$  \end_inset - nodos con altura máxima  +, un árbol de altura   \begin_inset Formula $d$  \end_inset -, un  -\begin_inset Formula $b^{*}\in\mathbb{R}^{\geq0}$ + con  +\begin_inset Formula $b^{*}$  \end_inset - tal que  -\begin_inset Formula $N=b^{*}+(b^{*})^{2}+\dots+(b^{*})^{d}$ + hijos en cada nodo de nivel menor que  +\begin_inset Formula $d$ +\end_inset + + tiene tamaño  +\begin_inset Formula $N+1$  \end_inset  . -   \end_layout  \begin_layout Standard @@ -2135,13 +2261,13 @@ Una buena heurística debería producir valores de  \end_inset  . - Una forma de obtener  + Podemos estimar un   \begin_inset Formula $b^{*}$  \end_inset - es generar y resolver muchos problemas del mismo tipo con el método a usar, - comparando por ejemplo con BFS o búsqueda en profundidad iterativa para - tener un caso base. + medio generando y resolviendo muchos problemas del mismo tipo con el método + a usar, comparando por ejemplo con BFS o búsqueda en profundidad iterativa + para tener un caso base.  \end_layout  \begin_layout Standard @@ -2201,7 +2327,7 @@ problema 8-puzzle  , dejando una casilla libre; como transiciones el movimiento a la casilla   libre de una pieza adyacente vertical u horizontalmente, con coste 1, y - el estado final es uno en que, al concatenar las filas, aparecen los números + como estado final uno en que, al concatenar las filas, aparecen los números   del 1 al 8 en orden, con la casilla libre al principio o al final según   el modo de juego.  \end_layout @@ -2239,7 +2365,7 @@ problema relajado  \end_inset   y  -\begin_inset Formula $\omega'|_{V}=\omega$ +\begin_inset Formula $\omega'|_{A}=\omega$  \end_inset  , con lo que el coste de una solución óptima en el problema relajado es | 
