• Keine Ergebnisse gefunden

Einführung in die Computerlinguistik  Berechenbarkeit, Entscheidbarkeit, Halteproblem

N/A
N/A
Protected

Academic year: 2022

Aktie "Einführung in die Computerlinguistik  Berechenbarkeit, Entscheidbarkeit, Halteproblem"

Copied!
20
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Einführung in die Computerlinguistik Berechenbarkeit, Entscheidbarkeit,

Halteproblem

Dozentin: Wiebke Petersen 14.1.2009

(2)

Hinweis zu den Folien

Der Text dieser Folien ist gröÿtenteils dem Kapitel Eine Reise zum Rand der Welt der Website

http://www.gk-informatik.de/ von Roland Mechling entnommen.

(3)

Was genau ist ein Algorithmus

Denition 1

Ein Algorithmus stellt die Berechnung einer partiellen Funktion f :Df →N dar, wobei Df ∈N die Denitionsmenge von f ist. Dabei gilt für jedes n∈N:

wenn n∈Df, dann liefert der Algorithmus f(n); wenn n6∈Df, dann terminiert der Algorithmus nicht.

Zu jedem Algorithmus gibt es eine passende partielle Funktion! Aber: ist auch jede partielle Funktion berechenbar?

(4)

Was genau ist ein Algorithmus

Denition 1

Ein Algorithmus stellt die Berechnung einer partiellen Funktion f :Df →N dar, wobei Df ∈N die Denitionsmenge von f ist. Dabei gilt für jedes n∈N:

wenn n∈Df, dann liefert der Algorithmus f(n); wenn n6∈Df, dann terminiert der Algorithmus nicht.

Zu jedem Algorithmus gibt es eine passende partielle Funktion!

Aber: ist auch jede partielle Funktion berechenbar?

(5)

Was genau ist ein Algorithmus

Denition 1

Ein Algorithmus stellt die Berechnung einer partiellen Funktion f :Df →N dar, wobei Df ∈N die Denitionsmenge von f ist. Dabei gilt für jedes n∈N:

wenn n∈Df, dann liefert der Algorithmus f(n); wenn n6∈Df, dann terminiert der Algorithmus nicht.

Zu jedem Algorithmus gibt es eine passende partielle Funktion!

Aber: ist auch jede partielle Funktion berechenbar?

(6)

Wieviele Algorithmen gibt es?

Jeder Algorithmus kann in einem Programm realisiert werden.

Eine Programmiersprache heiÿt universell, wenn sich mit ihr alle (aus)denkbaren Algorithmen in entsprechende Programme umsetzen lassen.

Der Quelltext eines jeden Programms entspricht einer binären Zahl.

⇒es kann höchstens so viele Algorithmen wie natürliche Zahlen geben.

Theorem 2

Es kann höchstens abzählbar viele Algorithmen geben.

(7)

Wieviele Algorithmen gibt es?

Jeder Algorithmus kann in einem Programm realisiert werden.

Eine Programmiersprache heiÿt universell, wenn sich mit ihr alle (aus)denkbaren Algorithmen in entsprechende Programme umsetzen lassen.

Der Quelltext eines jeden Programms entspricht einer binären Zahl.

⇒es kann höchstens so viele Algorithmen wie natürliche Zahlen geben.

Theorem 2

Es kann höchstens abzählbar viele Algorithmen geben.

(8)

Wieviele Algorithmen gibt es?

Jeder Algorithmus kann in einem Programm realisiert werden.

Eine Programmiersprache heiÿt universell, wenn sich mit ihr alle (aus)denkbaren Algorithmen in entsprechende Programme umsetzen lassen.

Der Quelltext eines jeden Programms entspricht einer binären Zahl.

⇒es kann höchstens so viele Algorithmen wie natürliche Zahlen geben.

Theorem 2

Es kann höchstens abzählbar viele Algorithmen geben.

(9)

Wieviele Algorithmen gibt es?

Jeder Algorithmus kann in einem Programm realisiert werden.

Eine Programmiersprache heiÿt universell, wenn sich mit ihr alle (aus)denkbaren Algorithmen in entsprechende Programme umsetzen lassen.

Der Quelltext eines jeden Programms entspricht einer binären Zahl.

⇒es kann höchstens so viele Algorithmen wie natürliche Zahlen geben.

Theorem 2

Es kann höchstens abzählbar viele Algorithmen geben.

(10)

Wieviele Algorithmen gibt es?

Jeder Algorithmus kann in einem Programm realisiert werden.

Eine Programmiersprache heiÿt universell, wenn sich mit ihr alle (aus)denkbaren Algorithmen in entsprechende Programme umsetzen lassen.

Der Quelltext eines jeden Programms entspricht einer binären Zahl.

⇒es kann höchstens so viele Algorithmen wie natürliche Zahlen geben.

Theorem 2

Es kann höchstens abzählbar viele Algorithmen geben.

(11)

Wieviele partielle Funktionen gibt es?

Zu jeder Teilmenge T ⊆N der natürlichen Zahlen gibt es eine (partielle) Funktionχ(charakteristische Funktion):

χ(n) =

(1 wenn n∈T 0 wenn n6∈T

Es gibt überabzählbar viele Teilmengen der natürlichen Zahlen (Tafelexkurs).

Theorem 3

Nicht alle partiellen Funktionen sind berechenbar!

(12)

Wieviele partielle Funktionen gibt es?

Zu jeder Teilmenge T ⊆N der natürlichen Zahlen gibt es eine (partielle) Funktionχ(charakteristische Funktion):

χ(n) =

(1 wenn n∈T 0 wenn n6∈T

Es gibt überabzählbar viele Teilmengen der natürlichen Zahlen (Tafelexkurs).

Theorem 3

Nicht alle partiellen Funktionen sind berechenbar!

(13)

Wieviele partielle Funktionen gibt es?

Zu jeder Teilmenge T ⊆N der natürlichen Zahlen gibt es eine (partielle) Funktionχ(charakteristische Funktion):

χ(n) =

(1 wenn n∈T 0 wenn n6∈T

Es gibt überabzählbar viele Teilmengen der natürlichen Zahlen (Tafelexkurs).

Theorem 3

(14)

Gibt es einen Halte-Tester?

Denition 4

Unter einem universellenHalte-Tester versteht man einen Algorithmus, der zu jedem beliebigen Programm XYZ und jedem beliebigen

Datensatz DAT nach endlich vielen Schritten entscheidet, ob XYZ bei Eingabe von DAT anhält oder nicht.

Theorem 5

Das Halte-Problem ist nicht entscheidbar, d.h. es gibt keinen Algorithmus, der nach endlich vielen Schritten entscheiden kann, ob ein beliebiger anderer Algorithmus für beliebige gegebenene

Eingabedaten halten wird oder nicht.

(15)

Gibt es einen Halte-Tester?

Denition 4

Unter einem universellenHalte-Tester versteht man einen Algorithmus, der zu jedem beliebigen Programm XYZ und jedem beliebigen

Datensatz DAT nach endlich vielen Schritten entscheidet, ob XYZ bei Eingabe von DAT anhält oder nicht.

Theorem 5

Das Halte-Problem ist nicht entscheidbar, d.h. es gibt keinen Algorithmus, der nach endlich vielen Schritten entscheiden kann, ob ein beliebiger anderer Algorithmus für beliebige gegebenene

(16)

Beweis der Nichtexistenz eines Halte-Testers

Angenommen es gebe ein solches Programm Halte-Tester.

Meta sei ein Programm, dass ein Programm P als Input nimmt und

terminiert, wenn Halte-Tester(P,P)=nein und sonst in eine Endlosschleife gerät. Frage: Terminiert Meta(Meta)?

Die Frage, ob Meta(Meta) terminiert führt zu einem Widerspruch.

⇒das Programm Halte-Tester kann nicht existieren.

(17)

Beweis der Nichtexistenz eines Halte-Testers

Angenommen es gebe ein solches Programm Halte-Tester.

Meta sei ein Programm, dass ein Programm P als Input nimmt und

terminiert, wenn Halte-Tester(P,P)=nein und sonst in eine Endlosschleife gerät.

Frage: Terminiert Meta(Meta)?

Die Frage, ob Meta(Meta) terminiert führt zu einem Widerspruch.

⇒das Programm Halte-Tester kann nicht existieren.

(18)

Beweis der Nichtexistenz eines Halte-Testers

Angenommen es gebe ein solches Programm Halte-Tester.

Meta sei ein Programm, dass ein Programm P als Input nimmt und

terminiert, wenn Halte-Tester(P,P)=nein und sonst in eine Endlosschleife gerät.

Frage: Terminiert Meta(Meta)?

Die Frage, ob Meta(Meta) terminiert führt zu einem Widerspruch.

⇒das Programm Halte-Tester kann nicht existieren.

(19)

Beweis der Nichtexistenz eines Halte-Testers

Angenommen es gebe ein solches Programm Halte-Tester.

Meta sei ein Programm, dass ein Programm P als Input nimmt und

terminiert, wenn Halte-Tester(P,P)=nein und sonst in eine Endlosschleife gerät.

Frage: Terminiert Meta(Meta)?

Die Frage, ob Meta(Meta) terminiert führt zu einem Widerspruch.

⇒das Programm Halte-Tester kann nicht existieren.

(20)

Beweis der Nichtexistenz eines Halte-Testers

Angenommen es gebe ein solches Programm Halte-Tester.

Meta sei ein Programm, dass ein Programm P als Input nimmt und

terminiert, wenn Halte-Tester(P,P)=nein und sonst in eine Endlosschleife gerät.

Frage: Terminiert Meta(Meta)?

Die Frage, ob Meta(Meta) terminiert führt zu einem Widerspruch.

⇒das Programm Halte-Tester kann nicht existieren.

Referenzen

ÄHNLICHE DOKUMENTE

Nach dem Klassennamen werden im obigen Beispiel die Eigenschaften (hier: Variablen) für die Instanzen festgelegt: Jede Instanz, die wir gemäß diesem „Bauplan“ erzeugen, soll je

• Für Beschreibung von Phänomenen für einzelne Wörter reichen Textkorpora mit 60 Millionen Wörtern aus.. • Konkordanz (oft: KWIC, Key Word In Context. Ein

regelmäÿige aktive Teilnahme an beiden Terminen (maximal 4 Fehltermine), Ausnahmen müssen im Vorfeld verhandelt werden.. wöchentliche, kleine Hausaufgabe (Bearbeitungszeit max.

es gibt keinen Algorithmus, der nach endlich vielen Schritten entscheiden kann, ob ein beliebiger anderer Algorithmus für beliebige gegebenene. Eingabedaten halten wird

eine Computerdemonstration oder die Anleitung einer Gruppenaufgabe. • Jedes Referat wird im Vorfeld

Ein endlicher Automat ist deterministisch, wenn es, egal in welchem Zustand des Automaten man sich gerade befindet, für jede Eingabe aus dem Alphabet, immer einen eindeutigen

Die Bedeutung der Computerlinguistik für die Entwicklung praktischer sprachverarbeitender Systeme (etwa für maschinelle Übersetzung, Spracherkennung und

[r]