Diskussion:Rekursion/Archiv/1

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

- 2003 -

siehe Rekursion

Um die Rekursion zu verstehen, muß man zuesrt die Rekursion verstehen...--nerd 14:05, 14. Apr 2003 (CEST)

Schade, Rekursion ist schon erklärt, ich wollte schreiben "siehe Rekursion!" ;) RobertMichel 23:45, 13. Okt 2003 (CEST)
Nix schade, der Artikel ist noch weit von perfekt, also ran! Was ist z.B. µ-Rekursion?

Passt "Rekursion : siehe Rekursion :-)" wirklich in eine WP-Seite? --Stfn 16:05, 11. Feb 2004 (CET)

IMHO Ja, aber ich war nicht mutig, bzw ich wollte auf Rückmeldung warten, ob auch andere so denken. Gruss Rob 16:24, 11. Feb 2004 (CET)
Hm, gibt's denn leicht noch eine andere Erklärung? ;-) --Xorph 11:26, 19. Mär 2004 (CET)

Manche haben einfach keinen SInn für Humor SnowCrash 17:21, 24. Apr 2004 (CEST)

warum wird der selbstlink auf Rekursion immer wieder entfernt? Ich finde er gehoert in jede vernuenftige Definition von Rekursion. Besser, kuerzer und einfacher Rekursion zu erklaeren geht einfach nicht ;) --Gorgo 06:56, 31. May 2004 (CEST)

Letzte Woche erzählte mit APPER, dass im Artikel "Rekursion" steht "Siehe Rekursion" und ich fand es damals (nach einigen Bieren) und finde es heute (nüchtern) immer noch witzig. Aber andere anscheinend nicht? Bin nicht mutig und will deshalb keinen Edit-War anzetteln, aber was spricht denn wirklich dagegen? --Vlado 21:19, 25. Apr 2005 (CEST)

Ja finde ich auch schade, dass das nicht mehr vorhanden ist. Der große Satz am Anfang, den es zwischendurch gab ist sicher übertrieben, aber bei "Siehe auch" nochmal auf Rekursion zu zeigen.. das kann zeigen, dass das alles nicht todernst ist. MfG --APPER\☺☹ 22:48, 25. Apr 2005 (CEST)
[+] seh ich auch so --87.187.153.159 20:11, 8. Apr. 2008 (CEST)
[+] auch. Das ist auch nicht nur humoristisch wertvoll, sondern auch *richtig*! 94.66.157.163 23:50, 24. Jan. 2011 (CET)
[+] Ich sehe das auch so, aber die Userbase bei Wikipedia vergrault ja eh immer mehr Leute, die Spaß daran haben was zu machen. Deshalb habe ich hier eher wenig Hoffnung, dass sich was ändert ;). 88.78.128.204 23:57, 24. Jan. 2011 (CET)
[+] Bin dafür. Gerade haben wir an der Uni geschaut, ob bei dem Artikel "Siehe auch: Rekursion" steht. Und waren enttäuscht. (nicht signierter Beitrag von Netaction (Diskussion | Beiträge) 14:35, 27. Mai 2011 (CEST))

- 2004 -

was ist...

...mit "nachklappern" und "endrekursiv" ? (nicht signierter Beitrag von 80.142.26.193 (Diskussion | Beiträge) 11:53, 12. Okt. 2004 (CEST))

Rekurrenz

Ist Rekurrenz ein anderes Wort für Rekursion oder ist das ein Spezialfall der Rekursion? --Matthäus Wander 17:15, 27. Nov 2004 (CET)

Ist ein Synonym, habe ich mir sagen lassen. --Matthäus Wander 11:43, 7. Dez 2004 (CET)

Vielleicht mal den netten Menschen, der das hier geschrieben hat, fragen, ob man anschreiben darf:

http://www.kfa-juelich.de/zam/docs/bhb/bhb_html/d0063/node12.html

Insbesondere die Definition (nicht nur das in der gelben Box, sondern vor allem die Absätze dadrunter) halte ich für sehr gelungen.

- 2005 -

Mal generell

Mir ist das nicht völlig klar: Nützt eine Rekursion überhaupt etwas? Ich meine, hat es nicht grundsätzlich mehr Sinn, eine Schleife zu benutzen? Bei einer Rekursion sieht man ja nur die Idee, des Programms nicht wirklich das, was der Rechner sieht, denn das erschafft er sich ja dann im Folgenden selber. Sind Schleifen nicht wesentlich übersichtlicher und funktionaler, auf Rekursionen zu verzichten? (nicht signierter Beitrag von 84.129.222.180 (Diskussion | Beiträge) 16:10, 29. Sep. 2005 (CEST))

hm, fehlende erfahrung? es gibt gewisse dinge die sind mit rekursiven funktionen genial einfach und weitaus verständlicher zu machen. außerdem scheinen manche eine geistige selbstbefriedigung zu spüren etwas über eine schöne rekursive funktion gelöst zu haben. bsp: ordnerstruktur auf einem datenträger. (nicht signierter Beitrag von 84.185.239.204 (Diskussion | Beiträge) 01:43, 3. Dez. 2005 (CET))
(quetsch) Zu den "gewissen Dingen" gehören rekursiv definierte Datenstrukturen, z.B. Bäume. -- UKoch 19:38, 13. Jul. 2011 (CEST)
Für 'primitive Rekusion lässt sich (per Definition) immer eine äquivalente Lösung mit einer Schleife finden - was eleganter ist, ist wohl geschmackssache. Für mathematisch orientierte Menschen, und in funktionalen Programmiersprachen, ist es die Rekursion, für operational denkende Menschen die Schleife. Nicht-primitiven Rekursionen (wie z.B. eben das auflisten einer Dateistruktur) lassen sich nicht mit einer Schleife lösen, bzw. nur, indem man die Rekursion "simuliert", d.h. "von Hand" einen Stack bzw. Queue verwaltet. Rektusionen sind im Allgemeinen mächtiger als Schleifen. -- D. Dÿsentrieb 12:15, 3. Dez 2005 (CET)
Der letzte Satz stimmt nicht, s. Berechenbarkeit. Der Stack zur Simulation einer Rekursion kann in jedem Fall grundsätzlich als eine einzige (große) Zahl implementiert werden. Für die Implementation von realen Programmen wäre das natürlich nicht praktisch; insofern hast Du Recht. -- UKoch 19:38, 13. Jul. 2011 (CEST)

Ersten 2 Absätze raus

Ich habe die ersten 2 Absätze rausgenommen und in etwas geänderter Form nach Selbstbezüglichkeit übertragen. Selbstbezüglichkeit und Rekursion sind zwei verschiedene Dinge, keines ist ein Spezialfall des anderen (das wurde vorher falsch erklärt). Rekursion ist die Anwendung einer Funktion auf sich selbst oder die Definition einer Funktion mit sich selbst, wie es im Artikel korrekt steht. Selbstbezüglichkeit ist, wenn ein Satz auf sich selbst verweist. Das mag ein ähnliches Phänomen sein, ist aber nicht dasselbe (ein Satz ist nicht dasselbe wie eine Funktion). Die ersten 2 Abschnitte haben nicht zu Rekursion gepasst, sondern zu Selbstbezüglichkeit. Ich habe sie daher, wie gesagt, in letzteren Artikel verschoben.

-- Hajo Keffer 20:46, 16. Okt 2005 (CEST)

- 2006 -

Zwei Fragen

1) Zitat: Umgekehrt kann jede Iteration durch eine primitive Rekursion ersetzt werden, ohne dass sich dabei die Komplexität des Algorithmus ändert. Wirklich, ist das so? Können dazu Beispiele und die Vorgehensweise gezeigt werden?

2) Kann auf besondere Begriffe im Zusammenhang mit Rekursion eingegangen werden, z.B: endständige Rekursion, direkte Rekursion, lineare Rekursion?

Danke, --Abdull 16:35, 15. Mär 2006 (CET)


Zum 1. Zitat: Nein, ich kann Dir sagen, dass dieser Satz mit Garantie nicht stimmt: Eine primitivrekursive Funktion ist nicht so mächtig wie die Iteration Primitivrekursive Funktion Ackermannfunktion. Per Definition muss eine primitivrekursive Funktion von Anfang an die Rekursions-Tiefe kennen, Es ist also von Anrfang an klar, wie oft die primitivrekursive Funktion maximal durchlaufen wird. (Erst die μ-rekursive Funktion ist so mächtig wie eine Iteration). Falls dieser Artikel nicht so formal gehalten werden soll, dann reicht es, das Wort 'primitiv' aus dem Artikel zu nehmen, damit der Satz stimmt.

Definition/ Vorteil-Nachteil von Rekursion

Meines Erachtens ist die einleitende Definition des Begriffes "Rekursion" nicht ganz korrekt. Die Rekursion ist KEIN "allgemeines Prinzip zur Lösung von Problemen", sondern vielmehr eine Beschreibung der Art eines Problems. Diese Beschreibung sagt aus, dass es sich um ein Problem handelt, das durch einen Selbstaufruf definiert wurde. (das wird zwar in den folgenden Sätzen erwähnt, doch dies ist die eigentliche Definition von Rekursion und sollte deshalb vielleicht als aller erstes stehen)

Bezüglich der Aussage über "Prinzip zur Lösung" würde ich folgendes sagen:

  • Ein Problem läßt sich in bestimmten Fällen einfacher rekursiv (durch Rekursion) darstellen/beschreiben.
  • Zum Lösen eines rekuriven Problems gibt es verschiedene Methoden: "geschickt raten", Induktion, Substitution, Rekursionsbaum-Methode, Generierenden-Funktion (z.B. Fibonaccizahlen)
  • Um den Aufwand eines rekursiven Problems festzustellen gibt es: Mastermethode

Vorteile/Nachteil von Rekursion:

  • Lösen eines Probleme ist oft schneller als die iterative Variante, jedoch ist der Speicheraufwand wesentlich höher
  • Die Laufzeit/Rechenaufwand wird gleich mit der Angabe des rekursiven Problems beschrieben
  • Gut lesbar durch die Darstellung selbstähnlicher Probleme, durch die das eigentlich Problem aufgebaut ist.
  • eventuell schwerer verständlich für andere Autoren

--217.233.194.69 16:44, 27. Mär 2006 (CEST)

Bestehender Artikel "Rekursive Programmierung": Zusammenführung

Ich habe eben entdeckt, das es auch noch einen Artikel "Rekursive Programmierung" gibt, dessen Thema ist eigentlich genau das Gleiche. Sollte man vielleicht zusammenführen? Ich weiß nur (noch) nicht, wie man das macht. Sobald ich dazu komme, werde ich mich drum kümmern, oder hat jemand Einwände? GGShinobi 08:27, 9. Mai 2006 (CEST)

Ich habe gerade überlegt, wohin der Begriff Rekursion gehört und wo er zuerst verwendet wurde? In der Programmierung? Kann mir jemand helfen, das würde vielleicht auch beim llfälligen zusammenlegen helfen, eine plausible Ordnung zu findenRolf Todesco 14:49, 11. Mai 2006 (CEST)
ich würde die artikel nicht zusammenfassen. rekursion ist ja ein allgemeines verfahren, um ein problem zu lösen. dabei wird ja ein beliebiger algo verwendet, um eine große aufgabe in kleinere teile runterzubrechen. die rek. programmierung ist da ja viel spezieller und bringt zusätzliche probleme wie stack, rücksprung und speicherwaltung mit sich. -- guenson Diskussion 17:52, 11. Mai 2006 (CEST)
Ich würde die Artikel auch nicht zusammenfassen, denn: Rekursion und rekursive Programmierung sind zwei verschiedene Dinge. Einmal redet man von einem Selbstaufruf (Rekursion), also eine Darstellungsweise eines Problems. Zum Anderen (rekursive Programmierung) geht es um die Anwendung in Programmiersprachen. Rekursion ist nur ein Konzept, welches von der Informatik verwendet wird. Sie kann aber auch z.B. in der Mathematik auftreten. Rekursion ist etwas, was auch sehr gut ohne Programmiersprachen existieren kann. ABER: Zugegeben, diese zweite Seite habe ich auch nicht gekannt. vielleicht sollte man diese Seiten untereinander besser verlinken und überarbeiten. und inhaltlich trennen. --Akribix 21:32, 11. Mai 2006 (CEST)
Ja, das Argument, das Rekursion allgemeiner ist als rekursive Programmierung, ist sehr gut, da bin ich dann auch dafür die Artikel getrennt zu lassen. Aber dann sollte man den Artikel "Rekursion" auch allgemein halten und alle Programmierinhalte in die "rekursive Programmierung" verschieben. Also bin ich ganz deiner Meinung Akribix! :-) GGShinobi 13:40, 13. Mai 2006 (CEST)
[...]alle Programmierinhalte in die "rekursive Programmierung" verschieben => Die jetzt gegeben Beispiele sind keine Programmbeispiele, sondern erklärungsunterstützende Pseudo-Programme/Algorithmen. Die sollten vielleicht bleiben, sonst hat man ja gar nichts, an was man sich bei dem ganzen Text festhalten kann. Ein "Praxis-Beispiel" ist also auch gut an dieser Stelle.--Akribix 20:36, 14. Mai 2006 (CEST)

Begriff "Rekursion" in diesem Artikel

Soweit ich sehe, ist dieser Artikel stark "informatisch" gefärbt, ich sähe es gerne etwas mathematischer aber nun gut.

Fragen/Anregungen:

  • Die Syntax von vielen Programmier(Hoch-)sprachen wie Pascal, Modula (ich kenne nur die alten Hüte gut) ist ja auch an vielen Stellen rekursiv definiert, sollte da nicht etwas rein (als link oder so)?
  • Etwas allgemeiner: Formale Sprachen, Logik...?
  • Die umfangreiche /*Siehe auch*/-Sammlung verweist auf sehr Unterschiedliches. Könnte man um die Verweise kurze Kommentare dazu geben, was einen ungefähr in den verlinkten Artikeln erwartet?

Das sollen nur kleine "Stubser" sein, habe mich nicht allzu intensiv mit diesem Artikel hier befasst. Ändere deshalb erstmal auch nichts. --KleinKlio 16:31, 21. Okt. 2006 (CEST)

- 2007 -

Endlosschleife

Im Artikel steht: "Ohne geeignete Abbruchbedingung geraten solche rückbezüglichen Aufrufe in einen so genannten infiniten Regress (umgangssprachlich Endlosschleife)." Ok, theoretisch stimmt das schon irgendwie, in der Praxis gibts da aber relativ schnell einen Stack-Overflow. Auch wenn man versucht sowas mathematisch zu betrachten, wird man feststellen dass einem irgendwann der Platz ausgeht um die Zwischenergebnisse zu notieren...Kurz, mir gefällt das Wort "Endlossschleife" hier nicht, weil eine unendliche Rekursion nur in der Theorie endlos ist. Oder denke ich zu informatisch?

Ob dir das Wort gefällt oder nicht, man nennt es Endlosschleife. --Thornard, Diskussion, 11:30, 19. Okt. 2007 (CEST)
Nein. Es ist nämlich keine Schleife, weil eine Schleife endlos laufen kann mit endlichem Stack. --93.232.252.153 23:15, 8. Nov. 2009 (CET)

Weblinks

Moin, also ich will ja nicht auf diese beiden Links bestehen (sie sind nicht von mir, aber ich finde sie ganz anschaulich und der Sache dienlich), aber sie einfach nur deshalb zu reverten, weil man seinen Browser nicht richtig konfiguriert hat, finde ich schon seltsam. Bei mir machen die Links keine Probleme. Gruß, --Flingeflung 10:28, 5. Apr. 2007 (CEST)

Funktioniert bei mir auch wenn ich JS aktiviere nicht. Wie muss ich denn meinen Browser richtig konfigurieren. --Thornard, Diskussion, 13:42, 5. Apr. 2007 (CEST)
Es hat nichts mit JavaScript zu tun, sondern es handelt sich um ein Java-Applet, das richtig installiert sein muss. --Flingeflung 15:52, 5. Apr. 2007 (CEST)
Von den technischen Geschichten mal abgesehen: Wo ist denn der vertiefende Inhalt zum Thema Rekursion? Wo ist die Barrierefreiheit geblieben. Auf WP:WEB verweisend... Complex 16:19, 5. Apr. 2007 (CEST)
Ich fand es hilfreich unterstützend für das weiter oben angeführte Beispiel des rekursiven pythagoreischen Baums. Aber ich bestehe nicht darauf. Ich habe Besseres zu tun, als hier wegen eines Links rumzudiskutieren. Schöne Ostern wünscht Flingeflung 16:29, 5. Apr. 2007 (CEST)

Satz

Stimmt dieser Satz?

"Jedes rekursive Problem lässt sind mit höchstens polynomiellem Aufwand in ein iteratives Problem umwandeln".

Wenn dem so ist -> dann aufnehmen? (nicht signierter Beitrag von 91.0.13.223 (Diskussion | Beiträge) 15:39, 18. Apr. 2007 (CEST))

Rekursion formal auflösen

Jedes Programm, das Rekursion verwendet, ließe sich formal auflösen in ein Programm. das keine Rekursion verwendet. Ich schlage vor, dass diese formale Auflösung in den Artikel aufgenommen wird, oder das mindestens ein Link dazu aufgenommen wird. H. Schnitzspan (nicht signierter Beitrag von 141.19.143.235 (Diskussion | Beiträge) 08:27, 22. Jun. 2007 (CEST))

Berechnung der Fakultät als Beispiel für Rekursion

Gibt es einen besondern Grund, wieso hier die rekursive Berechnung der Fakultät als Beispiel aufgeführt wird?

Gerade für diese Anwendung, die leider auch öfter in diversen Programmierbüchern gezeigt wird, hat die rekursive Variante ja nur Nachteile gegenüber der iterativen Variante?! Es handelt sich ja um primitive Rekursion. --Aule 20:31, 4. Sep. 2007 (CEST)

Rekursiver pythagoreischer Baum

Dass man den "rekursiven pythagoreischen Baum" als Beispiel nennt, finde ich an sich sehr gut. Vielleicht sollte man aber generell hinweisen, dass alle Fraktale durch Rekursionen beschrieben werden können. --ErhardRainer Diskussion 16:47, 11. Sep. 2007 (CEST)

Beispiel mit sum(n)

"Mit Induktion zeigt man, dass sum(n) = n(n-1)/2 ist." Das ist ja nun gerade beim gezeigten Beispiel nicht der Fall.

n=3

richtig: sum(3) = 6

laut der Formel: sum(3)=3*(3-1)/2 = 3*2/2 = 3

oder kann ich einfach nur nicht rechnen? --Sten Seifert 13:53, 4. Okt. 2007 (CEST)


hat sich grad erledigt. Unter Summe war die richtige Formel zu finden. Ich habs gleich hier editiert --Sten Seifert 13:56, 4. Okt. 2007 (CEST)

Expertenrunde

Es gibt 2 Arten von Rekursionen: [1] funktionelle/rechnerische Implizitheit (Problem), [2] die implementative Darstellung (Lösung). [3] Ein Problem kann stets eine it. oder rek. Darstellung finden. Geht das nicht, liegt es an der Zielsprache (aus Sicht des Problems). Im Artikel stehen Aussagen, die das Gegenteil behaupten. [4] Performanz: Pro Funktionsaufruf = ein neuer Satz instantiierter Parameter = keine Notwendigkeit, um nebenher z. B. Stacks/Queues zu führen. Passiert von allein. Ergo Speicheraufwand pauschal nicht wegen Parameterliste höher. Das ist die Eleganz. Wer sich um den Programmstack Sorgen macht, nimmt Heapobjekte und ggf. der Funktion nicht-lokale Variablen. Und der Funktionsoverhead bei Rekursion konkurriert dann nur noch mit Schleifenzählervariablen (Inkrementierung/Zuweisung) bei Iteration. In anderen Worten ist eine Rekursion eine bessere Schleifenimplementierung, weil man pro Funktionsinstanz einen Datensatz bekommt. [5] Hauptdomäne der Graphen unverständlicherweise gänzlich unerwähnt. Und das ist bezeichnend. [6] „gegenseitige Rekursion“ ist m. E. irreführend; es ist „wechselseitig“. Im Artikel werden irgendwie Äpfel und Birnen durcheinandergeworfen. --Tipoli 13:23, 1. Nov. 2007 (CET)

- 2008 -

Fibonacci

Hallo, bin bloß Schüler, mir fiel aber gerade auf, dass es heißt "für die Fibonacci folge genügt" - NEIN nachdem was ich gelernt habe nicht... es braucht IMMER Anfang und Schrit...nur ist in dem Fall de Anfang 1+1 oder nicht? gruß (nicht signierter Beitrag von 88.67.59.171 (Diskussion | Beiträge) 20:37, 22. Mär. 2008 (CET))

Einleitung korrigiert

Ich habe mich mal in die Nesseln gesetzt und die Einleitung präzisiert. Das mit den Invarianten und mit dem Halteproblem stimmte einfach nicht.--AlfonsGeser 22:59, 11. Mai 2008 (CEST)

Abschnitt "Formen der Rekursion" hinzugefügt und Abschnitt "Beispiele" bearbeitet (Summenfunktion etwas didaktischer ausformuliert; Fibonacci-Folge ausführlicher; beide Beispiele nach ihrer Form klassifiziert). Hoffe, es konveniert.--AlfonsGeser 14:12, 12. Mai 2008 (CEST)

Verständlichkeit

Ich wollte grad jemandem erklären, was eine "Rekurson" ist - und habe zu diesem Zweck nochmal hier vorbeigeschaut. Aber das was ich hier lese, das versteht keiner, der nicht schon bereits weiss, was eine Rekursion ist...

Kann das bitte jemand anhand von einfachen Beispielen aus dem Alltag erläutern?! Und zuumindest die Einleitung ohne weitere Fremdwörter schreiben?! Danke, --Markus 13:07, 28. Sep. 2008 (CEST)

- Sie besitzen ein Konto mit 10 Euro. Alle drei Monate erfolgt eine Zinsgutschrift der Höhe 5%. Nach den ersten drei Monaten werden 0,50 Zent gutgeschrieben, somit haben Sie 10,50 Euro. Nun vergehen drei weitere Monate. Der Zins wird jetzt auf Basis des neuen Kontostandes berechnet: 10,50 + 0,525 = 11,02 Euro. Nach wieder drei Monaten erfolgt die Berechnung nach selbem Prinzip...
In Schritten ändert sich der zu berechnende Wert, aber die Berechnungsart bleibt gleich. Der zu berechnende Wert basiert jeweils auf dem vorherigen Wert; die Werte sind also voneinander abhängig. Noch anders: Ein 'Rekursionsschritt' ist eine 'Zinsgutschrift'. Und eine 'Rekursion' sind 'Zinsgutschriften'. Sobald Sie die Berechnungsart ändern, haben Sie eine andere Aufgabenstellung, die Teil der Aufgabenstellung sein kann.
Esoterischer wird es, wenn Sie sich einen Billiardtisch vorstellen, jeder Stoß ein Rekursionsschritt ist und die Partie die Rekursion ist. Ursache & Wirkung, Entropie.
--Walter v. Stanzfeld 16:02, 12. Feb. 2009 (CET)

- 2009 -

Bezogen auf 'Rekursion formal auflösen' und 'Expertenrunde' > Performanz:

Bin kein Mathematiker im eigentlichen Sinne, vertrete jedoch ein rekursives Weltbild. Meiner Meinung nach stimmt das nur bzw in nur praktikabel, sofern man eine endliche Anzahl an Schritten berechnet, deren Position im Rekursionsbaum halt irgendwie definiert wird. Habe ich es mit einer (anscheinend) unendlichen Schrittanzahl zu tun, etwa um Positionen, Entscheidungen, Möglichkeiten der Wirklichkeit iterierend, dh hier in Abhängigkeit zu einander, zu berechnen, dann stößt man mit einer (linearen) Reihe an die Grenzen des Machbaren.

Hier schließt auch eine weitere Frage von mir an: in der Wirklichkeit (zB bei der rekursiven Darstellung von Zuständen / Entscheidungen in einem zeitlichen Verlauf) gibt es keinen eigentlichen Stack. Dieser wird viel mehr in das Ergebnis als Grundlage weiterer Berechnungen / Entscheidungen miteinbezogen (zB Rückprojektion der Vergangenheit in die Zukunft). Gibt es hierfür eine Definition / einen Terminus bzw weitere Informationen? -- 80.108.107.62 06:39, 15. Aug. 2009 (CEST)

Allgemeinplätze unter Probleme mit Rekursionen

„Wird eine Rekursion zu häufig durchgeführt, so kann das Computerprogramm abstürzen, weil der Speicher irgendwann nicht mehr ausreicht. Bei jedem Aufruf wird der Stack neu beschrieben, allerdings werden die alten Variablen und Adressen manchmal dabei nicht zerstört. Es empfiehlt sich daher den Speicher per Hand freizugeben (falls dies möglich ist) oder auf Rekursive Programmierung zu verzichten, da sich alle Probleme theoretisch auch mit Schleifen lösen lassen.“ Das ist ja ziemlich flach… --80.171.3.17 20:12, 9. Dez. 2009 (CET)

Ich habe den Passus überarbeitet. In der beschriebenen Form ist er nicht sinnvoll. -- Armin.pollak 21:00, 20. Nov. 2010 (CET)

- 2010 -

Eine Frage

Was ist die Beziehung zwischen die rekursive Formulierung und die Prädiktor-Korrektor-Struktur?

1) Es geht in Deinem Absatz nicht um "Eine Frage.", sondern um die "Prädiktor-Korrektor-Struktur". Wenn jeder seine Frage mit "Frage" betitelt, dann macht das Inhaltsverzeichnis keinen Sinn.
2) Die Mehrschrittverfahren kann man vermutlich rekursiv berechnen. Deine Frage hat jedoch nichts mit der Verbesserung des Artikels zu tun, daher ist sie hier im Diskussionsteil falsch, und Du solltest Dich an ein Mathematiker-Forum wenden.
3) Einer Vorgabe zur Benützung der Wiki-Diskussion, die anscheinend so wichtig ist, dass sie als einzige gleich oben auf der Eingabe-Seite erwähnt wird, bist Du nicht gefolgt - nämlich Deine Signatur zu setzen.
Viele Dinge bei der Anwendung von Computern und Internet sind leicht zu verstehen, indem man das Beiwerk liest. Das kann ich Dir ein zweites Mal aufschreiben, aber das Lesen kann ich Dir leider nicht abnehmen. -- 80.108.107.62 10:31, 21. Mai 2010 (CEST)

Stellt das Bild wirklich eine Rekursion dar?

Irgendwie erkenne ich den Selbstaufruf nicht und wäre für einen Erklärung dankbar. Ansonsten könnte es ja - insofern dies rechtlich möglich ist - durch das Bild aus der englischen Wiki ersetzt werden. --87.187.62.107 02:03, 16. Aug. 2010 (CEST)

Meiner Meinung nach ist das auch keine Rekursion, sondern ein "eine verkleinerte Version dahintergestellt". Man müsste ja im beinhalteten Bild (erste Ebene) wieder das vollständige Bild sehen - und das funktioniert nicht, da der Inhalt des Bildes von der ersten Ebene überdeckt wird. (nicht signierter Beitrag von 193.174.63.139 (Diskussion) 14:41, 28. Jul 2011 (CEST))

Eigenwerte und Rekursion

Bitte mal den Zusammenhang zwischen Eigenwerten und Rekursion herausstellen. Wenn man z.B. eine Funktion rekrusiv aufruft, wie z.B. cos(cos(cos(cos(..)))) kann man so leicht den oder die Eigenwerte (hier der Cos-Funktion) berechnen. Bitte dies im Text mit einem Abschnitt ergänzen. Von da kann man dann auch eine Überleitung zum rekursiven Bild machen. -- 91.2.42.129 14:57, 10. Okt. 2010 (CEST)

Vermutlich meinst Du die Fixpunktiteration. Dabei aber sind "Fixpunkt" und "Iteration" von "Eigenwert" und "Rekursion" zu unterscheiden, auch wenn da Ähnlichkeiten bestehen. --91.32.107.29 19:24, 13. Nov. 2010 (CET)

- 2011 -

Überarbeitung

Ich habe den Artikel sprachlich etwas überarbeitet, insbesondere alle Füllwörter habe ich entfernt. Etwas unglücklich finde sowohl die Definition als auch die Beispiele. Vielleicht lassen sich hier plakativere Erklärungen und Funktionen finden ... Allgemein lässt sich allerdings sagen, dass die innermolekulare Kernkraft der abgespeckten version von 2,3-Diethyl-2-Methylhexan die interstellaren Planetenkonsellationen nicht beienflusst --Armin Pollak 22:25, 4. Feb. 2011 (CET)

Zitate

Wie wärs mit dem scherzhaften Sprichwort: "Um Rekursion zu verstehen muss man zuerst Rekursion verstehen." --188.99.239.111 11:10, 31. Okt. 2011 (CET)

Zu "Zitate" gehörend

Genauso könnte man auch einfügen: "Rekursion: die, -en, siehe -> Rekursion" --87.188.64.63 21:40, 4. Dez. 2011 (CET)

Definition

Es fehlt mir der umgangssprachliche Aspekt des Begriffes 'Rekursion'. Außerdem ist die Erklärung dessen, was eine Definition ist, seinerseits eine Definition, also rekursiv. FS -- 87.154.176.16 10:54, 18. Dez. 2011 (CET)

Jetzt, wo Du es sagst... Ich kenne die umgangssprachliche Bedeutung nicht. Da Du sie aber anscheinend kennst, warum verrätst Du sie uns nicht? Die Anmerkung, dass sie Dir fehlt, trägt leider weder zu WP noch zu meinem/unserem Verständnis derselben bei. -- 84.112.118.61 10:42, 21. Apr. 2012 (CEST)

- 2012 -

Rekursion oder Rückkopplung

Rekursion in einem Bildschirm-Aufnahmeprogramm.

Die beiden Themen sind zwar verwandt, das Bild illustriert meines Erachtens die Rückkopplung. --Siehe-auch-Löscher (Diskussion) 17:23, 24. Dez. 2012 (CET)

Eine Rekursion ist einfach die (mathematische) Funktion für eine Rückkopplung. Da kann man denke ich nicht so groß differenzieren. --NyanDog 15:44, 25. Dez. 2012 (CET)
Weder unter Rekursion noch unter Rückkopplung findet sich ein Verweis auf den jeweils anderen Artikel. --Siehe-auch-Löscher (Diskussion) 18:09, 25. Dez. 2012 (CET)

Der Unterschied ist wohl, dass sich bei einer Rekursion das Argument veränderun muss.

  • Rekursion f(n) = g(f(n-1))
  • Rückkopplung f(n) = g(f(n))

--Suricata (Diskussion) 23:03, 25. Dez. 2015 (CET)

- 2015 -

Beispiele

Ich finde nicht, dass die Programmiersprache C eine geeignete Programmiersprache für Wikipedia-Beispiele ist. Die Zeigerlogik erfordert/ermöglicht Code-Konstrukte, die nur für C-Entwickler eingänglich sind, sodass der eigentliche Veranschaulichungszweck in den syntaktischen Elementen vollends untergeht. - Chris (Diskussion) 16:06, 15. Feb. 2015 (CET)

Abgesehen davon ist beim Rekursionsbeispiel die Einrückung falsch, mangels Block für den else-Zweig gehört der Funktionsaufruf "fnTraverse( ++pString );" nicht eingerückt. --77.119.128.211 08:32, 15. Aug. 2015 (CEST)

Ich habe die Einrückung korrigiert. --mfb (Diskussion) 13:03, 15. Aug. 2015 (CEST)
Danke, jedoch wäre es meines Erachtens am schlauesten man macht einen else-Block mit den beiden (eingerückten) Statements, aber ich wollte die Änderung nicht selbst durchführen.--77.119.128.211 13:52, 15. Aug. 2015 (CEST)

- 2016 -

Siehe auch: Rekursion

Unter "Siehe auch:" fehlt ein Link auf den Artikel "Rekursion" ;) (nicht signierter Beitrag von 2A02:8071:AA0:5900:19A5:B0C3:15DC:8D27 (Diskussion | Beiträge) 18:05, 13. Jul 2016 (CEST))

Guckstu mal im Bearbeiten-Modus genau dort unter der Überschrift "Siehe auch"... da wirst du Augen machen :-) --Alazon (Diskussion) 18:38, 13. Jul. 2016 (CEST)

- 2017 -

Literaturverweise?

Könnte jemand vom Fach bitte Quellen und Literatur für diesen Artikel nachtragen? Zum Anwendungsbereich Grammatik kann ich das übernehmen, sonst aber nicht. --Alazon (Diskussion) 13:02, 3. Jan. 2017 (CET)

Mathematische Definition

Das was darunter steht ist Geschichtenerzählerei aber keine Mathematische Definition. Könnte das jemand, der dafür Zeit hat, überarbeiten? --217.229.8.111 17:47, 20. Feb. 2017 (CET)

- 2018 -

Charakterisierung

Man nennt die Gauß'sche Summenformel zwar möglicherweise eine Charakterisierung der im Artikel "sum" genannten Funktion, der Link führt allerdings auf den literarischen Begriff, der hier vermutlich nicht gemeint ist. --2001:638:504:C07C:3523:EAB7:1C40:6DEC 15:25, 1. Mär. 2018 (CET)

Völlig klar. Hab ich gleich mal entfernt. --Alazon (Diskussion) 16:16, 1. Mär. 2018 (CET)

- 2019 -

Fibonacci

Im Abschnitt Rekursion#Die_Fibonacci-Folge steht am Anfang "gibt es hier keine triviale geschlossene Darstellung", und am Ende steht es gibt einen gleichwertigen geschlossenen Ausdruck. Auch wenn sich das letztlich auf den Nenner bringen ließe, dass die Darstellung, die es gibt, halt nicht trivial ist, sollte man das nicht so stehenlassen. --Alazon (Diskussion) 09:42, 26. Apr. 2019 (CEST)

Das hast Du recht, das war ich und die Betonung liegt auf nicht-trivial, siehe Fibonacci-Folge#Formel von Moivre-Binet. Ich streiche den Nachsatz einfach. --Suricata (Diskussion) 10:53, 26. Apr. 2019 (CEST)

Rekursion in Python

Habe die Fakultätsfunktion in Python vereinfacht, sodass sie eine Variable weniger zur Berechnung braucht:

# Bisheriges Beispiel
def fakultaet_iterativ(n):
    ergebnis = faktor = 1
    
    while faktor <= n:
        ergebnis *= faktor
        faktor += 1
    
    return ergebnis

# Geänderte Version:
def factorial_iterative(number):
    result = 1
    
    while number > 1:
        result *= number
        number -= 1
    
    return result

--Diaspomod (Diskussion) 10:13, 25. Apr. 2019 (CEST)

Als ehemaliger Assemblerprogrammierer gefällt mir Deine Version natürlich besser. Runterzählen und gegen 0 oder Vorzeichen-Bit vergleichen ist am allerschönsten. Hier geht es eher darum, einen Algorithmus in der Programmiersprache leicht verständlich und lesbar darzustellen. Das ist in der ersten Version besser gegeben. --Suricata (Diskussion) 11:29, 25. Apr. 2019 (CEST)
@Suricata: Das momentane Pythonbeispiel wird nicht ausgeführt, da Python nicht ohne weiteres Zeilenumbrüche akzeptiert. Entweder man schreibt da ein Backslash oder man definiert zwei return Statements, wenn man die Breite minimieren möchte
# Mit Backslash "\"
def factorial(number):
    return 1 if number <= 1 \
             else number * factorial(number - 1)

# Oder mit 2 return Statements
def factorial(number):
    if number <= 1:
        return 1

    return number * factorial(number - 1)

--Diaspomod (Diskussion) 11:43, 26. Apr. 2019 (CEST)

Danke, ändere es doch einfach im Artikel. --Suricata (Diskussion) 13:26, 26. Apr. 2019 (CEST)

Rekursion mit C

Der C-Code ist unschön und fehlerhaft.

Das Semikolon nach der While-Schleife hat hier nichts zu suchen und kompiliert nicht. Außerdem ist eine For-Schleife prädestiniert dafür. Man muss auch den Null-Terminator im C-String nicht mit einer hexadezimal geschriebenen Null (0x0) vergleichen, es reicht eine dezimale Null (0). --Diaspomod (Diskussion) 14:24, 24. Apr. 2019 (CEST)

Hallo Diaspomod,
erst einmal Danke für dein Engagement! Wir sind leider etwas aneinander geraten. Wenn ich es richtig sehe, dann stört dich nur das Semikolon? Ich habe es getestet, mit folgendem in foobar.c:
#include <stdio.h>
void main() {
 char* strKette = "foobar",
     * pTemp    = strKette;

 while( *pTemp != 0x0 )
 {
   // z. B. Buchstabe für Buchstabe ausgeben
   putchar(*pTemp);
   ++pTemp;
 };
}
Übersetzung mit gcc foobar.c -o foobar ist fehlerlos, das Programm läuft anschließend einwandfrei ./foobar. Das Semikolon hinter der While-Schleife kann allerdings gerne entfernt werden, es ist in C (Programmiersprache) nicht üblich. Allerdings störe ich mich an deiner der Umbenennung der Variablen, temp statt pTemp. Bitte stelle die ursprünglichen Variablennamen wieder her. Es ist guter Stil, Kommentare // Buchstabe einzeln ausgeben nicht neben, sondern über die Befehle zu schreiben.
Viele Grüße --Bejahend (Diskussion) 07:46, 24. Apr. 2019 (CEST)
Nachtrag zum Null-Terminator bzw. Nullzeichen: Ich habe das jetzt korrigiert, siehe dazu Das NULL-Mysterium und Strings/Zeichenketten (»char«-Array) im Standardwerk C von A bis Z. For-Schleife mag für Iterationen prädestiniert zu sein, mir persönlich gefällt an dieser Stelle die While-Schleife trotzdem besser, dann ist der Code das auch ohne C-Kenntnisse noch einigermaßen verständlich. Das Thema des Artikels sind ja nicht die Eigenheiten von C. --Bejahend (Diskussion) 12:26, 24. Apr. 2019 (CEST)


Ich würde vorschlagen, die explizite Pointerarithmetik wie "++pTemp" durch die Indexschreibweise zu ersetzen, da diese Syntax immer typsicher ist und die Pointer-Arithmetik eine zu starke Eigenkomplexität hat und zu sehr vom Thema Rekursion ablenkt.

Mein Vorschlag wäre:

#include <stdio.h>

void traverse_iterative(const char string[]) {
    int index = 0;
    
    while (string[index] != '\0') {
        // Buchstabe einzeln ausgeben
        putchar(string[index]);
        ++index;
    }
}

void traverse_recursive(const char string[]) {
    if (string[0] == '\0')
        return;

    // Buchstabe einzeln ausgeben
    putchar(string[0]);
    traverse_recursive(&string[1]);
}

Wobei ich wieder für eine For-Schleife plädieren würde, da es diesmal eine klassische Zählschleife ist (Wie die For-Schleifen in anderen Sprachen ohne Zeigerarithmetik). --Diaspomod (Diskussion) 19:40, 24. Apr. 2019 (CEST)

... und du hast es 2 Stunden später gleich geändert, ohne jegliche Antwort abzuwarten. Bitte denke daran, dass wir von Wikipedia (du eingeschlossen) in unserer Freizeit mitarbeiten und nicht 24 h am Bildschirm sitzen. Bei sehr sinnvollen Änderungen ist ein Abwarten nicht nötig, hier handelt es sich jedoch um Geschmacksfragen For vs. While und Zeiger-Arithmetik vs. ja was denn eigentlich?
Was den Code anbelangt:
$ gcc vorschlag.c -o vorschlag
vorschlag.c:3:38: error: expected ‘;’, ‘,’ or ‘)’ before ‘string’
 void traverse_iterative(const char[] string) {
                                      ^08:12, 25. Apr. 2019 (CEST)
vorschlag.c:13:38: error: expected ‘;’, ‘,’ or ‘)’ before ‘string’
 void traverse_recursive(const char[] string) {
                                      ^08:12, 25. Apr. 2019 (CEST)
Bitte stelle die ursprüngliche Version selbst zurück, bei den von mir gesichteten Versionen kann ich die Korrektheit bezeugen. Ich habe gerade keine Zeit, mich hier weiter einzubringen.
Viele Grüße --Bejahend (Diskussion) 08:12, 25. Apr. 2019 (CEST)


Habe die eckigen Klammern jetzt so geschrieben "char string[]" statt "char[] string" und Adressoperator hinzugefügt. Habe es jetzt auch mit clang Compiler getestet und es funktioniert. Die Zeigerarithmetik sollte längerfristig nicht stehen bleiben m. E. --Diaspomod (Diskussion) 10:27, 25. Apr. 2019 (CEST)

@Bejahend: Werde in Zukunft vorsichtiger editieren. --Diaspomod (Diskussion) 14:45, 25. Apr. 2019 (CEST)


Da ich gerade zufällig vorbeikomme. Der Artikel ist ein Flickwerk aus verschiedenen Beispielen und beschäftigt sich mit verwirrenden Nebenaspekten, hier der Stringverarbeitung in C. Ich würde als Hauptbeispiel für den gesamten Artikel die mathematischen Beispiele Summe-0-bis-n und Fibonaccizahlen verwenden und das auch in C und anderen Sprachen darstellen.

Was übrigens fehlt ist die Abarbeitung der Rekursion, nämlich, dass für jeden Funktionsaufruf die Zwischenwerte und die Rücksprungadresse auf den Stack gepusht werden und eine dynamischer Speicherverwaltung erforderlich ist. Das wird nur nebenbei erwähnt. Bei kleinen Prozessoren wie dem Arduino oder Microcontrollern ist das durchaus relevant. Nach meiner etwas zurückliegenden Erfahrung war bei Microcontrollersteuerungen Rekursion verboten, da Speicher- und Zeitbedarf viel schwerer abschätzbar waren als bei iterativer Programmierung. Da könnte man übrigens das Beispiel Rekursion#Summenbildung auch auf dem Stack darstellen. --Suricata (Diskussion) 09:09, 25. Apr. 2019 (CEST)

int fibonacci(int n) {
   if     (n == 0) return 0;
   else if(n == 1) return 1;
   else            return (fibonacci(n-1) + fibonacci(n-2));
}

Hier wird sofort der Bezug zum mathematischen Beispiel ersichtlich. --Suricata (Diskussion) 09:19, 25. Apr. 2019 (CEST)

Ich finde es auch besser das Fibbionaccibeispiel zu nehmen und potenziell in verschiedenen Sprachen darzustellen! Wobei ich die Fibonacci und Fakultätsfunktion nehmen würde. --Diaspomod (Diskussion) 10:16, 25. Apr. 2019 (CEST)
Ja, sehr gerne. Die Fakultät als einfachere Funktion und Fibonacci um die Mehrfachaufrufe und Memoisation anzureißen. Wir können ja noch ein paar Stimmen abwarten und dann den Artikel überarbeiten. Ich helfe gerne mit. --Suricata (Diskussion) 10:37, 25. Apr. 2019 (CEST)
@Suricata, Diaspomod: Gute Idee! Es tut mir Leid, aber ich habe in den nächsten Tagen leider keine Zeit um mitzuhelfen. --Bejahend (Diskussion) 11:16, 25. Apr. 2019 (CEST)
Ich habe mal etwas durchgewischt und festgestellt, dass es ja die Hauptartikel Rekursive Programmierung und Iterative Programmierung gibt. Wir sollten daher nicht zu viel Redundanz erzeugen. --Suricata (Diskussion) 09:09, 26. Apr. 2019 (CEST)

Habe eine erste Überarbeitung gemacht, das sollte noch kritisch gelesen und überarbeitet werden. --Diaspomod (Diskussion) 21:30, 27. Apr. 2019 (CEST)

Python "IndentationError: unexpected indent"

Ich weiß nicht, wie die eingefügten Leerzeichen verschwinden konnten. Wenn man die Funktion in eine .py Datei kopiert und dann testet, kein Problem, aber für das einfache Copy-Paste habe ich es jetzt abermals geändert, damit nicht folgender Fehler auftritt:

$ python
Python 2.7.16 (default, Apr  6 2019, 01:42:57) 
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def factorial(number):
...     result = 1
... 
>>>     while number > 1:
  File "<stdin>", line 1
    while number > 1:
    ^
IndentationError: unexpected indent
>>>         result *= number
  File "<stdin>", line 1
    result *= number
    ^
IndentationError: unexpected indent
>>>         number -= 1
  File "<stdin>", line 1
    number -= 1
    ^
IndentationError: unexpected indent
>>> 
>>>     return result
  File "<stdin>", line 1
    return result
    ^
IndentationError: unexpected indent
>>>

Bitte die Leerzeichen nicht entfernen und – wenn möglich – auch an anderen Stellen ausbessern.

Vielen Dank --Bejahend (Diskussion) 12:47, 29. Apr. 2019 (CEST)

@Bejahend: Es waren und sind die richtigen Einrückungen vorhanden. Du hast die Befehle in die interaktive Python-Shell kopiert. Da die interaktive Shell davon ausgeht, dass man nach einer leeren Zeile wieder das Statement davor verlässt, macht die Einrückung dann keinen Sinn.

Wenn du das Python Beispiel testen möchtest, dann kopiere es in eine Datei z.B. beispiel.py und führe dann in einer Shell (z.B. bash) aus:

python beispiel.py

Es sind also nicht die Einrückungen verschwunden. Es liegt an den leeren Zeilen, mit denen die Python-Shell Probleme hat. Man müsste also diese leeren Zeilen entfernen, bevor man den Code in die Python-Shell kopiert. Außerdem empfehle ich, Pyhthon 3.7 zu installieren, da die 2.x Version teilweise inkompatibel ist zum modernen Pythonstandard. --Diaspomod (Diskussion) 13:34, 29. Apr. 2019 (CEST)

@Diaspomod: Vielen Dank für deine Nachfrage. Genau. Aber ist es nicht netter Service, auch für den interaktiven Shell ausführbaren Code anzubieten? Daher die eingefügten Leerzeichen, python3 habe ich ebenfalls installiert da gibt es genau den selben "IndentationError". Deshalb habe ich die Einrückungen auch in den leeren Zeilen eingefügt, dann kommt keine Fehlermeldung.
Übrigens: Derzeit wird python2 weiträumig verwendet (immer noch?), es ist also gut lauffähigen Code für beides anzubieten. VG --Bejahend (Diskussion) 14:07, 29. Apr. 2019 (CEST)
Nachtrag: Lese gerade vom Ende von Python 2 und trotzdem verwendet die wohl konservativste Linux-Distro debian nach wie vor "Python 2.7 (default)", siehe https://wiki.debian.org/Python . --Bejahend (Diskussion) 14:26, 29. Apr. 2019 (CEST)
@Bejahend: Da hast du wohl recht, dass es besser ist in den leeren Zeilen die Leerzeichen zu haben. --Diaspomod (Diskussion) 13:44, 30. Apr. 2019 (CEST)

In Mathematik und Informatik erscheint Rekursion auch spezieller in der Form, dass eine Funktion in ihrer Definition immer wieder erneut angewendet wird (“sich selbst nochmals aufruft”, rekursive Definition).

Wird hierbei etwas gesagt, was bisher nicht gesagt wurde?
Hinten begonnen:
Der Link führt zu einer Stelle, die eingeleitet wird mit dem Hinweis: “→ Hauptartikel: Rekursion”. Das sieht zunächst nach sich im Kreise drehen aus.
“... spezieller in der Form, dass eine Funktion in ihrer Definition immer wieder erneut angewendet wird (“sich selbst nochmals aufruft”. Was ist daran,
dass immer wieder neu angewendet und
sich selbst aufruft
spezieller? M.E. ist das vorher mindestens mit dem Link zu Rekursive Programmierung und auch sonst mit diversen Erwähnungen erledigt (z.B. “... komplexeres Produkt zu erzeugen, wird dann zerlegt in die mehrfache Erzeugung einfacherer Produkte.”). Man könnte hier noch Diverses ergänzen (z.B.: “sich selbst nochmals aufruft”).
Nachtrag: die Links Funktion und Definition sind gewöhnliche, anklickbare Umblätterbuttons, die zum Satz, in dem sie sich befinden, nichts beitragen.
Formal: von Mathematik und Informatik ist längst die Rede. Allenfalls Wichtiges erst hinten anzuhängen, passt schlecht.
--Idohl (Diskussion) 19:25, 26. Jan. 2021 (CET)

Rekursion ist auch eine Problemlösungsstrategie, und komplexe Sachverhalte können oft mit rekursiv formulierten Regeln sehr elegant erfasst werden.

Was soll das heißen? Ist die Rekursion nicht nur ein beobachtbarer Vorgang, sondern die dabei geltenden Zusammenhänge werden auch gezielt angewendet, und sie gehören zur Strategie, ein Problem zu lösen, nicht nur irgendwie, sondern sehr elegant?
Mit “Regeln bzw. Regelsysteme heißen rekursiv, wenn sie die Eigenschaft haben, Rekursion zuzulassen.” ist die gezielte Anwendung schon vorweggenommen. Worauf soll sich “zuzuulassen” sonst beziehen? --Idohl (Diskussion) 18:52, 26. Jan. 2021 (CET)

Zum ersten Punkt: Deine Frage ist für mich schwer verständlich, an welcher Stelle beginnt für dich ein Problem?... Ich kann kein Problem in dem Satz erkennen: "komplexe Sachverhalte können oft mit rekursiv formulierten Regeln sehr elegant erfasst werden." Dieser Satz erläutert den Teilsatz, der davor steht, und der etwas allgemeiner gehalten war.
"Rekursion ist eine Strategie..." ist eine Ausdrucksweise etwa so wie "Umzingeln ist eine Taktik...". Auch da seh ich kein Verständnisproblem.
Zum letzten Punkt: Es gibt im Abschnitt "Rekursion in der Grammatik" die Anmerkung zu einem Fall, wo auch in einem Regelsystem, das Rekursion zulässt, nicht in jedem Anwendungsfall, in jeder Ableitung eine Rekursion aufgerufen zu werden braucht. Das heißt hier: die Erzeugungsregeln der Phrasenstruktur-Grammatik sind prinzipiell rekursiv, aber nicht jeder erzeugte Satz enthält einen Fall von Rekursion. -- Gemeint ist also: Regelsysteme heißen schon dann rekursiv, wenn sie Rekursion im Prinzip zulassen, nicht erst wenn Rekursionsschritte konkret benutzt werden.
Gruß, --Alazon (Diskussion) 23:16, 26. Jan. 2021 (CET)
Danke für Deine Meldung. Ich habe die Stelle inzwischen etwas umformuliert. Vielleicht siehst Du jetzt, was ich meinte und dessen Klärung ich mit nicht nur ein beobachtbarer Vorgang, sondern die dabei geltenden Zusammenhänge werden auch gezielt angewendet schon oben vorschlug. --Idohl (Diskussion) 13:57, 27. Jan. 2021 (CET)
Rekursion ist durchaus eine Strategie ein Problem zu lösen, siehe z.B. das Teile-und-herrsche-Verfahren. Dieses lässt sich natürlich auch ohne Rekursion implementieren (z.B. durch einen Stack), jedoch ist die Rekursion sehr viel eleganter, da dies die Strategie hinter der Lösung klar offenbart. --BlauerBaum (Diskussion) 13:22, 27. Jan. 2021 (CET)
Strategie oder einfach Anwenden, m.E. repräsentiert beides das gleiche Ziel. Ums Ziel ging es mir aber gar nicht, sondern um die Verständlichkeit des Textes in der Einleitung.
Ich nehme aber gerne auch das von Dir auch eingefügte Wort elegant auf: Endlich sagt jemand etwas mehr dazu (Strategie hinter der Lösung klar offenbar). Gerade daran erkenne ich, dass es gar nicht um ein eleganteres (leichter, wirtschaftlicher, was beides nicht zutrifft) Verfahren geht, sondern um den Respekt für einem Vorgang, der in der Natur seit je existiert. Nachdem wir dahintergekommen sind und ihn endlich verstanden haben, sind wir fasziniert und stolz auf uns mit der Folge, ihn so oft wie möglich nachzubilden und dabei in Schönheit zu sterben. --Idohl (Diskussion) 13:57, 27. Jan. 2021 (CET)
Wo ich mir gerade diese Bearbeitung angucke, mit Schleife ist hier nicht die klassische in der Programmierung benutzte Schleife (Programmierung) gemeint, sondern allgemein eine Wiederholung. (nicht signierter Beitrag von BlauerBaum (Diskussion | Beiträge) 13:29, 27. Jan. 2021 (CET))
Eine Schleife ist in Normalsprache nach einem Umgang beendet. Danach beginnt eine neue Schleife, und nach deren Beendigung hat man Schleifen. In der Informatik ist das anders: Die Schleife (Programmierung) läuft immer wieder über sich selbst hinweg, so auch bei Rekursion. Alle Wiederholungen sind nur eine Wiederholung. Notgedrungen müssen wir den Informatik-Gebrauch auch bei Rekursion benutzen (oder ihn bekämfen und abschaffen). --Idohl (Diskussion) 14:14, 27. Jan. 2021 (CET)
Ich persönlich finde Schleife im Alltag meint Schleife (Knoten), in dem Sinne ist die Verwendung des Wortes hier tatsächlich nicht wirklich geglückt. Der Artikel Schleife (Programmierung) behandelt jedoch die Kontrollstruktur. Die "Schleife" in der Rekursion ist jedoch ganz explizit nicht diese Kontrollstruktur (sie besteht nicht aus Sprungbefehle sondern Funktionsaufrufen). Ich schlage vor den Satz
"Hierdurch entsteht ein Vorgang, der potenziell in einer unendlichen Schleife weiterläuft."
durch
"Hierdurch entsteht ein Vorgang, der potenziell sich selbst unendlichen oft aufruft."
zu ersetzen. --BlauerBaum (Diskussion) 15:29, 27. Jan. 2021 (CET)
Dieser Satz lässt sich sicher noch etwas glätten. Die Unendlichkeit ist mE jedenfalls das wichtige Stichwort, um das es sich dreht. Vielleicht: Rekursion hat daher theoretisch das Potenzial, bis ins Unendliche weiterzulaufen. ? --Alazon (Diskussion) 16:23, 27. Jan. 2021 (CET)
Pro Finde ich noch schöner. --BlauerBaum (Diskussion) 16:46, 27. Jan. 2021 (CET)
Gut, dass es nun klärende Bemühungen für Ungenaues gibt. Ich übernehme den Vorschlag für Rekursion jetzt (theoretisch lasse ich weg, da es bereits Eigenschaft von Unendlichkeit ist).
M.E. (ich gehöre zur Mehrheit der nicht professionellen Programmierer) sollte obiger Hinweis (behandelt jedoch die Kontrollstruktur) in Schleife (Programmierung) deutlicher dargestellt werden.
Übrigens: In der Umgangssprache gibt es durchaus Schleife als Rundweg, z.B. die Nordschleife des Nürburgrings.
--Idohl (Diskussion) 12:29, 28. Jan. 2021 (CET)
Gut. Das theoretisch bezog sich auf die Eigenschaft, nicht auf die Unendlichkeit. Auf einer realen Maschine kann Rekursion eben nicht unendlich weiterlaufen (da nur endlich Speicher), auf einer theoretischen Turingmaschine aber schon. Deswegen füge ich das theoretisch wieder ein. --BlauerBaum (Diskussion) 13:00, 28. Jan. 2021 (CET)
M.E. geht der Text erst bei Informatik und Problemlösungsstrategie zur menschlichen Beschäftigung über (dass Ihr das bestätigt oder verneint, war mein eigentliches Anliegen, bisher ohne Antwort). Er beginnt allgemein, schließt also die in der Natur präsente R. ein. Deshalb: kein theoretisch, denn Theorie ist Menschenwerk.
Anstatt auf das einzugehen, weswegen diese Disk. begonnen wurde, haben wir lediglich Beharren auf den Status quo (mit einer kleinen Ausnahme: Die Schleife im ersten Abschnitt ist raus). Die Frage besteht weiter: Warum ist Rekursion auch eine Problemlösungsstrategie? Die Gegenüberstellung zum Anderen ist unklar. Es gibt ja noch einen zweiten Frage-Abschnitt von mir, der bisher ganz ohne Reaktion blieb. Mit Zurücksetzen und Zurücklehnen ist es nicht getan.
--Idohl (Diskussion) 13:27, 28. Jan. 2021 (CET)
Das "auch" wundert dich? "Rekursion ist ein Phänomen, wo Regeln etwas machen etc. -- Es wird auch strategisch eingesetzt, um zu etc." Könnte man evtl. auch umschreiben als: "Rekursion ist auch in der Hinsicht bedeutsam, dass..." -- Ich wäre über das "auch" in keiner Weise gestolpert. --Alazon (Diskussion) 22:37, 28. Jan. 2021 (CET)
Aha, Du würdest also auch sagen, dass R. nicht nur etwas Beobachtbares (und Bestaunbares) ist, sondern dass R. auch als Werkzeug zur Problemlösung benutzt werden kann. Sinngemäß hatte ich hier edidiert. Warum hast Du das ersatzlos gestrichen, anstatt stehen zu lassen oder durch Eigenes zu verbessern?
--Idohl (Diskussion) 23:54, 29. Jan. 2021 (CET)

[1] Als Rekursion (lateinisch recurrere ‚zurücklaufen‘) bezeichnet man den abstrakten Vorgang,

Meistens wird mit Rekursion ein tatsächlicher Vorgang bezeichnet (Zellteilung, Ablauf eines Computerproramms u.a.). Abstrakt könnte man vielleicht den Begriff nennen, nicht aber den Vorgang, der damit angesprochen wird.
--Idohl (Diskussion) 11:42, 1. Feb. 2021 (CET)

Wie im Bearbeitungskommentar gesagt, wurde das mehrdeutige Wort "theoretisch" durch "abstrakt" ersetzt. Wenn man sich auf ein Logik-Kalkül bezieht, ist man in einer abstrakten Sphäre. Ich sehe schon, dass du einen Punkt hast mit deiner Anmerkung, aber das Problem ist einfach, dass im ersten Satz normalerweise das Lemma in ein Gebiet eingeordnet werden soll, und dafür ist eben hier nicht der Anwendungsbereich Zellteilung, Datenverarbeitung etc. einschlägig. Sondern Rekursion ist ein abstrakter Aspekt, den man auch in einem konkreten Vorgang wie Datenverarbeitung identifizieren kann. Es gibt kein konkretes Feld, dem der Begriff Rekursion ausschließlich angehört, sondern er gehört als Gebiet allenfals der Mathematik an. So war das jedenfalls gemeint... --Alazon (Diskussion) 12:10, 1. Feb. 2021 (CET)
Ich versuche Dich ohne Beachtung von Logik-Kalkül trotzdem zu verstehen: Im ersten Absatz ist Rekursion noch ein abstrakter Vorgang. OK . Dann sollte aber anschließend der Übergang zum Konkreten mit dem Wort konkret deutlich gemacht werden. Meine beiden Beispiele sind m.E. konkrete Rekursionen. Ob R. in der Mathe als Konkretes oder weiterhin als Abstraktes verstanden wird, wage ich nicht zu entscheiden.
--Idohl (Diskussion) 12:58, 1. Feb. 2021 (CET) Nachtrag: Meine obige Nachfrage zu auch eine Problemlösungsstrategie wäre hiermit geklärt.
Stimmt, ob die Dinge der Mathematik konkret existieren oder nicht, ist eine abgründige Frage :) Anwendungen sind ja im ersten Abschnitt des Artikels dargestellt, das ist am Beginn glaub ich recht anschaulich. Der Verweis auf Anwendungen in der Kunst kommt aber sogar noch früher. Deinen Vorschlag, deutlicher zu gliedern und erst von der abstrakten, allgemeingültigen Charakterisierung zu reden, und dann von konkreten Anwendungen, finde ich gut. Dafür würde nun eine "konkrete" Formulierung benötigt, da du ja sagst, dass es dir so, wie es momentan ist, nicht deutlich genug formuliert ist. --Alazon (Diskussion) 13:50, 1. Feb. 2021 (CET)
Mit den letzten Bearbeitungen von Benutzer:Idohl bin ich nicht einverstanden. Das wird an dieser Stelle alles zu blumig und zu lang. Ich möchte darauf hinweisen, dass der erste Abschnitt im Haupttext sehr anschaulich ansetzt, und versucht, allgemeinverständlich zu zeigen, was die Sache ist. Daher sollte der Text der Zusammenfassung möglichst knapp bleiben, damit der auf den Artikel hinführt, und nicht die Leser schon verliert, bevor ein allgemeinverständlicher Text erst kommt! --Alazon (Diskussion) 11:54, 5. Feb. 2021 (CET)
Wir haben offensichtlich verschiedene Auffassungen dazu, wie wir den Lesern begegnen wollen. Wikipedia ist immer noch in erster Linie eine Enzyklopädie für alle. Und das Lesen beginnt mit der Einleitung, in der die Lesermehrheit anzusprechen ist. Wer Genaueres wissen möchte, bzw. es als Angehöriger der entsprechenden fachlichen Minderheit so aufbereitet wie in einer Fachenzyklopädie erwartet, der wird weiterlesen. Die zahlenmäßig um Potenzen größere Lesermehrheit will kurz wie etwa im alten Brockhaus informiert werden. Ein solcher Leser kann ja immer noch den Artikelhauptteil lesen, wenn er will oder kann oder es sich zumutet. Jedenfalls verlieren wir den Leser bereits, wenn ihm in Kürze und in Fachsprache das angeboten wird, was in einem Fachlexikon steht.
...der erste Abschnitt im Haupttext sehr anschaulich ansetzt: Er setzt eben nur in der Graphik, einem Teilgebiet, in dem R. vorkommt, an. Vorausgesetzt alle weiteren Abschnitte im Hauptteil würden anschaulich ansetzen (ich verneine das), dann müsste man noch eine Menge lesen, um das Gelesene selbst zu einem ausreichend Ganzen abstrahieren zu können. Zudem: Wer geht schon davon aus, dass er die Einleitung ignorieren (sich nicht von ihr abschrecken lassen ) und weiterlesen soll?
Die von mir vorgefundene Einleitung war keineswegs so anschaulich, dass ich als einer, der keineswegs ganz voraussetzungslos auf diesen Artikel gestoßen ist, damit zurecht gekommen bin. Warum hätte ich mich sonst so lang und sooft hier auf dieser D.seite gemeldet?
--Idohl (Diskussion) 17:13, 5. Feb. 2021 (CET)
Dein Anliegen ist ehrenwert, aber dient es diesem Anliegen, wenn man in die Zsf. eine Abteilung Formeln zur Fibonacci-Folge einfügt (das kommt später nochmal), und Formulierungen wie "ist auch eine Problemlösungsstrategie" ersetzt durch "kommt Rekursion als Problemlösungsstrategie zu praktischer Anwendung"? -- Vielleicht kriegen wir noch weitere Benutzer mit weiteren Meinungen in die Diskussion? --Alazon (Diskussion) 12:25, 6. Feb. 2021 (CET)

Kürzung der Einleitung

Kommentar zur soeben erfolgten Kürzung der Zusammenfassung:

  1. Langatmige Erklärungen in der Zsf. sollten vermieden werden, damit die Leser möglichst bald zum ersten Abschnitt mit den anschaulichen Beispielfällen gelangen. Der Gebrauch von "usw" in Erläuterungen ist schlechter enzyklopädischer Stil, ebenso das Verlinken von Einzelkapiteln des Artikels in der Einleitung: diese Erklärungen müssen soweit es geht in sich abgeschlossen sein.
  2. Im Artikel Konkrete Kunst fand ich keine Hinweise auf Rekursion, "mise en abyme" ist älter.
  3. Fraktale werden nicht "gezeichnet" und ihre Auflösung ist in der Computerdarstellung nicht grafisch durch "Kleinheit" begrenzt.
  4. Erläuterungen zu Informatik und Mathematik gekürzt, siehe dann erster Abschnitt des Artikels. Beispiel Multiplikation entfernt, da ich vermutete, wenn ein Leser noch nicht weiß, was Rekursion ist, ist auch nicht ohne weiteres klar, dass man eine Multiplikation wie "3 mal 3" durch eine rekursive Regel beschreiben kann.

--Alazon (Diskussion) 18:30, 15. Feb. 2021 (CET) (geändert)

  1. Gemäß meiner Auffassung von der Nützlichkeit einer Enzyklopädie ist eine Einleitung mit einer abstrakten Zusammenfassung des umfangreichen und detaillierten Inhalts des Hauptteiles unangebracht. Diser nützt eher demjenigen, der sich durchgearbeitet hat. Formal hat dieser Abstrakt dann am Ende zu stehen. Wenn man den Leser möglichst schnell in den langen Artikel hineinzerren möchte, wäre dieser, dem Unvorbelasteten unverständliche Abstrakt sogar kontraproduktiv. Also: Der erste Blick soll in Kürze richtig erkennen lassen, worum es sich sachlich handelt. Die Minderheit der Leser, die es detailliert wissen möchten oder sogar vorgebildet sind, werden sich bald des Hauptteils annehmen und mit einem selbst gebildeten (oder vielleicht doch einmal am Ende stehenden) Abstrakt im Kopf verabschieden.
  2. konkrete → konstruktive/geometrische Kunst (dabei darf nicht erwartet werden, dass die einschlägigen WP-Artikel schon auf hifreicher Höhe sind)
  3. Fraktale: s. die gezeichneten Bilder von Karl Gerstner (auch hier gilt: der einschlägige WP-Artikel ist nicht auf hifreicher Höhe).
  4. Multiplikation: Die Haltung, dass der Leser nach dem Studium der Einleitung noch nichts über den Gegenstand (Lemma) des Artikels weiß, ist abstoßend. Multiplikation und Fakultät helfen Rekursions-Grundsätzliches zu verstehen: fortwährende Wiederholung einer vereinfachten Aktion, Zurücklaufen, ...

Nüchterne Feststellung. Du hast nichts dazu beigetragen, die von mir vorgefundenen und benannten Unzulänglichkeiten zu beseitigen. Im Gegenteil: Dein erneuter und wiederum mit schnoddrigem Kommentar begleiteter Revert hat den unzulänglichen Zustand in etwa 1:1 wiederhergestellt.
--Idohl (Diskussion) 13:01, 1. Mär. 2021 (CET)

An Sachfragen entnehme ich, dass du vorziehen würdest, eine in sich abgeschlossene Erklärung eines mathematischen Beispiels von rekursiver Regel schon in der Einleitung zu haben. Meine Bedenken hierzu waren: Geht das so kurz, dass es auch vernünftig und durchschaubar wird; und was wird dann aus den Themen des ersten Abschnitts? Die Darstellung der Fakultät im erten Abschnitt ist nicht zu lang, und sie beschränkt sich auf das Wesentliche, und ist dabei genau genug geschrieben, dass man es dort verstehen kann, falls man es überhaupt wissen will. Du hast dich noch nicht dazu geäußert, ob der erste Abschnitt des Artikels nicht doch so anschaulich ist, dass er den Lesern das bietet, wofür du die Einleitung ändern möchtest. Es gibt da nämlich nochmal einen breiten Überblick! Aber ich sehe nicht, wie man das noch kürzer fassen könnte.
Wie gesagt, deswegen bin ich in diesem Fall dafür, die Einleitung als kurzes Abstract zu konzipieren, nicht als mini-Artikel. Meinem Empfinden nach ist die Einleitung auch jetzt noch zu lang und zu gewunden. -- Mir wäre es aber vor allem lieb, wenn erst mal noch weitere Meinungen zusammenkämen. Bei einem so viel aufgerufenen Artikel müsste es doch möglich sein, dass ein paar Leute mitdiskutieren?
--Alazon (Diskussion) 21:54, 1. Mär. 2021 (CET)

Was ist Rekursion?

Rekursion bedeutet Selbstbezüglichkeit. Sie tritt immer dann auf, wenn etwas auf sich selbst bezieht ([2]). In vielen Beispielen ist sie mit einem in der Zeit ablaufenden Vorgang verbunden. Es gibt aber auch Beispiele, die mit keinem Vorgang verbunden sind (z.B. erstes Bild im Namenraum). Deshalb ist Rekursion bezeichnet einen Vorgang, dass Regeln, nach denen ein Produkt erzeugt wird, auf dieses Produkt von neuem angewandt werden nicht allgemeingültig (verschrobenes Deutsch ist es zudem). Das Voranstellen von in der Zeit stattfindender Produktion deutet auf Rekursion in der Informatik hin und darauf, dass der/die Autor/en einen zu engen Horizont haben, von der Informatik überbesetzt sind.
--Idohl (Diskussion) 12:03, 13. Mär. 2021 (CET)

Das Wort "sich beziehen" ist eines der allgemeinsten und verschwommensten, die man in diesem Zusammenhang bringen kann, das soll man nicht in den Vordergrund stellen. Aus meinem Berufsalltag als Linguist kenne ich die Situation sehr genau, dass Studenten immerzu diese Formulierung anbringen: da werden immer alle Sachen als "sich beziehen" tituliert, egal ob es Referenz, Anaphora, Rektion, Prädikation, Kongruenz oder sonstwas ist :) Spätestens wenn man eine Hausarbeit verfasst, muss man aber lernen genauer zu formulieren. :)
"Selbstbezüglichkeit" ist wohl oft durch Rekursion erklärbar (das nehmen glaub ich manche Theorien des Bewusstseins an), aber ich denke es gibt Selbstbezüglichkeit, die nicht im vollen Sinn rekursiv ist. Der Ausdruck "DIESER AUSDRUCK" ist selbstbezüglich, aber er führt auf keine Rekursionschleife, die sich unendlich fortsetzen könnte.
Rekursion ist ein schrittweise aufzubauender Vorgang, das was rekursiv ist, ist tatsächlich immer eine Produktionsregel im allgemeinen Sinn. Ob man die zeitliche Dimension sehr in den Vordergrund stellt oder nicht, ist für den Begriff nicht wichtig, aber die Definition erfordert immer mehrere Schritte. Es ist dann zu unterscheiden zwischen der Rekursion selbst (das ist eine formale Operation, also ein "Vorgang") und dem Produkt, das aus einem rekursiven Regelwerk hervorgegangen ist. Die diversen Bilder im Artikel, auf die du dich beziehst ;), zeigen nicht die Rekursion selbst, sondern Gebilde, deren Existenz und Beschaffenheit durch rekursive Regeln erklärbar und herleitbar ist. Den Unterschied zwischen dem rekursiven Regelwerk und seinem Produkt sieht man daran, dass man in einem Bild ggf. die Rekursionsschritte, die erfolgt sein müssen, zählen kann, wenn es nicht zu viele werden. Siehe das eine Bild vom Pythagoras-Baum. Die Rekursion ist nicht der Baum, sondern das was ihn so werden lässt, ist die Rekursion. --Alazon (Diskussion) 13:18, 13. Mär. 2021 (CET)
PS: Das Bild, das du eingefügt hast, finde ich viel schöner als die bisherigen, danke dafür. Zuzugeben ist, dass das Licht extrem schnell zwischen den beiden Spiegeln hinundherläuft und sich auch nicht gut mittendrin dabei stoppen lässt. Trotzdem ist auch die Reflexion des Lichts an einem Spiegel ein Vorgang. --Alazon (Diskussion) 13:35, 13. Mär. 2021 (CET)
Einverstanden, dass Licht auch Zeit benötigt, um sich auszubreiten.
Die genannte Quelle war sogar eine wichtige und umfangreiche Hausarbeit. Wie hätte denn Deiner Meinung nach die Autorin genauer formulieren sollen? Wie in Wikipedia? Das Dortige halte ich für keinen genaueren bzw. überhaupt nicht für einen verständlichen Vorschlag.
Ich habe auch Mühe mit einigen von Dir hier geschriebenen Worten.
Rekursion ist ein schrittweise aufzubauender Vorgang. (Satzende!): ... ein schrittweise aufzubauender Vorgang? M.E. wird in unmittelbar aufeinander folgenden Schritten immer Gleiches erzeugt/produziert. Der Vorgang wird nicht aufgebaut. Er wird in Gang gesetzt und läuft dann schrittweise weiter
(!Satzanfang!) Das, was rekursiv ist, ist tatsächlich immer eine Produktionsregel im allgemeinen Sinn. Einverstanden: Rekursion = nach gleichen Regeln wird fortwährend ein weiteres Erzeugnis/Produkt geschaffen. Was mir aber noch fehlt, sind Erklärung und Formulierung der Beziehung zwischen den nacheinander entstehenden Erzeugnisen/Produkten. Sie werden ja nicht beziehungslos zueinander ausgespuckt. Das nächste Erzeugnis/Produkt "steht" auf dem vorherigen (Beispiel Pythagoras-Baum: Auf den Seiten des Dreiecks über dem Quadrat steht je ein neues Quadrat mit je einem Dreieck). Dabei ist es wohl nicht möglich, Vorgang und Erzeugnis voneinander zu trennen. Und mit Regeln auf das Produkt, das sie erzeugen, von neuem anwenden ist nichts Ausreichendes und auch nichts formal Verstänliches gesagt.
... rekursiven Regelwerk: Ich würde nicht von einem Regelwerk sprechen. Die Regel ist einfach , bzw. "einfältig". Vielfältig ist die Zahl der Schritte.
--Idohl (Diskussion) 17:06, 14. Mär. 2021 (CET)

Rekursion (lateinisch recurrere ‚zurücklaufen‘)

Im Artikel wird nirgends auf recurrere eingegangen. Das gibt zu Bedenken Anlass. Verursacht ist der Mangel möglicherweise dadurch, dass der Begriff Rekursion nicht mehr oder nur in Einzelfällen in seiner ursprünglichen Bedeutung angewendet wird. Mir scheint, dass das zurücklaufen in der vielfältigen und verschiedenen Anwendung des Begriffs Rekursion nicht mehr gemeinsames Merkmal ist. Gibt es überhaupp ein gemeinsames Merkmal für Rekursion in Natur, Alltag, Musik, Sprache, Mathematik, Informatik usf.? Ist eine allgemeine Definition überhaupt möglich? In der von mir oben angegebenen Quelle werden 3 Definitionen aufgezählt: Selbstbezogenheit, sich selbst definieren und Verschachtelung. Die versuchte Definition ... abstrakter Vorgang mit Regeln, nach denen ein Produkt erzeugt wird, auf dieses Produkt von neuem anwenden... enthält weder das Zurücklaufen, noch zeigt sie eine deutlich erkennbare Verwandtschaft zu diesen drei Definitionen. Als Gebiete der Anwendung werden Mathematik, Informatik (inkl. Problemlösungsstrategie), Grammatik, Biologie (Beispiel: Zellteilung) und Kunst angegeben. Wiederholtes Prozedere (von einem Produkt ausgehend ein neues unter Anwendung gleicher Regeln erzeugen) erkenne ich lediglich bei der Zellteilung, die zudem kein Zurücklaufen kennt, und in der graphischern Kunst (Fraktale u.ä.). Beim rekursiven Programmieren gibt es sowohl eine Vorwärts- als auch eine Rückwärts-Methode.[1] Bei der Mathematik gibt es die Verwirrung durch das Nennen der rekursiven Definition, wobei doch vordringlich eine Definition der Rekursion anzugeben ist. ... Potenzial, bis ins Unendliche weiterzulaufen zu erwähnen, macht m.E. nur Sinn, wenn erwähnt wird, dass der Lauf ins Unendliche nur in der Informatik eine "gefährliche Folge" (faktisch harmlos, da minimalste physikalische Energiemenge umgewandelt wird) ist. Neben dem Substantiv Rekursion auch das Adjektiv rekursiv hinzuschreiben, lenkt nur von der Aufgabe ab, eine gültige allgemeine Definition/Erklärung zu finden (zudem ist der Satz Regeln bzw. Regelsysteme heißen rekursiv, wenn sie die Eigenschaft haben, Rekursion im Prinzip zuzulassen (auch wenn sie nicht in jeder einzelnen Anwendung auftritt) widersprüchlich: Wenn Rekursion nicht in allen Fällen auftritt, was tritt denn dann in den anderen Fällen nach rekursiven Regeln auf?). Das Prinzip des Delegierens ist m.E, nur ein grundlegendes Schema bei rekursiver Problemlösung. Usw.

Resumè: Wenn keine Definition zu finden sein sollte, dann wäre das deutlich zu sagen, anstatt die mit dem Begriff Rekursion versehenen Anwendungen weder in der Einleitung noch im Hauptteil zueinander ziemlich beziehungslos zu nennen bzw. abzuhandeln.

--Idohl (Diskussion) 22:07, 15. Mär. 2021 (CET)

  • Was in der Klammer gleich nach dem Lemma angegeben wird, ist immer die Wortherkunft. Das ist keine Angabe der heutigen Wortbedeutung und auch keine Definition der ganzen Sache.
  • Im Text steht: Wenn Regeln "rekursiv" sind heißt das, dass Rekursion mit ihnen möglich ist. Da herrscht keinerlei Widersprüchlichkeit. Denn die Rekursion selbst besteht dann in den konkreten sogenannten Rekursionsschritten, die man durchführt. Deswegen wird hier alltagssprachlich die Rekursion als "Vorgang" bezeichnet; davon war hier ja schon ausführlich die Rede... Rekursion und Rekursivität bedeuten also nicht dasselbe, der letztere Begriff ist nochmals abstrakter.
--Alazon (Diskussion) 22:42, 15. Mär. 2021 (CET)

Als Rekursion wird ein Vorgang bezeichnet ...

Unendlichfache Spiegelung als Beispiel für Rekursion: Die Person sitzt mit vorgehaltenem Spiegel einem größeren Wandspiegel gegenüber.
Gespiegelt wird das Objekt bzw. sein Spiegelbild, dann das Spiegelbild usw. Spiegeln ist Erstellen eines Bildes von einer Vorlage

Als Rekursion (lateinisch recurrere ‚zurücklaufen‘) wird ein Vorgang bezeichnet, bei dem nach Vorlage eines Objektes prinzipiell endlos viele neue Objekte entstehen. Ein neues Objekt ist Vorlage eines nächsten Objekts, dieses Vorlage für das übernächste Objekt usf. Die Teilvorgänge finden immer nach einem gleichen, relativ einfachen Schema statt. Bei der Zellteilung wird die vorherige Zelle lediglich in zwei gleiche neue Zellen geteilt. Bei der Puppe in der Puppe wird jeweils eine verkleinerte Kopie der vorherigen Puppe erstellt und diese im Inneren der größeren Vorlage positioniert. In Realität – wie in diesen beiden Beispielen für Rekursion – wird der prinzipiell endlose Vorgang auf natürliche Weise begrenzt. Die Zellteilung findet zwar endlos statt, wegen ungünstiger Lebensbedingungen stellt sich aber ein Gleichgewicht zwischen neu entstehenden und absterbenden Zellen ein. Der Herstellung immer kleinerer Puppen sind fertigungstechnische Grenzen gesetzt. Die alternative Bezeichnung zurücklaufen deutet an, dass man das Original der Objekte am Anfang der Reihe findet.

Rekursion gibt es in der Natur (z. B. Zellteilung) und im kulturellen Alltag (z. B. Nebensätze im Hauptsatz und in Nebensätzen oder unendlich viele Spiegelbilder wie in nebenstehender Abbildung) häufig. In der Informatik hat Rekursion eine produktive Bedeutung als Problemlösungswerkzeug (rekursive Programmierung). Hier wird die Eigenschaft von Rekursion, dass das Objekt Vorlage für das Folgeobjekt ist, mit der Erklärung, dass eine Funktion sich selbst wieder aufruft, ausgedrückt. Dafür, dass ein endloser Programmablauf nicht stattfinden kann, hat der Programmierer zu sorgen. Er muss eine Abbruchbedingung im Programm vorsehen.

--Idohl (Diskussion) 13:48, 16. Mär. 2021 (CET)

Was meinen die anderen?

Die beiden Änderungen von Benutzer Idohl von heute sollten rückgängig gemacht werden, es sind keine Verbesserungen. Jetzt wird beim Pythagoras-Baum Rekursion für "Illustrationen" definiert, das ist doch purer Unfug... -- Es kann nicht sein, dass es jedesmal an mir hängenbleibt, solche Sachen zu richten, sonst glaubt Benutzer Idohl am Ende, ich führe eine Privatfehde gegen ihn. --Alazon (Diskussion) 20:48, 16. Mär. 2021 (CET)

Pythagoras-Baum

Entschuldigung, aber ich halte die zweite Version der Konstruktionsregel immer noch für Unfug. Denn um überhaupt zu verstehen was dort mit "erzeuge" gemeint ist, brauchst du die erste Version. Für die zweite Formulierung muss ja eine Zerlegung der Figur ("Illustration") beschrieben werden, so dass man die kleineren Quadarate als "Auswüchse" des größeren einführt. Diese Beziehung zwischen "großem Quadrat" und den kleineren, aufsitzenden Quadraten, ist genau das, was die erste Formulierung ausdrückt. Also bleiben wir doch bei der.
Es geht darum, den Begriff möglichst sicher nachvollziehbar zu erklären, nicht ihn möglichst oft zu erklären.
--Alazon (Diskussion) 00:50, 18. Mär. 2021 (CET)
Niklaus Wirth: Algorithmen und Datenstrukturen (bei Teubner):
Das “Wesentliche der Rekursion ist die Möglichkeit eine unendliche Menge von Objekten durch eine endliche Menge von Aussagen zu definieren.” “Ein Objekt heisst rekursiv, wenn es sich als Teil selbst enthält oder mithilfe von sich selbst definiert ist.” Wie das Objekt erzeugt wird, wie es aussieht oder welche sonstigen Eigenschaften es hat, ist nicht wesentlich. Die Entstehung des Pythagoräischen Urbaums vom ersten Punkt aus (Aufsetzen des Stiftes aufs Papier) zu beschreiben, ist für die Rekursion irrelevanter Vorlauf (erst "der dritte Schritt zeigt die Rekursion"). Wenn etwas zu viel gesagt sei (schaden kann eine nochmalige Betonung nicht), so wäre das Erstgesagte wegzulassen (Nachteil: sein Schreiber würde möglicherweise aufschreien).--Idohl (Diskussion) 18:21, 18. Mär. 2021 (CET)
...man weiß allerdings nicht, wer sein Schreiber war :) Die alte Garde, die den Artikel ursprünglich aufgezogen hat, beteiligt sich ja hier offenbar nicht mehr.
Die Zitate von Wirth sollte man einbauen, bei näherem Hinsehen gibt es nämlich keinerlei Literaturangaben zur Hauptsache im Text! Nur die kulturphilosophischen Sachen danach sind üppig bequellt. Kannst du aus dem Kontext deines Zitats auch eine Definition hier weitergeben, was genau mit "Objekt" gemeint ist? Ist das hier ein Begriff aus der Informatik oder ist das alltagssprachlich?
Der gesamte Artikel, so wie er bisher ist, setzt überall Rekursion aufgrund von Produktionsregeln der ein oder anderen Art voraus. Das gilt für die mathematischen Funktionen und für die Informatik-Abschnitte, soweit ich die verstehe. Daher kann man einen statischen Begriff von Rekursion, der dir die ganze Zeit vorschwebt, allenfalls bringen, wenn man ihn als grundsätzliche Fallunterscheidung zum Rest einführt. Ich habe bereits versucht zu erklären, dass auch deine Rekursion von ganzen Figuren eine verdeckte Regel-Ordnung enthält. So oder so wären hier Quellen einzuarbeiten.
--Alazon (Diskussion) 19:07, 18. Mär. 2021 (CET)

Der Begriff "Schleife"

Hallo, in Diskussion:Rekursion/Archiv/1#Rekursion_ist_auch_eine_Problemlösungsstrategie,_und_komplexe_Sachverhalte_können_oft_mit_rekursiv_formulierten_Regeln_sehr_elegant_erfasst_werden. haben wir ja schon mal die Verwendung des Begriffes "Schleife" besprochen. Diesen gibt es zum einen in der Form der Kontrollstruktur Schleife (Programmierung), welche gänzlich anders ist als das was in einer Rekursion passiert. Zum anderen gibt es mehrere Umgangssprachliche/technische Begriff welche aber nichts mit den hier gemeinten Schleifen zu tun haben (siehe Schleife). Da die Verwendung des Begriffes "Schleife" für Verwirrungen sorgt solange es nicht vernünftig erklärt wird und die aktuelle Einleitung leider in Teilen gänzlich falsch ist ("Diese Teillösung wird mit dem Selbstaufruf in die nächst innere (zweite) Schleife übertragen.", Nein, in der Regel wird nicht eine Teillösung dem Selbstaufruf übergeben, sondern die Ergebnisse der Selbstaufrufe rückwärts zusammengesetzt, siehe z.B. Teile-und-herrsche-Verfahren). Daher würde ich gerne den Begriff "Schleife" gänzlich aus der Einleitung entfernen, insbesondere da der Begriff auch sonst in dem Kontext nicht üblich ist. Stattdessen durchgehend mit Selbstaufrufen ersetzen. Da meine Bearbeitung indirekt zurückgesetzt wurde [3] hier das ganze einmal zur Diskussion. @Idohl: @Alazon: --BlauerBaum (Diskussion) 22:57, 9. Apr. 2021 (CEST)

Ich versuche, die verschiedenen Vorkommen von Rekursion in der Einleitung unter einen beschreibenden Hut zu bringen. Ich vermeide den Begriff Problemlösungsstrategie, weil der kaum darunter unterzubringen ist. Das ist eigentlich alles. Schleife fand ich bereits vor. Ich beließ es dabei, weil die von mir bei Hofstadter gefundene Schleife in der Schleife -Struktur eine gute Variante für die allgemeine Beschreibung von Rekursion ist. Der Selbstaufruf beim Programmieren ist wieder schlecht passend. Weil er aber bei allen Informatikern und vielen ihrer Abnehmer das alles sagende Stichwort ist, versuche ich ihn zu unterfüttern, wozu ich die Weiterverwendung von Schleife/n als das Passende und den Textfluss Aufnehmende ansehe. Die rekursive Programmierung nur ganz kurz zu erwähnen (und Deinen Anstoß dadurch möglicherweise aus der Welt zu schaffen) sollten wir uns auch in der Einleitung nicht leisten. Computer und ihre Programme sind heutzutage das halbe Leben für Jedermann. Ich habe noch kei rekursives Programm geschrieben. Wenn Du Erfahrung hast, so korrigiere doch bitte das allenfalls Falsche bei der Übergabe in die nächste Schleife.
--Idohl (Diskussion) 00:05, 10. Apr. 2021 (CEST)
M.M.n. ist die Einleitung mit den letzten Bearbeitungen immer wirrer und unverständlicher geworden.
Ich sehe aber keinen Sinn mehr darin, mit Benutzer Idohl, der das alleine verantwortet, noch länger zu diskutieren, denn da wurde in der vergangenen Disk alles schon gesagt. Es war eine sehr lange Diskussion.
Soll man doch mal offiziell QS Informatik fragen? --Alazon (Diskussion) 07:19, 10. Apr. 2021 (CEST)
Dem kann ich nur zustimmen, habe es mal eingetragen. --BlauerBaum (Diskussion) 11:25, 10. Apr. 2021 (CEST)

So, hier mein Vorschlag für die komplette Einleitung, welche sowohl Änderungen enthält die seit dem gemacht wurden, aber auf [4] basiert. Insbesondere enthält sie nicht mehr das Wort "Schleife", aber dennoch einige der Änderungen von Idohl.

Unendlichfache Spiegelung als Beispiel für Rekursion: Die Person sitzt mit vorgehaltenem Spiegel einem größeren Wandspiegel gegenüber. Das jeweils folgende Spiegelbild enthält sich selbst als Teil.

Als Rekursion (lateinisch recurrere ‚zurücklaufen‘) bezeichnet man den abstrakten Vorgang, dass Regeln auf ein Produkt, das sie selbst erzeugt haben, von neuem angewandt werden. Hierdurch entstehen sich selbst potenziell unendlich wiederholende Vorgänge. Regeln bzw. Regelsysteme heißen rekursiv, wenn sie die Eigenschaft haben, Rekursion im Prinzip zuzulassen. Die bei Rekursion aufeinander folgenden Teilvorgänge oder die nacheinander erzeugten Objekte sind nicht unabhängig voneinander, sondern zwischen jedem Schrittpaar oder Objektpaar besteht eine sogenannte rekursive Beziehung. “Ein Objekt [oder ein Teilvorgang] heißt rekursiv, wenn es sich selbst als Teil enthält oder mithilfe von sich selbst definierbar ist.”[2]

Rekursion ist ein zentraler Begriff in Mathematik und Informatik und hat vielfältige Anwendungen darüber hinaus; diese reichen bis in die Kunst, wo das Phänomen auch als mise en abyme bezeichnet worden ist. Einige in der Natur beobachtbare Vorgänge (z. B. bei der Zellteilung) lassen sich durch Rekursion beschreiben.

Rekursion ist auch eine Problemlösungsstrategie. Komplexe Sachverhalte können oft mit rekursiv formulierten Regeln sehr elegant erfasst werden,[3] sodass sie einfacher zu verstehen sind. Das Grundprinzip ist dabei dann das Zurückführen einer allgemeinen Aufgabe auf eine einfachere Aufgabe derselben Klasse. Beispielsweise ist die rekursive Programmierung Bestandteil vieler Programmiersprachen. Prozeduren oder Funktionen können sich dabei selbst aufrufen. Rekursion und Iteration sind im Wesentlichen gleichmächtige Sprachmittel.

In der Mathematik und Informatik erscheint Rekursion auch spezieller in der Form, dass eine Funktion in ihrer Definition selbst nochmals aufgerufen wird (rekursive Definition). Wenn man mehrere Funktionen durch wechselseitige Verwendung voneinander definiert, spricht man von wechselseitiger Rekursion. Nicht jede rekursive Definition ist eine Definition im eigentlichen Sinn, denn die zu definierende Funktion braucht nicht wohldefiniert zu sein. Jeder Aufruf der rekursiven Funktion muss sich durch Entfalten der rekursiven Definition in endlich vielen Schritten auflösen lassen. Ist dies nicht erfüllt, so spricht man von einem infiniten Regress.

Ich freue mich über konstruktive Rückmeldung--BlauerBaum (Diskussion) 15:01, 14. Apr. 2021 (CEST)

Dieser Typ von Produktionsregeln stammt letztlich aus der theoretischen Informatik

Bussmann schreibt lediglich, dass die Linguisten den Befriff Rekursion aus der Mathematik übernommen hätten. Ob sie bei der Erforschung ihres Gebiets selbst und zu welcher Zeit auf die sich dahinter verbergenden Zusammenhänge und Regeln gekommen sind, oder ob ihnen erst durch die Informatiker ein Licht aufging, ist bisher eine unbeantwortete Frage.
--Idohl (Diskussion) 12:50, 19. Apr. 2021 (CEST)

Wieso unbeantwortete Frage? Guckstu unter Noam Chomsky: Ein und dieselbe Person hat die Theorie formaler Sprachen und die generative Grammatik vorangetrieben. --Alazon (Diskussion) 17:17, 19. Apr. 2021 (CEST)

Die Programmierung betreffende Abschnitte

Der Abschnitt Rekursion in der Programmierung betrifft ganz klar die Programmierung. Ich meine, dass darüber bereits alles in der Einleitung (ausnahmsweise, weil wohl kaum so viele von R. sprechen wie es Programmierer tun, weil dort die häufigste Anwendung des Begriffs R. stattfindet) gesagt ist.
M.E. gehört der Abschnitt Formale Typen von Rekursion auch in Rekursive Programmierung, Die Unterteilungen scheinen mir dort verschiedenes Handwerk zu betreffen; Rekursion wird auf diese Weise nicht grundsätzlich in derart formale Typen unterschieden.
--Idohl (Diskussion) 13:47, 14. Apr. 2021 (CEST)

Rekursion ist nun einmal etwas was primär in der Informatik und Mathematik existiert. Der Abschnitt Formale Typen von Rekursion behandelt durchaus grundsätzlich verschiedene Typen von Rekursion. --BlauerBaum (Diskussion) 14:12, 14. Apr. 2021 (CEST)
Der Artikel will den Begriff allgemein ohne Rücksicht auf die Zahl seines Gebrauchs darstellen. Im Übrigen gab und gibt es den Vorgang in der Natur, seine kulturelle Besetzung hinkt dem nach.
Eine Äußerung zu Formale Typen von Rekursion wäre nützlicher, wenn sie nicht aus dem Feld der Informatik kommt und Inhalt hat.
--Idohl (Diskussion) 14:35, 14. Apr. 2021 (CEST)
Falls du damit zum Beispiel die Zellteilung meinst, so ist dies keine Rekursion, sondern lässt sich lediglich allenfalls mittels Rekursion beschreiben. Auch andere Erklärungsversuche, wie die des Spiegelbildes sind selber erst mal keine Rekursion, sondern lassen sich lediglich durch Rekursion beschreiben. --BlauerBaum (Diskussion) 14:59, 14. Apr. 2021 (CEST)
Deine Behauptungen entsprechen Deinem obigen Entwurf, der davon ausgeht, als sei Rekursion eine Erfindung des Menschen. Diese Auffassung steckt in dem, was ich vorfand und mich zu nicht unbeträchlicher Arbeit (Recherche und Text) anregte. Dass das Lemma jetzt diversen Redaktionen zu Mithilfe angetragen ist, ist gut und konsequent auch abzuwarten.
--Idohl (Diskussion) 21:37, 14. Apr. 2021 (CEST)
Ob zum Beispiel die Mathematik eine Erfindung des Menschen ist, oder ob die Mathematik schon existierte, bevor sich der Mensch mit ihr beschäftigte, ist wohl eine philosophische Frage. Ich würde sagen die Rekursion ist im gleichem Maße eine Erfindung des Menschen wie die Mathematik eine Erfindung des Menschen ist, egal wie man die Frage entscheidet. --BlauerBaum (Diskussion) 21:57, 14. Apr. 2021 (CEST)

Ich habe nun die eingangs genannten Kürzungen vorgenommen.
--Idohl (Diskussion) 20:15, 25. Apr. 2021 (CEST)

Damit entfernst du absolut relevanten Inhalt. Der Abschnitt beschreibt eindeutig nicht nur die Programmierung, sondern eine elementare Unterscheidung verschiedener Arten von Rekursion, genau so wie sie auch in der Mathematik vorkommen. Ich finde im Gegenteil, es sollte im betreffenden Abschnitt sogar noch mehr der Unterschied zwischen Primitiv-rekursiven Funktion und anderen wie z.B. der Ackermannfunktion herausgearbeitet werden, stattdessen hast du die Erwähnung das es die Unterscheidung überhaupt gibt vollständig entfernt. Dein entfernen von eindeutig relevanten Inhalten grenzt zunehmend an Vandalismus. --BlauerBaum (Diskussion) 00:23, 26. Apr. 2021 (CEST)

"Sich selbst als Teil enthalten"

Ich möchte mal speziell eine Sache ansprechen (obwohl ich noch viele andere Bedenken hätte), die Benutzer:Idohl eingebracht und auch belegt hat, die aber meiner Überzeugung nach trotzdem entfernt werden muss. Gegenwärtig erster Satz:

Rekursion ist ein prinzipiell unendlicher Vorgang, der sich selbst als Teil enthält oder mithilfe von sich selbst definierbar ist, bezeichnet

Das Problem an dieser wie auch anderen seiner Änderungen ist, dass hier ein nebenbei hingeworfener Satz aus der Einleitung einer Quelle als Haupt-Definition verwendet wird, aber das, was die an sich vernünftige Quelle in der Hauptsache sagt und macht (und wo sie nur auf assoziative Art und Weise hinleiten wollte), dann ignoriert wird. Der obige Satz ist nett gemeint, er stimmt aber nicht buchstäblich. Es ist ein Missverständnis zu glauben, das sei die Definition gewesen.

Jedenfalls in den meisten Fällen enthält ein rekursives Objekt nicht sich selbst, sondern es gehört einem bestimmten Typ an, und enthält weitere Exemplare desselben Typs. (Je abstrakter Gegenstände sind, desto mehr verschwimmt vielleicht der Unterschied Typ/Exemplar)

Ein klares Beispiel ist die Rekursion in Erzeugungsregeln, wie in dem Grammatik-Beispiel im Artikel. Die Einbettung von Nebensätzen ist unstreitig ein rekursiver Prozess. Aber es ist offensichtlich unsinnig zu behaupten, dass ein Nebensatz "sich selbst enthält" (und ebenso dass der Prozess der Einbettung sich selbst enthält, oder dass das Satzgefüge als Ganzes sich selbst enthält). Sondern ein Nebensatz S enthält ein weiteres Vorkommen des Symbols "S", aber das ist ein anderes Exemplar, es ist ein neuer Nebensatz.

Wenn man Bilder als rekursives Objekt hernimmt, sieht man dasselbe. Das Bild mit dem Spiegel enthält nicht in einem präzisen Sinn "sich selbst". Es ist ein Bild, das als Teil ein Bild desselben Typs enthält, nämlich eine Abbildung. Das Bild geht aus von der Spiegelung eines Gegenstands und enthält weitere Abbildungen hiervon, Urbild und Abbildung sind aber jeweils zwei getrennte Gegenstände. -- Na und das Lieblingsbeispiel von Benutzer:Idohl ist anscheindend die Zellteilung -- aber wo enthält denn eine Zelle sich selbst, wenn sie sich vermehrt?

Daher war es mE völlig richtig, die Rekursion durch die "Neuanwendung einer Produktionsregel auf ein erzeugtes Produkt" zu erklären. Alle seriösen Allgemeindefinitionen (ich habe aber nur mathematische Texte dafür gefunden) gehen aus von einer Folge von Objekten a0 bis an und sprechen von der Erzeugung weiterer Glieder dieser Folge, oder der Rückabwicklung der Folge von n bis auf 0. Alle Anwendungen lassen sich auf dieses Regelwerk zurückführen.

Gegebenenfalls möge man halt bitte erklären, wo ich mich irre. Schöne Grüße, --Alazon (Diskussion) 20:11, 18. Apr. 2021 (CEST)

Ich würde den ersten Satz keinesfalls entfernen, denn eine prägnantere und treffendere Beschreibung des Phänomens "Rekursion" werden wir nicht mehr finden. Als Quelle liesse sich auch sehr gut diese Abhandlung der Uni Leipzig angeben (https://home.uni-leipzig.de/heck/recursion08/einfuehrung2.pdf). Dort wird die Rekursion nicht nur aus Sicht der Mathematik, sondern auch aus Sicht der Natur, bildenden Kunst und Literatur behandelt. Klar erkennbar: in allen Fällen geht es darum, dass Objekte sich auf irgendeine Weise selbst enthalten bzw wiederkehren. Dein Einwand "sich selbst zu enthalten ist unmöglich" greift gleich aus zwei Gründen nicht: a) es bedarf keiner weiteren Erwähnung, dass ein Objekt sich selbst nur seltenst enthält (das lernt schon jedes Kind intuitiv) und b) der erste Satz spricht ja genau von einer Generierungsvorschrift, da - Zitat - "oder mithilfe von sich selbst definierbar ist". Damit ist das abgehakt... Ich sehe keinen Grund, warum wir "Neuanwendung einer Produktionsregel auf ein erzeugtes Produkt" oder ähnliche sperrige Konstrukte hier reinbringen sollten, denn (OMA-Tauglichkeit) jeder Leser wird im Jetztzustand des Artikels verstehen, was gemeint ist, und es kann praktisch nur schlechter werden. Viele Grüsse, --Weltseher (Diskussion) 21:11, 18. Apr. 2021 (CEST)
@Weltseher: Einverstanden, war durch die Zus.zeile (mit Selbstaufruf) irritiert.
--Idohl (Diskussion) 22:34, 18. Apr. 2021 (CEST)
@Weltseher: Ich sehe jetzt nicht, wo du mir widersprichst. Unter a) sagst du ja nun auch: Es ist nicht wirklich so, dass ein Objekt sich selbst enthält. Es gibt im ganzen Artikel kaum ein Beispiel wo diese Beschreibung nachvollziehbar zutrifft (allenfalls Pythagorasbaum?) Ich entnehme in b) auch Zustimmung, dass die "Generierungsvorschrift" der Kern des ganzen ist; du sagst, dass der erste Satz an dieser Stelle stimmt. Aber dann müsste man irgendwie darstellen, was das bedeuten soll, das war das große Problem für die Einleitung. "Mit Hilfe von sich selbst definierbar" -- auch das krieg ich mit Zellteilung, Nebensatz, Spiegelbild, oder Fibonaccifolge gar nicht zusammen... --Alazon (Diskussion) 22:59, 18. Apr. 2021 (CEST)
@Alazon: ja, ich muss auch eingestehen, das ganze ist schon ein wenig vertrackt... von Deinen Beispielen "Zellteilung, Nebensatz, Spiegelbild, oder Fibonaccifolge" macht mir im Moment nur die Zellteilung grössere Sorgen, weil das m.E. doch ein Prozess des reinen Kopierens ist, nicht aber einer Rekursion. Besser wäre es, das durch einen Link etwa auf "Pflanzenwachstum" zu ersetzen, wo man dann auf eine Pflanze verlinkt, die rekursive Strukturen in ihren Blütenblättern aufweist, oder auf ein Tier mit Entsprechendem (Schneckenhaus? (->Logarithmische Spirale)). Ich denke, ich mach' das mal... Das Problem hier im Lemma scheint zu sein, dass man es einfach "schwer versteht, warum irgendetwas jetzt genau eine Rekursion enthält, etwas anderes aber nicht, und was die genauen Kriterien dafür sind" (korrigier' mich, wenn ich das falsch verstehe). Das Verständnis für Rekursion sollte im Grunde wachsen, wenn man sich mit den "Genenerierungsvorschriften" für die Beispiele weiter unten im Lemma beschäftigt. Dummerweise muss ich zugeben, dass mir gerade etwas die Zeit ausgeht für die tiefere Beschäftigung mit WP, aber wenn Dir (oder jemand anderem) etwas dazu einfällt, wie man den Aspekt "Generierungsvorschrift" in die Einleitung noch einbringen kann, dann nur zu. Schönen Gruß, --Weltseher (Diskussion) 00:27, 19. Apr. 2021 (CEST)
Ja, du sagst es. Weiter unten im Lemma, da wird es schon ungefähr klar. Aber die Einleitung ist das Problem. Was fandest du denn an der Vor-Idohl-Version der Einleitung nicht gut? (siehe grauen Kasten auf dieser Seite). --Alazon (Diskussion) 00:55, 19. Apr. 2021 (CEST)
Ah, ich seh grad, der graue Kasten enthält auch schon Zusätze und ist schon schwieriger zu lesen. Ich meinte sowas wie die Version vom 16. Mai 2020. Meiner Meinung nach war die relativ schlicht und einigermaßen lesbar. Kann man verbessern, aber ist es denn leichter, auf Grundlage der jetztigen Version was zu überarbeiten? --Alazon (Diskussion) 01:01, 19. Apr. 2021 (CEST)
Ja, der graue Kasten enthält schon Zusätze und basiert auf der Version vom 13. Januar 2021, die Version vom 16. Mai 2020 ist denke ich aber auch gut. Kleinere Änderungen daran könnte man dann explizit in der Diskussion klären. --BlauerBaum (Diskussion) 11:02, 19. Apr. 2021 (CEST)
Beide Versionen enhalten Regeln auf ein Produkt, die mich irritierten. Sie klingen mir zu sehr nach Produktion in Fabrikhallen.
--Idohl (Diskussion) 13:00, 19. Apr. 2021 (CEST)
Mir ist unklar wie du auf Fabrikhalle kommst. Den Begriff Produkt gibt es in verschiedenen Kontexten, wie zum Beispiel auch der Chemie. Wir können hier nicht einfach Fachbegriffe durch Neuschöpfungen ersetzen, nur weil das selbe Wort in verschiedenen Kontexten eine andere Bedeutung hat. Siehe Wikipedia:Was_Wikipedia_nicht_ist#2:
“In Artikeln sollen weder neue Theorien, Modelle, Konzepte oder Methoden aufgestellt noch neue Begriffe etabliert werden.” --BlauerBaum (Diskussion) 12:18, 26. Apr. 2021 (CEST)
Man sollte nicht in amtlichen Kadavergehorsam verfallen. Wenn ein in einem Gebiet üblicher Begriff im Allgemeinen missverständlich ist, kann man ihn ruhig weglassen und die Sache in Jedermann-Deutsch beschreiben. Das ist übrigens eine im Alltag oft notwendige Lösung und beim Verfassen von Enzyklopädien eine Grund-Herausforderung an ihre Verfasser.
--Idohl (Diskussion) 13:26, 26. Apr. 2021 (CEST)
Der Begriff ist nicht missverständlich. Man kann auch nicht so lange alle Fachwörter mit anderen oder ansatzweise ähnlichen Wörtern ersetzen, bis selbst jemand der sich mit dem Thema auskennt nicht mehr so genau weiß was gemeint ist (siehe Zellteilung). --BlauerBaum (Diskussion) 22:23, 26. Apr. 2021 (CEST)
Das ist eine von mir schon oft gemachte Erfahrung: Wenn eine von einem Job-Fachmann erstellte Darstellung gut in allgemeines Deutsch übersetzt wird, versteht es zwar die Allgemeinheit plötzlich, nur er versteht Bahnhof, glaubt sich im falschen Film zu befinden und ist wütend auf die, die “keine Ahnung haben” und sich erdreisten, in sein Werk einzugreifen.
--Idohl (Diskussion) 12:26, 27. Apr. 2021 (CEST)
Wenn ein Fachmann sagt, dass das so nicht mehr zu verstehen sei, ist es ein Hinweis dass die Formulierung im "Jedermann-Deutsch" einfach nicht richtig war. Denn ein Fachmann beherrscht auch das Alltagsdeutsch, und kann daher normalerweise einschätzen ob eine Formulierung als Annäherung hinkommt. Nur umgekehrt ist eine Verständnishürde. --Alazon (Diskussion) 14:47, 27. Apr. 2021 (CEST)
Du bist aber Optimist: Wir sind von Job-Fachleuten umgeben, die nur Worte verstehen, die sie täglich hören. Die in Alltagssprache ausgedrückte Sache ihres Jobs können sie überhaupt nicht aufnehemen, weil es ihnen wie fremdsprachlich geredet klingt. Man kann sich dabei fragen, welches Verständnis sie überhaupt davon haben, was sie täglich machen (oder gemacht haben; wir Pensionierte bilden ja fast die Mehrheit in der WP).
--Idohl (Diskussion) 14:55, 28. Apr. 2021 (CEST)
Worauf beziehst du dich hier genau? Falls es sich auf meine Zurückweisung der Formulierung "sich selbst enthalten" bezieht: Wir müssen aber schon feststellen, ob sich Quellen gegenseitig (oder in sich) widersprechen oder ob sie übereinstimmen, daran führt kein Weg vorbei, auch für den rein enzyklopädischen Autor nicht.
Wir müssen auch die qualitativ beste Literaturgrundlage auswählen. Mein Einwurf diente auch dem Hinweis, dass bisher keine sonderlich seriöse Quelle aufgetaucht ist, die eine Allgemeindefinition des Begriffs Rekursion gibt. Zumindest deute ich die Sätze, die Idohl als solche Allgemeindefinition verwendet, etwa aus Wirth, als etwas anderes: als Einleitungsfloskeln, die in dem jeweiligen Text die technische Definition intuitiv motivieren sollen, aber das was sauber definiert ist, ist jeweils technisch und enger. --Alazon (Diskussion) 12:42, 26. Apr. 2021 (CEST)

Ich habe mal die unstrittigen Änderungen vorgenommen, insbesondere das "Schleife in Schleife" sowie "In einem ersten Schritt wird ein Teil einer Aufgabe bearbeitet und der ungelöste Rest zusammen mit dem Teilergebnis ausgegeben. Danach erfolgt der Selbstaufruf zur weiteren Anwendung auf den Rest." entfernt [5]. --BlauerBaum (Diskussion) 11:36, 1. Mai 2021 (CEST)

Rückgängigmachungen

@Idohl: Deine Rückgängigmachung [6] stellt aus meiner Sicht eine Verschlechterung des Artikels da:

  • Die Referenz über "elegant" ergibt nur Sinn wenn man auch im Text über elegant spricht.

Als Informatiker vermisst Du, dass ich vorerst die elegant-Floskel gar nicht benutze. Mir scheint aber, dass es Dir wegen eines angeblichen formalen Fehlers passt, dass die Anmerkung wegfallen muss. Dass dieser kleine Vorteil, dass im Programmtext ein paar Zeilen wegfallen können, vom erheblich größerem Speicherbedarf mehr als zunichte gemacht wird, spricht man nur im Kleingedruckten, weil das die Bedeutung dieser gepriesenen neuzeitlichen hohen Programmierkunst aufhebt.--Idohl (Diskussion) 13:01, 3. Mai 2021 (CEST)

  • Der Text in den Referenzen ist definitiv zu lang, man kann die Referenzen selber aber denke ich grundsätzlich drin lassen (aber eben nur als Referenz, nicht als Zusatztext)

Der Widerstand der Mitstreiter gegen einiges, was in der Literatur steht, ist derart groß, dass ich wörtlich zitiere.--Idohl (Diskussion) 13:01, 3. Mai 2021 (CEST)

  • Bezüglich "In einem sogenannten rekursiven Programm entsteht Rekursion, wenn eine Prozedur, Funktion oder Methode lediglich sich selbst aufruft.": Auf diese Art und Weise entsteht Rekursion, zu sagen das wäre bei einem "rekursiven Programm" so ist redundant.
  • Die Aussage in Klammern "(Aufgabe vollständig oder ausreichend vollständig gelöst[4])" stimmt so nicht, siehe zum Beispiel die Berechnung der Fibonacci-zahlen, da ist die Abbruchbedingung ja das n=1 ist, damit ist aber die Aufgabe weder vollständig noch ausreichend gelöst, vielmehr ist das nur ein Teil der Berechnung der Lösung.

Die letzten beiden Anmerkungen von Dir zeigen mir, dass Du die Informatiker (oder Deinen Professor) als Leser im Auge hast. Es ist sekundär, wie sich diese gegenseitig und möglichst vollständig verständigen. Meine Editier-Versuche hatten den primären Zweck, den Anschluss der Floskel Selbstaufruf an ein allgemeines Verständnis für Rekursion zu finden. Wie der Programmablauf im Detail gestoppt wird, ist auch sekundär. Ich sehe insgesamt nicht einmal im Informatik-Abschnitt eine minimal verallgemeinerte Darstellung, mal ist es so, ein andermal gerade wieder nicht so.--Idohl (Diskussion) 13:01, 3. Mai 2021 (CEST)

--BlauerBaum (Diskussion) 11:48, 2. Mai 2021 (CEST)

Die Frage, wie elegant Rekursion nun ist, stellt keine Aussage dar, um die es im Artikel gehen soll oder kann, denn das ist subjektiv. Die Verwendung des Wortes "elegant" so wie es stand, ist aber kein Problem, auch nicht in Sachen Subjektivität, denn das dient nur zur beiläufigen Vorbereitung des Lesers darauf, dass gleich ein formal-konziser Punkt kommt. Wollte man es aber zum Thema mit Für und Wider auswalzen, entkäme man dem POV-Problem nicht mehr. Es ist auch kein Punkt, der zur Frage, was Rekursion ist, irgendwie beiträgt. Schon das Anlegen von kommentierenden Fußnoten als solches ist oft ein schlechtes Zeichen, denn es kann bedeuten, dass auch der Autor selbst schon ahnt, dass der Punkt nicht wichtig genug ist als dass man ihn in den Text integrieren könnte. --Alazon (Diskussion) 14:43, 2. Mai 2021 (CEST)--

article picture is edited, caption suggest otherwise

the picture of the girl holding the mirror is copy-pasted into the frame and not an actual photo. the picture caption suggests, it would be a real photo.

• in a real photo, the nested pictures would be distorted, since the photo was taken not directly from the front • the edges of the copy/pasted pictures are too sharp, the original picture of the frame is still visible on the sides (nicht signierter Beitrag von 2001:4BB8:18E:7A31:291A:32CE:1A7A:8E94 (Diskussion) 11:39, 16. Mai 2022 (CEST))

inhaltlicher Fehler im Artikel "Rekursion"

Im Artikel wird behauptet, dass keine geschlossene Darstellung für die Fibonacci-Folge definiert ist.

Dabei wird diese in einem anderen Artikel explizit genannt:

Fibonacci-Folge#Formel von Moivre-Binet

--2001:9E8:E65:B300:1C1E:CCF5:5859:D4B 18:11, 27. Jan. 2023 (CET)

Deine Behauptung ist falsch. Der Artikel spricht von "kompakten" geschlossenen Darstellungen (vormals "trivialen").
Dass niemand weiß, wie die Adjektive zu interpretieren sind, ist natürlich trotzdem schlecht. ^^
--Daniel5Ko (Diskussion) 01:40, 28. Jan. 2023 (CET)
  1. Es gibt zwei Rekursionsmuster, 8.14
  2. Niklaus Wirth, Seite 139: 3. Rekursion, 3.1. Einleitung
  3. Ein viel genanntes Gütekriterium lautet elegant, vgl. Swisseduc.ch: Rekursives Programmieren: Seite 2. Welche Bedeutung hat die rekursive Programmierung? „Mit Hilfe der Rekursion kann man viele Probleme elegant lösen.“
  4. Der rekursive Vorgang – Objekte erzeugen – ist nach dem Abbruch beendet, die vom Programm zu erfüllende Aufgabe aber erst, nachdem die Teilergebnisse (Objekte) zum Gesamtergebnis zusammengefügt worden sind.