![]() |
Rekursion ist doch was feines. [quote]Dieser Satz ist unwahr.[/quote] Ist der Satz wahr oder unwahr? Um die Rekursion zu verstehen muss man erst einmal die Rekursion verstehen. :wink: Definition des Begriffes Rekursion: Siehe Rekursion. Das ist kein :spam: ! Denkt einfach mal ein wenig drüber nach... :? |
AW: Rekursion ist doch was feines. [QUOTE=Qndre]Ist der Satz wahr oder unwahr? Um die Rekursion zu verstehen muss man erst einmal die Rekursion verstehen. :wink: Definition des Begriffes Rekursion: Siehe Rekursion. Das ist kein :spam: ! Denkt einfach mal ein wenig drüber nach... :?[/QUOTE] sorry da bin ich zu dumm für.... :zzz: |
AW: Rekursion ist doch was feines. So direkt muss mans ja auch nicht sagen. Postet einfach mal was ihr denkt, am besten mit Begründung. |
AW: Rekursion ist doch was feines. schwachsinn...was soll der humbug? |
AW: Rekursion ist doch was feines. [QUOTE]Postet einfach mal was ihr denkt, am besten mit Begründung.[/QUOTE] Was ich denke? Klug******er, denke ich! ;) Ne aber mal im ernst, du hast schon recht denn die Definition lautet wie folgt: [QUOTE]Rekursion, auch Rekurrenz oder Rekursivität, bedeutet Selbstbezüglichkeit (von lateinisch recurrere = zurücklaufen). Sie tritt immer dann auf, wenn etwas auf sich selbst verweist. Ein rekursives Element muss nicht immer direkt auf sich selbst verweisen (direkte Rekursion), eine Rekursion kann auch über mehrere Zwischenschritte entstehen. Rekursion kann dazu führen, dass merkwürdige Schleifen entstehen. So ist z. B. der Satz „Dieser Satz ist unwahr“ rekursiv, da er von sich selber spricht. Eine etwas subtilere Form der Rekursion (indirekte Rekursion) kann auftreten, wenn zwei Dinge gegenseitig aufeinander verweisen. Ein Beispiel sind die beiden Sätze: „Der folgende Satz ist wahr“ „Der vorhergehende Satz ist nicht wahr“. Im Zusammenhang mit der Definition der Rekursion werden des öfteren folgende Sätze genannt: „Um Rekursion zu verstehen, muss man erst einmal Rekursion verstehen.“ „Kürzeste Definition für Rekursion: siehe Rekursion.“ Rekursion ist ein allgemeines Prinzip zur Lösung von Problemen. In vielen Fällen ist die Rekursion eine von mehreren möglichen Problemlösungsstrategien, sie führt oft zu „eleganten“ mathematischen Lösungen. Als Rekursion bezeichnet man den Aufruf oder die Definition einer Funktion durch sich selbst. Ohne geeignete Abbruchbedingung geraten solche rückbezüglichen Aufrufe in einen so genannten infiniten Regress (umgangssprachlich Endlosschleife). Zur Vermeidung von infinitem Regress insbesondere in Computerprogrammen bedient man sich der semantischen Verifikation von rekursiven Funktionen. Der Beweis, dass kein infiniter Regress vorliegt, wird dann zumeist mittels einer Schleifeninvariante geführt (siehe auch Invariante). Dieser Beweis ist allerdings nicht immer möglich (siehe Halteproblem).[/QUOTE] Aber was genau wolltest du und damit sagen? |
AW: Rekursion ist doch was feines. Es ist kein Schwachsinn, es ist ein Beispiel für rekursive Gedankenprobleme. Wenn die Aussage "diese Aussage ist unwahr" wahr ist, dann ist sie unwahr, also kann sie nicht wahr sein. Wenn die Aussage "diese Aussage ist unwahr" unwahr ist, dann ist sie wahr, also kann sie auch nicht unwahr sein. Die Aussage ist weder wahr noch unwahr. Sie ist nicht definiert. Solche Gedankenprobleme sind total funny. Wenn noch jemandem sowas einfällt dann postet ruhig. Toll die Wikipedia definition. Was meinst wo ich das herhab? :wink: |
AW: Rekursion ist doch was feines. "Lautet die Antwort auf diese Frage nein?" "Ich bin ein Lügner." Beim ersten bin ich mir net ganz sicher. |
AW: Rekursion ist doch was feines. [QUOTE=Qndre]Es ist kein Schwachsinn, es ist ein Beispiel für rekursive Gedankenprobleme. Wenn die Aussage "diese Aussage ist unwahr" wahr ist, dann ist sie unwahr, also kann sie nicht wahr sein. Wenn die Aussage "diese Aussage ist unwahr" unwahr ist, dann ist sie wahr, also kann sie auch nicht unwahr sein. Die Aussage ist weder wahr noch unwahr. Sie ist nicht definiert. Solche Gedankenprobleme sind total funny. Wenn noch jemandem sowas einfällt dann postet ruhig. Toll die Wikipedia definition. Was meinst wo ich das herhab? :wink:[/QUOTE] :lol: lächerlich, was soll der schwachsinn hier? |
AW: Rekursion ist doch was feines. Ich glaub es gibt wichtigere Dinge über die man sich Gedanken machen kann und sollte. |
AW: Rekursion ist doch was feines. Dann klickt in Zukunft nichtmehr auf den Thread :roll: |
AW: Rekursion ist doch was feines. [QUOTE=TwinView]"Lautet die Antwort auf diese Frage nein?" "Ich bin ein Lügner." Beim ersten bin ich mir net ganz sicher.[/QUOTE] Ich kann im ersten keine Rekursion erkennen, denn das erste wirkt einfach wie ein logisches "NOT". Das zweite ist ganz klar eine Rekursion. |
AW: Rekursion ist doch was feines. [QUOTE=Qndre]Ist der Satz wahr oder unwahr? Um die Rekursion zu verstehen muss man erst einmal die Rekursion verstehen. :wink: Definition des Begriffes Rekursion: Siehe Rekursion. Das ist kein :spam: ! Denkt einfach mal ein wenig drüber nach... :?[/QUOTE] Das ist keine Rekursion, es ist ein oxymoron... Einfache Rekursionen sind z.B. Rekursive Acronyme, die sind in der OpenSource geged sehr beliebt.. z.B. GNU = GNU is not Unix oder PHP = PHP:Hypertext Preprocessor |
AW: Rekursion ist doch was feines. Ist ein Oxymoron nicht ein Widerspruch in einem Wort? |
AW: Rekursion ist doch was feines. Ein was? :inflames: |
AW: Rekursion ist doch was feines. [QUOTE=TwinView]Ist ein Oxymoron nicht ein Widerspruch in einem Wort?[/QUOTE] Wort oder Satz... |
AW: Rekursion ist doch was feines. [QUOTE=Pirke]Wort oder Satz...[/QUOTE] Ist es dann nicht auch ein paradoxon |
AW: Rekursion ist doch was feines. [QUOTE=10tacle]Ist es dann nicht auch ein paradoxon[/QUOTE] Ok, dann halt ein Paradoxon :-) |
AW: Rekursion ist doch was feines. [QUOTE=Pirke]Einfache Rekursionen sind z.B. Rekursive Acronyme, die sind in der OpenSource geged sehr beliebt.. z.B. GNU = GNU is not Unix oder PHP = PHP:Hypertext Preprocessor[/QUOTE] Jo. So bin ich eigentlich erst darauf gekommen, nach Rekursion zu suchen. KDE = KDE Desktop Environment GNOME = GNOME Network Model Environment ICQ = ICQ Chat Query (oder war's Internet Chat Query?) ... Von PHP hab ich schon viele Versionen gelesen was das langschriftlich heißen soll: PHP Hypertext Preprocessor, Perl Hypertext Preprocessor, PersonalHomePage-tool |
AW: Rekursion ist doch was feines. [I]"lautet die antowrt auf diese frage nein?"[/I] wenn sie nein lautet, lautet sie nicht nein : "Nein die antwort auf diese frage lautet nicht nein" wäre eine verneinung die sich ausschliesst wenn sie ja lautet lautet sie nein: "Ja die antwort auf diese frage lautet nein" wäre eine bejahung die sich am ende des satzes verneint |
AW: Rekursion ist doch was feines. [QUOTE=NPM | Destructor][I]"lautet die antowrt auf diese frage nein?"[/I] wenn sie nein lautet, lautet sie nicht nein : "Nein die antwort auf diese frage lautet nicht nein" wäre eine verneinung die sich ausschliesst wenn sie ja lautet lautet sie nein: "Ja die antwort auf diese frage lautet nein" wäre eine bejahung die sich am ende des satzes verneint[/QUOTE] "Nein die Antwort auf diese Frage lautet nicht nein" und "Ja die Antwort auf diese Frage lautet nein" sind vollkommen korrekte Aussageformen die eindeutig definiert sind. Nur verwendet man "nein" eigentlich völlig falsch im Sprachgebrauch. "Sie sind noch nicht volljährig? - Nein, bin ich noch nicht." - korrekter wäre: "Sie sind noch nicht volljährig? - Ja, ich bin noch nicht volljährig." bzw. im anderen Fall: "Sie sind noch nicht volljährig? - Doch, ich bin volljährig." - korrekter wäre: "Sie sind noch nicht volljährig? - Nein, ich bin volljährig." |
AW: Rekursion ist doch was feines. ja wenn man mal die doppelte verneinung raus lässst . . . |
AW: Rekursion ist doch was feines. [QUOTE=Qndre] ICQ = ICQ Chat Query (oder war's Internet Chat Query?) [/QUOTE] Beides falsch... ICQ (short for 'I Seek You') (Quelle: [url]http://company.icq.com/info/[/url] ) |
AW: Rekursion ist doch was feines. Ich dachte das mit dem "I Seek You" wär nur ein Joke weil das ganze 1000e Sicherheitslücken hat (es gibt viele Fake-Anwender die gar keinen echten Account haben und rumspammen und über ein Tool kann man die IP eines Nutzers ausfindig machen)... das überrascht mich jetzt. |
AW: Rekursion ist doch was feines. Qndre, hier ein kleiner Fragebogen fuer Dich, bitte ankreuzen: [code] [ ] Ich habe mich vor dem Posten informiert. [x] Ich habe mich NICHT informiert und labere daher *selbstzensiert* [/code] Damits fuer Dich einfacher wird, hab ichs schonmal ausgefuellt :rolleyes: [QUOTE=Qndre][...] KDE = KDE Desktop Environment [/QUOTE] Falsch, KDE heisst schlicht und ergreifend K Desktop Environment. Also nix Rekursion. [QUOTE=Qndre] GNOME = GNOME Network Model Environment [/QUOTE] Auch falsch, GNOME heisst GNU Network Object Model Environment. Also nix Rekursion. [QUOTE=Qndre] ICQ = ICQ Chat Query (oder war's Internet Chat Query?) [...] [/QUOTE] Auch wieder falsch, ICQ ist eigentlich keine 'echte' Abkuerzung, es wird ausgesprochen als "I seek You" - "Ich suche Dich". Also auch nix Rekursion. Die tatsaechlich echten rekursiven Abkuerzungen sind eigentlich [url=http://de.wikipedia.org/wiki/Rekursives_Akronym]Rekursive Akronyme[/url]. Gruesse, kerri PS.: Der Thread ist ansonsten reichlich sinnlos. EDIT: ich sollte nicht so ewig lang an einem Post rumtippen - Pirke war scneller :) |
AW: Rekursion ist doch was feines. wenn gott allmächtig ist, könnte er doch einen stein erschaffen den er nicht heben kann. aber ist gott dann noch allmächtig? |
AW: Rekursion ist doch was feines. Gibt es überhaupt "einen" Gott :rolleyes: ;) |
AW: Rekursion ist doch was feines. [QUOTE=Cool Master]Gibt es überhaupt "einen" Gott :rolleyes: ;)[/QUOTE] Auf diese Frage lautet die Antwort "NEIN"! :-D @kerri, mein Respekt! |
AW: Rekursion ist doch was feines. [QUOTE=10tacle]Auf diese Frage lautet die Antwort "NEIN"! :-D [/QUOTE] Kannst du es beweisen??? :-) Ok, lassen wir das Thema, das gab es hier schon zur genüge... |
AW: Rekursion ist doch was feines. [quote]WINE = WINE Is Not an Emulator[/quote] WINE ist doch aber eher WinE (Windows Emulation)... Das mit dem Stein iss gut. :inflames: Eigentlich keine Rekursion aber ne tolle philosophische Fragestellung. |
AW: Rekursion ist doch was feines. [QUOTE=Qndre]Ist der Satz wahr oder unwahr? Um die Rekursion zu verstehen muss man erst einmal die Rekursion verstehen. :wink: Definition des Begriffes Rekursion: Siehe Rekursion. Das ist kein :spam: ! Denkt einfach mal ein wenig drüber nach... :?[/QUOTE] also wenn der Satz wahr ist, dann ist er auch unwahr und somit hätte man mit einem Rechner ein Problem, weil man sich ne tolle Endlosschleife gebaut hat, Oder? |
AW: Rekursion ist doch was feines. [QUOTE=HyperY2K]also wenn der Satz wahr ist, dann ist er auch unwahr und somit hätte man mit einem Rechner ein Problem, weil man sich ne tolle Endlosschleife gebaut hat, Oder?[/QUOTE] Zu einer richtig programmierten Rekursion gehört auch immer eine Abbruchbedingung die immer in einer endlichen Zeit erreicht werden muss (nachweisbar über Vollständige Induktion). An sonsten hast du dir, wie du richtig festgestellt hast, eine Endlosschleife gebaut. |
AW: Rekursion ist doch was feines. [QUOTE=EoN]Zu einer richtig programmierten Rekursion gehört auch immer eine Abbruchbedingung die immer in einer endlichen Zeit erreicht werden muss (nachweisbar über Vollständige Induktion). An sonsten hast du dir, wie du richtig festgestellt hast, eine Endlosschleife gebaut.[/QUOTE] Wie wärs: Machen wir ne VI mal im Forum zusammen... |
AW: Rekursion ist doch was feines. Das will ich mal sehen, wie du eine unendlich laufende Rekursion hinkriegst.:mrgreen: |
AW: Rekursion ist doch was feines. [QUOTE=Shadow2000]Das will ich mal sehen, wie du eine unendlich laufende Rekursion hinkriegst.:mrgreen:[/QUOTE] :gruebel: wie soll man das denn verstehen? sollte doch ganz einfach sein (in C): [CODE]void bla(); int main() { bla(); return 0; } void bla() { bla(); } [/CODE] ansonsten hat EON natürlich recht und jeder halbwegs intelligente Programmierer wird da ne Abbruchbedingung setzen ;) allerdings war das ne "programmierte" unendliche laufende Rekursion, ob man sowas auch in nem einfachen Satz hinkriegt, weiss ich ned :D btw: was ist "VI"? --> steh da grad aufm Schlauch |
AW: Rekursion ist doch was feines. Und wo soll der unendliche Stackplatz für eine unendliche Rekursion herkommen.:mrgreen: |
AW: Rekursion ist doch was feines. [QUOTE=Jlagreen]:gruebel: wie soll man das denn verstehen? sollte doch ganz einfach sein (in C): void bla(); int main() { void bla () { bla(); } } ansonsten hat EON natürlich recht und jeder halbwegs intelligente Programmierer wird da ne Abbruchbedingung setzen ;) allerdings war das ne "programmierte" unendliche laufende Rekursion, ob man sowas auch in nem einfachen Satz hinkriegt, weiss ich ned :D btw: was ist "VI"? --> steh da grad aufm Schlauch[/QUOTE] BTW: dein prog geht nicht..... du kannste funktionen nur ausserhalb von main anlegen: [CODE] int test(void) { test(); return 0; } int main(void) { test(); return 0; } VI = Vollständige Induktion [/CODE] |
AW: Rekursion ist doch was feines. Und selbige am besten noch aufrufen. Wenn du die Funktionsdefinition und den Prototyp vertauschst, gehts sogar ohne das man nur ein weiteres Zeichen einfügen musst.:inflames: |
AW: Rekursion ist doch was feines. [QUOTE=HyperY2K]BTW: dein prog geht nicht..... du kannste funktionen nur ausserhalb von main anlegen: [/QUOTE] jepp stimmt, aber ich wollts jetzt auch ned so genau nehmen :lol:, eigentlich wollte ich die main Funktion gar nicht schreiben und nur eine Funktion, die sich selbst aufruft, habe aber im nachhinein ohne nachzudenken schnell noch main geschrieben, aber ich denke mal, dass die Intension durchgedrungen ist ;) naja auf nen VI hätte ich jetzt keine Lust, da ich sowas schon ne Weile nicht mehr gemacht hab :D EDIT: btw hab mein Beispiel "verbessert", so stimmts doch nun oder? |
AW: Rekursion ist doch was feines. Dann kompilier das mal und lasses laufen, sehr lange wird der nicht laufen :mrgreen: |
AW: Rekursion ist doch was feines. [QUOTE=Shadow2000]Dann kompilier das mal und lasses laufen, sehr lange wird der nicht laufen :mrgreen:[/QUOTE] jepp, entweder bekommst du ne fehlermeldung oder dein os schmiert ab.. |
AW: Rekursion ist doch was feines. Hab das grad mal mit einem int als Parameter probiert. Der Stack hat grad mal für 4788 Rekursinen gereicht :D. Das gibt aber nur im Debug-Modus nen Fehler, beim normalen lauf bricht er einfach Fehler- und Exceptionlos ab. |
AW: Rekursion ist doch was feines. Klar, in C gehts nicht, weil irgendwann die Variablen überlaufen, aber in Funktionaler Programmierung ists eigentlich ganz einfach. Hier mal das ganze in Haskell als Beispiel: [code]unendlich :: Int -> Int unendlich x = unendlich x[/code] Und wenn der PC nicht gestorben ist, dann rechnet er noch heute ;) |
AW: Rekursion ist doch was feines. warum soll rekursion in C net gehen? in haskell könnte es daran liegen, dass rekursion das einzige ist was es gibt, oder gibs da schon schleifen? |
AW: Rekursion ist doch was feines. [QUOTE=tele]warum soll rekursion in C net gehen? in haskell könnte es daran liegen, dass rekursion das einzige ist was es gibt, oder gibs da schon schleifen?[/QUOTE] ich denke EON hat ihr eher die "unendlich laufende Rekursion" gemeint, da in C schnell der Stack zb. zu Ende geht Rekursion selbst geht in C natürlich einwandfrei (wäre ja auch schlimm, wenn nicht) :) |
AW: Rekursion ist doch was feines. [QUOTE=tele]warum soll rekursion in C net gehen? in haskell könnte es daran liegen, dass rekursion das einzige ist was es gibt, oder gibs da schon schleifen?[/QUOTE]Nein es gibt keine Schleifen. Das würde aber auch den Sinn der funktionalen Programmierung ad absurdum führen, da dort nur Ausdrücke ausgewertet werden. [QUOTE=Jlagreen]ich denke EON hat ihr eher die "unendlich laufende Rekursion" gemeint, da in C schnell der Stack zb. zu Ende geht[/QUOTE]Das ist ja das tolle in Haskell, es gibt keine wirklichen Stack/Variablenbeschränkungen, da die Programmiersprache nicht so sehr Maschinennah ist wie C. Man kann z.B. unendlich lange Listen definieren. Genügend Arbeitsspeicher vorrausgesetzt, sind genau so unendlich große Variablen möglich. Daher funktioniert dann die Rekursion auch "unendlich" oft und wird nicht (so sehr) durch Maschinenbeschränkungen eingeschränkt. Wobei ich auch sagen muss, dass bei mir mit gcc 126 594 Rekursionen möglich sind, bevor das Programm abbricht. Für den Hausgebrauch dürfte das normalerweise ausreichen ;) |
AW: Rekursion ist doch was feines. [QUOTE=EoN][...] Wobei ich auch sagen muss, dass bei mir mit gcc 126 594 Rekursionen möglich sind, bevor das Programm abbricht. Für den Hausgebrauch dürfte das normalerweise ausreichen ;)[/QUOTE] Wie messt Ihr das? Ich habs einfach mal laufen lassen, mit ner print anweisung, die alle 10000 rekursionen mal 'piep' sagt, also so: [code] void bla() { i++; if (i%10000 == 0) printf("rekursion nr %d\n",i); bla(); } [/code] und das muellte mir rasend schnell (in etwa 2 Minuten) den Speicher (incl SWAP insgesamt etwa 800MB waren frei) zu, und das Ende vom Lied war dann, das fast ueberhaupt nix mehr reagierte (Ctrl+C hat nach 2 Minuten angesprochen) und die letzten Zeilen waren: [code] [...] rekursion nr 61810000 rekursion nr 61820000 rekursion nr 61830000 rekursion nr 61840000 rekursion nr 61850000 rekursion nr 61860000 rekursion nr 61870000 rekursion nr 61880000 cccbash: [5474: 1] tcsetattr: Interrupted system call Terminated [/code] Also sollte er fast 62 Millionen rekursionen geschafft haben? Kann man das noch anders ermittlen? Gruesse, kerri PS.: so langsam macht der Thread ja Sinn *staun* |
AW: Rekursion ist doch was feines. Interessant wie unterschiedlich das die Compiler handhaben. Ausgabe von deiner Funktion:[code]C:\Dokumente und Einstellungen\XXX\Desktop>test rekursion nr 10000 rekursion nr 20000 rekursion nr 30000 rekursion nr 40000 rekursion nr 50000 rekursion nr 60000 rekursion nr 70000 rekursion nr 80000 rekursion nr 90000 rekursion nr 100000 rekursion nr 110000 rekursion nr 120000 C:\Dokumente und Einstellungen\XXX\Desktop>[/code] Mein Programmcode sieht so aus:[code]#include <stdio.h> void bla(); unsigned int i; int main() { i = 0; bla(); printf("%i\n", i); return 0; } /*void bla() { i++; printf("%i\n", i); bla(); }*/ void bla() { i++; if (i%10000 == 0) printf("rekursion nr %d\n",i); bla(); }[/code] Compiliert mit gcc aus cygwin. |
AW: Rekursion ist doch was feines. Ok, naechste Version, diesmal mit uebergabe der Variablen: [code] #include <stdio.h> void bla(unsigned int i); int main() { unsigned int i=0; bla(i); return 0; } void bla(unsigned int i) { i++; if (i%10000 == 0) printf("rekursion nr %d\n",i); bla(i); } [/code] Ausgabe diesmal: [code] [...] rekursion nr 30940000 rekursion nr 30950000 rekursion nr 30960000 rekursion nr 30970000 kerri@assam:~> [/code] Hm, nur 31 mille :( muellt nicht ganz so effektiv den Speicher zu, wie die andere Version :D Aber hat sich dafuer auch etwas friedlicher beendet ;) Wobei ich es eigentlich erstaunlich finde, das sich die Kiste hinterher wieder faengt. Gruesse, kerri EDIT: kerri@assam:~> gcc --version gcc (GCC) 3.3.3 (SuSE Linux) |
AW: Rekursion ist doch was feines. Komme mit beiden Versionen auf 130k. |
AW: Rekursion ist doch was feines. Hm.. wirklich interessant. Anscheinend ist der Windowsport von gcc nicht mal halb so mächtig wie die original Linuxversion: $ gcc --version gcc (GCC) 3.3.3 (cygwin special) PS: Mit der Variablenübergabe, bekomm ich genau die gleichen Ergebnisse wie ohne. |
| Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 Uhr. |
Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.