• Keine Ergebnisse gefunden

VL-12: LOOP und WHILE Programme II

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-12: LOOP und WHILE Programme II"

Copied!
12
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-12: LOOP und WHILE Programme II

(Berechenbarkeit und Komplexit¨ at, WS 2017) Gerhard Woeginger

WS 2017, RWTH

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 1/45

Organisatorisches

I achste Vorlesung:

Donnerstag, November 30, 12:15–13:45 Uhr, Aula

I Webseite:

http://algo.rwth-aachen.de/Lehre/WS1718/BuK.php

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 2/45

Wiederholung

Wdg.: Programmiersprache LOOP

Wir betrachten eine einfache Programmiersprache namens LOOP, deren Programme aus den folgenden syntaktischen Komponenten aufgebaut sind:

I Variablen: x1 x2 x3 . . .

I Konstanten: 0 1 2 . . .

I Symbole: ; := + −

I Schl¨usselw¨orter: LOOP DO ENDLOOP

(2)

Wdg. LOOP / Semantik

Ein LOOP-ProgrammP mitk Variablen

berechnet einek-stellige Funktion der Form[P] :Nk →Nk. IstP die Zuweisungxi:=xj+c,

so ist [P](r1, . . . ,rk) = (r1, . . . ,ri−1,rj+c,ri+1, . . . ,rk).

IstP die Zuweisungxi:=xj−c,

ist [P](r1, . . . ,rk) = (r1, . . . ,ri−1,rj−c,ri+1, . . . ,rk)fallsrj ≥c, und andernfalls[P](r1, . . . ,rk) = (r1, . . . ,ri−1,0,ri+1, . . . ,rk).

IstP =P1;P2 eine Hintereinanderausf¨uhrung, so ist [P](r1, . . . ,rk) = [P2]([P1](r1, . . . ,rk)).

IstP =LOOPxi DOQ ENDLOOPein LOOP-Konstrukt, so gilt [P](r1, . . . ,rk) = [Q]ri(r1, . . . ,rk).

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 5/45

Wdg.: WHILE / Semantik

I Die Eingabe ist in den Variablenx1, . . . ,xn enthalten.

I Alle anderen Variablen werden mit 0initialisiert.

I Das Resultat eines WHILE-Programms ist die Zahl, die sich am Ende der Abbarbeitung in der Variablenx1 ergibt.

Das ProgrammWHILExi 6=0 DOP ENDWHILEhat folgende Bedeutung:

P wird solange ausgef¨uhrt, bisxi den Wert0erreicht.

Ein WHILE-ProgrammP mitk Variablen

berechnet einek-stellige Funktion der Form[P] : Nk →Nk. IstP=WHILExi 6=0 DOQ ENDWHILEein WHILE-Konstrukt,

so ist[P](r1, . . . ,rk) = [Q]`(r1, . . . ,rk)f¨ur die kleinste Zahl`, f¨ur die diei-te Komponente von[Q]`(r1, . . . ,rk)gleich0ist.

Falls solch ein` nicht existiert, so ist[P](r1, . . . ,rk)undefiniert.

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 6/45

Wdg.: WHILE versus LOOP

I Es gibt WHILE-Programme, die nicht terminieren.

I LOOP-Programme terminieren immer.

I Jede LOOP-berechenbare Funktionf:Nk →Nist auch WHILE-berechenbar.

Satz

Die Programmiersprache WHILE ist Turing-m¨achtig.

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 7/45

Landschaft um LOOP, WHILE, TM, RAM

TM = RAM = WHILE = entscheidbar

LOOP = primitiv rekursiv + − × ab ab nk

A(m,n)

Ackermann Funktion

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 8/45

(3)

Vorlesung VL-12

LOOP und WHILE Programme II

IDie Ackermann Funktion

IEigenschaften der Ackermann Funktion IAckermann Funktion und LOOP-Programme IPrimitiv rekursive Funktionen

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 9/45

M¨ achtigkeit von LOOP

Vermutung von David Hilbert (1926)

Die Menge der LOOP-berechenbaren Funktionen

stimmt mit der Menge der berechenbaren Funktionen ¨uberein.

Falsch, falsch, falsch, v¨ollig falsch!!

Satz (Ackermann, 1928)

Es gibt berechenbare Funktionen, die nicht LOOP-berechenbar sind.

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 10/45

Wilhelm Ackermann (1896–1962)

Wikipedia: Wilhelm Friedrich Ackermann war ein deutscher Mathematiker (und ein Sch¨uler von Hilbert).

1926 entdeckte er die nach ihm benannte Ackermann Funktion, die in der Berechenbarkeitstheorie eine wichtige Rolle spielt. Ackermann war Gymnasiallehrer an verschiedenen Schulen in M¨unster, Burgsteinfurt und L¨udenscheid; er hielt auch Vorlesungen an der Universit¨at M¨unster.

Die Ackermann Funktion

(4)

Ackermann Funktion: Definition

Definition

Die Ackermann FunktionA:N2→Nist folgendermassen definiert:

A(0,n) = n+1 f¨urn≥0

A(m+1,0) = A(m,1) f¨urm≥0 A(m+1,n+1) = A(m,A(m+1,n)) f¨urm,n≥0

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 13/45

Ackermann Funktion: Beispiele (1)

A(0,n) = n+1 f¨urn≥0

A(m+1,0) = A(m,1) f¨urm≥0 A(m+1,n+1) = A(m,A(m+1,n)) f¨urm,n≥0

Ein paar Beispiele f¨urm=1:

A(1,0) =A(0,1) =2

A(1,1) =A(0,A(1,0)) =A(1,0) +1=3 A(1,2) =A(0,A(1,1)) =A(1,1) +1=4 A(1,3) =A(0,A(1,2)) =A(1,2) +1=5

Beobachtung

A(1,n) =n+2

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 14/45

Ackermann Funktion: Beispiele (2)

A(0,n) = n+1 f¨urn≥0

A(m+1,0) = A(m,1) f¨urm≥0 A(m+1,n+1) = A(m,A(m+1,n)) f¨urm,n≥0

Ein paar Beispiele f¨urm=2:

A(2,0) =A(1,1) =3

A(2,1) =A(1,A(2,0)) =A(2,0) +2=5 A(2,2) =A(1,A(2,1)) =A(2,1) +2=7

Beobachtung

A(2,n) =2n+3

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 15/45

Ackermann Funktion: Beispiele (3)

A(0,n) = n+1 f¨urn≥0

A(m+1,0) = A(m,1) f¨urm≥0 A(m+1,n+1) = A(m,A(m+1,n)) f¨urm,n≥0

Und ein paar Beispiele f¨urm=3:

A(3,0) =A(2,1) =5

A(3,1) =A(2,A(3,0)) =2·A(3,0) +3=13 A(3,2) =A(2,A(3,1)) =2·A(3,1) +3=29 A(3,3) =A(2,A(3,2)) =2·A(3,2) +3=61

Beobachtung

A(3,n) =2n+3−3

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 16/45

(5)

Ackermann Funktion: Beispiele (4)

Zusammenfassung der Beispiele

Wenn man den ersten Parameter fixiert ...

I A(1,n) =n+2

I A(2,n) =2n+3

I A(3,n) =2n+3−3

I A(4,n) = 22··

·2

| {z } n+3 viele

Zweien

−3

Bereits der Wert A(4,2) =265536−3

ist gr¨osser als die Anzahl aller Atome im Weltraum.

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 17/45

Exkurs: UpArrow-Notation (1)

I Addition ist iterierte Nachfolgerbildung:

S(S(. . .(S(a). . .)

| {z }

bmal

= a+b

I Multiplikation ist iterierte Addition:

a+· · ·+a

| {z }

bmal

= a·b

I Potenzierung ist iterierte Multiplikation:

a× · · · ×a

| {z }

bmal

= ab =: a↑b

I Der Potenzturm ist iterierte Potenzierung:

aa. .

.a

| {z }

bmal

=: a↑↑b

I Wiederholte Potenzturmbildung gibt a↑↑a↑↑. . .↑↑a

| {z }

bmal

=: a↑↑↑b

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 18/45

Exkurs: UpArrow-Notation (2)

Definition (UpArrow-Notation von Donald Knuth)

amb :=

1 wennb=0

a·b wennm=0

ab wennm=1

am−1(am(b1)) sonst

Es gilt:

I A(1,n) =2+ (n+3)3

I A(2,n) =2·(n+3)3

I A(3,n) =2(n+3)3

I A(4,n) =2↑↑(n+3)3

I A(5,n) =2↑↑↑(n+3)3 ...

I A(m,n) =2m−2(n+3)3 urm2

Donald Ervin Knuth (1938)

Wikipedia: Don Knuth is an American computer scientist, mathematician, and professor emeritus at Stanford University.

Knuth is the author of the multi-volume work“The Art of Computer Programming”, he popularized the asymptotic notation (big-O), he created theTeXcomputer typesetting system and theMETAFONT font definition language.

I Knuth-Morris-Pratt algorithm I Knuth-Bendix completion algorithm

(6)

Monotonie-Verhalten der Ackermann Funktion

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 21/45

Monotonie-Verhalten (1)

Monotonie

(M.1) A(m,n+1) > A(m,n) (M.2) A(m+1,n) > A(m,n) (M.3) A(m+1,n−1) ≥ A(m,n)

Folgerung

F¨urm≥m0 und n≥n0 gilt immer:

A(m,n) ≥ A(m0,n0)

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 22/45

Monotonie-Verhalten (2)

A(0,n) = n+1 f¨urn≥0

A(m+1,0) = A(m,1) f¨urm≥0 A(m+1,n+1) = A(m,A(m+1,n)) f¨urm,n≥0

Wir wollen nun (M.1) zeigen: A(m,n+1)>A(m,n) Rekursionsgleichung liefert:

A(m,n+1) = A(m−1,A(m,n)) A(m,n) = A(m−1,A(m,n−1))

Induktion liefert zuerstx:=A(m,n)>A(m,n−1)=:y

und danachA(m−1,x)>A(m−1,y).

Ein analoges induktives Argument zeigt (M.2): A(m+1,n)>A(m,n)

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 23/45

Monotonie-Verhalten (3)

(M.3) A(m+1,n−1)≥A(m,n)wird mit einer vollst¨andigen Induktion bewiesen, die ¨uber die lexikographisch sortierten Paare (m,n)l¨auft.

Induktionsanfang:Es giltA(1,n−1) =n+1=A(0,n)f¨ur alle n≥1.

Es giltA(m+1,0) =A(m,1)f¨ur allem≥0.

Induktionsschritt:Wir nehmen an, dass f¨ur(m0,n0)mit (m0<m)oder (m0=m)∧(n0<n)immerA(m0+1,n0−1)≥A(m0,n0)gilt.

A(m+1,n−1) = A(m,A(m+1,n−2)) (Def)

≥ A(m,A(m,n−1)) (Ind+Mono)

≥ A(m−1,A(m,n−1) +1) (Ind)

≥ A(m−1,A(m,n−1)) (Mono)

= A(m,n) (Def)

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 24/45

(7)

Monotonie-Verhalten (4)

Visualisierung der vollst¨andigen Induktion ¨uber die lexikographisch sortierten Paare(m,n):

n

0 m 1

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 25/45

Das Wachstumslemma

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 26/45

Wachstumslemma: Vorbereitung

Ab jetzt betrachten wir ein fixes,wohl-formuliertesLOOP-ProgrammP, das die folgenden zwei Eigenschaften besitzt:

Eigenschaft 1

In allen Zuweisungenxi :=xj+c und xi:=xj−c ist die Konstantec ∈ {0,1}.

Andernfalls ersetzen wirxi:=xj+c durchxi:=xj gefolgt von einem Block, der ausc Zuweisungenxi:=xi+1besteht.

Eigenschaft 2

In LOOP-KonstruktenLOOPxi DOP ENDLOOP kommt die Z¨ahlvariablexi nicht inP vor.

Andernfalls f¨uhren wir f¨ur die Schleife eine neue Z¨ahlvariablexi0 ein.

Wachstumslemma: Definitionen

I Wir betrachten ein fixes, wohl-formuliertes LOOP-ProgrammP mit denk Variablenx1,x2, . . . ,xk.

I Wir erinnern uns (aus VL-11): Das LOOP-ProgrammP berechnet die k-stellige Funktion[P] : Nk →Nk.

I F¨ur die Anfangswertea= (a1, . . . ,ak)∈Nk der Variablen definieren wir fP(a) :=b1+b2+· · ·+bk als die Summe aller Ergebniswerte in[P](a) = (b1, . . . ,bk).

I Die FunktionFP:N→Nist definiert durch FP(n) =max

( fP(a)

a∈Nk mit

k

X

i=1

ai ≤n )

Intuitiv: Die FunktionFP beschreibt das maximale Wachstum / die maximale Zunahme der Variablenwerte im LOOP-ProgrammP.

(8)

Wachstumslemma: Zentrale Aussage

Wir werden nun zeigen,

dass FP(n)f¨ur allen∈Necht kleiner ist alsA(m,n),

wenn der Parameter mnur gen¨ugend gross (in Abh¨angigkeit vonP) gew¨ahlt wird.

Lemma

F¨ur jedes LOOP-ProgrammP gibt es eine nat¨urliche ZahlmP, so dass f¨ur alle n∈Ngilt: FP(n)<A(mP,n).

Beachte:

F¨ur jedes feste ProgrammP ist der ParametermP eine Konstante.

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 29/45

Beweis: Induktion ¨ uber den Syntax-Baum

Induktionsanfang (Zuweisungen)

I Es seiP von der Formxi:=xj+c f¨urc∈ {−1,0,1}.

I Wir werden zeigen:FP(n)<A(2,n).

Induktionsschritt (Hintereinanderausf¨uhrung)

I Es seiP von der FormP1;P2.

I Induktionsannahme:∃q∈N:FP1(`)<A(q, `)und FP2(`)<A(q, `).

I Wir werden zeigen:FP(n)<A(q+1,n).

Induktionsschritt (LOOP-Konstrukt)

I Es seiP von der Form “LOOPxi DOQ ENDLOOP”

I Induktionsannahme:∃q∈N:FQ(`)<A(q, `).

I Wir werden zeigen:FP(n)<A(q+1,n).

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 30/45

Beweis: Induktionsanfang

Induktionsanfang (Zuweisungen)

I Es seiP von der Form “xi :=xj+c” f¨urc ∈ {−1,0,1}

I Dann gilt:FP(n)≤2n+1, und somit FP(n)<A(2,n) Argument:

I P ver¨andert nur den Wert der Variablenxi.

I Am Anfang warxi ≥0, und am Ende istxi=xj+c ≤n+1.

I Die Summe aller Variablenwerte erh¨oht sich um h¨ochstensn+1, und springt damit von h¨ochstensn (am Anfang) auf h¨ochstens 2n+1(am Ende).

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 31/45

Beweis: Schritt f¨ ur Hintereinanderausf¨ uhrung

Induktionsschritt (Hintereinanderausf¨uhrung)

I Es seiP von der Form “P1;P2

I Induktionsannahme: ∃q∈N:FP1(`)<A(q, `)und FP2(`)<A(q, `).

I Dann gilt:FP(n) < A(q+1,n) Argument:

I Wir verwenden die Absch¨atzung (M.3): A(q,n)≤A(q+1,n−1)

I Dann folgt mit den Monotonie Eigenschaften, dass FP(n) ≤ FP2(FP1(n)) (Def)

< A(q,A(q,n)) (Ind)

< A(q,A(q+1,n−1)) (Mono)

= A(q+1,n) (Def)

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 32/45

(9)

Beweis: Schritt f¨ urs LOOP-Konstrukt (1)

Induktionsschritt (LOOP-Konstrukt)

I Es seiP von der Form “LOOP xi DOQ ENDLOOP”

I Induktionsannahme liefert: ∃q∈N:FQ(`)<A(q, `)

I Dann gilt:FP(n) ≤ A(q+1,n).

Argument:

I Wir betrachten jenen Wertα=α(n)f¨ur die Variablexi,

mit dem der gr¨osstm¨ogliche FunktionswertFP(n)angenommen wird

I Dann giltFP(n) ≤ FQ(FQ(. . .FQ(FQ(n−α)). . .)) +α, wobei die FunktionFQ(·)hier α-fach ineinander eingesetzt ist.

I Die Induktionsannahme gibt uns FQ(`)<A(q, `)

I Dies wenden wir auf die ¨ausserste FunktionFQ an und erhalten FP(n) < A(q,FQ(. . .FQ(FQ(n−α)). . .)) +α

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 33/45

Beweis: Schritt f¨ urs LOOP-Konstrukt (2)

Und weiter geht’s:

I Wiederholte Anwendung liefert dieα-zeilige Ungleichungskette FP(n)< A(q,FQ(,FQ(. . .FQ(FQ(n−α)). . .)) +α

< A(q,A(q,FQ(. . .FQ(FQ(n−α)). . .)) +α ...

< A(q,A(q,A(q, . . . ,A(q,n−α)). . .)) +α

I Daraus ergibt sich FP(n) ≤ A(q,A(q,A(q, . . . ,A(q,n−α)). . .))

I Im innersten Teil verwenden wirA(q,n−α)≤A(q+1,n−α−1) Ergo: FP(n)≤A(q,A(q,A(q, . . .A(q,A(q+1,n−α−1))). . .))

I Jetzt arbeiten wir uns (α−1)-mal von innen nach aussen vor, und wenden in jedem Schritt die Ackermann Definition an.

I Das ergibtFP(n)≤A(q+1,n−1)undFP(n)<A(q+1,n).

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 34/45

Die M¨ achtigkeit von LOOP

Die M¨ achtigkeit von LOOP (1)

Satz

Die Ackermann Funktion ist nicht LOOP-berechenbar.

Beweis:

I Zwecks Widerspruchs nehmen wir an, dass die Ackermann Funktion LOOP-berechenbar ist. Dann gibt es auch ein LOOP-ProgrammP, das die HilfsfunktionB(n) =A(n,n)berechnet.

I Das Wachstumslemma gibt uns eine ZahlmP, sodass f¨ur alle n∈Ngilt: FP(n)<A(mP,n).

I Wird nun das LOOP-Programm P mit der EingabemP aufgerufen, so berechnet es den FunktionswertB(mP).

I Das Wachstumslemma impliziertB(mP)≤FP(mP).

I Zusammengefasst: B(mP)≤FP(mP)<A(mP,mP) =B(mP)

I Widerspruch! QED!

(10)

Die M¨ achtigkeit von LOOP (2)

Da die Ackermann Funktion (durch eine TM) berechenbar ist, folgt:

Korollar

Die Menge der LOOP-berechenbaren Funktionen

bildet eineechte Teilmengeder berechenbaren Funktionen.

Ergo: Die Programmiersprache LOOP ist nicht Turing-m¨achtig

Satz (ohne Beweis)

Die Menge der LOOP-berechenbaren Funktionen

f¨allt mit der Menge derprimitiv rekursiven Funktionenzusammen.

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 37/45

Primitiv rekursive Funktionen (1)

I Die primitiv rekursiven Funktionen bilden eine Unterfamilie der Funktionen Nk →Nmitk ≥0.

I Die primitiv rekursiven Funktionen sind induktiv definiert, und k¨onnen im wesentlichen durch zwei Operationen aus den sogenannten Basisfunktionen zusammengebaut werden.

Definition (Basisfunktionen)

Die folgenden drei Funktionsmengen bilden die Basisfunktionen unter den primitiv rekursiven Funktionen:

I Alle konstanten Funktionen sind primitiv rekursiv.

I Alle Projektionen (Abbildungen auf eine der Komponenten) sind primitiv rekursiv.

I Die Nachfolgerfunktions(n) =n+1ist primitiv rekursiv.

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 38/45

Primitiv rekursive Funktionen (2)

Definition

Des weiteren sind die folgenden Funktionen primitiv rekursiv:

I Die Komposition von primitiv rekursiven Funktionen ist primitiv rekursiv.

I Jede Funktion, die durchprimitive Rekursionaus primitiv rekursiven Funktionen entsteht ist primitiv rekursiv.

Wenn die beiden Funktioneng:Nk →Nundh:Nk+2→Nprimitiv rekursiv sind, so ist auch die wie folgt definierte Funktion

f :Nk+1→Nprimitiv rekursiv:

f(0,x1, . . . ,xk) = g(x1, . . . ,xk)

f(n,x1, . . . ,xk) = h(n,f(n−1,x1, . . . ,xk), x1, . . . ,xk)

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 39/45

Zusammenfassung: Berechenbarkeit

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 40/45

(11)

Zusammenfassung / Berechenbarkeit (1)

Wir haben die folgendenTuring-m¨achtigenRechenmodelle und Programmiersprachen kennen gelernt:

I Turingmaschine (TM)

I k-Band-TM

I Registermaschine (RAM)

I eingeschr¨ankte Registermaschine (Mini-RAM)

I WHILE-Programme (und somit C, Java, Pascal, Postscript, etc.) LOOP-Programme sindnicht Turing-m¨achtig.

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 41/45

Zusammenfassung / Berechenbarkeit (2)

Church-Turing-These

Die Menge der TM-berechenbaren Funktionen stimmt mit der Menge der

“intuitiv berechenbaren” Funktionen ¨uberein.

In anderen Worten:

Ein Problem kann genau dann “algorithmisch gel¨ost werden”, wenn es eine TM f¨ur dieses Problem gibt.

An Stelle von “TM” k¨onnen wir auch jedes andere Turing-m¨achtige Rechenmodell in die obigen S¨atze einf¨ugen.

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 42/45

Zusammenfassung / Berechenbarkeit (3)

Berechenbarkeitslandschaft:

Rekursiv aufz¨ahlbare

Probleme

H

H D

Probleme mit rekursiv aufz¨ahlbarem

Komplement H H D Rekursive

Probleme

Unentscheidbare Probleme mit unentscheidbarem Komplement Htot

MPCP PCP

Dioph A(·,·)

primitiv rekursive Probleme

Zusammenfassung / Berechenbarkeit (4)

Wichtige nicht berechenbare Probleme:

I Halteproblem, in verschiedenen Varianten

I Satz von Rice:Aussagen ¨uber Eigenschaften von Funktionen, die durch eine gegebene TM berechnet werden, sind nicht entscheidbar

I Schlussfolgerung:Die automatische Verifikation von Programmen in einer TM-m¨achtigen Programmiersprachen ist unm¨oglich

I Postsches Korrespondenzproblem

I Hilberts 10. Problem

(12)

Zusammenfassung / Berechenbarkeit (5)

Methoden zum Nachweis von Nicht-Berechenbarkeit:

I Diagonalisierung

I Unterprogrammtechnik

I Satz von Rice

I Reduktionen (spezielle Variante der Unterprogrammtechnik)

BuK/WS 2017 VL-12: LOOP und WHILE Programme II 45/45

Referenzen

ÄHNLICHE DOKUMENTE

Das Symbol unterm Kopf wird auf neues Symbol σ ∈ {0, 1, 2} gesetzt, indem man das folgende Programmst¨ uck ausf¨ uhrt:. UntermKopf

Das Symbol unterm Kopf wird auf neues Symbol σ ∈ {0, 1, 2} gesetzt, indem man das folgende Programmst¨ uck ausf¨ uhrt:. UntermKopf

Wir betrachten eine einfache Programmiersprache namens LOOP, deren Programme aus den folgenden syntaktischen Komponenten aufgebaut sind:.. Wir betrachten eine

Wir betrachten eine einfache Programmiersprache namens LOOP, deren Programme aus den folgenden syntaktischen Komponenten aufgebaut sind:.. Wir betrachten eine

Aktueller Zustand steht in der Variablen Zustand Das Symbol unterm Kopf erhalten wir durch den Befehl UntermKopf := BandAbKopf MOD 10.. Simulation von TM durch

I Das Symbol unterm Kopf erhalten wir durch den Befehl UntermKopf := BandAbKopf MOD 10. BuK/WS 2017 VL-11: LOOP und WHILE Programme

• Es gibt totale und (intuitiv) berechenbare Funktionen, die nicht LOOP- berechenbar sind.... Jede WHILE-berechenbare Funktion

• Es gibt totale und (intuitiv) berechenbare Funktionen, die nicht LOOP- berechenbar sind.... Jede WHILE-berechenbare Funktion