| Autor |
Nachricht |
klein-thüring
Unregistrierter
|
klein-thüring Unregistrierter
23:11:23 20.01.2012 Titel: |
Turing-Vollständigkeit nachweisen |
Zitieren |
Hallo, ich würde gerne die Turing-Vollständigkeit meiner kleinen Programmiersprache nachweisen. Vom Prinzip her ist sie so ähnlich wie die constexpr-Funktionen von C++ (jede Funktion ist ein Einzeiler, d.h. es gibt keine Kontrollstrukturen, dafür aber Rekursion).
Weiss jemand, wie man da am besten vorgeht bzw. wo das Vorgehen erklärt wird? Im Internet konnte ich dazu nichts Verständliches finden.
Vielen Dank! |
|
|
|
 |
knivil
Mitglied
Benutzerprofil
Anmeldungsdatum: 11.02.2009
Beiträge: 4495
|
knivil Mitglied
23:19:59 20.01.2012 Titel: |
|
Zitieren |
| Zitat: | | es gibt keine Kontrollstrukturen, dafür aber Rekursion | Dann ist sie wahrscheinlich nicht turingvollstaendig.
| Zitat: | | würde gerne die Turing-Vollständigkeit meiner kleinen Programmiersprache nachweisen | Implementiere eine allgemein Turingmaschine. |
_________________ If it were not for laughter, there would be no Tao.
Sie können einen Beitrag nicht so schnell nach Ihrem letzten absenden, bitte warten Sie einen Augenblick.
|
|
 |
nachtfeuer
Mitglied
Benutzerprofil
Anmeldungsdatum: 08.04.2010
Beiträge: 1167
|
nachtfeuer Mitglied
23:35:11 20.01.2012 Titel: |
|
Zitieren |
|
 |
klein-thüring
Unregistrierter
|
klein-thüring Unregistrierter
00:48:13 21.01.2012 Titel: |
|
Zitieren |
| knivil schrieb: | | Zitat: | | es gibt keine Kontrollstrukturen, dafür aber Rekursion | Dann ist sie wahrscheinlich nicht turingvollstaendig. | Sie hat auch sowas wie SFINAE in C++ oder Patterns in Haskell. Also quasi ein if. Und beliebig grosse Felder hat sie auch.
| Zitat: | | Implementiere eine allgemein Turingmaschine. | Wie ich nur übersehen konnte, dass eine allgemeine Turingmaschine ein Turingmaschineninterpreter ist ... danke, das hilft schon mal. Die paar, die ich mir schon angesehen habe, waren unglaublich kompliziert, jetzt habe ich aber eine einfachere in Haskell gefunden. Werde es damit mal versuchen.
Ich dachte halt, es wäre leichter zu zeigen, äquivalent zu irgendeiner anderen Sprache (oder einem Subset davon) zu sein anstatt sich direkt mit Turing herumzuschlagen. Zuerst wollte ich einen Brainfuck-Interpreter schreiben, das ist mir aber zu umständlich vorgekommen.
| nachtfeuer schrieb: | | Ich meine, hier ist auch ein wenig geschichtliches Zusammenhangsverständis hilfreich. | Geschichtlich ist das sehr interessant und da habe ich auch einen groben Überblick. Als Noch-nicht-Student fehlt es mir allerdings noch etwas an Mathematik um die grundlegenden Beweise zu verstehen. |
|
|
|
 |
µ
Mitglied
Benutzerprofil
Anmeldungsdatum: 14.06.2001
Beiträge: 1551
|
µ Mitglied
13:09:23 21.01.2012 Titel: |
|
Zitieren |
| klein-thüring schrieb: |
Ich dachte halt, es wäre leichter zu zeigen, äquivalent zu irgendeiner anderen Sprache (oder einem Subset davon) zu sein anstatt sich direkt mit Turing herumzuschlagen. |
Du musst dich nicht mit Turing-Maschinen rumschlagen. Du kannst auch zeigen, dass Du die Konstrukte von While- oder Goto-Programmen nachbilden kannst.
http://de.wikipedia.org/wiki/WHILE-Programm
http://de.wikipedia.org/wiki/GOTO-Programm
Labels, Variablen, Inkrementieren, Dekrementieren, bedingte Sprünge. Mehr braucht's nicht |
|
|
|
 |
GyroGearloose
Mitglied
Benutzerprofil
Anmeldungsdatum: 04.05.2001
Beiträge: 123
|
GyroGearloose Mitglied
14:26:19 21.01.2012 Titel: |
|
Zitieren |
| klein-thüring schrieb: | | Zuerst wollte ich einen Brainfuck-Interpreter schreiben, das ist mir aber zu umständlich vorgekommen. |
Das ist gar nicht so umständlich bzw. schwer, wie man vielleicht denkt. Siehe dazu hier: http://www.c-plusplus.de/forum/292057 |
|
|
|
 |
klein-thüring
Unregistrierter
|
klein-thüring Unregistrierter
14:45:12 21.01.2012 Titel: |
|
Zitieren |
Super, so etwas hatte ich gesucht. Damit ist es ganz leicht.
Vielleicht sollte ich doch etwas häufiger die deutsche Wikipedia anschauen.
Jedenfalls: Problem gelöst.
@GyroGearloose: lol, vielleicht versuch ich es jetzt doch. |
|
|
|
 |
µ
Mitglied
Benutzerprofil
Anmeldungsdatum: 14.06.2001
Beiträge: 1551
|
µ Mitglied
15:01:30 21.01.2012 Titel: |
|
Zitieren |
@klein-thüring
Prima
Möchtest Du Deine kleine Sprache hier vielleicht mal ein wenig näher Beschreiben und auch das eine oder andere Beispiel vorstellen? Vielleicht auch wie Du den Parser und Interpreter/Compiler umgesetzt hast. |
|
|
|
 |
Prof84
Mitglied
Benutzerprofil
Anmeldungsdatum: 13.12.2001
Beiträge: 2960
|
Prof84 Mitglied
15:04:13 21.01.2012 Titel: |
|
Zitieren |
|
 |
µ
Mitglied
Benutzerprofil
Anmeldungsdatum: 14.06.2001
Beiträge: 1551
|
µ Mitglied
15:10:33 21.01.2012 Titel: |
|
Zitieren |
| Prof84 schrieb: |
Eigentlich genügt es die Gültigkeit der Axiome des Typ-0 zu beweisen, was allerdings nicht trivial ist.
|
Du schlägst jetzt aber nicht vor nachzuweisen, dass seine Sprache durch und nur durch eine Typ-0 Grammatik beschrieben werden kann, oder? |
|
|
|
 |
Bashar
Mitglied
Benutzerprofil
Anmeldungsdatum: 15.05.2001
Beiträge: 16828
|
Bashar Mitglied
15:14:15 21.01.2012 Titel: |
|
Zitieren |
| µ schrieb: | | Prof84 schrieb: |
Eigentlich genügt es die Gültigkeit der Axiome des Typ-0 zu beweisen, was allerdings nicht trivial ist.
|
Du schlägst jetzt aber nicht vor nachzuweisen, dass seine Sprache durch und nur durch eine Typ-0 Grammatik beschrieben werden kann, oder? |
Nein, dass man in seiner Sprache jede Typ-0-Sprache parsen (bzw. erzeugen) kann. Etwas weltfremder Vorschlag |
_________________ OSL♥
|
|
 |
Prof84
Mitglied
Benutzerprofil
Anmeldungsdatum: 13.12.2001
Beiträge: 2960
|
Prof84 Mitglied
15:15:23 21.01.2012 Titel: |
|
Zitieren |
| µ schrieb: | | Prof84 schrieb: |
Eigentlich genügt es die Gültigkeit der Axiome des Typ-0 zu beweisen, was allerdings nicht trivial ist.
|
Du schlägst jetzt aber nicht vor nachzuweisen, dass seine Sprache durch und nur durch eine Typ-0 Grammatik beschrieben werden kann, oder? |
Nö! - Dann hättest Du die Hierarchie nicht verstanden.
http://de.wikipedia.org/w/index.php?title=Datei:Chomsky-Hierarchie.svg&filetimestamp=20110715183925 |
_________________ "Primitive(n) Kulturen moderne Technologie näherzubringen stellt einen klaren Verstoß gegen die Hauptdirektive dar!"(Star Trek)
Zuletzt bearbeitet von Prof84 am 15:16:58 21.01.2012, insgesamt 2-mal bearbeitet |
|
 |
µ
Mitglied
Benutzerprofil
Anmeldungsdatum: 14.06.2001
Beiträge: 1551
|
µ Mitglied
15:18:37 21.01.2012 Titel: |
|
Zitieren |
Und du hast den Ausdruck "durch und nur durch" nicht verstanden. |
|
|
|
 |
Prof84
Mitglied
Benutzerprofil
Anmeldungsdatum: 13.12.2001
Beiträge: 2960
|
Prof84 Mitglied
15:29:45 21.01.2012 Titel: |
|
Zitieren |
| µ schrieb: | | Und du hast den Ausdruck "durch und nur durch" nicht verstanden. |
So? Dann erklär es mir. |
_________________ "Primitive(n) Kulturen moderne Technologie näherzubringen stellt einen klaren Verstoß gegen die Hauptdirektive dar!"(Star Trek)
|
|
 |
µ
Mitglied
Benutzerprofil
Anmeldungsdatum: 14.06.2001
Beiträge: 1551
|
µ Mitglied
19:39:50 21.01.2012 Titel: |
|
Zitieren |
Prof, bitte. Stell' Dich nicht noch dümmer als Du eh schon bist.
"dann wenn", "wenn dann", "nur dann wenn", "dann und nur dann wenn" ... übertragen sie nun das Gelernte in den Kontext der aktuellen Problemstellung.
Das ist eigentlich auch alles vollkommen unerheblich, falls Du es wirklich so gemeint hast wie von Bashar erklärt. Aber bei der gewohnten Mischung aus Link-Shitstorm und Buzzword-Halbwissen musste ich nachfragen. |
Zuletzt bearbeitet von µ am 19:41:12 21.01.2012, insgesamt 1-mal bearbeitet |
|
 |
Ben04
Autor
Benutzerprofil
Anmeldungsdatum: 10.10.2004
Beiträge: 1635
|
Ben04 Autor
00:58:51 22.01.2012 Titel: |
|
Zitieren |
Wenn ich das richtig im Kopf habe, dann kannst du alternativ auch das Lambda-Kalül nachbauen um Turingmächtigkeit zu zeigen. |
|
|
|
 |
Tippgeber
Unregistrierter
|
Tippgeber Unregistrierter
19:03:18 18.02.2012 Titel: |
|
Zitieren |
| Prof84 schrieb: |
@OTE:
Eigentlich genügt es die Gültigkeit der Axiome des Typ-0 zu beweisen, was allerdings nicht trivial ist.
|
Da passt doch was nicht zusammen? Du leitest den Satz ein, als ob du eine einfache Möglichkeit kennst, dann endest du ihn aber mit dem Hinweis, dass das nicht trivial, also schwer ist. |
|
|
|
 |