next up previous
Next: 7.1.2 Máquinas de Boltzmann Up: 7.1 Máquinas de Boltzmann Previous: 7.1 Máquinas de Boltzmann

7.1.1 Máquinas de Boltzmann Secuenciales

Dada una máquina de Boltzmann en una configuración $k$, la configuración vecina $k_u$ se define como la configuración que se obtiene del estado $k$ al cambiar el estado de una unidad $u$ (de 0 a 1 o viceversa).


\begin{displaymath}k_u(v) = \left \{ \begin{array}{ll}
k(v) & \mbox{ si } v \neq u \\
1 - k(v) & \mbox{ si } v = u
\end{array} \right . \end{displaymath}

La vecindad se define como todos los estados de configuraciones vecinas a la configuración $k$.

Si $C_u$ denota todas las conecciones que inciden en la unidad $u$ (eliminando $\{u,u\}$), y sea $C'= C - C_u - \{u,u\}$. La diferencia de consenso entre las configuraciones $k$ y $k_u$ se denota como:

\begin{displaymath}\triangle C_k(u) = C(k_u) - C(k) \end{displaymath}

Dado que la contribución de las conecciones en $C'$ al consenso es igual para $k$ que para $k_u$, se obtiene:

\begin{eqnarray*}
\triangle C_k(u) & = & \mbox{ } \left [ k_u(u)\sum_{\{u,v\} \i...
...{\{u,v\} \in C_u} w_{\{u,v\}} k(v)
+ k^2(u) w_{\{u,u\}} \right ]
\end{eqnarray*}

que nos da al cambiar $k_u(v)$ por $1-k(v)$ y desarrollar:


\begin{displaymath}\triangle C_k(u) = (1 - 2k(u)) \left [ \sum_{\{u,v\} \in C_u}
w_{\{u,v\}} k(v) + w_{\{u,u\}} \right ] \end{displaymath}

Básicamente lo que dice es que el efecto del consenso, resultando de cambiar el estado de la unidad $u$, está completamente determinado por los estados de los vecinos y de sus fuerzas de conección.

Por lo mismo una unidad puede ser evaluada localmente, lo cual es muy importante por su potencial paralelización.

Una configuración de máximo local es aquella en donde no se puede aumentar cambiando transiciones de un solo estado.

Ejemplo: Las figuras 7.2 y 7.3 muestra un ejemplo de una máquina de Boltzmann.

Figura 7.2: Ejemplo de una máquina de Boltzmann después de haber llegado a un mínimo.
\begin{figure}\centerline{\hbox{
\psfig{figure=boltzmann1.ps,height=6cm}
}}
\end{figure}

Figura 7.3: Diferentes estados vecinos para el ejemplo de la máquina de Boltzmann.
\begin{figure}\centerline{\hbox{
\psfig{figure=boltzmann2.ps,height=8cm}
}}
\end{figure}

Como en el caso de recocido simulado, se puede usar el concepto de cadenas de Markov para describir las transiciones de estado de una máquina de Boltzmann.

En una máquina secuencial consiste de dos pasos:

  1. Dada una configuración $k$, seleccionar una unidad $u$ en donde posiblemente se va a cambiar su estado y por lo tanto generar una configuración vecina $k_u$.
  2. Evaluar si la configuración $k_u$ se acepta o no.

También se introduce un parámetro de control $c$, que determina la probabilidad de aceptación de una transición.

La probabilidad de transición $P_{kl}(c)$ de la configuración $k$ a la $l$ se define como:


\begin{displaymath}P_{kl}(c) = {\bf P}_c\{X(m) = l \mid X(m - 1) = k\} \end{displaymath}


\begin{displaymath}P_{kl}(c) = \left \{ \begin{array}{ll}
G(u) A_k(u,c) & \mbox{...
... si } l = k \\
0 & \mbox{ de otra forma}
\end{array} \right . \end{displaymath}

donde $G(u)$ denota la probabilidad de generar una transición de estado de la unidad $u$, $A_k(u,c)$ denota la probabilidad de aceptación de la transición, y $c$ denota el parámetro de control.

La probabilidad de generación se escoge normalmente de forma uniforme sobre las posibles unidades e independiente de la configuración $k$ o el parámetro de control $c$.

La probabilidad de aceptación se escoge como:


\begin{displaymath}A_k(u,c) = \frac{1}{1 + exp(\frac{- \triangle C_k(u)}{c})} \end{displaymath}

Esto difiere un poco de la probabilidad de aceptación del algoritmo de recocido simulado, pero en realidad muy poco. Ambas probabilidades dan la misma distribución estacionaria y tienen las mismas propiedades de convergencia.

La figure 7.4 muestra esta función para varios valores de $c$.

Figura 7.4: Probabilidad de aceptación para diferentes valores de $c$.
\begin{figure}\centerline{\hbox{
\psfig{figure=funacepta.ps,height=5cm}
}}
\end{figure}

Se puede probar que las máquinas de Boltzmann convergen asintóticamente al conjunto de configuraciones globales óptimas basandose en la existencia de una distribución estacionaria.

Como en recocido simulado, se tiene que hacer una aproximación en tiempo finito al especificar los parámetros que determinan el esquema de enfriamiento.

El esquema es básicamente el mismo que se sigue para el recocido simulado.

Pesos positivos (negativos) en las auto-conecciones indican una tendencia a estar las unidades prendidas (apagadas) y entre las conecciones con otras unidades indican que deben de estar las dos unidades conectadas prendidas.


next up previous
Next: 7.1.2 Máquinas de Boltzmann Up: 7.1 Máquinas de Boltzmann Previous: 7.1 Máquinas de Boltzmann
Eduardo Morales Manzanares 2004-11-02