Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Verstaendnisproblem mit einem Beispielalgorithmus aus Knuth » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Verstaendnisproblem mit einem Beispielalgorithmus aus Knuth
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Surma Surma ist männlich
Grünschnabel


Dabei seit: 15.11.2007
Beiträge: 2

Verstaendnisproblem mit einem Beispielalgorithmus aus Knuth Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Moin.
Ich lese gerade den ersten Band von Donald E. Knuth's "The Art of Computer Programming"-Reihe.
Ich bin zwar gerade erst am Anfang, jedoch kann ich einen Beispielalgorithmus von ihm nicht nachvollziehen. Das ganze ist wie folgt definiert:

Ein Algorithmus soll durch [latex](Q,I,\Omega,f)[/latex] definiert werden koennen, wobei [latex]Q[/latex] die Untermengen [latex]I[/latex] und [latex]\Omega[/latex] enthaelt und [latex]f: Q \rightarrow Q[/latex] gilt. [latex]\Omega[/latex] sollen Fixpunkte von [latex]f[/latex] sein, es soll also gelten [latex]f(\omega)=\omega\bigwedge_{\omega \in \Omega}[/latex].
[latex](Q,I,\Omega,f)[/latex] repraesentieren dabei den Berechnungsstatus, den Input, den Output und die Berechnungsregel (i.d.Reihenfolge).

Dabei soll fuer jedes [latex]x[/latex] gelten: [latex]x_0=x[/latex] und [latex]x_{k+1}=f(x_k)[/latex] fuer [latex]k \ge 0[/latex]


Nun Knuth nach diesem System einen Beispielalgorithmus aufgestellt, der wie folgt definiert ist:

Sei [latex]A[/latex] die Menger aller Buchstaben und [latex]A^\ast[/latex] sei die Menger aller Strings aus [latex]A[/latex], also alle [latex]x_1x_2x_3...x_n[/latex] mit [latex]n \ge 1[/latex] und [latex]x_j \in A[/latex] mit [latex] 1 \le j \le n[/latex]. [latex]N[/latex] ist ein nicht-negativer Integer und [latex]Q[/latex] ist die Menge aller [latex](\sigma, j)[/latex], wobei [latex]\sigma \in A^\ast[/latex] und [latex]0 \le j \le N[/latex]. [latex]I[/latex] soll jetzt die Untermenge von [latex]Q[/latex] sein, bei der [latex]j=0[/latex] gilt, [latex]\Omega[/latex] die mit [latex]j=N[/latex].
Wenn [latex]\theta[/latex] und [latex]\sigma[/latex] jetzt aus [latex]A^\ast[/latex] sind, dann sagt man, [latex]\theta[/latex] kommt in [latex]\sigma[/latex] vor, wenn [latex]\sigma[/latex] die Form [latex]\alpha\theta\omega[/latex] hat, mit [latex]\alpha[/latex] und [latex]\omega[/latex] aus [latex]A^\ast[/latex].
[latex]f[/latex] ist nun definiert mit den beiden Strings [latex]\theta_j[/latex],[latex]\Phi_j[/latex] und den beiden Integern [latex]a_j[/latex], [latex]b_j[/latex] mit [latex]0 \le j \le N[/latex] als:
[latex]f\left((\sigma,j)\right)=(\sigma,a_j)[/latex] Wenn [latex]\theta_j[/latex] nicht in [latex]\sigma[/latex] auftaucht,
[latex]f\left((\sigma,j)\right)=(\alpha\Phi_j\omega,b_j)[/latex] Wenn [latex]\alpha[/latex] der kuerzeste String ist, fuer den gilt [latex]\sigma=\alpha\theta_j\omega[/latex]
[latex]f\left((\sigma,N)\right)=(\sigma,N)[/latex]

Mein Problem ist, dass ich die Rolle von [latex]a_j[/latex] und [latex]b_j[/latex] nicht verstehe. Ihre Werte oder ihr Sinn werden nicht genannt und ich kann sie mir auch nicht denken. Und wo ist der Unterschied, ob ich jetzt [latex]\sigma[/latex] erhalte, oder [latex]\alpha\theta_j\omega[/latex], denn Wertetechnisch ist das doch ein und das Selbe?
Ich bitte euch, mir da ein wenig auf die Spruenge zu helfen.

MfG
Surma

Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von Surma: 15.11.2007 17:19.

15.11.2007 11:24 Surma ist offline E-Mail an Surma senden Beiträge von Surma suchen Nehmen Sie Surma in Ihre Freundesliste auf Fügen Sie Surma in Ihre Kontaktliste ein MSN Passport-Profil von Surma anzeigen
Tobias
Routinier


Dabei seit: 18.09.2006
Beiträge: 324

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Abgesehen von deinen LaTeX-Fehlern (Statt A* lieber A^\ast, Indizes bitte vollständig klammern: nicht x_k+1 sondern x_{k+1}) ist das, höflich gesprochen, nicht sehr ausgiebig formuliert. Ist der Text aus dem Buch abgeschrieben oder hast du nach eigenem Belieben gekürzt?

Soweit ich es verstanden habe geht die Funktion hin und ersetzt einen Teilstring [latex]\theta_j[/latex] durch den String [latex]\Phi_j[/latex], falls dieser vorhanden ist und ersetzt dann j zu b_j. Falls der String nicht gefunden wird, wird nichts ersetzt aber j durch a_j ersetzt. Für jedes j sind Strings und a_j, b_j definiert. Ziel ist es wohl, die Funktion mehrfach hintereinander auszuführen und irgendwann in einen Fixpunkt hineinzulaufen.

Ist in deinem Buch irgendwas über den Sinn des Algorithmus erzählt? In welchem Kontext taucht er auf?
15.11.2007 11:44 Tobias ist offline E-Mail an Tobias senden Beiträge von Tobias suchen Nehmen Sie Tobias in Ihre Freundesliste auf
Surma Surma ist männlich
Grünschnabel


Dabei seit: 15.11.2007
Beiträge: 2

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke erstmal fuer die Latex-Hinweise.

Das ganze ist (meiner Meinung nach) ungekuerzt, aber frei aus dem Englischen uebersetzt.

Das ganze taucht im Kontext von "effizienten" Algorithmen auf. Da vor wurde in diesem Schema Euklid's ggT-Algorithmus gezeigt, der wohl ineffizient war. Den hab' ich aber problemlos verstanden (siehe Anhang).
Ich habe mal die relevante Seite hier angehaengt, vielleicht hab' ich auch was relevantes uebersehen. Die mathematische Ausfuehrung fangt auf der ersten Seite letzter Absatz an.
http://drebesium.org/~crock/stuff/knuth.pdf



MfG
Surma

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Surma: 15.11.2007 17:25.

15.11.2007 17:18 Surma ist offline E-Mail an Surma senden Beiträge von Surma suchen Nehmen Sie Surma in Ihre Freundesliste auf Fügen Sie Surma in Ihre Kontaktliste ein MSN Passport-Profil von Surma anzeigen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Verstaendnisproblem mit einem Beispielalgorithmus aus Knuth