마스터 정리에 규칙적인 조건이있는 이유는 무엇입니까?


15

Cormen et al.의 알고리즘 소개를 읽었습니다 . 그리고 73 쪽에서 시작하는 마스터 정리의 진술을 읽고 있습니다. 3의 경우 정리를 사용하기 위해 충족되어야하는 규칙 성 조건이 있습니다.

... 3. 경우

f(n)=Ω(nlogba+ε)

상수 경우ε>0

에프(/)에프()      [ 이것은 규칙적인 조건입니다 ]

일부 상수 <1 과 충분히 큰 , ..

규칙 성 상태가 왜 필요한지 말해 줄 수 있습니까? 조건이 충족되지 않으면 정리는 어떻게 실패합니까?


사건이 무엇이고 규제 조건이 무엇인지 쓸 수 있습니까?

3
나는 당신에게 결정적인 답을 가지고 있지 않지만 규칙적인 조건이 유지되지 않으면 하위 문제가 더 작을수록 점점 더 많은 시간이 걸리므로 무한한 복잡성을 얻습니다.

정리의 결론을 내리기 위해 규칙 성 조건이 필요한지는 확실하지 않지만 사용 된 증명에 필요한 것으로 생각합니다. 규칙 성 조건을 사용하면 적어도 직선적 인 증거가 있습니다.

답변:


10

엄격한 증거는 아니지만 "내 머리 꼭대기에서"설명.

재발 을 나무라고 상상해보십시오 . 세 번째 경우는 루트 노드가 실행 시간을 점진적으로 지배하는 시나리오, 즉 대부분의 작업이 되풀이 트리의 측정 가능한 노드에서 수행되는 시나리오를 다룹니다. 그런 다음 실행 시간은 입니다.Θ ( f ( n ) )aT(n/b)+f(n)Θ(f(n))

루트가 실제로 더 많은 작업을 수행하도록하려면

에프(/)에프() .

이것은 (루트에서 수행 된 작업의 양)이 최소한 하위 수준에서 수행 된 작업의 합계만큼 커야 한다고 말합니다 . (반복은 입력의 시간 이라고 .)a n / b에프()/

예 재발 루트 아래 수준 일 큰 넷째 하나로 만 회 수행 대 루트 지배하므로.( N / 4 + N / 4 ) N()=2(/4)+(/4+/4)

그러나 함수가 규칙 성 조건을 충족시키지 못하면 어떻게 될까요? 예 : 대신 ? 그러면 하위 레벨에서 수행 된 작업이 루트에서 수행 된 작업보다 클 수 있으므로 루트가 지배하는지 확실하지 않습니다.n코사인()


3
수학 텍스트에 더 좋은 형식을 사용했습니다. "편집 된"링크를 클릭하면 내가 한 일을 볼 수 있습니다.
Juho

7

하자 및 , 그래서 사례 3을 적용하려면 (일부 )과 규칙 성 조건 (일부 ). 증명에서 규칙 성 조건을 얻습니다. 즉 증명 생성 개념입니다. 규칙 성 조건은 필요하지 않지만 (Wikipedia에 제공된 예제, ) 다음 예제에서 볼 수 있듯이 완전히 삭제할 수는 없습니다. 고려 이라고하자b = 2 T ( 2 n ) = n k = 0 f ( 2=1=2F ( N ) = Ω ( N ε ) ε > 0 F ( N / 2 ) ( 1 - δ ) F ( N ) δ > 0 F ( N ) = N

(2)=케이=0에프(2케이).
에프()=Ω(ϵ)ϵ>0에프(/2)(1δ)에프()δ>0f ( 2 n ) = 2 2 log 2 n > 2 2 log 2 n - 1 = 2 n / 2 . n = 2 m + 11 T ( 2 n ) = m k = 0 2 k + 11 t =에프()=(2코사인)
에프(2)=22로그2>22로그21=2/2.
=2미디엄+11. 그런 다음 따라서 사실이 아닙니다 .
(2)=케이=0미디엄=2케이2케이+1122케이=케이=0미디엄22케이+케이=Θ(22미디엄+미디엄),에프(2)=22미디엄.
(2)=Θ(에프(2))

더 일반적인 정리 인 Akra-Bazzi가 있는데,이 규칙에서 규칙 성 조건은 결과로 나오는 명시적인 수량으로 대체됩니다.


이 오래된 답변을 재개하여 죄송합니다. 함수가 규칙 성 조건을 위반하는 이유를 분명히 설명해 주시겠습니까?
Maiaux

에프(/2)=에프()
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.