www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Algorithmen und Datenstrukturen" - Rekursionsgleichung
Rekursionsgleichung < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Rekursionsgleichung: Frage
Status: (Frage) beantwortet Status 
Datum: 15:55 So 17.07.2005
Autor: Chironimus

Hallo, wir schreiben am Dienstag eine Klausur.

Zur Vorbereitung darauf, will mir eine Aufgabe einfach nicht gelingen.


Finden Sie eine geschlossene Form für die Funktion T(n), die folgendermaßen definiert ist:

T(n) = 2T(n/2) + [mm] nlog_{2}n [/mm]     für n > 1

und T(1) = 0.

Es genügt, nur Argumente der Form n = [mm] 2^{k} [/mm] für k [mm] \in \IN [/mm] zu betrachten.
Beweisen Sie die Korrektheit ihrer Lösung mittels vollständiger Induktion.

Folgende Beweisart sollte man dafür benutzen.
2-maliges iteratives Einfügen + Induktionsbeweis.

Was genau habe ich hier unter 2-malig iterativem Einfügen zu verstehen ?
Ich würde mich freuen, wenn mir jemand ein wenig helfen könnte.

Danke

Gruß Chiro

P.S. Ich habe diese Frage auf keiner anderen Internetseite gestellt.

        
Bezug
Rekursionsgleichung: Lösungsansatz
Status: (Antwort) fertig Status 
Datum: 18:34 So 17.07.2005
Autor: Karl_Pech

Hallo Chiro,


> Finden Sie eine geschlossene Form für die Funktion T(n),
> die folgendermaßen definiert ist:
>  
> T(n) = 2T(n/2) + [mm]nlog_{2}n[/mm]     für n > 1
>  
> und T(1) = 0.
>  
> Es genügt, nur Argumente der Form n = [mm]2^{k}[/mm] für k [mm]\in \IN[/mm]
> zu betrachten.
>  Beweisen Sie die Korrektheit ihrer Lösung mittels
> vollständiger Induktion.
>  
> Folgende Beweisart sollte man dafür benutzen.
>  2-maliges iteratives Einfügen + Induktionsbeweis.
>  
> Was genau habe ich hier unter 2-malig iterativem Einfügen
> zu verstehen ?

Für den Induktionsbeweis habe ich jetzt leider keine Zeit, was aber das Einsetzen angeht, so mußt Du [mm] $T\left(2^k\right)$ [/mm] berechnen (denke ich).
Ich hab's jedenfalls gemacht und es hat auch funktioniert. Vermutlich mußt Du dann die entgültige Formel noch mit Induktion beweisen.
Ich würde dir raten zuerst einige konkrete Zahlenbeispiele (z.B. 2, 4, 8) in T einzusetzen, um ein Gefühl für die Rekursionsgleichung zu bekommen. Danach wagst Du dich an das Obige [mm] $T\left(2^k\right) [/mm] = ?$.
Bei dieser Art von Rekursionen geht es darum Muster in den entstehenden Termen zu entdecken. Dazu darfst Du hier die Terme auf keinen Fall "kompakt" zusammenfassen, weil Du dadurch das Bildungsmuster verstecken würdest. Laß also die entstehenden Terme erstmal so stehen und multipliziere die Klammerblöcke aus (Laß aber die 2er-Potenzen, die dabei entstehen in Ruhe :-), sondern erhöhe einfach den Exponenten wo es dir nötig erscheint. Also z.B. nicht [mm] $2*2^2 [/mm] = 8$ rechnen, sondern [mm] $2*2^2 [/mm] = [mm] 2^3$). [/mm] Versuche das und melde dich, wenn Du nicht weiterkommst.


Viele Grüße
Karl
[user]




Bezug
                
Bezug
Rekursionsgleichung: Rückfrage
Status: (Frage) beantwortet Status 
Datum: 21:52 So 17.07.2005
Autor: Chironimus

Hallo Karl,

danke für deine Hilfe.

Ich bin das jetzt mal durch gegangen und bin dann auf sowas von der Art

[mm] \bruch{k(k+1)}{2} [/mm] * [mm] 2^{k} [/mm] gestoßen.

Falls das jetzt stimmen sollte, wie genau soll ich die Induktion dann ansetzen ?

Gruß Chiro

Bezug
                        
Bezug
Rekursionsgleichung: Antwort
Status: (Antwort) fertig Status 
Datum: 22:43 So 17.07.2005
Autor: Karl_Pech

Hallo Chiro,

> Ich bin das jetzt mal durch gegangen und bin dann auf sowas
> von der Art
>  
> [mm]\bruch{k(k+1)}{2}[/mm] * [mm]2^{k}[/mm] gestoßen.

Genau das hatte ich auch raus und ich bin mir auch sehr sicher, daß es stimmt. [ok]


> wie genau soll ich die
> Induktion dann ansetzen ?

[mm] $''T\left(1\right) [/mm] = 0''$ ist ja der Spezialfall der Rekursion. Ich denke, daß hier auch die Induktion beginnen sollte, wobei wir [mm] $T\left(2^k\right) [/mm] = [mm] 2^k\bruch{k\left(k+1\right)}{2}$ [/mm] beweisen wollen.

Wegen dem Spezialfall wäre es sinnvoll bei k = 0 anzufangen. Allerdings weiß ich nicht, wie ihr [mm] $\IN$ [/mm] definiert habt. Deshalb definiere ich jetzt einfach ;-): [mm] $\IN [/mm] := [mm] \left\{0,1,2,\ldots\right\}$. [/mm]


Induktionsanfang (k = 0):

[m]T\left( {2^0 } \right) = T\left( 1 \right) = 0 = 2^0 \frac{{0\left( {0 + 1} \right)}}{2}[/m]

Wir nehmen also an, die Aussage stimme und machen den ...

Induktionsschritt (k --> k+1):

[m]T\left( {2^{k + 1} } \right) = 2\green{T\left( {2^k } \right)} + 2^{k + 1} \log _2 2^{k + 1} \mathop = \limits^{{\text{Induktionsannahme}}} \cdots[/m]

So das war's. Der Rest ist eigentlich nur Rechnerei (Das Erfolgserlebnis möchte ich dir deshalb nicht nehmen. ;-))

Nach der Induktionsannahme mußt Du den entstandenen Term so umformen, daß er exakt folgende Form annimmt:

[m]2^{k + 1} \frac{{\left( {k + 1} \right)\left( {\left( {k + 1} \right) + 1} \right)}}{2}[/m]

Dann hast Du genau [mm] $A\left(n\right) \Rightarrow A\left(n+1\right)$ [/mm] gezeigt, und die Aussage bewiesen.



Viele Grüße
Karl
[user]




Bezug
                                
Bezug
Rekursionsgleichung: Danke
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 23:11 So 17.07.2005
Autor: Chironimus

Hi Karl.

Vielen Dank.

Hat geklappt :-)

Gruß Chiro

Bezug
                        
Bezug
Rekursionsgleichung: Wie kommt man darauf?
Status: (Frage) beantwortet Status 
Datum: 11:11 Sa 27.08.2005
Autor: DerMathematiker


> Ich bin das jetzt mal durch gegangen und bin dann auf sowas
> von der Art
>  
> [mm]\bruch{k(k+1)}{2}[/mm] * [mm]2^{k}[/mm] gestoßen.
>
>  
> Gruß Chiro

Wie kommt man darauf? Habe es jetzt mehrmals probiert nachzurechnen, komme aber nicht auf diesen Term.

MfG Andi

PS: Bin auf der gleichen Uni wie Chironimus *gg*.

Bezug
                                
Bezug
Rekursionsgleichung: Antwort
Status: (Antwort) fertig Status 
Datum: 12:31 Sa 27.08.2005
Autor: Karl_Pech

Hallo DerMathematiker,


> Wie kommt man darauf? Habe es jetzt mehrmals probiert
> nachzurechnen, komme aber nicht auf diesen Term.


Du mußt die Rekursionsgleichung mehrmals in sich selbst einsetzen, um das Bildungsmuster zu sehen:

[m]\begin{gathered} T\left( n \right) = 2T\left( {\frac{n} {2}} \right) + n\log _2 n = 2\left( {2T\left( {\frac{n} {{2^2 }}} \right) + \frac{n} {2}\log _2 \frac{n} {2}} \right) + n\log _2 n \hfill \\ = 2^2 T\left( {\frac{n} {{2^2 }}} \right) + n\left( {\log _2 n - 1} \right) + n\log _2 n = 2^2 T\left( {\frac{n} {{2^2 }}} \right) + 2n\log _2 n - n \hfill \\ = 2^2 \left( {2T\left( {\frac{n} {{2^3 }}} \right) + \frac{n} {{2^2 }}\log _2 \left( {\frac{n} {{2^2 }}} \right)} \right) + 2n\log _2 n - n \hfill \\ = 2^3 T\left( {\frac{n} {{2^3 }}} \right) + n\left( {\log _2 n - 2} \right) + 2n\log _2 n - n = 2^3 T\left( {\frac{n} {{2^3 }}} \right) + 3n\log _2 n - 3n \hfill \\ = 2^3 \left( {2T\left( {\frac{n} {{2^4 }}} \right) + \frac{n} {{2^3 }}\log _2 \left( {\frac{n} {{2^3 }}} \right)} \right) + 3n\log _2 n - 3n \hfill \\ = 2^4 T\left( {\frac{n} {{2^4 }}} \right) + n\log _2 n - 3n + 3n\log _2 n - 3n = 2^4 T\left( {\frac{n} {{2^4 }}} \right) + 4n\log _2 n - 6n \hfill \\ = 2^5 T\left( {\frac{n} {{2^5 }}} \right) + 5n\log _2 n - 10n \hfill \\ \end{gathered}[/m]


Jetzt setzen wir einige unserer Zwischenergebnise nebeneinander, und lassen sie auf uns wirken :-).


[m]\begin{gathered} 2^1 T\left( {\frac{n} {{2^1 }}} \right) + 1*n\log _2 n - 0*n \hfill \\ 2^2 T\left( {\frac{n} {{2^2 }}} \right) + 2*n\log _2 n - \left( {0 + 1} \right)*n \hfill \\ 2^3 T\left( {\frac{n} {{2^3 }}} \right) + 3*n\log _2 n - \left( {0 + 1 + 2} \right)*n \hfill \\ 2^4 T\left( {\frac{n} {{2^4 }}} \right) + 4*n\log _2 n - \left( {0 + 1 + 2 + 3} \right)*n \hfill \\ 2^5 T\left( {\frac{n} {{2^5 }}} \right) + 5*n\log _2 n - \left( {0 + 1 + 2 + 3 + 4} \right)*n \hfill \\ \vdots \hfill \\ 2^i T\left( {\frac{n} {{2^i }}} \right) + i*n\log _2 n - \left( {0 + 1 + \cdots + i - 1} \right)*n \hfill \\ \end{gathered}[/m]


Jetzt haben wir zwar das Bildungsmuster rausgekriegt, [mm] $T(\cdot{})$ [/mm] jedoch nicht entfernen können. Es gilt aber nach Definition $T(1) = [mm] 0\!$. [/mm] Wann wird also [mm] $\tfrac{n}{2^i} [/mm] = 1$? Eine Nebenrechnung schafft Klarheit:


[mm] $\frac{n}{2^i} [/mm] = [mm] 1\Leftrightarrow [/mm] n = [mm] 2^i\Leftrightarrow\log_2 [/mm] n = i$


Bevor wir das für das [mm] $i\!$ [/mm] einsetzen, machen wir noch eine letzte Umformung, damit der Term übersichtlich bleibt:


[m]\begin{gathered} 2^i T\left( {\frac{n} {{2^i }}} \right) + i*n\log _2 n - \left( {0 + 1 + \cdots + i - 1} \right)*n \hfill \\ = 2^i T\left( {\frac{n} {{2^i }}} \right) + i*n\log _2 n - \frac{{i\left( {i - 1} \right)}} {2}*n \hfill \\ \end{gathered}[/m]


Einsetzen liefert: [m]n*0 + \log _2 n*n\log _2 n - \tfrac{{\log _2 n\left( {\log _2 n - 1} \right)}}{2}*n[/m]. Damit kann man den Term vereinfachen:


[m]\begin{gathered} n\left( {\log _2 n} \right)^2 - \frac{{\left( {\log _2 n - 1} \right)\log _2 n}} {2}*n = \hfill \\ n\left( {\log _2 n} \right)^2 - \frac{{\left( {\log _2 n} \right)^2 - \log _2 n}} {2}*n = \hfill \\ n\left( {\log _2 n} \right)^2 - \frac{n} {2}\left( {\log _2 n} \right)^2 + \frac{n} {2}\log _2 n = \hfill \\ \frac{n} {2}\left( {\log _2 n} \right)^2 + \frac{n} {2}\log _2 n = \frac{n} {2}\log _2 \left( n \right)\log _2 \left( {2n} \right) \hfill \\ \end{gathered}[/m]


Wenn Du nun für das [mm] $n\!$ [/mm] den Term [mm] $2^k$ [/mm] einsetzt, kommst Du auf die Form, die Chiro und ich raushatten.



Viele Grüße
Karl



Bezug
                                        
Bezug
Rekursionsgleichung: Danke
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:10 Sa 27.08.2005
Autor: DerMathematiker

Hi,

danke für deine Antwort. Jetzt hab ich's geschnallt. Kennst du zufälligerweise Seiten, auf denen es weitere solcher Aufgaben gibt incl. Lösungen? Würde das gerne noch ein wenig üben.

MfG Andi

Bezug
                                                
Bezug
Rekursionsgleichung: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:52 Sa 27.08.2005
Autor: Karl_Pech

Hallo Andi,


> danke für deine Antwort. Jetzt hab ich's geschnallt. Kennst
> du zufälligerweise Seiten, auf denen es weitere solcher
> Aufgaben gibt incl. Lösungen?


Im Moment nicht, aber es sollte einfach sein solche Übungsaufgaben über Google zu finden.



Viele Grüße
Karl



Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]