Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Substitutionsmethode – Wikipedia
Substitutionsmethode – Wikipedia
aus Wikipedia, der freien Enzyklopädie

Mittels der Substitutionsmethode für Rekurrenzen lässt sich eine untere Schranke bzw. obere Schranke des (Rechen-)Aufwandes einer Rekursion bestimmen.

Beschreiben der Methode

[Bearbeiten | Quelltext bearbeiten]

Gegeben sei eine Rekursion T(n) der Form T(n) = a⋅T(n/b) + f(n). Um eine obere Schranke zu ermitteln, schätzt man diese zuerst mittels Ο-Kalkül ab. Unter Abschätzen versteht man „geschicktes Raten“. Anschließend wird die Vermutung mit Hilfe von Substitution bewiesen bzw. widerlegt. Analog ist das Vorgehen zur Bestimmung der unteren Schranke.

  1. Vermutung(1): T(n) ≤ c⋅g(n), mit c > 0 bzw. T(n) ∈ Ο(g(n))  (nach Definition des Ο-Kalküls)
  2. Annahme(2): Tsub(n/b) ≤ c⋅g(n/b)
  3. Substitution durch Einsetzen der Annahme in die Rekurrenz: T(n) ≤ a⋅Tsub(n/b) + f(n)  bzw.  T(n) ≤ a⋅(c⋅g(n/b)) + f(n)
  4. Genaues(3) Umformens zu: T(n) ≤ c⋅g(n)  → Falls dies nicht möglich ist, so war entweder die Vermutung oder die Annahme(2) falsch.
  5. Beweis von T(n) ≤ c⋅g(n) durch Induktion ⇒ T(n) ∈ Ο(g(n))
(1)   Die Vermutung ist die nach oben abgeschätzte Schranke, so dass gilt: T(n) ≤ c⋅g(n) ∈Ο(g(n))
(2)   Falls sich bei 4. T(n) nicht entsprechend genau(3) umformen lässt, so darf man von der Annahme Tsub(n/b) ≤ c⋅g(n/b) einen Term t(n) niedrigerer Ordnung subtrahieren. Die neue Annahme ist dann: Tsub(n/b) ≤ c⋅g(n/b) – t(n)
(3)   Hiermit ist gemeint, dass z. B. T(n) ≤ (c+1)⋅g(n) nicht die genaue Form der Vermutung ist. Korrekt wäre beispielsweise T(n) ≤ c⋅g(n) oder auch T(n) ≤ (c-1)⋅g(n).

Beispiel

[Bearbeiten | Quelltext bearbeiten]
  • Beispiel (1):   T ( n ) = 2 T ( ⌊ n 4 ⌋ ) + 8 T ( ⌊ n 16 ⌋ ) + n {\displaystyle T(n)=2T\left(\left\lfloor {\frac {n}{4}}\right\rfloor \right)+8T\left(\left\lfloor {\frac {n}{16}}\right\rfloor \right)+n} {\displaystyle T(n)=2T\left(\left\lfloor {\frac {n}{4}}\right\rfloor \right)+8T\left(\left\lfloor {\frac {n}{16}}\right\rfloor \right)+n}
1.  Vermutung: T ( n ) ∈ O ( n ln ⁡ ( n ) ) ⟹ T ( n ) ≤ c ⋅ n ln ⁡ ( n ) {\displaystyle T(n)\in O(n\ln(n))\Longrightarrow T(n)\leq c\cdot n\ln(n)} {\displaystyle T(n)\in O(n\ln(n))\Longrightarrow T(n)\leq c\cdot n\ln(n)}
2.  Annahme: T s u b 1 ( n 4 ) ≤ c ⋅ ( n 4 ) ln ⁡ ( n 4 ) {\displaystyle T_{sub1}\left({\frac {n}{4}}\right)\leq c\cdot \left({\frac {n}{4}}\right)\ln \left({\frac {n}{4}}\right)} {\displaystyle T_{sub1}\left({\frac {n}{4}}\right)\leq c\cdot \left({\frac {n}{4}}\right)\ln \left({\frac {n}{4}}\right)}  und   T s u b 2 ( n 16 ) ≤ c ⋅ ( n 16 ) ln ⁡ ( n 16 ) {\displaystyle T_{sub2}\left({\frac {n}{16}}\right)\leq c\cdot \left({\frac {n}{16}}\right)\ln \left({\frac {n}{16}}\right)} {\displaystyle T_{sub2}\left({\frac {n}{16}}\right)\leq c\cdot \left({\frac {n}{16}}\right)\ln \left({\frac {n}{16}}\right)}
3.  Substitution: T ( n ) ≤ 2 ⋅ T s u b 1 ( n 4 ) + 8 T s u b 2 ( n 16 ) + n {\displaystyle T(n)\leq 2\cdot T_{sub1}\left({\frac {n}{4}}\right)+8T_{sub2}\left({\frac {n}{16}}\right)+n} {\displaystyle T(n)\leq 2\cdot T_{sub1}\left({\frac {n}{4}}\right)+8T_{sub2}\left({\frac {n}{16}}\right)+n}
4.  Umformen:
= 2 ( c ⋅ ( n 4 ) ln ⁡ ( n 4 ) ) + 8 ( c ⋅ ( n 16 ) ln ⁡ ( n 16 ) ) + n {\displaystyle =2\left(c\cdot \left({\frac {n}{4}}\right)\ln \left({\frac {n}{4}}\right)\right)+8\left(c\cdot \left({\frac {n}{16}}\right)\ln \left({\frac {n}{16}}\right)\right)+n} {\displaystyle =2\left(c\cdot \left({\frac {n}{4}}\right)\ln \left({\frac {n}{4}}\right)\right)+8\left(c\cdot \left({\frac {n}{16}}\right)\ln \left({\frac {n}{16}}\right)\right)+n}
= c ⋅ n 2 ( ln ⁡ ( n ) − ln ⁡ ( 4 ) ) + c ⋅ n 2 ( ln ⁡ ( n ) − ln ⁡ ( 16 ) ) + n {\displaystyle =c\cdot {\frac {n}{2}}\left(\ln(n)-\ln(4)\right)+c\cdot {\frac {n}{2}}\left(\ln(n)-\ln(16)\right)+n} {\displaystyle =c\cdot {\frac {n}{2}}\left(\ln(n)-\ln(4)\right)+c\cdot {\frac {n}{2}}\left(\ln(n)-\ln(16)\right)+n}
= c ⋅ n 2 ( 2 ln ⁡ ( n ) − ln ⁡ ( 4 ) − ln ⁡ ( 16 ) ) + n {\displaystyle =c\cdot {\frac {n}{2}}\left(2\ln(n)-\ln(4)-\ln(16)\right)+n} {\displaystyle =c\cdot {\frac {n}{2}}\left(2\ln(n)-\ln(4)-\ln(16)\right)+n}
= c ⋅ n ln ⁡ ( n ) − c ⋅ n 2 ( ln ⁡ ( 4 ) + ln ⁡ ( 16 ) ) + n {\displaystyle =c\cdot n\ln(n)-c\cdot {\frac {n}{2}}\left(\ln(4)+\ln(16)\right)+n} {\displaystyle =c\cdot n\ln(n)-c\cdot {\frac {n}{2}}\left(\ln(4)+\ln(16)\right)+n}
≤ c ⋅ n ln ⁡ ( n ) {\displaystyle \leq c\cdot n\ln(n)} {\displaystyle \leq c\cdot n\ln(n)}  mit   c ≥ 2 ln ⁡ ( 4 ) + ln ⁡ ( 16 ) = 2 ln ⁡ ( 64 ) {\displaystyle c\geq {\frac {2}{\ln(4)+\ln(16)}}={\frac {2}{\ln(64)}}} {\displaystyle c\geq {\frac {2}{\ln(4)+\ln(16)}}={\frac {2}{\ln(64)}}}
5.  Induktion:
I.A.:  n = 2 : T ( 2 ) = 2 ≤ c ⋅ 2 ln ⁡ ( 2 ) = {\displaystyle n=2:\quad T(2)=2\leq c\cdot 2\ln(2)=} {\displaystyle n=2:\quad T(2)=2\leq c\cdot 2\ln(2)=}  mit   c ≥ ln − 1 ⁡ ( 2 ) ≈ 1,443 {\displaystyle c\geq \ln ^{-1}(2)\approx 1{,}443} {\displaystyle c\geq \ln ^{-1}(2)\approx 1{,}443}
I.V.:  T ( n ) ≤ c ⋅ n ln ⁡ ( n ) {\displaystyle T(n)\leq c\cdot n\ln(n)} {\displaystyle T(n)\leq c\cdot n\ln(n)}  für   n ≥ n 0 {\displaystyle n\geq n_{0}} {\displaystyle n\geq n_{0}}
I.S.: n → n + 1: Da man für ein n0 gezeigt hat, dass T(n) ≤ c⋅n⋅ln(n) korrekt ist, stimmt die Vermutung. (Es zeigt sich, dass eine Konstante c ≥ 1,443 ausreicht.)
Damit folgt für T(n):   T ( n ) ∈ O ( n ln ⁡ ( n ) ) {\displaystyle T(n)\in O(n\ln(n))} {\displaystyle T(n)\in O(n\ln(n))}
  • Beispiel (2):   T ( n ) = 8 T ( n 2 ) + n 3 ln ⁡ ( n ) {\displaystyle T(n)=8T\left({\frac {n}{2}}\right)+n^{3}\ln(n)} {\displaystyle T(n)=8T\left({\frac {n}{2}}\right)+n^{3}\ln(n)}
Siehe zu demselben Beispiel auch die Aufwandsabschätzung mit dem Θ-Kalkül im Artikel zum Mastertheorem.
1.  Vermutung: T ( n ) ∈ O ( n 3 ln 2 ⁡ ( n ) ) ⟹ T ( n ) ≤ c ⋅ n 3 ln 2 ⁡ ( n ) {\displaystyle T(n)\in O\left(n^{3}\ln ^{2}(n)\right)\Longrightarrow T(n)\leq c\cdot n^{3}\ln ^{2}(n)} {\displaystyle T(n)\in O\left(n^{3}\ln ^{2}(n)\right)\Longrightarrow T(n)\leq c\cdot n^{3}\ln ^{2}(n)}
2.  Annahme: T s u b ( n 2 ) = c ⋅ ( n 2 ) 3 ln 2 ⁡ ( n 2 ) − t ( n ) {\displaystyle T_{sub}\left({\frac {n}{2}}\right)=c\cdot \left({\frac {n}{2}}\right)^{3}\ln ^{2}\left({\frac {n}{2}}\right)-t(n)} {\displaystyle T_{sub}\left({\frac {n}{2}}\right)=c\cdot \left({\frac {n}{2}}\right)^{3}\ln ^{2}\left({\frac {n}{2}}\right)-t(n)}  mit   t ( n ) = b ⋅ ln 2 ⁡ ( 2 ) ( n 2 ) 3 {\displaystyle t(n)=b\cdot \ln ^{2}(2)\left({\frac {n}{2}}\right)^{3}} {\displaystyle t(n)=b\cdot \ln ^{2}(2)\left({\frac {n}{2}}\right)^{3}}  und   b > 0 {\displaystyle b>0} {\displaystyle b>0}
3.  Substitution: T ( n ) ≤ 8 T s u b ( n 2 ) + n 3 ln ⁡ ( n ) {\displaystyle T(n)\leq 8T_{sub}\left({\frac {n}{2}}\right)+n^{3}\ln(n)} {\displaystyle T(n)\leq 8T_{sub}\left({\frac {n}{2}}\right)+n^{3}\ln(n)}
4.  Umformen:
= 8 ( c ⋅ ( n 2 ) 3 ln 2 ⁡ ( n 2 ) − b ⋅ ln 2 ⁡ ( 2 ) ( n 2 ) 3 ) + n 3 ln ⁡ ( n ) {\displaystyle =8\left(c\cdot \left({\frac {n}{2}}\right)^{3}\ln ^{2}\left({\frac {n}{2}}\right)-b\cdot \ln ^{2}(2)\left({\frac {n}{2}}\right)^{3}\right)+n^{3}\ln(n)} {\displaystyle =8\left(c\cdot \left({\frac {n}{2}}\right)^{3}\ln ^{2}\left({\frac {n}{2}}\right)-b\cdot \ln ^{2}(2)\left({\frac {n}{2}}\right)^{3}\right)+n^{3}\ln(n)}
= c ⋅ n 3 ln 2 ⁡ ( n 2 ) − b ⋅ ln 2 ⁡ ( 2 ) n 3 + n 3 ln ⁡ ( n ) {\displaystyle =c\cdot n^{3}\ln ^{2}\left({\frac {n}{2}}\right)-b\cdot \ln ^{2}(2)n^{3}+n^{3}\ln(n)} {\displaystyle =c\cdot n^{3}\ln ^{2}\left({\frac {n}{2}}\right)-b\cdot \ln ^{2}(2)n^{3}+n^{3}\ln(n)}
= c ⋅ n 3 ( ln ⁡ ( n ) − ln ⁡ ( 2 ) ) ⋅ ( ln ⁡ ( n ) − ln ⁡ ( 2 ) ) − b ⋅ ln 2 ⁡ ( 2 ) n 3 + n 3 ln ⁡ ( n ) {\displaystyle =c\cdot n^{3}\left(\ln(n)-\ln(2)\right)\cdot \left(\ln(n)-\ln(2)\right)-b\cdot \ln ^{2}(2)n^{3}+n^{3}\ln(n)} {\displaystyle =c\cdot n^{3}\left(\ln(n)-\ln(2)\right)\cdot \left(\ln(n)-\ln(2)\right)-b\cdot \ln ^{2}(2)n^{3}+n^{3}\ln(n)}
= c ⋅ n 3 ( ln 2 ⁡ ( n ) − 2 ln ⁡ ( 2 ) ln ⁡ ( n ) + ln 2 ⁡ ( 2 ) ) − b ⋅ ln 2 ⁡ ( 2 ) n 3 + n 3 ln ⁡ ( n ) {\displaystyle =c\cdot n^{3}\left(\ln ^{2}(n)-2\ln(2)\ln(n)+\ln ^{2}(2)\right)-b\cdot \ln ^{2}(2)n^{3}+n^{3}\ln(n)} {\displaystyle =c\cdot n^{3}\left(\ln ^{2}(n)-2\ln(2)\ln(n)+\ln ^{2}(2)\right)-b\cdot \ln ^{2}(2)n^{3}+n^{3}\ln(n)}
= c ⋅ n 3 ln 2 ⁡ ( n ) − c ⋅ n 3 2 ln ⁡ ( 2 ) ln ⁡ ( n ) + c ⋅ n 3 ln 2 ⁡ ( 2 ) − b ⋅ ln 2 ⁡ ( 2 ) n 3 + n 3 ln ⁡ ( n ) {\displaystyle =c\cdot n^{3}\ln ^{2}(n)-c\cdot n^{3}2\ln(2)\ln(n)+c\cdot n^{3}\ln ^{2}(2)-b\cdot \ln ^{2}(2)n^{3}+n^{3}\ln(n)} {\displaystyle =c\cdot n^{3}\ln ^{2}(n)-c\cdot n^{3}2\ln(2)\ln(n)+c\cdot n^{3}\ln ^{2}(2)-b\cdot \ln ^{2}(2)n^{3}+n^{3}\ln(n)}
= c ⋅ n 3 ln 2 ⁡ ( n ) − c ⋅ n 3 2 ln ⁡ ( 2 ) ln ⁡ ( n ) + n 3 ln ⁡ ( n ) − b ⋅ ln 2 ⁡ ( 2 ) n 3 + c ⋅ n 3 ln 2 ⁡ ( 2 ) {\displaystyle =c\cdot n^{3}\ln ^{2}(n)-c\cdot n^{3}2\ln(2)\ln(n)+n^{3}\ln(n)-b\cdot \ln ^{2}(2)n^{3}+c\cdot n^{3}\ln ^{2}(2)} {\displaystyle =c\cdot n^{3}\ln ^{2}(n)-c\cdot n^{3}2\ln(2)\ln(n)+n^{3}\ln(n)-b\cdot \ln ^{2}(2)n^{3}+c\cdot n^{3}\ln ^{2}(2)}
= c ⋅ n 3 ln 2 ⁡ ( n ) + n 3 ln ⁡ ( n ) ⋅ ( 1 − c ⋅ 2 ln ⁡ ( 2 ) ) ⏟ c ≥ 1 2 ln ⁡ ( 2 ) + n 3 ln 2 ⁡ ( 2 ) ⋅ ( c − b ) ⏟   b ≥ c {\displaystyle =c\cdot n^{3}\ln ^{2}(n)+{\begin{matrix}\underbrace {n^{3}\ln(n)\cdot (1-c\cdot 2\ln(2))} \\{}^{\rm {c\geq {\frac {1}{2\ln(2)}}}}\\[-4.5ex]\end{matrix}}+{\begin{matrix}\underbrace {n^{3}\ln ^{2}(2)\cdot (c-b)} \\{}^{\rm {\ b\geq c}}\\[-4.5ex]\end{matrix}}} {\displaystyle =c\cdot n^{3}\ln ^{2}(n)+{\begin{matrix}\underbrace {n^{3}\ln(n)\cdot (1-c\cdot 2\ln(2))} \\{}^{\rm {c\geq {\frac {1}{2\ln(2)}}}}\\[-4.5ex]\end{matrix}}+{\begin{matrix}\underbrace {n^{3}\ln ^{2}(2)\cdot (c-b)} \\{}^{\rm {\ b\geq c}}\\[-4.5ex]\end{matrix}}}
≤ c ⋅ n 3 ln 2 ⁡ ( n ) {\displaystyle \leq c\cdot n^{3}\ln ^{2}(n)} {\displaystyle \leq c\cdot n^{3}\ln ^{2}(n)}  mit     b ≥ c ≥ 2 ln − 1 ⁡ ( 2 ) {\displaystyle \ b\geq c\geq 2\ln ^{-1}(2)} {\displaystyle \ b\geq c\geq 2\ln ^{-1}(2)}
5.  Induktion:
I.A.:  n = 2 : T ( 2 ) ≈ 5 , 5 ≤ c ⋅ 2 3 ln 2 ⁡ ( 2 ) {\displaystyle n=2:\quad T(2)\approx 5{,}5\leq c\cdot 2^{3}\ln ^{2}(2)} {\displaystyle n=2:\quad T(2)\approx 5{,}5\leq c\cdot 2^{3}\ln ^{2}(2)}  mit   c ≥ 1 {\displaystyle c\geq 1} {\displaystyle c\geq 1}
I.V.:  T ( n ) ≤ c ⋅ n 3 ln 2 ⁡ ( n ) {\displaystyle T(n)\leq c\cdot n^{3}\ln ^{2}(n)} {\displaystyle T(n)\leq c\cdot n^{3}\ln ^{2}(n)}  für   n ≥ n 0 {\displaystyle n\geq n_{0}} {\displaystyle n\geq n_{0}}
I.S.: n → n + 1: Da man für ein n0 gezeigt hat, dass T(n) ≤ c⋅n3ln2(n) korrekt ist und c eine beliebig große Konstante sein darf, stimmt die Vermutung. (Eine Konstante c ≥ 4 ist hinreichend groß für alle n.)
Damit folgt für T(n):   T ( n ) ∈ O ( n 3 ln 2 ⁡ ( n ) ) {\displaystyle T(n)\in O(n^{3}\ln ^{2}(n))} {\displaystyle T(n)\in O(n^{3}\ln ^{2}(n))}
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Substitutionsmethode&oldid=199978190“
Kategorie:
  • Komplexitätstheorie

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id