Consideraremos una función escalón:
$$ \{ f(\tau) \ | \ \tau \in [0,2\pi]\} \ \text{ y } \ f(\tau) \in \{-1,1\}$$Con simetría de media onda:
$$ f(\tau) = -f(\tau+\pi) $$Cuyos coeficientes de Fourier se pueden escribir como:
$$ a_i = \frac{2}{\pi} \int_0^\pi f(\tau ) \cos(i \tau)d\tau \ | \ \forall i \ odd $$ $$ b_j = \frac{2}{\pi} \int_0^\pi f(\tau) \sin(j \tau) d\tau \ | \ \forall j \ odd $$Consideramos dos conjuntos de números impares \( \mathcal{E}_a \) y \( \mathcal{E}_b\) con cardinalidades \(|\mathcal{E}_a| = N_a \) y \(|\mathcal{E}_b| = N_b\)
Consideramos los vectores objetivo \({a}_T \in \mathbb{R}^{N_a}\) y \({b}_T \in \mathbb{R}^{N_b}\)
Buscamos una función \( f(\tau ) \) cuyos coeficientes de Fourier satisfagan:
$$ a_i = ({a}_T)_i \ | \ \forall i \in \mathcal{E}_a $$ $$ b_j = ({b}_T)_j \ | \ \forall \ j \in \mathcal{E}_b $$Podemos re-escribir los coeficientes como:
$$ \alpha_i(\tau) = \frac{2}{\pi}\int_0^\tau f(\tau) \cos(i\tau)d\tau \Rightarrow \begin{cases} \dot{\alpha_i}(\tau) & = \frac{2}{\pi}f(\tau)\cos(i\tau) \\ \alpha_i(0) & = 0 \end{cases} $$ $$ \beta_j(\tau) = \frac{2}{\pi}\int_0^\tau f(\tau) \sin(j\tau)d\tau \Rightarrow \begin{cases} \dot{\beta}_j(\tau) & = \frac{2}{\pi}f(\tau)\sin(j\tau) \\ \beta_j(0) & = 0 \end{cases} $$Entonces \(\alpha_i(\pi)\) y \(\beta_j(\pi)\) corresponden a los coeficientes de Fourier \(a_i\) y \(b_j\) respectivamente.
Tomamos como ejemplo \( \mathcal{E}_a = \{1\} \) y \( \mathcal{E}_b = \{1\} \). Esto nos da el siguiente sistema dinámico:
$$ \begin{cases} \alpha_1 = (2/\pi) \cos(\tau)f(\tau) & \alpha_1(0) = 0 \\ \beta_1 = (2/\pi) \sin(\tau)f(\tau) & \beta_1(0) = 0 \end{cases} $$Veamos como se comporta esta dinámica con un control \(f(\tau)\) dado.
Evolución del sistema dinámico:
Cambio de variable \(\alpha'(\tau) = a_T - \alpha(\tau)\) y \(\beta'(\tau) = b_T - \beta(\tau)\)
$$ \begin{cases} \dot{\alpha_i'}(\tau) & = -\frac{2}{\pi}f(\tau)\cos(i\tau) \\ \alpha_i'(0) & = \textcolor{red}{a_T^i} \end{cases} $$ $$ \begin{cases} \dot{\beta_j'}(\tau) & = -\frac{2}{\pi}f(\tau)\sin(j\tau) \\ \beta_j'(0) & = \textcolor{red}{b_T^i} \end{cases} $$Si el sistema termina en \(\alpha_i'(\pi) = 0\) y \(\beta_j'(\pi) = 0\) entonces las condiciones iniciales \(\textcolor{red}{a_T^i}\) y \(\textcolor{red}{b_T^j}\) son los coefientes de Fourier de \(f(\tau)\)
Tomamos como ejemplo \( \mathcal{E}_a = \{1\} \) y \( \mathcal{E}_b = \{1\} \). Esto nos da el siguiente sistema dinámico:
$$ \begin{cases} \alpha_1 = -(2/\pi) \cos(\tau)f(\tau) & \alpha_1(0) = a_T^1 \\ \beta_1 = -(2/\pi) \sin(\tau) f(\tau) & \beta_1(0) = b_T^1 \end{cases} $$Veamos como se comporta esta dinámica con un control \(f(\tau)\) dado.
Evolución del sistema dinámico inverso
El problema de control se puede escribir como:
$$ \min_{f(\tau) \in \{-1,1\}} \Big(\|{\alpha}(\pi)\|^2 + \| {\beta}(\pi)\|^2 \Big) $$sujeto a:
$$ \forall i \in \mathcal{E}_a\ \ \begin{cases} \dot{\alpha}_i(\tau) = -(2/\pi) \cos(i\tau) f(\tau) & \tau \in [0,\pi]\\ \alpha_i(0) = a_T^i \end{cases} $$ $$ \forall j \in \mathcal{E}_b\ \ \begin{cases} \dot{\beta}_j(\tau) = -(2/\pi) \sin(j\tau) f(\tau) & \tau \in [0,\pi]\\ \beta_j(0) = b_T^i \end{cases} \\ $$Tomando la notación
$$ \mathcal{D}^\alpha_i(\tau) = (2/\pi) \cos(j\tau) $$ $$ \mathcal{D}^\beta_j(\tau) = (2/\pi) \sin(j\tau) $$Entonces podemos construir los vectores \(\mathcal{D}^\alpha\) y \(\mathcal{D}^\beta\) como:
$$ \mathcal{D}^\alpha(\tau) = [\mathcal{D}^\alpha_1(\tau),\mathcal{D}^\alpha_3(\tau),\mathcal{D}^\alpha_5(\tau), \dots ] $$ $$ \mathcal{D}^\beta(\tau) = [\mathcal{D}^\beta_1(\tau),\mathcal{D}^\beta_3(\tau),\mathcal{D}^\alpha_5(\tau), \dots ] $$Entonces podemos re-escribir las ecuaciones como:
El problema de control se puede escribir como:
$$ \min_{f(\tau) \in \{-1,1\}} \Big(\|{\alpha}(\pi)\|^2 + \| {\beta}(\pi)\|^2 \Big) $$sujeto a:
$$ \begin{cases} \dot{\alpha}(\tau) = -\mathcal{D}_\alpha(\tau) f(\tau) & \tau \in [0,\pi]\\ \alpha(0) = a_T \end{cases} $$ $$ \begin{cases} \dot{\beta}(\tau) = -\mathcal{D}_\beta(\tau) f(\tau) & \tau \in [0,\pi]\\ \beta(0) = b_T \end{cases} $$Podemos reducir aún más la ecuación mediante la siguiente notación:
$$ \mathcal{D}(\tau) = [\mathcal{D}_\alpha(\tau) \ \mathcal{D}_\beta(\tau) ] $$ $$ x(\tau) = [\alpha(\tau) \ \beta(\tau)] $$Por tanto
$$ x_0 = [a_T \ \ b_T] $$El problema de control se puede escribir como:
$$ \min_{f(\tau) \in \{-1,1\}} \|x(\pi)\|^2 $$sujeto a:
$$ \begin{cases} \dot{x}(\tau) = -\mathcal{D}(\tau) f(\tau) & \tau \in [0,\pi]\\ x(0) = x_0 \end{cases} $$Para resolverlo numéricamente necesitamos tomar una discretización del intervalo \([0,\pi]\), es decir:
$$ \tau \in [0,\pi] \rightarrow {\{t_0,t_1,t_2, \dots,t_{K}\}} $$ $$ t_0 = 0 \ | \ t_K = \pi $$Tomaremos esta discretización equiespaciada en el tiempo.
De esta manera podemos referirnos a las funciones \(f(\tau)\) y \(x(\tau)\) como vectores:
$$ f(\tau) \rightarrow \vec{f} = \{f_0,f_1,\dots,f_K\}$$ $$ x(\tau) \rightarrow \vec{x} = \{x_0,x_1,\dots,x_K\}$$ $$ \mathcal{D}(\tau) \rightarrow \vec{\mathcal{D}} = \{\mathcal{D}_0,\mathcal{D}_1,\dots,\mathcal{D}_K\}$$El problema de control se puede escribir como:
$$ \min_{\{f_0 \ , \ f_1 \ , \ \dots \ , \ f_{K-1} \} } \|x_K\|^2 $$sujeto a:
$$ f_t \in \{-1,1\} \ | \ \forall t \in \{0,1,\dots,K-1\} $$ $$ \begin{cases} x_{t+1} = x_t - \Delta t \ \mathcal{D}_t f_t & \forall t \in \{0,1,\dots,K-1\} \\ x_0 \ dado \end{cases} $$Tomamos como ejemplo \( \mathcal{E}_a = \{1\} \) y \( \mathcal{E}_b = \{1\} \). Esto nos da el siguiente sistema dinámico:
$$ x_t = \begin{bmatrix} (\alpha_1)_t \ (\beta_1)_t\end{bmatrix} $$ $$ \begin{cases} (\alpha_1)_{t+1} = (\alpha_1)_{t}-\Delta t\ \mathcal{D}_t^\alpha \ f_t & (\alpha_1)_0 = a_T^1 \\ (\beta_1)_{t+1} = (\beta_1)_{t}-\Delta t\ \mathcal{D}_t^\beta \ f_t & (\beta_1)_0 = b_T^1 \\ \end{cases} $$Donde hemos usado una discretización temporal:
$$[0,\pi] \rightarrow \{t_0,t_1,\dots,t_{20}\} = \{1\pi/20,2\pi/20,\dots,19\pi/20,\pi \}$$Evolución del sistema dinámico en tiempo discreto
Evolución del sistema dinámico en tiempo discreto
¿Como podemos encontrar todas las posibles trayectorias cuyo final sea el origen de coordenadas?
Con ayuda de la dirección de evolución \(\mathcal{D}(\tau)\) que en este caso es:
$$ \mathcal{D}(\tau) = \begin{bmatrix} \mathcal{D}_{\alpha_1}(\tau) \\ \mathcal{D}_{\beta_1}(\tau) \end{bmatrix} = \frac{2}{\pi} \begin{bmatrix} \cos(\tau) \\ \sin(\tau) \end{bmatrix} $$Podemos reconstruir la trayectoria desde el final.
Reconstrucción de todas las posibles trayectorias
Estrategia para obtener la region controlable
Estrategia para obtener la region controlable
Dado una dirección \(w \in \mathbb{R}^{N_a + N_b} / \ ||w|| = 1\) entonces podemos aproximar la frontera en la dirección \(w\) como una trayectoria \(x_w\).
$$ \begin{cases} (x_w)_t= (x_w)_{t-1} + \Delta t \| \mathcal{D}_t.w\| \\ (x_w)_0 = 0 \end{cases} $$Donde \(w\) son puntos de la esfera unidad de dimensión \(\mathbb{R}^{N_a+N_b}\)
Entonces dado un conjunto \(\mathcal{W}\) de trayectorias \((x_w)_t\) se puede construir una función cuyo valor sea 0 cuando estemos en la región controlable
$$ V_t(x) = \sum_{w_k \in \mathcal{W}} \sigma [x(\tau) - (x_{w_k})_t] $$Donde \(\Theta:\mathbb{R} \rightarrow \mathbb{R}\) es una función de activación. Como por ejemplo:
$$ \sigma(x) = \begin{cases} 1 \ \text{ si } x>0 \\ 0 \ \text{ si } x<0 \end{cases} $$Suponiendo que conocemos \(V_t(x)\) ¿Cómo podemos encontrar soluciones al problema?
Siempre que nos mantengamos dentro de la región controlable en todo tiempo acabaremos en el origen y por tanto \(f_t\) será una solución.
2 niveles
5 niveles
9 niveles
\( \mathcal{E}_b = \{ 1 \,\ 7 \,\ 9 \,\ 11 \,\ 13\} \) y \(\mathcal{E}_a = \{ \emptyset\}\)
\( \mathcal{E}_b = \{ 1 \,\ 7 \,\ 9 \,\ 11 \,\ 13\} \) y \(\mathcal{E}_a = \{ \emptyset\}\)