• Keine Ergebnisse gefunden

Was bisher geschah

N/A
N/A
Protected

Academic year: 2022

Aktie "Was bisher geschah"

Copied!
13
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Was bisher geschah

§ Turing-MaschinepX,Q,Γ, δ,q0,2q

§ Simulation nichtdeterministischer durch deterministische TM (DTM)

§ Mehr-Band-TM, Simulation durch Ein-Band-TM

§ DTM berechnet (partielle) FunktionfM :X˚ÑΓ˚

§ Turing-berechenbare Funktionen

§ Turing =

Menge aller durch eine DTM berechenbaren Funktionen

§ Existenz nicht Turing-berechenbarer Funktionen (indirekter Nachweis, Kardinalit¨at)

§ TM f¨ur Basisfunktionen:

Konstanten, Nachfolger, Vorg¨anger, Test auf Bandinhalt“0, Identit¨at (Kopie), Projektionen

§ Komposition von TM:

Nacheinanderausf¨uhrung, Einsetzen, Verzweigung

(2)

Strukturierte Programmierung

Formalisierung desimperativen Programmierens

§ Programm: Folge von Befehlen

§ Programmausf¨uhrung: Folge von Zustands¨anderungen

§ Zustand: Speicherbelegung und Befehlsnummer Eigenschaften dieses Modells:

§ ist einfach in Hardware realisierbar

(seit Jahrzehnten werden Rechner so gebaut)

§ ist softwaretechnisch unzweckm¨aßig

(der Beweis f¨ur die Korrektheit eines Programms sieht ganz anders aus als das Programm selbst)

(3)

Semantik: Speicher

§ Speicher der Maschine besteht aus Registern (Zellen),

§ RegisterinhaltePN,

§ Register sind numeriert durch N,

§ nur endlich viele Register werden verwendet (Rest bleibt 0).

Menge der m¨oglichen Speicherbelegungen:

S :“

!

s PNN| tx |spxq ‰0u ist endlich )

Beispiel:sp0q “42,sp1q “10,@xPN:xě2Ñspxq “0 Notation f¨ur Speicher-¨Anderungen:srx :“ys

ist die Funktionz ÞÑ pif z “x then y elsespzqq.

Beispiel:sr1 :“8sp1q “. . . ,sr1 :“8sp2q “. . . UA: Gilt¨ sra:“bsrc :“ds “src :“dsra:“bs?

(4)

Syntax: Befehle und Programme

MengeB der Befehle:

§ arithmetische Befehle:

§ IncN

§ DecN

§ Sprungbefehle:

§ GotoN

§ GotoZNˆN

§ Stop

MengeP der goto-Programme“B˚ (Folgen von Befehlen) Beispiel f¨ur ein goto-Programm:

[ GotoZ 1 5, Dec 1, Inc 0, Inc 0, Goto 0, Stop ]

(5)

Semantik: Befehle

Menge der KonfigurationenC ĎNˆS mit

§ Befehlsz¨ahler c PN

(enth¨alt die Nr. des n¨achsten auszuf¨uhrenden Befehls)

§ Speicherbelegung s PS

Ubergangsrelation des goto-Programms¨ p:

stepp ĎC ˆC mit ppc,sq,pc1,s1qq Pstepp, fallsc ă |p|und . . . undpc

§ Inc i, dann c1 “c `1,s1 “sri :“spiq `1s

(stepInc i“ tppc,sq,pc`1,sri:“spiq `1sqq |c PN,sPS,i PNu)

§ Dec i, dann . . .

§ Goto k, dann . . .

§ GotoZ i k, dann: wenn spiq “0, dann . . . sonst. . .

Satz: Die Relation stepp ist eine partielle Funktion. ( ¨UA)

(6)

Semantik: Programme

§ initiale Konfiguration Ipxq mit Eingabex“ px1, . . . ,xnq PNn: p0,sqmit sp1q “x1, . . . ,spnq “xn,spiq “0 sonst

§ finale Konfiguration pc,sq, wobeic ă |p|und pc “Stop

§ die Ausgabe Opc,sq einer Konfiguration istsp0q Jedes goto-Programmp berechnet eine partielle Funktion fp:NnÑNmit

px,yq Pfp gdw.

§ pIpxq,Fq Pstep˚p und F ist final und y “OpFq Beispiel:p “

[GotoZ 1 4, Dec 1, Goto 0, Inc 1, Inc 3, Inc 0, Stop]

berechnetfp :N2ÑNmit fpp2,1q “. . .

(7)

Goto-berechenbare Funktionen

Partielle Funktionf :NnÑNheißt goto-berechenbargdw.

ein goto-Programmp mit f “fp existiert.

GOTO= Menge aller goto-berechenbaren Funktionen

Beispiel: Programmp, welches die Funktionfppx1q “3 berechnet?

Semantik des leeren Programms (mit|p| “0) ?

(8)

goto-Programm f¨ ur x ÞÑ 2x

p = [ GotoZ 1 5 , Dec 1 , Inc 0 , Inc 0 , Goto 0 , Stop ] Nachweis f¨ur @x PN:fPpxq “2x in zwei Teilen

§ das goto-Programm h¨altf¨ur jede Eingabe (vgl. Def. step˚p)

§ die Ausgabe ist korrekt

jeder Konfigurationpc,sqwird zugeordnet:

Invariante sp0q `2¨sp1q Schranke sp1q

und gezeigt (f¨ur die Teilfolge aller Konfigurationen mitc “0):

§ die Invariante ist 1. anfangs wahr, 2. invariant

§ die Schranke nimmt ab (um wieviel?) und bleibt ě0.

(9)

Elementare goto-berechenbare Funktionen

goto-berechenbar sind z.B. die folgenden Funktionen:

§ Konstante 0

§ jede konstante Funktion

§ identische Funktion

§ jede Projektion px1, . . . ,xnq ÞÑxk

§ Addition

§ schwache Subtraktion px1,x2q ÞÑx1´x2p“maxp0,x1´x2qq

(10)

Abschluss-Eigenschaften

Nacheinanderausf¨uhrung: Sindf :NÑNund g :NÑN goto-berechenbar,

dann ist auchx ÞÑfpgpxqqgoto-berechenbar.

Beweis:

[ Prog. f¨urg ;sp1q:“sp0q;sp0q:“0; Prog. f¨urf ] Warum sp0q:“0?

Einsetzen: Sindf :N2 ÑN,g1,g2 :NÑN goto-berechenbar, dann auchx ÞÑfpg1pxq,g2pxqq.

einfach[ Programm f¨urg1, Programm f¨urg2, . . . ] ?

(11)

GOTO Ď Turing

Satz:@f :Nk ÑN:f goto-berechnebarÑ f Turing-berechenbar.

Beweis (Idee):

Ausf¨uhrung des goto-Programmesp zur Berechnung vonf “fp auf einer Mehrband-TMM

§ in p werdenk Register verwendet –M hatk Arbeits-B¨ander

§ Register i mit Inhaltx – Arbeits-Bandi hat Inhalt 1x

§ Ausf¨uhrung von Inc i, Dec idurch M auf Band i (Unterprogramme)

§ Programmablaufsteuerung:

Befehlsnummer (PC) wird im Zustand der TM verwaltet

§ f¨ur jede Programmzeile eine Zustandsmenge zur Ausf¨uhrung des entsprechenden Unterprogrammes der TM

§ Realisierung der Sprungbefehle durch Zustands¨uberg¨ange UA: Erg¨¨ anzung der Details zur Herstellung der Initialkonfiguration, Ablesen des Resultates aus Finalkonfiguration

(12)

Turing Ď GOTO

Satz:@f :Nk ÑN:f TM-berechenbarÑf goto-berechenbar.

Beweis (Idee):

§ Jedes Band derk-Band-TM wird simuliert durch zwei Registerpl,rq PN2

§ Jede ZahlnPNist Wort zur Basisb1` |X|(oder“ |X|.).

§ l enth¨alt den Bandinhalt links vom Kopf,

r enth¨alt den Bandinhalt rechts vom Kopf (gespiegelt).

Kopfposition = erste Stelle inrR = letzte Stelle in r) Beispiel: F¨ur 1010

loomoon

l

p 011 loomoon

rR

(mitb2) istl10,r 6

§ Zeichen am Kopf lesen:r modb, Beispiel:r modb0

§ Zeichenx schreiben und Kopf nach rechts bewegen (pa,p,x,q,Rq) : l1:“b¨l`x ,r1tr{bu

Beispiel:p0,p,1,q,Rq1010p011$10101q11 mit

l1:“b¨l`x2¨10`121 (10101) ,r1tr{but6{2u3 (11) analog f¨ur ¨Uberg¨ange mit KopfbewegungL,N ( ¨UA)

§ diese Rechnungen werden in einem zus¨atzlichen Register ausgef¨uhrt insgesamt: k ander 2k 1 Register

(13)

Zusammenfassung GOTO

§ formalisiert maschinennahe imperative Programmierung (Programmausf¨uhrung als Folge von

Speicherzustands¨anderungen)

§ der Befehlssatz ist klein, die Ausdruckskraft scheint gering, aber

§ einfache Basis-Funktionen sind in GOTO (Konstanten, Verschieben von Registerinhalten, arithmetische Operationen)

§ GOTO ist abgeschlossen bzgl.

§ Nacheinanderausf¨uhrung,

§ Einsetzen

§ GOTO“Turing (beide Inklusionen, jeweils Beweisidee)

Referenzen

ÄHNLICHE DOKUMENTE

Menge von Fakten (Aussagen, Merkmalswerten) Menge m¨ oglicher Aussagen (oder Aktionen) L¨ osung: zum konkreten Fall passende Aussagen

Aktualisierung: Berechnung der Aktivierung aller Neuronen wiederholen, bis stabiler Zustand erreicht oder Abbruch Konvergenz : Erreichen eines stabilen Zustandes (¨ andert sich

I Reihenfolge der Regeln im Programm und Atome in Regel-Rumpf beeinflusst Effizienz, aber nicht Korrektheit reales Prolog:. I cut (!) zum Abschneiden der Suche I green cut:

Anwendung: Rechnen mit bedingten Wahrscheinlichkeiten I 1/3 aller Studenten haben ein Notebook.. I 1/10 aller Studenten

Wissensrepr¨ asentation und -verarbeitung durch I K¨ unstliche Neuronale Netze (insbes. auch CNN) I Zustands¨ ubergangssysteme.. I

Der Eisverk¨ aufer ist traurig, wenn nicht viel Eis gekauft

Regul¨ are Ausdr¨ ucke erm¨ oglichen eine endliche Darstellung unendlicher Sprachen.. Aber: Nicht jede (unendliche) Sprache ist

Menge aller m¨ oglichen Berechnungen von M bei Eingabe von w bilden einen Baum (evtl. mit unendlich langen Pfaden)..