Ich frage mich, was der Unterschied zwischen rekursiven und rekursiv aufzählbaren Sprachen in Bezug auf Anhalten und Turing-Maschinen ist. Ich weiß, dass rekursiv aufzählbare Sprachen eine Untermenge von rekursiven Sprachen sind, aber ich bin mir nicht sicher über den Unterschied darüber hinaus.Was ist der Unterschied zwischen rekursiven und rekursiv aufzählbaren Sprachen
Antwort
Sie haben die Beziehung zwischen R und RE rückwärts: R ist eine (richtige) Teilmenge von RE. Im Grunde genommen ist eine rekursive Sprache eine, für die Sie insgesamt entscheiden können.
Rufen Sie eine Definition von rekursiv aufzählbaren Sprachen als eine, für die eine Teilentscheider existiert; das heißt, eine Turing-Maschine, die, wenn Sie ein Wort über Ihr Alphabet eingeben, entweder das Wort entsprechend Ihrer Sprache korrekt annehmen/ablehnen, oder wenn das Wort nicht in Ihrer Sprache ist, kann es für immer eine Schleife bilden. Im Gegensatz dazu ist eine rekursive Sprache eine, für die ein Gesamtentscheider existiert, d. H. Eine, die niemals eine Schleife bildet und immer entweder in einem akzeptierenden oder in einem abweisenden Zustand anhält.
Wenn man diese beiden Definitionen nebeneinander stellt, ist es offensichtlich, dass eine rekursive Sprache auch rekursiv aufzählbar ist, da der gesamte Entscheider auch ein partieller Entscheider ist (er "wählt" nie Schleifen, statt mit einer richtigen Antwort anzuhalten)).
- 1. Was ist der Unterschied zwischen `==` und `ist`?
- 2. Was ist der Unterschied zwischen:.! und: r !?
- 3. Was ist der Unterschied zwischen Difftime und '-'?
- 4. Was ist der Unterschied zwischen $ und $$?
- 5. Was ist der Unterschied zwischen Verilog! und ~?
- 6. was ist der Unterschied zwischen [[], []] und [[]] * 2
- 7. Was ist der Unterschied zwischen/* ... */und/** ... */
- 8. Was ist der Unterschied zwischen `&` und `ref`?
- 9. Was ist der Unterschied zwischen $ (...) und `...`
- 10. Was ist der Unterschied zwischen .Equals und ==
- 11. Was ist der Unterschied zwischen "$^N" und "$ +"?
- 12. Was ist der Unterschied zwischen + = und = +?
- 13. Was ist der Unterschied zwischen? und ? = Nil
- 14. Was ist der Unterschied zwischen $ (()) und Ausdruck?
- 15. Was ist der Unterschied zwischen:
- 16. Interviewfrage: Unterschied zwischen objekt- und objektorientierten Sprachen
- 17. Was ist der Unterschied zwischen Lua Tabellen und Klassen?
- 18. Was ist der Unterschied zwischen Klartext- und Binärdaten?
- 19. Was ist der Unterschied zwischen Mokka und Selen?
- 20. Was ist der Unterschied zwischen IDelegateEvent und IEvent in F #?
- 21. Unterschied zwischen stark und schwach typisierten Sprachen?
- 22. Was ist der Unterschied zwischen "DSL Tools" und "Oslo"?
- 23. Was ist der Unterschied zwischen Schließungen und traditionellen Klassen?
- 24. Unterschied zwischen einem LL und rekursiven Descent-Parser?
- 25. Was ist der Unterschied zwischen der JSP und der JSTL?
- 26. Der Unterschied zwischen Kopf und Schwanz Rekursion
- 27. Was ist der Unterschied zwischen NetFx45WebLink und NetFx45RedistLink ist
- 28. Was ist der Unterschied zwischen PS1 und PROMPT_COMMAND ist
- 29. Was ist der Unterschied zwischen x86 und x64 ist
- 30. Was ist der Unterschied zwischen „ist None“ und „== None“
Vielleicht besser für http://cstheory.stackexchange.com oder http://cs.stackexchange.com geeignet – nawfal
Ich stimme diese Frage als off-topic zu schließen, weil es um die Theorie der Berechnung geht, nicht Programmierung. –
@RaymondChen Ich denke, die Tatsache, dass es "Theorie" - und "Computertheorie" -Tags gibt, rechtfertigt meine Frage. – Bren