0 Daumen
520 Aufrufe

Aufgabe:

Wir definieren die Quasiordnung \sqsubseteq auf Funktionen als fg f \sqsubseteq g \quad genau dann wenn fO(g) f \in O(g) .


Lösung:

0104004log(n)n+104001,01nlog(n!)nlog(n3)nlog(n)nnn2n2log(n)n32n32nn!nn \begin{array}{l} 0 \sqsubseteq 10^{400} \sqsubseteq 4 \sqsubseteq \log (n) \sqsubseteq n+10^{400} \sqsubseteq 1,01 n \sqsubseteq \log (n !) \sqsubseteq n \cdot \log \left(n^{3}\right) \\ \sqsubseteq n \cdot \log (n) \sqsubseteq n \cdot \sqrt{n} \sqsubseteq n^{2} \sqsubseteq n^{2} \cdot \log (n) \sqsubseteq \frac{n^{3}}{2} \sqsubseteq n^{3} \sqsubseteq 2^{n} \sqsubseteq n ! \sqsubseteq n^{n}\end{array}

Dabei können folgende Funktionen auch je in einer anderen Reihenfolge vorkommen, da diese je in der selben Komplexitätsklasse sind:
- 10400,4 10^{400}, 4
- 1,01n,n+10400 1,01 n, n+10^{400}
- log(n!),nlog(n3),nlog(n) \log (n !), n \cdot \log \left(n^{3}\right), n \cdot \log (n)
- n32,n3 \frac{n^{3}}{2}, n^{3}

man sollte die Funktionen hier jeweils nach der Quasiordnung ordnen.

Mein Problem ist jetzt wie folgt, wieso wächst log(n!) schneller als n + 10400 und 1.01n, sollten nicht grundsätzlich Funktionen mit n1 schneller wachsen als Funktionen ,die lediglich aus einem Logarithmus bestehen, und egal wie stark das Wachstum des Arguments im Logarithmus ist ?

Avatar von
sollten nicht grundsätzlich Funktionen mit n^1 schneller wachsen als Funktionen , die lediglich aus einem Logarithmus bestehen, und egal wie stark das Wachstum des Arguments im Logarithmus ist ?

Also sollte

log( exp( n5 ) ) = n5

grundsätzlich langsamer wachsen als n?

---

Nach der Stirling Formel ist

n!2πn(ne)n n!∼\sqrt{2πn}(\frac{n}{e})^n

Also

log(n!)0.5log(2πn)+n(log(n)1) \log(n!)∼0.5\log(2πn)+n(\log(n)-1)

und n log(n) wächst schneller als n.

1 Antwort

+1 Daumen
 
Beste Antwort

        1,01n=1,01+1,01(n1)\begin{aligned} 1,01n & =1,01+1,01\left(n-1\right) \end{aligned}

Im Falle von n1,01nn\mapsto 1,01n wird der folgende Wert berechnet indem zum aktuellen Wert die konstante Zahl 1,011,01 addiert wird.

        log(n!)=log(n(n1)!)=logn+log((n1)!)\begin{aligned} \log\left(n!\right) & =\log\left(n\cdot \left(n-1\right)!\right)\\&=\log n+\log\left(\left(n-1\right)!\right) \end{aligned}

Im Falle von nlog(n!)n\mapsto \log(n!) wird der folgende Wert berechnet indem zum aktuellen Wert der Wert logn\log n addiert wird. logn\log n kann beliebig groß sein.

Avatar von 107 k 🚀

Ein anderes Problem?

Stell deine Frage