← Back to Blog

[Control Theory] Lyapunov Function

math > control theory

2026-08-082 min read

#Math #Lyapunov Function

Lyaunov Functionordinary differential equations (ODEs) 평형점의 안정성을 증명하는 도구이다.

예를 들어, Lyapunov Function인 V(x)V(x)를 다음과 같이 정의하자.
이때 V(x)V(x)가상 에너지라 생각하면 이해하기 쉽다.

V(x)=x2V(x) = x^2

여기서 목표 상태는 x=0x = 0 이다.


핵심 조건

Lyapunov Function은 일반적으로 다음 조건을 만족해야 한다.

V(0)=0V(0)>0,x0\begin{align} V(0) = 0\\ V(0) \gt 0,\quad x \neq 0 \end{align}

그리고 시간에 따라 V(x)V(x) 가 감소해야 된다.

V˙<0\dot V \lt 0

이를 해석하면 다음과 같다.

공이 그릇 안에서 굴러가는 상황으로 생각하면 쉽다.
공이 어느 위치에서 시작하더라도 높이가 점점 낮아져 그릇의 가장 낮은 곳으로 이동한다. 이때 높이를 V(x)V(x) 라 할 수 있다.


안정성 종류

조건의미
V˙(x)0\dot V(x) \geq 0목표 상태에서 더 멀어지지 않음
V˙(x)<0\dot V(x) \lt 0시간이 지나면서 목표 상태로 수렴
V˙(x)cV(x)\dot V(x) \leq -c V(x)목표 상태로 지수적으로 빠르게 수렴

특히

V˙(x)<0\dot V(x) \lt 0

이면 일반적으로 asymptotic stability를 보장한다.

x˙=x\dot x = -x

Lyapunov Function 정의

V(x)=12x2V(x) = \frac{1}{2} x^2

이를 시간에 대해 미분하면

V˙(x)=Vxx˙\dot V(x) = \frac{\partial V}{\partial x}\dot x

이므로

V˙(x)=x(x)=x2\dot V(x) = x(-x) = -x^2

가 된다.

V˙(x)=x2<0,x0\dot V(x) = -x^2 \lt 0,\quad x \neq 0

따라서 시스템의 에너지가 계속 감소하고, 결국

x0x \rightarrow 0

으로 수렴한다.


코드로 이해

Lyapunov Function를 다음과 같이 설정하자.

V(x,y)=12(x2+y2)V(x, y) = \frac{1}{2}(x^2 + y^2)

이를 미분해 보자.

xt=xyt=2y\begin{align} \frac{\partial x}{\partial t} &= -x\\ \frac{\partial y}{\partial t} &= -2y \end{align}

이를 통해 다음과 같은 시뮬레이션을 구성할 수 있다.

Stable System

xt=xyt=2y\begin{align} \frac{\partial x}{\partial t} &= -x\\ \frac{\partial y}{\partial t} &= -2y \end{align}
def system(t, state):
    x, y = state
    return [-x, -2 * y]

Lyapunov Fuction

def lyapunov(x, y):
    return 0.5 * (x**2 + y**2)

Simulation

initial_state = [4.0, 3.0]
t_eval = np.linspace(0, 6, 500)

solution = solve_ivp(
    system,
    t_span=(0, 6),
    y0=initial_state,
    t_eval=t_eval
)

x_trajectory = solution.y[0]
y_trajectory = solution.y[1]
V_trajectory = lyapunov(x_trajectory, y_trajectory)

결과

시간에 따라 감소하는 Lyapunov 함수

이미지 출처: 직접 작성한 시뮬레이션 결과. 안정 시스템의 상태와 Lyapunov 함수가 시간에 따라 0으로 수렴하는 모습을 보여준다.