수치해석 (Numerical Analysis) 다변수방정식과함수 (Part...

15
1 2005 2005가을학기 가을학기 문양세 문양세 컴퓨터과학과 컴퓨터과학과 강원대학교 강원대학교 자연과학대학 자연과학대학 수치해석 수치해석 (Numerical Analysis) (Numerical Analysis) 다변수 다변수 방정식과 방정식과 함수 함수 (Part 2) (Part 2) (Multi (Multi- Variable Equations and Functions Variable Equations and Functions – Part 2) Part 2) Page 2 Numerical Analysis by Yang-Sae Moon We are now We are now … 이차원 이분 격자(bisection grid)영점 곡선 추적 (Zero-Curve Tracking) 더욱 세밀한 이차원 이분 격자법 다차원 극값을 구하기 위한 경사도 탐색 (Gradient Search) 이차원 경사도 탐색법 수치 미분을 사용한 방법 가파른 경사법 (Steepest Descent) Gradient Search

Transcript of 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part...

Page 1: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

1

20052005년년 가을학기가을학기

문양세문양세

컴퓨터과학과컴퓨터과학과

강원대학교강원대학교 자연과학대학자연과학대학

수치해석수치해석 (Numerical Analysis)(Numerical Analysis)

다변수다변수 방정식과방정식과 함수함수 (Part 2)(Part 2)(Multi(Multi--Variable Equations and Functions Variable Equations and Functions –– Part 2)Part 2)

Page 2Numerical Analysisby Yang-Sae Moon

We are now We are now ……

이차원 이분 격자(bisection grid)법

영점 곡선 추적 (Zero-Curve Tracking)

더욱 세밀한 이차원 이분 격자법

다차원 극값을 구하기 위한 경사도 탐색 (Gradient Search)

• 이차원 경사도 탐색법

• 수치 미분을 사용한 방법

가파른 경사법 (Steepest Descent)

Gradient Search

Page 2: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

2

Page 3Numerical Analysisby Yang-Sae Moon

들어가기들어가기 이전에이전에 ……

편미분(partial derivative)에 대한 기본적인 이해가 있어야 한다.

미분도 어려운데, 편미분이 머야? 편두통은 몰라도…

글고, my high school 시절에 편미분 배웠나?

대학에서 배운 거 같기는 한데… 뭐 더라?

∂∂fx

∂∂

2

2fx

∂∂fy ∂

2

2fy

∂∂ ∂

2 fx y

Gradient Search

Page 4Numerical Analysisby Yang-Sae Moon

편미분편미분 기초기초 (1/3)(1/3)

변수 x에 대한 함수 f(x,y)의 편미분 (partial derivative of f w.r.t. x)

y를 상수(constant)로 보고 f를 x에 대해 미분한다.

∂ ∂= =

∂ ∂( , ) ( , )f f x y d f x c

x x dx

편미분 예제 (1/2)

( )

( )

= − −

∂= = − − = −

∂= = − − = −

2 2

2 2

2 2

( , ) 100

( , ) 100 2

( , ) 100 2

f x y x y

f d df x c x c xx dx dx

f d df c y c y yy dy dy

Gradient Search

( )

( )

= +

∂= = + =

∂= = + = −

( , ) sin cos

( , ) sin cos cos

( , ) sin cos sin

g x y x y

g d dg x c x c xx dx dx

g d dg c y c y xy dy dy

Page 3: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

3

Page 5Numerical Analysisby Yang-Sae Moon

편미분편미분 기초기초 (2/3)(2/3)

편미분 예제 (2/2)

Gradient Search

( )

( )

= +

∂= = + =

∂= = + = −

( , ) sin cos

( , ) sin cos cos

( , ) sin cos sin

g x y x y

g d dg x c x c xx dx dx

g d dg c y c y xy dy dy

Page 6Numerical Analysisby Yang-Sae Moon

편미분편미분 기초기초 (3/3)(3/3)

∂ ∂∂ ⎛ ⎞= ⎜ ⎟∂ ∂∂ ⎝ ⎠

⎛ ⎞∂ ∂∂= ⎜ ⎟⎜ ⎟∂ ∂∂ ⎝ ⎠

⎛ ⎞∂ ∂∂= ⎜ ⎟⎜ ⎟∂ ∂ ∂ ∂⎝ ⎠

2

2

2

2

2

f fx xx

f fy yy

f fx y x y

고차 편미분 (High order partial derivatives)

고차 편미분 예제

( )

= − −

∂ ∂∂ ∂⎛ ⎞= = − = −⎜ ⎟∂ ∂ ∂∂ ⎝ ⎠

2 2

2

2

( , ) 100

2 2

f x y x y

f f xx x xx

Gradient Search

Page 4: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

4

Page 7Numerical Analysisby Yang-Sae Moon

다차원다차원 극값의극값의 특성특성

극값과 차원

• 일차원: x 값을 변화시키면서 극값을 찾아나간다.

• 이차원: x 값과 함께 y 값도 변화시키면서 극값을 찾아나가야 한다.

연속인 함수 f(x,y)는 다음 조건 하에서 임계점(critical point)을 갖는다.(임계점이란, 극소값, 극대값, 변곡점을 통칭한다.)

상기 조건의 의미는 x축 관점에서도 기울기가 0이고, y축 관점에서도 기

울기가 0이란 의미이다.(일차원의 경우, f′(c) = 0이면 임계점을 가짐과 동일하다.)

∂ ∂= =

∂ ∂0, 0f f

x y

Gradient Search

Page 8Numerical Analysisby Yang-Sae Moon

We are now We are now ……

이차원 이분 격자(bisection grid)법

영점 곡선 추적 (Zero-Curve Tracking)

더욱 세밀한 이차원 이분 격자법

다차원 극값을 구하기 위한 경사도 탐색 (Gradient Search)

• 이차원 경사도 탐색법

• 수치 미분을 사용한 방법

가파른 경사법 (Steepest Descent)

Gradient Search

Page 5: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

5

Page 9Numerical Analysisby Yang-Sae Moon

Recall: Recall: 뉴튼법을뉴튼법을 이용한이용한 일차원일차원 극소값극소값 찾기찾기

함수 f(x)의 일차 도함수 f′(x)의 성질을 이용한다.

1) f′(a) < 0 이면, 감소하는 구간으로서 극소값은 a보다 더 오른쪽에 존재하고,

2) f′(a) > 0 이면, 증가하는 구간으로서 극소값은 a보다 더 왼쪽에 존재한다.

따라서, 다음 식을 사용하여 xi를 반복 계산하여 극소값으로 수렴해 간다.

+ = −1 '( )i i ix x cf x

1) f′(xi) < 0 이면, cf′(xi)가 음수가 되어 xi+1 은 오른쪽으로 이동한다.

2) f′(xi) > 0 이면, cf′(xi)가 양수가 되어 xi+1 은 왼쪽으로 이동한다.

상수 c는 좌우로 움직이는 폭을 결정한다.

Gradient Search

Page 10Numerical Analysisby Yang-Sae Moon

이차원이차원 경사도경사도 탐색법탐색법 개념개념

일차원 뉴튼법을 이차원으로 확장시킨다.

Gradient Search

+

+

∂= − ⋅

∂= − ⋅

1

1

( , )

( , )

i i i i

i i i i

x x c f x yx

y y c f x yy

1) 이면, 가 음수가 되어 xi+1 은 오른쪽으로 이동한다.

2) 이면, 가 양수가 되어 xi+1 은 왼쪽으로 이동한다.

3) 이면, 가 음수가 되어 yi+1 은 위쪽으로 이동한다.

4) 이면, 가 양수가 되어 yi+1 은 아래쪽으로 이동한다.

상수 c는 좌우 및 상하로 움직이는 폭을 결정한다.

∂<

∂( , ) 0i if x y

x∂

⋅∂

( , )i ic f x yx

∂>

∂( , ) 0i if x y

x∂

⋅∂

( , )i ic f x yx

∂<

∂( , ) 0i if x y

y∂

⋅∂

( , )i ic f x yy

∂>

∂( , ) 0i if x y

y∂

⋅∂

( , )i ic f x yy

Page 6: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

6

Page 11Numerical Analysisby Yang-Sae Moon

Recall: Recall: 뉴튼법을뉴튼법을 이용한이용한 극소값극소값 찾기찾기 -- 알고리즘알고리즘

procedure newton-min(x1, c, e: real numbers)

{ x1 is an initial point.}

{ c is a constant for the Newton equation.}

{ e is an allowable error value.}

i := 0;

do

i++;

xi+1 := xi – c⋅f′(xi);

while |xi+1 - xi| > e

return xi+1;

Gradient Search

Page 12Numerical Analysisby Yang-Sae Moon

이차원이차원 경사도경사도 탐색법탐색법 알고리즘알고리즘 (1/2)(1/2)

procedure gradient-min(x1, y1, c, e: real numbers)

{ (x1, y1) is an initial point.}

{ c is a constant for the Newton equation.}

{ e is an allowable error value.}

i := 0;

do

i++;

xi+1 := xi – ; yi+1 := yi – ;

while

return (xi+1,yi+1);

Gradient Search

∂⋅∂

( , )i ic f x yx

∂⋅∂

( , )i ic f x yy

+ + + +⎛ ⎞∂ ∂⎛ ⎞ + >⎜ ⎟⎜ ⎟ ⎜ ⎟∂ ∂⎝ ⎠ ⎝ ⎠

22

1 1 1 1( , ) ( , )i i i if x y f x y ex y

Page 7: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

7

Page 13Numerical Analysisby Yang-Sae Moon

이차원이차원 경사도경사도 탐색법탐색법 알고리즘알고리즘 (2/2)(2/2)Gradient Search

+ + + +⎛ ⎞∂ ∂⎛ ⎞ + ⎜ ⎟⎜ ⎟ ⎜ ⎟∂ ∂⎝ ⎠ ⎝ ⎠

22

1 1 1 1( , ) ( , )i i i if x y f x yx y

에러 의 의미

극(소)값에 접하는 평면의 x 기울기( ) 및 y 기울기( )는

모두 0이 된다. 따라서, 상기 에러 값은 이들 기울기의 제곱 합에 대한 제

곱근(Euclidean distance)를 나타낸다.

∂∂fx

∂∂fy

Page 14Numerical Analysisby Yang-Sae Moon

대상 함수:

이차원이차원 경사도경사도 탐색법탐색법 프로그램프로그램 (1/3)(1/3)Gradient Search

∂ ∂= − = −

∂ ∂( , ) 2 4, ( , ) 2 6f x y x f x y y

x y

= − + − +2 2( ) 4 6 11f x x x y y

Page 8: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

8

Page 15Numerical Analysisby Yang-Sae Moon

이차원이차원 경사도경사도 탐색법탐색법 프로그램프로그램 (2/3)(2/3)Gradient Search

Page 16Numerical Analysisby Yang-Sae Moon

이차원이차원 경사도경사도 탐색법탐색법 프로그램프로그램 (3/3)(3/3)Gradient Search

교재 p. 87 및 p. 91의 f(x,y)식에서 –y2는 +y2가 되어야 함

∂ ∂= − = −

∂ ∂( , ) 2 4, ( , ) 2 6f x y x f x y y

x y

= − + − +2 2( ) 4 6 11f x x x y y

Page 9: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

9

Page 17Numerical Analysisby Yang-Sae Moon

이차원이차원 경사도경사도 탐색법탐색법 실행실행 결과결과Gradient Search

Page 18Numerical Analysisby Yang-Sae Moon

We are now We are now ……

이차원 이분 격자(bisection grid)법

영점 곡선 추적 (Zero-Curve Tracking)

더욱 세밀한 이차원 이분 격자법

다차원 극값을 구하기 위한 경사도 탐색 (Gradient Search)

• 이차원 경사도 탐색법

• 수치 미분을 사용한 방법

가파른 경사법 (Steepest Descent)

Gradient Search

Page 10: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

10

Page 19Numerical Analysisby Yang-Sae Moon

수치수치 미분법의미분법의 동기동기

편미분을 구하기 어려운 방정식에 대해서, 편미분의 정의를 활용한다.

Numeric Derivatives

∆ →

∆ →

∆ →

+ ∆ −= =

+ ∆ −∂=

∂ ∆

+ ∆ −∂=

∂ ∆

0 00 0 0

0 0 0 00 0 0

0 0 0 00 0 0

( ) ( )( ) '( ) lim

( , ) ( , )( , ) lim

( , ) ( , )( , ) lim

x

x

y

f x x f xd f x f xdx x

f x x y f x yf x yx x

f x y y f x yf x y

y y

상기 식에서 ∆x 및 ∆y에 대하여, 충분히 작은 상수 값 δ를 사용하여, 편미

분의 근사값을 구하고, 이를 편미분 대신 사용한다.

Page 20Numerical Analysisby Yang-Sae Moon

수치수치 미분법의미분법의 개념개념Numeric Derivatives

+

+

+ δ −= − ⋅

δ

+ δ −= − ⋅

δ

1

1

( , ) ( , )

( , ) ( , )

i i i ii i

i i i ii i

f x y f x yx x c

f x y f x yy y c

상기 식에서 δ는 0에 가까운 충분히 작은 수이며, 상수 c는 좌우 및 상하

로 움직이는 폭을 결정한다.

경사도 탐색법의 편미분 수식 대신에 다음 식과 같이 δ를 도입한다.

Page 11: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

11

Page 21Numerical Analysisby Yang-Sae Moon

이차원이차원 경사도경사도 탐색법탐색법 알고리즘알고리즘

procedure numeric-der(x1, y1, c, δ, e: real numbers)

{ (x1, y1) is an initial point.}

{ c is a constant for the Newton equation.}

{ δ is the user-specified interval value.}

{ e is an allowable error value.}

i := 0;

do

i++;

xi+1 := xi – ; yi+1 := yi – ;

while

return (xi+1,yi+1);

+ δ −⋅

δ( , ) ( , )i i i if x y f x y

c

+ + + + + + + ++ δ − + δ −⎛ ⎞ ⎛ ⎞+ >⎜ ⎟ ⎜ ⎟δ δ⎝ ⎠ ⎝ ⎠

2 21 1 1 1 1 1 1 1( , ) ( , ) ( , ) ( , )i i i i i i i if x y f x y f x y f x y e

Numeric Derivatives

+ δ −⋅

δ( , ) ( , )i i i if x y f x y

c

Page 22Numerical Analysisby Yang-Sae Moon

대상 함수: = − + − +2 2( ) 4 6 11f x x x y y

이차원이차원 경사도경사도 탐색법탐색법 프로그램프로그램 (1/3)(1/3)Numeric Derivatives

Page 12: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

12

Page 23Numerical Analysisby Yang-Sae Moon

이차원이차원 경사도경사도 탐색법탐색법 프로그램프로그램 (2/3)(2/3)Numeric Derivatives

Page 24Numerical Analysisby Yang-Sae Moon

이차원이차원 경사도경사도 탐색법탐색법 프로그램프로그램 (3/3)(3/3)Numeric Derivatives

Page 13: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

13

Page 25Numerical Analysisby Yang-Sae Moon

이차원이차원 경사도경사도 탐색법탐색법 실행실행 결과결과Numeric Derivatives

Gradient Search

Page 26Numerical Analysisby Yang-Sae Moon

대상 함수:

다음과 같이 함수 부분만 다름

= − + − +2 2( ) 4 8 12f x x x y y

다른다른 함수함수 예제예제 프로그램프로그램 ((교재교재))Numeric Derivatives

Page 14: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

14

Page 27Numerical Analysisby Yang-Sae Moon

Numeric Derivatives다른다른 함수함수 예제예제 실행실행 결과결과 ((교재교재))

Page 28Numerical Analysisby Yang-Sae Moon

We are now We are now ……

이차원 이분 격자(bisection grid)법

영점 곡선 추적 (Zero-Curve Tracking)

더욱 세밀한 이차원 이분 격자법

다차원 극값을 구하기 위한 경사도 탐색 (Gradient Search)

가파른 경사법 (Steepest Descent)

Steepest Descent

Page 15: 수치해석 (Numerical Analysis) 다변수방정식과함수 (Part 2)ysmoon/courses/2005_2/na/05.pdf · 다변수방정식과함수(Part 2) (Multi-Variable Equations and Functions

15

Page 29Numerical Analysisby Yang-Sae Moon

가파른가파른 경사법경사법 개념개념

경사도 탐색법에서는 일정한 비율로 경사를 탐색해 나가는 반면에,

가파른 경사법에서는 경사가 급한 방향으로 탐색해 나간다.

자세한 개념, 유도 과정, 알고리즘은 생략한다.

Steepest Descent

+

+

= − ⋅+

= − ⋅+

1 2 2

1 2 2

i i

i i

dx x gg h

dy y hg h

∂ + δ −= ≈∂ δ

∂ + δ −= ≈∂ δ

( , ) ( , )

( , ) ( , )

i i i i

i i i i

f f x y f x ygx

f f x y f x yhy

−= ⋅2 nd c