문제

내가 가고 있었을 통해 역동적 프로그래밍 섹션을 소개하는 알고리즘(2nd Edition)의 Cormen et.al.어디에 왔을 통해 다음과 같은 재발관계의 맥락에서 조립 라인 예약

(주의:조립 라인 예약 또는 동적인 프로그래밍이 필요하지 않습 질문에 대답하지만,그것은 단지 정보는 것이 도움을에 관한 컨텍스트).


$(1),(2),(3)$ 은 세 가지 관계로 표시됩니다.

$$f_ 부드러 다{1}[j]=\시작하느니라 e_1+a_{1,1}&\쿼드 ext{if}j=1\\ \min(f_1[j-1]+a_{1,j},f_2[j-1]+t_{2,j-1}+a_{1,j})&\쿼드 ext{if}j\geq2\\ \끝{경우} ag1$$

대칭으로,

$$f_ 부드러 다{2}[j]=\시작하느니라 e_2+a_{2,1}&\쿼드 ext{if}j=1\\ \min(f_2[j-1]+a_{2,j},f_1[j-1]+t_{1,j-1}+a_{2,j})&\쿼드 ext{if}j\geq2\\ \끝{경우} ag2$$

(가 $e_i,a_{i,j},t_{2,j-1}$ 은 상수 $i=1,2$$j=1,2,3,...,n$)

$$f^\급=\min(f_1[n]+x_1,f_2[n]+x_2)\태그 3$$


텍스트를 찾으려고 되풀이 관계의 횟수 $f_i[j]$ ($i=1,2$$j=1,2,3,...,n$ 가)참조 우리가 작성하는 경우 상호간의 재귀 코드 $f_1[j]$$f_2[j]$.자 $r_i(j)$ 을 나타내는 횟수 $f_i[j]$ 참조.

그들이 말하는,

$(3)$,

$$r_1(n)=r_2(n)=1. ag4$$

$(1)$$(2)$,

$$r_1(j)=r_2(j)=r_1(j+1)+r_2(j+1)\태그 5$$


할 수 없었다 하는 방법 확실히 이해의 관계 $(4)$$(5)$ 에서 얻을 수 있 세에 해당하는 관계입니다.(직접없이 모든 증거,그것은 너무 사소한?)

나는 생각을 만들 수 있습을 직관적으로는 하나만 있는 곳이 $f_1[n]$$f_2[n]$ 라고서 $f^\성급$, 다,그래서 아마에 $(4)$ 우리는 필수입니다.

하지만 나는 발생하지 않은 개념이기 전에 나는지 확실히 알 수 있는 방법을 진행합니다.다면 감사하겠습니다 누군가가 나를 안내와 함께 수학적 증명서의 유도뿐만 아니라 직감이 있습니다.

[참고:그러나 대안을 수학적 유도하여 더 도움이 될로 그것은 기계적인 요리책 방법 없이 많은 통찰력으로도(하지만 경우에는 다른 방법이 없다,다음에도 수학적 유도는 평가된 경우를 얻을 수 있는 직관 뒤에 증거)].

도움이 되었습니까?

해결책

그것처럼 보이는 당신이 피곤 한 후 긴고 피곤한 여행을 촬영을 이해하고 설치하는 조립 라인을 예약,1 단계에서의 구조는 가장 빠른 방법을 통해 공장과 2 단계에 재귀적인 솔루션입니다.

그것은 간단하게 이해할 수식(4)and(5).

때 우리는 프로그램을 재귀 솔루션을 사용하여식(1),(2)및(3),화면 왼쪽의 각 수식으로 변환하의 서명이 그 구현 방법면서 오른쪽으로 변환됩니다 몸의 방법입니다.

예를 들어,(3)은 변화를 의사-파이드

def f_star(n):
    return min(f_1(n) + x_1, f_2(n) + x_2)

그래서 때 $f^\성급$ 참조,즉 때 f_star$f_1[n]$$f_2[n]$ 참조됩니다,즉, f_1(n)f_2(n) 될 것이라는 곳 f_1(.)f_2(.) 것이 아래에 설명되어 있습니다.이후 호출합니다 f_star(n) 일단,이는 충분한 값을 가져오 $f^\성급$, 우리는 얻을 수식(4 개).

식(1)입은 변화를 의사-파이드

def f_1(j):
    if j == 1:
        return e[1] + a[1][1]
    else:
        return min(f_1(j - 1) + a[1][j], f_2(j - 1) + t[2][j - 1] + a[1][j])

그래서 때마다 $f_1[j]$ 참조,즉 때 $f_1(j)$$f_1[j-1]$ 참조 할 것이 정확하게 하나,즉 f_1(j-1) 될 것이라는 정확하게 한다.

마찬가지로,언제 $f_2[j]$ 참조 $f_1[j-1]$ 참조됩니다 정확히 한다.(당신이 쓸 수 있는 기능 f_2(j) 명시적으로 자신이 그것을 밖으로 확인하십시오.)

모든 대한 참조 $f_1[j-1]$ 해야 합하여 하나에 대한 참조 $f_1[j]$ 또는 참조 $f_2[j]$.그래서 우리는 $$r_1(j-1)=r_1(j)+r_2(j).$$

마찬가지로나 대칭으로,우리는 또한 $$r_2(j-1)=r_1(j)+r_2(j).$$

대체 $j$ by $j+1$, 우리는 얻을 수식(5).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 cs.stackexchange
scroll top