Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

habe bald eine mündliche Prüfung in Informatik und habe deswegen ein paar Fragen. Wäre nett, wenn jemand helfen könnte.

haltetest(Programm, Eingabe)

1  wenn Programm(Eingabe) terminiert

2      dann return Ja

3      sonst return Nein



test(Programm)

1  solange haltetest(Programm, Programm) == Ja

2      führe aus keine Aktion



test(test); // Dieser Aufruf terminiert genau dann,

            // wenn er nicht terminiert. (Widerspruch!)

Diesen Pseudocode hat unserer Professor auch benutzt. Ich verstehe folgendes daraus: Wenn unser Programm A haltetest durch eine Eingabe terminiert, dann wird als Return ja ausgegeben.

Das zweite Programm B test prüft immer ob Programm A terminiert. Sollte das der Fall sein, führt dieses keine Aktion mehr aus.

Das Problem jetzt, soweit ich es verstehe, das Programm B nicht terminiert wenn Programm A terminiert. Da ist ein Widerspruch?!

Nun in Verbindung mit der Chursche These. Da komm ich auch net genau weiter. Ich kann so viel sagen, dass die Turingmaschinen nicht in der Lage sind solche Probleme wie das Halteproblem zu lösen. Aber schlau werde ich daraus kein bisschen.

Vielen Dank im vorab für eure Hilfe.

Dein Prof hat das Beispiel aus Wikipedia verwendet Halteproblem ? Wikipedia

Ein kleiner Ratschlag: Es geht bei der Analyse von solchen Problemen nicht um den Quellcode, sondern um Logik. Ich würde Dir empfehlen das als Prädikaten Ausdruck zu schreiben, das ist dann unabhängig von dem Quellcode.

Zur Church-Turing-These: Dir ist sicher bekannt, dass diese nicht formal beweisbar ist. Das "intuitiv" bedeutet, dass man einen (sinnvollen) Berechnungsformalismus finden kann. Die These gilt z.B. für TM, While-Programme, Goto-Programme, Lambda-Kalkühl, Mü-Rekursive-Funktionen...

Zum Halteproblem: Bei dieser Fragestellung geht es darum zu zeigen, dass ein Algorithmus für jede Eingabe von Daten, terminiert und damit ein definiertes Ergebnis liefert. D.h. wenn sich der Algorithmus in einer "Endlosschleife" aufhängt, d.h. er hält nicht, dann ist das Halteproblem nicht gelöst. Gedanklich gibt man in Deinem Fall einer TM eine TM mit Daten und möchte nun wissen, ob diese eingegebene TM terminiert oder nicht.

Man macht leicht den Fehler, dass man sich bei der Betrachtung an dem konkreten Beispiel fest hält, es geht hier aber um einen Formalismus, d.h. es muss für jede Art Eingabe gelten

Phil

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.