Sie sind auf Seite 1von 414

Leitfden der Informatik

Juraj Hromkovic
Theoretische Informatik

Leitfden der Informatik


Herausgegeben von
Prof. Dr. Bernd Becker
Prof. Dr. Friedemann Mattern
Prof. Dr. Heinrich Mller
Prof. Dr. Wilhelm Schfer
Prof. Dr. Dorothea Wagner
Prof. Dr. Ingo Wegener
Die Leitfden der Informatik behandeln
Themen aus der Theoretischen, Praktischen und Technischen Informatik entsprechend
dem aktuellen Stand der Wissenschaft in einer systematischen und fundierten Darstel-
lung des jeweiligen Gebietes
Methoden und Ergebnisse der Informatik, ausgearbeitet und dargestellt aus der Sicht der
Anwendung in einer fr Anwender verstndlichen, exakten und przisen Form.
Die Bnde der Reihe wenden sich zum einen als Grundlage und Ergnzung zu Vorlesungen
der Informatik an Studierende und Lehrende in Informatik-Studiengngen an Hochschulen,
zum anderen an Praktiker, die sich einen berblick ber die Anwendungen der Informa-
tik (-Methoden) verschaffen wollen; sie dienen aber auch in Wirtschaft, Industrie und Ver-
waltung ttigen Informatikern und Informatikerinnen zur Fortbildung in praxisrelevanten
Fragestellungen ihres Faches.
Juraj Hromkovic
Theoretische Informatik
Formale Sprachen,
Berechenbarkeit,
Komplexittstheorie, Algorithmik,
Kommunikation und
Kryptographie
3., berarbeitete und erweiterte Auflage
1. Auflage 2001
2. Auflage 2004
3., berarbeitete und erweiterte Auflage Juni 2007
Prof. Dr. Juraj Hromkovic
Geboren 1958 in Bratislava, Slowakei. Studium der Mathematischen Informatik an der Komensk Uni-
versitt, Bratislava. Promotion (1986) und Habilitation (1989) in Informatik an der Komensk Univer-
sitt. 1990 1994 Gastprofessor an der Universitt Paderborn, 1994 1997 Professor fr Parallelitt
an der CAU Kiel. 1997 2003 Professor fr Algorithmen und Komplexitt an der RWTH Aachen. Seit
2001 Mitglied der Slowakischen Gesellschaft. Seit Januar 2004 Professor fr Informatik an der ETH
Zrich.
Das Buch ist in der ersten Auflage unter dem Titel Algorithmische Konzepte der Informatik erschie-
nen.
Alle Rechte vorbehalten
B.G. Teubner Verlag / GWV Fachverlage GmbH, Wiesbaden 2007
Lektorat: Ulrich Sandten / Kerstin Hoffmann
Der B.G. Teubner Verlag ist ein Unternehmen von Springer Science+Business Media.
www.teubner.de
Das Werk einschlielich aller seiner Teile ist urheberrechtlich ge schtzt. Jede Verwertung
auerhalb der engen Grenzen des Ur heber rechts gesetzes ist ohne Zustimmung des Ver-
lags unzuls sig und straf bar. Das gilt insbesondere fr Vervielfltigungen, bersetzun -
gen, Mikro ver filmungen und die Ein speiche rung und Verarbeitung in elek tro nischen
Sys temen.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk
berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne
der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wren und daher von
jedermann benutzt werden drften.
Umschlaggestaltung: Ulrike Weigel, www.CorporateDesignGroup.de
Druck und buchbinderische Verarbeitung: Strauss Offsetdruck, Mrlenbach
Gedruckt auf surefreiem und chlorfrei gebleichtem Papier.
Printed in Germany
ISBN 978-3-8351-0043-5
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie;
detaillierte bibliografische Daten sind im Internet ber <http://dnb.d-nb.de> abrufbar.
Mit einer Weisheit,
die keine Trgne kennt,
mit einer Philosophie,
die nicht zu lachen versteht,
und einer Gr6t3e,
die sich nicht vor Ki ndern verneigt,
will ich nichts zu t un haben.
Khalil Gi bran
(-
k.
r "
J
Meinen El t ern
~ " ~ ~ - -
Vorwort
Dieses Buch ist eine einfache Einfiihrung in algorithmische Grundkonzepte der
Theoretischen Informatik. Die Theoretische Informatik ist weltweit ein fester
Bestandteil des Informatikstudiums. Im Unterschied zu den ingenieursmgfiig
geprggten Gebieten der Praktischen und der Technischen Informatik hebt die
Theoretische Informatik mehr die naturwissenschaftlichen und mathemati-
schen Aspekte der Informatik hervor. Gerade die mathematische Prggung ist
oft ein Grund daffir, dass die Theoretische Informatik fiir zu schwer gehal-
ten wird und dadurch ein nicht gerade beliebter Teil der Ausbildung ist. Der
Schwierigkeitsgrad der Theoretischen Informatik ist aber meiner Meinung nach
nicht der einzige Grund ihrer Unbeliebtheit, insbesondere wenn die Studieren-
den in ihrer Beurteilung ausserdem noch das Pr~dikat ,,schwach motiviert"
oder sogar ,,langweilig" verwenden. Das k6nnte auch damit zusammenh~ngen,
dass sich die Einfiihrung in die Theoretische Informatik im Grundstudium an
vielen deutschen Hochschulen auf den klassischen Stoff der Berechenbarkeit,
der Theorie der formalen Sprachen und der abstrakten Komplexit~tstheorie be-
schr~nkt. Dass man dabei iiberwiegend nur die Konzepte und Ansichten, die
vor dem Jahr 1970 entstanden sind, vermittelt, diirfte alleine nicht schlimm
sein. Es fiihrt aber oft dazu, dass man mit einer einzigen Motivation zu viele
Vorlesungen der Art Defi ni t i on- Sa t z - Beweis absolvieren muff und so hal-
biert sich die Wichtigkeit dieser Motivation in den Augen der Studierenden
mit jeder weiteren Vorlesung, die ankniipft, ohne eine eigene Motivation zu
bringen.
Um Abhilfe yon diesem Zustand zu schaffen, muff man sich die Entwicklung der
Theoretischen Informatik in den letzten 30 Jahren ansehen. Es geht dabei nicht
nur datum, dass man in dieser Zeit tiefere Resultate und viele neue Konzepte
entwickelt hat, sondern insbesondere darum, dass die Theorie immer mehr auf
die Bediirfnisse der Praxis eingegangen ist. Dadurch sind die Anwendungen
6 Vorwort
der Theorie direkter geworden und die Anschaulichkeit der Motivationen ist
stark gestiegen. Die Theoretische Informatik liefert nicht-triviales Know-How,
das in vielen FS~llen faszinierende und iiberraschende Anwendungen erm6glicht.
Es ist nicht m6glich, in einem Einfiihrungskurs alle derartigen spektakulS~ren
Erkenntnisse zu prS~sentieren, weil einige ein zu tiefes VerstS~ndnis der Materie
fordern, als dass sie im Vordiplom als Ziel gestellt werden k6nnen. Aber es
gibt geniigend Ideen, die in einer Einfiihrung darstellbar sind, und die wesent-
lich die Denkweise eines Informatikers prS~gen k6nnen und sollten. Dieses Buch
ist ein Versuch des Autors, zumindest teilweise seine Vision einer modernen
Einfiihrung in die algorithmischen Gebiete der Theoretischen Informatik zu
realisieren. Dabei folgt er der Richtung, die in der englischsprachigen Li t erat ur
Mike Sipser und in der deutschsprachigen Li t erat ur Ingo Wegener eingeschla-
gen haben, und die im Wesentlichen auf den oben prgsentierten Gedanken
basiert. Die klassischen Teile der Berechenbarkeit und KomplexitS~tstheorie
sind hier reduziert und dafiir einige wichtige Konzepte aus dem Bereich der
Algorithmik, Randomisierung, Kommunikation und Kryptographie eingesetzt.
Die Strategien dieses Buches heifien ,,Einfachheit" und ,,Weniger ist manchmal
mehr". Fiir uns ist die PrS~gung des intuitiven, informellen VerstS~ndnisses der
Materie genau so wichtig wie prS~zise Formalisierung, detaillierte Beweisfiihrun-
gen und Begriindungen. Didaktisch geht das Buch immer langsam yore Ein-
fachen zum Komplizierten vor. Wir versuchen, die Anzahl der Begriffe und
Definitionen zu minimieren, auch wenn wir dadurch auf die PrS~sentation ei-
niger wichtiger Konzepte und Resultate verzichten miissen. Die Idee dahinter
ist, dass es wichtiger ist, die unterschiedlichen konzeptuellen Denkweisen und
Methoden zu prS~sentieren, als ein ,,vollstS~ndiges" Bild einer abgeschlossenen
mat hemat i schen Theorie zu zeichnen. Da die Argumentation in diesem Buch
nicht nur auf der formalen mathematischen Ebene gefiihrt wird, sondern ins-
besondere auf das intuitive Verst~ndnis der Materie baut, ist das Buch auch
als Lehrmaterial fiir Fachhochschulen und Studierende, die Informatik nicht
als Hauptfach studieren, gut geeignet.
Hilfreiche Unterstiitzung Anderer hat zu der Entstehung dieses Lehrbuches
wesentlich beigetragen. Besonderer Dank gilt Dirk Bongartz, Hans-Joachim
B6ckenhauer und Alexander Ferrein fiir sorgfSJtiges Korrekturlesen und zahl-
reiche VerbesserungsvorschlS~ge. Herzlicher Dank geht an Dietmar Berwanger,
Volker Claus, Georg Schnitger, Erich Valkema und Peter Widmayer fiir Be-
merkungen und anregende Diskussionen. Alexander Ferrein und Manuel Wahle
danke ich fiir die sorgfS~ltige Ei nbet t ung des Manuskripts in I_4TEX. Mein tief-
ster Dank gilt Frau Stefanie Laux vom Teubner Verlag fiir die hervorragende
und konstruktive Zusammenarbeit. Herzlichst danke ich Ingrid Z~me~nfkov~
Vorwort 7
fiir die Illustrationen, den einzigen vollkommenen Teil des Buches, und Tanja
fiir ihre Zitatensammlung.
Aachen, 2001. Juraj Hromkovi~
Die K6pfe von Menschen soll man nicht _
mit Fakten, Namen und Formeln fiillen.
Um so etwas zu lernen,
braucht man nicht in die Schule zu gehen.
Der Zweck der Erziehung ist,
dem Menschen das Denken beizubringen,
und so eine Ausbildung, die keine Lehrbiicher ersetzen k6nnen.
A. Einstein
~ . _ J t t t t t t
Vorwort zur zwei t en Auf l age
Es freut mich sehr, dass diese alternative Einfiihrung in die Theoretische Infor-
mat i k so gut yon Kollegen und St udent en angenommen wurde. Ich m6chte hier
zun~tchst allen denen herzlich danken, die Zeit gefunden haben, ihre Meinungen
fiber das Buch sowie einige Verbesserungswiinsche und Erweiterungsvorschl~ge
zu 5~ufiern. Ich habe dieses Buch mit Sorgfalt geschrieben, weil ich wusste, dass
der Inhalt des Buches den Rahmen der traditionellen Vorstellung der Grund-
lagen der Theoretischen Informat i k sprengt. Deshalb habe ich befiirchtet, dass
es viele Kollegen als einen Verstofi gegen iiberwiegend akzeptierte Darstellun-
gender Informat i kgrundl agen im Gr undst udi um bewerten wiirden. Auger den
vielen positiven Komment aren, die meine Sorgen schrumpfen liefien, fand ich
am Erfreulichsten (als eine echte BestS~tigung des Buchkonzeptes), dass die
Leser si ch/ i berwi egend gerade die Erwei t erung der nicht-klassischen Gebiete
wie Randomi si erung und Kommuni kat i on gewiinscht haben. Ich nahm diese
Herausforderung mit Freude an und habe versucht, gleich die erste M6glich-
keit zu nutzen, fiir die zweite Auflage das Buch sorgfS~ltig zu i i berarbei t en und
zu erweitern.
Das Kapitel Randomi si erung wurde um einen neuen Abschni t t erggnzt, der
die Met hode der Fingerabdriicke zum Ent wurf yon zufallsgesteuerten Algorith-
men als einen wichtigen Spezialfall der Anwendung der Met hode der hS~ufigen
Zeugen prS~sentiert. Die Met hode der Fingerabdr/icke wurde an dem randomi-
sierten Aquivalenztest fiir zwei Polynome illustriert.
Im Kapitel Kommuni kat i on und Krypt ographi e kamen zwei neue Abschni t t e
dazu. Der Abschni t t Digitale Unterschriften zeigt eine sehr wichtige kommer-
zielle Anwendung des vorgestellten Konzeptes der Publ i c-Key-Krypt osyst eme.
Dabei machen wir darauf aufmerksam, dass im Rahmen der klassischen Kryp-
Vorwort zur zweiten Auflage
t ographi e keine M6glichkeit besteht, digitale UnterschriRen ohne hohes FS~I-
schungsrisiko zu leisten. Dami t ist das krypt ographi sche Konzept der 6ffent-
lichen Schliissel eine Basis, ohne die man sich heute den sich dynamisch ent-
wickelnden Bereich des E-Commerce gar nicht vorstellen kann. Der zweite neue
Abschni t t zeigt einen Ent wurf eines effizienten Telefonnetzes. Die Zielsetzung
ist dabei, die Probl emst el l ungen und geeignete Met hoden zur L6sung der ge-
stellten Probleme im Bereich der Kommuni kat i on in Netzen am Beispiel eines
eleganten Netzentwurfes zu illustrieren.
Einige Kollegen haben sich gewiinscht, in diesem Lehrmat eri al auch den Be-
weis des Satzes von Cook zu lesen. Obwohl es sich um eines der grundl egenst en
Resul t at e der Informat i k handelt, vertrete ich weiter die Meinung, dass dieses
Resul t at einen zu schweren Beweis fiir das Gr undst udi um besitzt. Trot zdem
habe ich reich entschieden, den Beweis einzufiigen, um dem besonders inter-
essierten St udi erenden die M6glichkeit zu geben, diese grunds~Rzlich wichtige
Beweistechnik kennenzulernen. Da ich diesen Beweis nun ei nbet t en wollte, ha-
be ich versucht, durch eine langsame Entwicklung der Beweisidee den Schwie-
rigkeitsgrad des Beweises zu abzumildern. Deswegen ent st anden drei Seiten
fiber die Beschreibung yon Texten und Spielkonfigurationen durch Boole' sche
Formeln, die als eine Vorberei t ung fiir den Beweis des Satzes yon Cook die-
hen sollen. Nach dieser Einfiihrung konzentriert sich der Beweis nur auf eines,
und zwar wie man die Semantik der Berechnungen durch die Formeln effizient
ausdr/icken kann.
Auger den drei oben beschriebenen Erwei t erungen wurden an vielen Stellen
Korrekt uren und Verbesserungen eingearbeitet, um die Anschaulichkeit und
die Verst~ndlichkeit der Beweise zu erh6hen. Nennenswert sind die neuen gra-
phischen Darst el l ungen zu den Beweisen des Satzes von Rice und der S~ttze
fiber die Anwendung der Kolmogorov-KomplexitS~t in der Theorie der Bere-
chenbarkeit. Eine umfangreiche Liste yon 0bungsauf gaben mit ausgearbei t et en
Musterl6sungen findet man unt er
ht t p: / / www- i 1. infor mat ik. rwt h-aachen, de /Vero effent lichungen / AK dI/ .
Aachen, Okt ober 2003. Juraj Hromkovi~
Wenn du nicht auf das Unerwartete wartest,
findest du nichts Edles,
nichts, was schwer zu finden ist.
Vorwort zur dri t t en Aufl age
H e r a k ~
IL "
Gleich am Anfang m6chte ich reich bei den zahlreichen Kollegen bedanken,
die sich Zeit fiir das Lesen und Komment i eren der zweiten Auflage genom-
men haben. Dabei war der am hSoufigsten geS~ut3erte Wunsch, zusS~tzlich das
Thema Gr ammat i ken zu behandeln. Obwohl dieses Thema bereits sehr gut in
mehreren Lehrbiichern behandel t wurde, 1 enthglt die dri t t e Auflage nun ein
neues Kapitel fiber Gr ammat i ken und die Chomsky-Hierarchie. Somit bietet
dieses Lehrbuch den Dozenten ein fast vollstgndiges Angebot an klassischen
Themen, das durch einige neuere Konzepte bereichert wird. Auf diese Weise
ist dieses Material sowohl fiir die Kollegen geeignet, die sich auf die klassi-
schen Grundl agen der Informat i k konzentrieren, als auch fiir diejenigen, die in
der Ei nfi i hrungsveranst al t ung fiber ,,Theoretische Informatik" nicht-klassische
Gebiete vorstellen wollen.
Das neue Kapitel stellt Gr ammat i ken als Mechanismen zur Erzeugung von
W6r t er n vor, und somit als eine Al t ernat i ve zur endlichen Darstellung von
Sprachen. Die Schwerpunkte liegen auf dem St udi um von kontextfreien Spra-
chen, die von zentralem Interesse fiir den Compi l erbau sind, und auf der Aqui-
valenz zwischen Gr ammat i ken und Turingmaschinen. Das Kapitel fiber Gram-
mat i ken steht ganz am Ende des Buches, aber dies bedeut et nicht, dass man
dieses Thema am Ende der Veranst al t ung prS~sentieren mtisste. Die Teile fiber
regul~re und kontextfreie Gr ammat i ken k6nnen direkt im Anschluss an Kapitel
3 fiber endliche Aut omat en behandel t werden. Nach Kapitel 4 fiber Turing-
maschinen hat man schon alle notwendigen Vorkenntnisse, um das ganze neue
Kapitel zu meistern.
Wi r sind der Meinung, dass es ftir eine erfolgreiche Vorberei t ung auf eine
Priifung notwendig ist, beliebige Teile des Lerntextes inhaltlich korrekt wi-
dergeben zu k6nnen und leichte Abwandl ungen der im Buch vorkommenden
1Dies war auch der Hauptgrund, warum wir auf die Darstellung dieser Thematik in den
ersten zwei Auflagen verzichtet haben.
Vorwort zur dritten Auflage 11
Aufgaben 16sen zu k6nnen. Um die wichtigsten Grundkennt ni sse hervorzuhe-
ben und dem Studierenden eine Selbstkontrolle zu erm6glichen, haben wir die
Zusammenfassungen am Ende der Kapitel um eine Liste yon Kontrollfragen er-
weitert. Wir empfehlen allen Dozenten zusS~tzlich, die genauen Anforderungen
fiir das St udi um gem~if3 ihrer eigene Zielsetzungen schriRlich festzuhalten.
Auger der oben beschriebenen Erweiterung wurden an einigen Stellen Korrek-
t uren und verbesserte ErklSxungen eingearbeitet. In diesem Zusammenhang
m6chte ich reich bei Chri st oph Zimmerli und Laurent Zimmerli fiir ausfiihrli-
ches Korrekturlesen der zweiten Auflage herzlich bedanken. Bester Dank geht
an Hans-Joachi m B6ckenhauer und Julian Tschannen fiir sorgf~tltige Korrektu-
ren des neuen Kapitels und an Mart i n Jaggi und Philipp Zumstein fiir einige
VerbesserungsvorschlS~ge. Bei Nicolas Born und Manuel Wahle bedanke ich
reich fiir ihre Unt erst i i t zung bei der [4TEX-Bearbeitung der dri t t en Auflage.
Besonderer Dank geht an Ulrich Sandt en vom Teubner Verlag fiir eine sehr
gute und konstruktive Zusammenarbei t , in der keine Tabus fiir neue Wege
gegolten haben.
Mein herzlichster Dank geht an Karl Frey. Seine didaktischen Konzepte waren
fiir reich die interessanteste fachdidaktische Ausei nanderset zung und die gr6f3te
didaktische Bereicherung in den letzten drei Jahren.
Ziirich, im Juni 2007 Juraj Hromkovi~
I nhal t
1.1
1.2
1.3
1.4
2.1
2.2
2.3
2.4
2.5
3.1
3.2
3.3
3. 4
3.5
3.6
4.1
4.2
Einleitung 17
I nf or ma t i k als wi s s ens chaRl i che Di szi pl i n . . . . . . . . . . . . 17
Ei ne f as zi ni er ende Theor i e . . . . . . . . . . . . . . . . . . . . 22
Fi i r di e St udi e r e nde n . . . . . . . . . . . . . . . . . . . . . . . 26
Auf ba u des Le hr ma t e r i a l s . . . . . . . . . . . . . . . . . . . . 29
Alphabete, WSrter, Sprachen und Aufgaben 32
Zi el s et zung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Al pha be t e , WSr t e r und Spr a c he n . . . . . . . . . . . . . . . . 33
Al gor i t hmi s c he Pr obl e me . . . . . . . . . . . . . . . . . . . . 45
Kol mogor ov- Kompl e xi t 5~t . . . . . . . . . . . . . . . . . . . . 56
Zus a mme nf a s s ung und Aus bl i ck . . . . . . . . . . . . . . . . . 71
Endliche Automaten 75
Zi el s et zung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Di e Da r s t e l l unge n der endl i chen Aut oma t e n . . . . . . . . . . 76
Si mul a t i one n . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Bewei se der Ni cht exi s t enz . . . . . . . . . . . . . . . . . . . . 99
Ni c ht de t e r mi ni s mus . . . . . . . . . . . . . . . . . . . . . . . 108
Zus a mme nf a s s ung . . . . . . . . . . . . . . . . . . . . . . . . 121
Turingmaschinen 125
Zi el s et zung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Das Model l der Tur i ngma s c hi ne . . . . . . . . . . . . . . . . . 126
14
4. 3
4. 4
4. 5
4. 6
5.1
5. 2
5. 3
5. 4
5. 5
5. 6
5. 7
6.1
6. 2
6. 3
6. 4
6. 5
6. 6
6. 7
7.1
7. 2
7. 3
7. 4
7. 5
7. 6
Inhalt
Me h r b a n d - Tu r i n g ma s c h i n e n u n d Ch u r c h ' s c h e Th e s e . . . . . . 137
Ni c h t d e t e r mi n i s t i s c h e Tu r i n g ma s c h i n e n . . . . . . . . . . . . . 148
Ko d i e r u n g von Tu r i n g ma s c h i n e n . . . . . . . . . . . . . . . . 154
Z u s a mme n f a s s u n g . . . . . . . . . . . . . . . . . . . . . . . . 157
B erechenbarkei t 161
Zi e l s e t z ung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Di e Me t h o d e der Di a g o n a l i s i e r u n g . . . . . . . . . . . . . . . 162
Di e Me t h o d e der Re d u k t i o n . . . . . . . . . . . . . . . . . . . 172
Sa t z von Ri ce . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Da s Po s t ' s c h e Ko r r e s p o n d e n z p r o b l e m . . . . . . . . . . . . . . 190
Di e Me t h o d e der Kol mogor ov- Kompl e xi t S~t . . . . . . . . . . . 199
Zu s a mme n f a s s u n g . . . . . . . . . . . . . . . . . . . . . . . . 203
Kompl exi t~i tstheori e 206
Zi e l s e t z ung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Kompl exi t S~t smaf 3e . . . . . . . . . . . . . . . . . . . . . . . . 208
Ko mp l e x i t s u n d di e Kl a s s e P . . . . . . . . . . . . . 215
Ni c h t d e t e r mi n i s t i s c h e Kompl exi t S~t smat 3e . . . . . . . . . . . . 224
Di e Kl a s s e NP u n d Be we i s ve r i f i ka t i on . . . . . . . . . . . . . 231
NP- Vol l st S~ndi gkei t . . . . . . . . . . . . . . . . . . . . . . . . 236
Zu s a mme n f a s s u n g . . . . . . . . . . . . . . . . . . . . . . . . 259
Al gori t hmi k fiir schwere Probl eme 262
Zi e l s e t z ung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Ps e u d o p o l y n o mi e l l e Al g o r i t h me n . . . . . . . . . . . . . . . . 264
Ap p r o x i ma t i o n s a l g o r i t h me n . . . . . . . . . . . . . . . . . . . 271
Lokal e Suc he . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Si mu l a t e d An n e a l i n g . . . . . . . . . . . . . . . . . . . . . . . 285
Zu s a mme n f a s s u n g . . . . . . . . . . . . . . . . . . . . . . . . 289
I n h a l t 15
8
8.1
8.2
8.3
8.4
8.5
8.6
9
9.1
9.2
9.3
9.4
9.5
9.6
9.7
10
10.1
10.2
10.3
10.4
10.5
10.6
Randomi s i erung 292
Zi el set zung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
El ement ar e Wahr schei nl i chkei t st heor i e . . . . . . . . . . . . . 294
Ei n r andomi s i er t es Kommuni kat i ons pr ot okol l . . . . . . . . . 298
Die Met hode der h~ufi gen Zeugen und der r andomi s i er t e Pr i m-
zahl t est . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Die Met hode der Fi nger abdr i i cke und die Aqui val enz von zwei
Pol ynomen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Zus a mme nf a s s ung . . . . . . . . . . . . . . . . . . . . . . . . 315
Kommuni kat i on und Krypt ographi e 318
Zi el set zung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Kl assi sche Kr ypt os ys t e me . . . . . . . . . . . . . . . . . . . . 319
Publ i c - Ke y- Kr ypt os ys t e me und RSA . . . . . . . . . . . . . . 321
Di gi t al e Unt er s chr i f t en . . . . . . . . . . . . . . . . . . . . . . 327
I nt er akt i ve Bewei ssyst eme und Zer o- Knowl edge- Bewei se . . . 331
Ent wur f eines Kommuni kat i ons net zes . . . . . . . . . . . . . . 336
Zus a mme nf a s s ung . . . . . . . . . . . . . . . . . . . . . . . . 346
Grammat i ken und Choms ky- Hi erarchi e 348
Zi el set zung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Das Konzept der Gr a mma t i ke n . . . . . . . . . . . . . . . . . 350
Regul ~r e Gr a mma t i ke n und endl i che Aut oma t e n . . . . . . . 362
Kont ext f r ei e Gr a mma t i ke n und Ke l l e r a ut oma t e n . . . . . . . 376
Al l gemei ne Gr a mma t i ke n und Tur i ngmas chi nen . . . . . . . . 402
Zus a mme nf a s s ung . . . . . . . . . . . . . . . . . . . . . . . . 405
Li t erat urverzei chni s 408
S achverzei chni s 413
Wenn du ein Schiff bauen willst,
so t romml e nicht M~nner zusammen,
um Holz zu beschaffen,
Auftr/~ge zu vergeben oder Arbeit zu verteilen,
sondern wecke in ihnen die Sehnsucht
nach dem weiten, endlosen Meer!
A. de Saint-Exup6ry
1 Ei nl ei t ung
1.1 Informatik als wissenschaftliche Disziplin
J e d e r , d e r I n f o r m a t i k s t u d i e r t o d e r a u s f i b t , s o l l t e s i c h y o n Z e i t z u Z e i t d i e
F r a g e s t e l l e n , w i e e r d i e I n f o r m a t i k d e f i n i e r e n w f i r d e , u n d w i e e r d i e R o l l e d e r
I n f o r m a t i k i m K o n t e x t a l l e r W i s s e n s c h a f t , a l l g e m e i n e r B i l d u n g u n d d e r t g g l i -
c h e n P r a x i s s i e h t . W i c h t i g i s t d a b e i , d a s s s i c h m i t t i e f e r e m V e r s t ~ n d n i s d e r
N a t u r d e r I n f o r m a t i k a u c h u n s e r e V o r s t e l l u n g f i b e r d i e I n f o r m a t i k w e i t e r e n t -
w i c k e l t . D e s w e g e n i s t e s i n s b e s o n d e r e f f i r d i e S t u d i e r e n d e n i m G r u n d s t u d i u m
s e h r w i c h t i g , d a s s s i e s i c h n a c h j e d e m S e m e s t e r m i t i h r e r e i g e n e n V o r s t e l l u n g
f i b e r I n f o r m a t i k b e s c h ~ f t i g e n . E i n e H i l f e z u e i n e r s o l c h e n A u s e i n a n d e r s e t z u n g
z w i s c h e n e i g e n e r V o r s t e l l u n g u n d n e u e r w o r b e n e n K e n n t n i s s e n s o l l d i e s e E i n -
l e i t u n g b i e t e n . I
Versuchen wir zuerst die Frage ,, Was ist Informatik?" zu beant wor t en. Ei-
ne genaue Spezi fi kat i on einer wi ssenschaft l i chen Di szi pl i n zu geben, ist eine
schwierige Auf gabe, die ma n sel t en vol l st gndi g erfiillen kann. / Jbl i cherwei se
versucht man, I nf or mat i k mi t der fol genden al l gemei nen Aussage zu beschrei -
ben.
,,Informatik ist die Wissenschaft von der algorithmischen Darstel-
lung, Verarbeitung, Speicherung und Obertragung von Informati-
on.
1Man beachte, dass das Folgende nur den pers6nlichen Ansichten und dem Wissensstand
des Autors entspricht und keinen Anspruch auf absolute Wahrheit erhebt.
18 1 Einleitung
Obwohl diese meist akzeptierte Definition der Informatik die Information und
die Algorithmen als die Haupt obj ekt e der Untersuchung der Informatik lest-
legt, und den Umgang mit diesen als Ziel der Untersuchung formuliert, sagt
sie nicht genug fiber die Nat ur der Informatik und fiber die in der Informa-
tik benutzten Methoden aus. Eine weiterfiihrende Frage fiir die K15~rung der
Substanz der Informatik ist die folgende:
,,Zu welchen Wissenschaften kann man die Informatik zuordnen?
Ist sie Metawissenschaft (wie Philosophie und Mathematik), Gel-
steswissenschaft, Naturwissenschaft oder Ingenieurwissenschaft ?"
Die Antwort auf diese Frage klgrt nicht nur das Objekt der Untersuchung, son-
dern sie legt auch die Methodik und die Beitrgge der Informatik fest. Die Ant-
wort ist, dass die Informatik keiner dieser Wissenschaftsgruppen vollstS~ndig
zugeordnet werden kann. Die Informatik besitzt sowohl Aspekte einer Metawis-
senschaft, einer Naturwissenschaft als auch einer Ingenieurwissenschaft. Wir
geben hier eine kurze Begriindung fiir diese Behauptung.
Wie die Philosophie und die Mat hemat i k studiert die Informatik allgemeine
Kategorien wie
Determinismus, Nichtdeterminismus, Zufall, Information, Wahr-
heit, Unwahrheit, Komplexitiit, Sprache, Beweis, Wissen, Kommu-
nikation, Approximation, Algorithmus, Simulation usw.
und tr/~gt zu ihrem Verst/~ndnis bei. Mehreren dieser Kategorien hat die Infor-
matik einen neuen Inhalt und eine neue Bedeutung gegeben.
Eine Naturwissenschaft (ira Unterschied zur Philosophie und Mathematik) stu-
diert konkrete nat/irliche Objekte und Prozesse, best i mmt die Grenze zwischen
M6glichem und Unm6glichem und erforscht die quantitativen Gesetze der Na-
turprozesse. Sie modelliert, analysiert und iiberpriift die Glaubwiirdigkeit er-
zeugter Modelle durch Experimente. Alle diese Aspekte einer Naturwissen-
schaft finden sich auch in der Informatik. Die Objekte sind Information und
Algorithmen (Programme, Rechner) und die Prozesse sind die physikalisch exi-
stierenden Prozesse der Informationsverarbeitung. Versuchen wir dies an der
Entwicklung der Informatik zu dokumentieren.
Die historisch erste wichtige Forschungsfrage der Informatik war die folgende
Frage von philosophischer Bedeutung:
1.1 Informatik als wissenschaftliche Disziplin 19
Existieren wohldefinierte Aufgaben, die man automatisch (dutch
einen Rechner, fernab von der Leistungsfiihigkeit heutiger oder zu-
kiinftiger Rechner) nicht 15sen kann ?
Die Bemiihungen, diese Frage zu beantworten, f~hrten zur Grtindung der In-
formatik als eigenstgndige Wissenschaft. Die Antwort auf diese Frage ist posi-
tiv, und wir kennen heute vi de praktisch relevante Aufgaben, die man gerne
algorithmisch (automatisch) 16sen m6chte, die man aber algorithmisch nicht
16sen kann. Das liegt aber nicht daran, dass bisher niemand einen Algorithmus
(ein Programm) zur L6sung dieser Aufgaben entwickelt hat, sondern dass man
solche Programme nie entwickeln wird, weft ihre Nichtexistenz mat hemat i sch
bewiesen wurde.
Nachdem man Methoden entwickelt hat, um die Aufgaben danach zu klassifi-
zieren, ob f~r sie ein Programm als algorithmische L6sung existiert oder nicht,
stellt man sich folgende naturwissenschaftliche Frage. Wie schwer sind konkre-
te algorithmische A ufgaben? Die Schwierigkeit einer Aufgabe misst man aber
nicht darin, wie schwer ein Programm f~r die Aufgabe zu entwickeln ist, oder
wie umfangreich das Programm ist. Die Schwierigkeit einer Aufgabe misst man
als den Aufwand, den man leisten muss, um die Aufgabe f/ir konkrete Einga-
ben algorithmisch zu 16sen. Man stellte lest, dass es beliebig schwere Aufgaben
gibt, sogar solche, f~r deren L6sung man mehr Energie braucht, als im ganzen
bekannten Universum zur Verfiigung steht. Es existieren also Aufgaben, f~r
deren L6sung man zwar Programme schreiben kann, was aber nichts hilft, weil
ein Lauf eines solchen Programms mehr Zeit ben6tigt, als seit dem Urknall bis
heute vergangen ist. Die blot3e Existenz eines Programms f/ir eine untersuchte
Aufgabe bedeutet also nicht, dass diese Aufgabe praktisch algorithmisch 16sbar
ist.
Die Bemiihungen, die Aufgaben in praktisch 15sbare und praktisch unlSsbare
zu unterteilen, ffihrten zu einigen der faszinierendsten mathematisch-naturwis-
senschaRlichen Erkenntnissen, die in der Informatik entdeckt worden sind.
Als ein Beispiel solcher Resultate k6nnen wir zufallsgesteuerte Algorithmen
betrachten. Die Programme (Algorithmen), wie wir sie benutzen, sind determi-
nistisch. Die Bedeutung des Wortes ,,deterministisch" ist, dass das Programm
und die Problemeingabe vollstgndig die Arbeit des Programms determinieren.
In jedem Augenblick ist in Abhgngigkeit von den aktuellen Daten eindeutig,
was die nS~chste Aktion des Programms sein wird. Zufallsgesteuerte Programme
diirfen mehrere M6glichkeiten fiir die Umsetzung ihrer Arbeit haben; welche
M6glichkeit ausgewghlt wird, wird zufS~llig entschieden. Es sieht so aus, als
ob ein zufallsgesteuertes Programm von Zeit zu Zeit eine Miinze wirft und
20 1 Einleitung
abhS~ngig davon, ob Kopf oder Zahl gefallen ist, eine entsprechende Strategie
fiir die Suche nach dem richtigen Resultat wghlt. Ein zufallsgesteuertes Pro-
gramm hat daher mehrere unterschiedliche Berechnungen fiir eine Eingabe.
Im Unterschied zu deterministischen Programmen, die immer eine zuverlgssi-
ge Berechnung des richtigen Resultats liefern, d~rfen einige Berechnungen des
zufallsgesteuerten Programms auch falsche Resultate liefern. Das Ziel ist, die
Wahrscheinlichkeit einer falschen Berechnung nach unten zu driicken, was in
gewissem Sinne bedeuten k6nnte, dass man versucht, den proportionalen An-
teil der Berechnungen mit falschem Resultat klein zu halten.
Auf den ersten Blick sieht ein zufallsgesteuertes Programm unzuverlgssig ge-
geniiber deterministischen Programmen aus, und man kann fragen, wozu es
gut sein sollte. Es existieren abet Probleme von grofier praktischer Bedeutung,
bei denen der schnellste deterministische Algorithmus auf dem schnellsten heu-
tigen Rechner mehr Zeit zur Berechnung der L6sung brauchen w~rde als die
Zeit, die seit dem Urknall bis heute vergangen ist. Die Aufgabe scheint also
praktisch unl6sbar zu sein. Und dann passiert ein ,,Wunder": ein zufallsgesteu-
erter Algorithmus, der die Aufgabe in ein paar Minuten auf einem gew6hnli-
chen Personalcomputer mit einer Fehlerwahrscheinlichkeit von 1 durch Tau-
send Milliarden 16st. Kann man ein solches Programm ftir unzuverlgssig hal-
ten? Ein deterministisches Programm, das eine Aufgabe in einem Tag be-
rechnet, ist unzuverl~ssiger als unser zufallsgesteuertes Programm, weil die
Wahrscheinlichkeit des Auftretens eines Hardwarefehlers wghrend einer 24-
sttindigen Arbeit viel h6her ist als die Wahrscheinlichkeit einer fehlerhaften
Ausgabe des schnellen zufallsgesteuerten Programms. Ein konkretes Beispiel
von hoher praktischer Bedeutung ist das Problem des Primzahltests. In der
alltS~glichen Anwendung von kryptographischen Public-Key Protokollen muss
man grofie Primzahlen generieren, wobei grog rund 400 Dezimalziffern bedeu-
tet. Alle deterministischen Algorithmen fiir den Pri mzahl t est basieren auf der
/Jberprtifung der Teilbarkeit der gegebenen Zahl n. Aber schon die Anzahl der
Primzahlen kleiner als v ~ f~r eine so grofie Zahl n ist gr6fier als die Anzahl
der Prot onen im bekannten Universum und deshalb sind solche Algorithmen
praktisch uninteressant. Aber es gibt mehrere zufallsgesteuerte Algorithmen,
die den Pri mzahl t est in einigen Minuten auf einem PC realisieren. Ein anderes
spektakulS~res Beispiel ist ein Kommunikationsprotokoll ftir den Vergleich der
Inhalte zweier Datenbanken, die bei zwei weit entfernten Rechnern gespeichert
sind. Man kann mat hemat i sch beweisen, dass jedes deterministische Kommu-
nikationsprotokoll, das die Aquivalenz der Inhalte iiberpriift, ungefS~hr so viele
Bits bei der Kommunikation zwischen beiden Rechnern austauschen muss, wie
die Dat enbank enthglt. Betrachten wir jetzt den Fall, dass die Datenbanken
1.1 Informatik als wissenschaftliche Disziplin 21
eine Gr6fienordnung yon 1012 Bits haben. So viele Bits zu versenden ist ein
grofier Aufwand. Ein zufallsgesteuertes Kommunikationsprotokoll kann diesen
Aquivalenztest mit der Versendung einer Nachricht, die kiirzer als 2000 Bits
ist, realisieren. Die Fehlerwahrscheinlichkeit des Tests ist dabei kleiner als 1 zu
1000 Milliarden.
Warum so etwas iiberhaupt mSglich ist, ist ohne Informatikvorkenntnisse nur
schwer zu erklS~ren. Die Suche nach den wahren Griinden f/Jr die StS~rke der Zu-
fallssteuerung ist aber eine faszinierende mathematisch-naturwissenschaRliche
Forschungsaufgabe. Wichtig zu bemerken ist aber, dass auch hier die Natur
unser bester Lehrmeister sein kann, weil in der Natur mehr zufallsgesteuert
ablS~uft als man glauben wiirde. Informatiker k6nnen viele Beispiele f/Jr Syste-
me geben, bei denen die gew/inschten Eigenschaften und Verhaltensweisen nur
durch das Konzept der Zufallssteuerung erreicht werden kSnnen. In solchen
Beispielen muss jedes deterministische ,,hundert Prozent zuverl~ssige" System
mit dem erwiinschten Verhalten aus Milliarden Teilsystemen bestehen, die alle
richtig miteinander kooperieren miissen. Ein solch komplexes System, bei dem
viele Teilsysteme immer korrekt arbeiten, kann praktisch nicht realisiert wer-
den, und falls ein Fehler auftritt, ist es eine fast unlSsbare Aufgabe, ihn zu fin-
den. Man braucht gar nicht dariiber nachzudenken, wie hoch die Entwicklungs-
und Herstellungskosten eines solchen Systems sein wiirden. Auf der anderen
Seite kann man ein solches System zu geringen Kosten mit dem gewiinschten
Verhalten durch ein kleines zufallsgesteuertes System realisieren, bei dem alle
Funktionen jederzeit iiberpriifbar sind und die Wahrscheinlichkeit eines fehler-
haften Verhaltens so klein ist, dass man sich in der Anwendung keine Sorgen
dariiber machen muss.
Trotz der naturwissenschaRlichen Aspekte der Informatik, die wir gerade il-
lustriert haben, ist die Informatik fiir die meisten Informatiker eine typi-
sche anwendungs- und problemorientierte Ingenieurwissenschaft. Die Informa-
tik umfasst nicht nur die technischen Aspekte des Engineering, wie
Organisation des Entwicklungsprozesses (Phasen, Meilensteine,
Dokumentation), Formulierung von strategischen Zielen und Gren-
zen, Modellierung, Beschreibung, Spezifikation, Qualitiitssicherung,
Testen, Einbettung in existierende Systeme, Wiederverwendung und
Werkzeugunterstiitzung,
sondern auch die Managementaspekte wie z.B.
Teamorganisation und-leitung, Kostenvoranschlag und Kostenauf-
schliisselung, Pl anung, Produktivit~t, Qualitiitsmanagement,
22 1 Einleitung
A bschiitzung von Zeitrahmen und Fristen, Zeit zur Markteinfiihrung,
Vertragsabschluss und Marketing.
Eine Informatikerin oder ein Informatiker sollte auch ein echter pragmat i -
scher Praktiker sein. Bei der Konst rukt i on von sehr komplexen Software- oder
Hardwaresystemen muss man oft die Entscheidung gefiihlsm~i3ig beztiglich ei-
gener Erfahrung treffen, weil man keine Chance hat, die komplexe RealitS~t
vollstS~ndig zu modellieren und zu analysieren.
Wenn man sich das, was wir bisher fiber die Informatik geschildert haben,
durch den Kopf gehen 15~sst, k6nnte man den Eindruck bekommen, dass das
Studium der Informatik zu schwer ist. Mathematikkenntnisse sind erforderlich
und die naturwissenschaftlichen sowie die ingenieurm~i3igen Aspekte des Den-
kens sind gleichermat3en erwiinscht. Das mag stimmen, aber das ist auch der
grSfite Vorteil dieser Ausbildung. Die grSftte Schwgche heutiger Wissenschaft
ist eine zu enge Spezialisierung, die dazu f/ihrt, dass sich viele Wissenschaften
zu unabh~ngig voneinander entwickelt haben. Die Wissenschaften entwickel-
ten eigene Sprachen, die oft sogar ftir benachbarte Wissenschaften nicht mehr
verst~ndlich sind. Es geht so weit, dass die standardisierte Art der Argumenta-
tion in einer Wissenschaft in einer anderen Wissenschaft als eine oberflS~chliche
und unzulS~ssige Begrtindung eingestuft wird. Das macht die propagierte inter-
disziplin~re Forschung ziemlich schwierig. Die Informatik ist in ihrem Kern
interdisziplin~r. Sie orientiert sich an der Suche nach ProblemlSsungen in al-
len Bereichen des wissenschaftlichen und allt~iglichen Lebens, bei denen man
Rechner anwendet oder anwenden k6nnte, und bedient sich dabei eines breiten
Spektrums yon Verfahren, das yon prS~zisen formalen Methoden der Mathe-
mat i k bis hin zum erfahrungsmS~tJigem ,,Know-How" der Ingenieurdisziplinen
variiert. Die M6glichkeit, gleichzeitig unterschiedliche Wissenschaftssprachen
und Arten des Denkens zusammenh~ingend in einer Disziplin zu erlernen, ist
das Wichtigste, was die Informatikabsolventen in ihrer Ausbildung bekommen
sollen.
1. 2 Ei ne f a s z i ni e r e nde The o r i e
Dieses Buch ist der elementaren Einfiihrung in die algorithmischen Gebiete der
Theoretischen Informatik gewidmet. Die Theoretische Informatik ist eine fas-
zinierende Wissenschaftsdisziplin, die durch spektakulSze Ergebnisse und hohe
InterdisziplinaritS~t wesentlich zur Entwicklung unserer Weltanschauung beige-
tragen hat. Statistisch gesehen gehSrt aber die Theoretische Informatik nicht
1.2 Eine faszinierende Theorie 23
gerade zu den LieblingsfS~chern der Studierenden.Viele Studierende bezeichnen
die Theoretische Informatik sogar als eine Htirde, die man tiberwinden muss,
um ein Diplom-Informatiker zu werden. Ftir diese Einstellung gibt es sicherlich
mehrere Griinde. Ein Grund dafiir ist, dass die Theoretische Informatik von
allen Informatikbereichen am stS~rksten mat hemat i sch geprS~gt ist, und so einen
h6heren Schwierigkeitsgrad besitzt. Dazu kommt oft noch, dass die Studieren-
den mit einer falschen Vorstellung fiber das Informat i kst udi um anget ret en sind
und dass wir, die Dozenten der Informatik, nicht immer die theoretischen Ver-
anst al t ungen at t r akt i v genug verkaufen. Zuviel Druck auf eine saubere Darstel-
lung der kleinsten technischen Details von mat hemat i schen Beweisen und zu
wenig Raum ftir Motivationen, Zusammenhgnge, informelle Ideenentwicklung
in geschichtlichem Rahmen und direkten Anwendungsm6glichkeiten k6nnen
das St udi um auch der faszinierendsten Wissenschaftsgebiete versguern.
In der obigen Beschreibung der Informatik als einer Wissenschaft mit vielen
Gesichtern haben wir schon indirekt die Wichtigkeit der Theoretischen Infor-
mat i k dargestellt. Weil es aber noch weitere wichtige Gr/inde fiir die Unver-
zichtbarkeit des Studiums der Theoretischen Informatik in der Informatikaus-
bildung gibt, m6chten wir die wichtigsten systematisch auflisten.
1. Philosophische Tiefe
Die Theoretische Informatik erforscht Kenntnisse und bildet neue Konzepte
und Begriffe, die die ganze WissenschaR in ihren tiefsten Grundl agen beein-
ttusst. Die Theoretische Informatik gibt partielle oder vollst~ndige Ant wort en
auf Fragen philosophischer Tiefe wie
9 Existieren Probleme, die nicht aut omat i sch (algorithmisch) 16sbar sind?
Falls ja, wo liegt die Grenze zwischen aut omat i sch L6sbarem und auto-
matisch Unl6sbarem?
9 Wie kann man ein zuf~lliges Obj ekt definieren?
9 K6nnen nichtdeterministische und zufallsgesteuerte Prozesse etwas, was
die deterministischen nicht k6nnen? Ist Nichtdeterminismus und Zufall
starker (etIizienter) als Determinismus?
9 Wie kann man die Schwierigkeit von Aufgaben definieren?
9 Wo ist die Grenze der ,,praktischen" aut omat i schen L6sbarkeit?
9 Was ist ein mat hemat i scher Beweis, und ist es schwerer, mat hemat i sche
Beweise algorithmisch zu finden, als gegebene Beweise algorithmisch auf
Korrektheit zu tiberprtifen?
Wichtig ist dabei zu bemerken, dass viele dieser Fragestellungen eigentlich ohne
die formalen Konzepte der Algorithmen und Berechnungen nicht formulierbar
24 1 Einleitung
waren. So hat die Theoretische Informatik die Sprache der Wissenschaften auch
urn neue Begriffe bereichert und dadurch zur Entwicklung der WissenschaRs-
sprache beigetragen. Mehrere bekannte Grundkategorien der Wissenschaft wie
Determinismus, Zufall und Nichtdeterminismus haben neue Bedeutung gewon-
hen, und so wurden unsere allgemeinen Ansichten tiber die Welt beeinflusst.
2. Praxisniihe und spektakul~re Ergebnisse
Die Theoretische Informatik ist praxisrelevant. Auf der einen SeRe liefert sie
Erkenntnisse methodologischer Natur, die unsere erste grobe Entscheidung bei
der Bearbeitung von algorithmischen Aufgaben steuern. Auf der anderen Seite
liefert sie Konzepte und Methoden, die direkt praktisch umsetzbar sind, und
ohne die viele Anwendungen unmSglich w~ren. Neben dem schon erw~hnten
Konzept des zufallsgesteuerten Algorithmus existieren noch viele andere ,,Wun-
der", die in der Theoretischen Informatik entstanden sind. Es gibt schwere Op-
timierungsprobleme, bei denen man durch eine AbschwS~chung der Forderung,
eine optimale LSsung zu liefern, einen gewaltigen Sprung von einer unrealisier-
baren Menge von Rechnerarbeit zu einer Angelegenheit von ein paar Minuten
springen kann. Dabei braucht die Abmilderung der Forderung oft nicht grog
zu sein. Wir diirfen die Berechnung einer LSsung fordern, deren Qualitgt nur
sehr wenig yon der Qualit~t einer optimalen LSsung abweicht. Wiirden Sie
glauben, dass es mSglich ist, j emanden vom Besitz eines Geheimnisses (z.B.
eines Passwortes) zu tiberzeugen, ohne ein einziges Bit der Information fiber
dieses Geheimnis zu verraten? Wiirden Sie glauben, dass zwei Personen in ei-
nero GesprS~ch bestimmen k6nnen, wet von ihnen 5~lter ist, ohne dem anderen
das eigene Alter zu verraten? W/irden Sie glauben, dass man mathematische
Beweise von mehreren tausend Seiten Lgnge fast mit hundertprozentiger Zu-
verl~ssigkeit auf Korrektheit tiberpr~fen kann, obwohl man diese gar nicht liest
und nut einige wenige zufS~llig ausgewS~hlte Bits (Buchstaben) des Beweises an-
sieht? Alles das, was wit oben erwS~hnt haben, ist m6glich. Dies zeigt nicht nur,
dass man dank der Theorie Dinge realisieren kann, die man vorher vielleicht
fiir unm6glich gehalten hat, sondern auch, dass die Forschung in der Theoreti-
schen Informatik voller Spannung und Uberraschungen ist, und dass man auch
mit Theoretischer Informatik begeistern kann.
3. Lebensdauer von Kennt ni ssen
Durch die schnelle Entwicklung der Technologien 5~ndert sich die Welt der
berufs-praktischen Informatik stS~ndig. Die HS~lfte der dort erworbenen Kennt-
nisse fiber Produkt e ist in fiinf Jahren so veraltet, dass man mit ihnen nichts
mehr anfangen kann. Daher gS~be ein Studium, das sich iiberproportional dem
Wissen fiber Produkt e widmet, keine hinreichende Berufsperspektive. Auf der
anderen Seite haben die Konzepte und Methoden der Theoretischen Informatik
im Durchschnitt eine wesentlich l~ngere Lebensdauer von mehreren Jahrzehn-
1.2 Eine faszinierende Theorie 25
ten. Ein Absolvent der Informatik kann auf dieses Know-How lange aufbauen.
4. I nt evdi szi pl i nari t i i t
Die Theoretische Informatik ist stark interdisziplinSz und kann sich in vielen
spannenden Gebieten an Forschung und Entwicklung beteiligen. Genompro-
jekte, medizinische Diagnostik, Optimierung in allen Gebieten der Wirtschaft
und technischen Wissenschaften, automatische Spracherkennung und Welt-
raumforschung sind nur einige Beispiele eines grofien Spektrums von M6glich-
keiten. Neben diesen wesentlichen BeitrS~gen der Informatik fiir andere Wis-
senschaften gibt es auch M6glichkeiten yon faszinierenden BeitrS~gen anderer
WissenschaRen f/Jr die Informatik. Das Studium der Berechnungen auf der
Ebene der Mikroteilchen, die den Gesetzen der Quantenmechanik folgen, hat
als Haupt t hema die Fragestellung, ob man in der Mikrowelt gewisse Berech-
nungen (AufgabenlSsungen) effizient realisieren kann, die in der Makrowelt
nicht effizient realisierbar sind. Das theoretische Modell eines Quantenrechners
ist bereits ausgearbeitet, aber die M6glichkeit einer praktischen Realisierung
ist fiir Physiker eine grot3e Herausforderung mit unbekanntem Ausgang. Un-
abh~tngig davon, ob dieses Proj ekt Erfolg haben wird, sind die Gesetze der
Mikrowelt so tiberraschend und so kontraintuitiv fiir die Menschen, die ihre
Erfahrungen in der Makrowelt gesammelt haben, dass man noch mit vielen
,,Wundern" durch die Anwendung der Kenntnisse der Quantentheorie rechnen
muss. Schon heute ist klar, dass man in der Mikrowelt sicher kommunizie-
ren kann, da jeder Versuch, die Kommunikation abzuhSren, sofort vom Sender
entdeckt und abgewehrt werden kann. Ein anderes spannendes Gebiet ist das
Rechnen mit DNS-Molekiilen. DNS-Molek/ile sind InformationstrS~ger und da-
her sollte es nicht iiberraschen, dass man sie zur Informationsspeicherung und
-iibertragung benutzen kann. Heute wissen wir schon, dass man durch che-
mische Operationen auf DNS-Molekiilen die Arbeit von Rechnern nachahmen
kann. Dies ist nicht nur theoretisch klar, mehrere solcher Simulationen yon
Berechnungen durch DNS-Molekiile wurden schon in Laboratorien realisiert.
Es ist nicht auszuschliefien, dass eines Tages einige DNS-Molekiile die ganze
Arbeit eines Rechners iibernehmen kSnnen.
5. Denkwei s e
Die Mat hemat i ker begr/inden die Sonderrolle der Mat hemat i k in der Ausbil-
dung mit der Entwicklung, Bereicherung und PrS~gung einer Denkweise, die der
allgemeinen Entwicklung einer PersSnlichkeit zugute kommen sollte. Falls die-
ser Beitrag der Mat hemat i k anerkannt wird, dann muss man die Wichtigkeit
der Informatik fiir die allgemeine Bildung und die Bereicherung um neue Denk-
weisen in gleichem Mage akzeptieren. WS~hrend sich in letzter Zeit die Mathe-
matikausbildung leider zu stark auf das Erlernen yon korrekter Beweisfiihrung
reduziert hat, fSrdert die Theoretische Informatik auch die Modellierung der
26 1 Einleitung
RealitS~t und die Suche nach Konzept en und Met hoden zur L6sung konkreter
Probleme. In Verbindung mit dem pragmat i schen Denken eines gut en Prakt i -
kers ist dies das Wesentliche, was das St udi um den Informatikern bieten kann.
1.3 Fiir di e St udi erenden
Dieses Buch ist in erster Linie fiir Sie best i mmt . Der Sinn des Buches ist nicht
nur, Ihnen einige grundlegende Konzepte der Informat i k zu vermitteln, sondern
es ist auch ein Versuch, Sie ftir die Informatik zu begeistern. Wie weit diese
Zielsetzungen erfiillt werden, bleibt Ihnen zu beurteilen.
In den ersten Teilen dieses Kapitels habe ich versucht, Sie davon zu iiberzeu-
gen, dass Informatik eine faszinierende Wissenschaft ist, eine Wissenschaft, die
einem sehr viel Spar3, Spannung und Freude bereiten kann. Dass es viele Leute
gibt, die die Arbei t in der Theoretischen Informatik richtig genief3en, m6chte
ich an einigen miindlich iiberlieferten (m6glichen) Ausschni t t en aus den Lehr-
und Forschungsveranst al t ungen eines meiner Freunde illustrieren.
9 ,,Und wenn sich dieser verdammt e Fehlerfaktor dann immer noch nicht unt er
0, 5 dr/icken 15~sst, dann werden wir andere Saiten aufziehen. Der wird es noch
bereuen, sich in mein Lernmodell get raut zu haben. "
9 ,,Also heute haben wir so ein Epsilon in die Knie gezwungen. Da war was
am Dampfen, sag ich Euch. Erst haben wir eine Approxi mat i on draufgehetzt.
Erst hat es j a noch ein bisschen gezuckt. Aber dann haben wi r e s mit einer
semidefiniten Mat ri x st umpf erschlagen. Es war herrlich!"
9 ,,Ihr sagt es, kein popliges, dahergelaufenes Lambda vergreift sich an unse-
rein My, ohne dafiir zu bezahlen. Wi r machen es so richtig fertig. Es wird gar
nicht wissen, wie ihm geschieht."
Halten Sie solche Emot i onen zu einem mat hemat i sch geprS~gten Thema fiir
iibertrieben? Ich nicht. Es ist ein riesiger Spat3, in einer solchen Vorlesung
sitzen zu dtirfen, und man begreift gleich, wo die Schwierigkeiten, mit denen
man zu kS~mpfen hat, liegen. Die Emot i onen in Lehre und Forschung sind der
Haupt ant ri eb. Wenn Sie eine emotionale Beziehung zu einem Lehrt hema ent-
wickeln k6nnen, sind sie schon auf der Erfolgstour. Wenn Sie bisher noch keine
emotionale Beziehung zu irgendeinem Gebiet der Informat i k gefunden haben,
ist es h6chste Zeit, sich auf die Suche zu begeben. Falls die Suche erfolglos blei-
ben sollte, wS~re es angemessen, die Suche auf Wissenschaftsdisziplinen oder
Akt i vi t ~t en aut3erhalb der Informatik zu erweitern.
1.3 Fiir die Studierenden 27
Dieses Buch ist einigen Teilen der Theoretischen Informat i k gewidmet. War um
hglt man das St udi um der Theoretischen Informatik fiir schwer? Es existiert
kein leichter Weg zu einem tieferen VerstS~ndnis und zur Beherrschung von
Methoden, die eindrucksvolle Anwendungen haben. Das sollte aber nieman-
den iiberraschen. Wenn j emand 100 Meter unt er 10 Sekunden laufen oder fiber
8 Meter weit springen mSchte, muss er auch lange Jahre ein ziemlich hart es
Training absolvieren. Immer wenn man etwas Besonderes erreichen will, muss
man etwas Besonderes dafiir tun. Eine Wissenschaft zu erlernen ist keine Aus-
nahme, und vielleicht haben Sie noch zusS~tzlich die Motivationsschwierigkeit,
dass Sie das Ziel wS~hrend der Bemiihung noch nicht genau sehen und seinen
Wert nicht abschgtzen kSnnen. Es wird also viel Ausdauer gefordert und ins-
besondere Bereitschaft, jedes Thema viele Male zu iterieren, um ein immer
tiefer gehendes Verst~ndnis fiir die Zusammenhgnge zu entwickeln.
Dieses Buch soll Ihnen helfen, den Einstieg in die algorithmischen Teile der
Theoretischen Informat i k zu erleichtern. Dazu benut zen wir folgende drei Kon-
zepte:
1. Einfachheit und Anschaulichkeit
Wi r erkl~ren alles, was einfach zu erkl~tren ist, auch einfach. Wi r vermeiden
unn6tige mat hemat i sche Abst rakt i onen, wit versuchen also so konkret zu sein,
wie es nur geht. Dadurch schaffen wit den Einstieg mit elementaren Kennt-
. o
nissen der Mat hemat i k. Bei allen komplizierteren Uberl egungen und Bewei-
sen erkl~tren wit zuerst die Zusammenh~tnge und Ideen auf eine anschauliche
und informelle Weise und gehen erst dann zu formalen Begriindungen fiber.
An mit 9 gekennzeichneten Stellen empfehlen wit den Fachhochschul st udent en
und Nicht-Informatikern, auf die formalen Beweise zu verzichten. Aufierdem
kSnnen diese Gr uppen zum Beispiel auf den technischen Umgang mit dem for-
malen Modell der Turing-Maschine im Teil Berechenbarkeit verzichten, und das
Verst~tndnis der Grundl agen der Theorie der Berechenbarkeit fiber die Argu-
ment at i on auf der Ebene von Pr ogr ammen (in beliebiger Programmi ersprache)
erreichen.
Die Anschaulichkeit ist uns wichtiger als die Present at i on der best en bekannt en
Ergebnisse. Wenn wit die Met hoden und Beweisideen leichter mit schw~cheren
Resul t at en erkl~tren k6nnen, dann ziehen wit die Darst el l ung solcher Resul t at e
der technischen und schwer durchschaubaren Present at i on st~rkerer Resul t at e
vor.
Im ganzen Buch folgen wir der Linie, stufenweise mit kleinen Schritten vom
Einfachen zum Komplizierten zu gehen, und vermeiden so Gedankenspriinge.
2. ,, Weniger ist manchmal mehr" oder eine kontextsensitive Darstellung
Viele Studienplgne und Lehrbiicher gehen von der falschen Vorstellung aus,
28 1 Einleitung
dem Leser in erster Linie ein gewisses Quantum an Information liefern zu
mfissen. In der Vorlesung oder in den Lehrmaterialien spielt man dann ein
falsches Optimierungsspiel- in minimaler Zeit so viele Kenntnisse und Resul-
tate wie m6glich zu vermitteln. Dies fiihrt oft zur Pr/~sentation einer grofJen
Menge von einzelnen Resultaten, die zu isoliert wirken. Dabei geht der Kontext
der ganzen Veranstaltung verloren.
Die Philosophie dieses Buches ist eine andere. Wit wollen die Denkweise der
Studierenden prggen. Deswegen ist uns die Anzahl der prgsentierten Resulta-
te nicht so wichtig. Wit konzentrieren uns auf die historische Entwicklung der
informatischen Konzepte und Denkweisen, und die Prgsentation von Definitio-
nen, Resultaten, Beweisen und Methoden ist nur ein Mittel, um dieses Ziel zu
erreichen. Deswegen nehmen wit gerne die Reduktion der Masse des Lernstof-
fes urn 20- 30% im Vergleich zu standardisierten Vorlesungen in Kauf. Darer
widmen wit mehr Zeit den Motivationen, Zielsetzungen und Zusammenhgngen
zwischen der Praxis und den theoretischen Konzepten und insbesondere dem
inneren Kontext der entwickelten Theorie. ginen besonderen Schwerpunkt le-
gen wit auf die Bildung neuer Begriffe. Es ist nicht so, wie es vielleicht in
einigen Vorlesungen mathematischer Natur aussehen k6nnte, dass die Termi-
nologie vom Himmel gefallen ist. Die formal definierten Terme sind immer eine
Approximation oder eine Abstraktion intuitiver Begriffe, deren Formalisierung
wir brauchen, urn iiberhaupt exakte Aussagen fiber gewisse Objekte und gr-
scheinungen formulieren zu k6nnen, und um die Realisierung einer formal sau-
beren und eindeutigen Argumentation (Beweisfiihrung) zu erm6glichen. Wit
bemiihen uns hier, die Griinde zu erlgutern, warum man die Begriffe so wie
hier und nicht anders formalisiert hat und wo die Grenzen ihres Nutzens liegen.
3. Unterstiitzung iterativer Arbeitsweise
An diese Strategie ist auch der Aufbau des Buches angepasst, die wiederhol-
tes Nachdenken fiber prS~sentierte Konzepte fSrdert. Jedes Kapitel fS~ngt mit
dem Unterkapitel ,,Zielsetzungen" an, in dem das Lernziel des Kapitels in allen
Zusammenh~ngen erl~utert wird. Der Kern des Kapitels ist dann der Formali-
sierung der Ideen durch theoretische Konzepte und dem Studium im Rahmen
dieser Konzepte gewidmet. Bei jedem wesentlichen neuen Schritt wird auf die
wichtigsten ZusammenhS~nge mit deren Zielsetzungen aufmerksam gemacht.
Jedes Kapitel endet mit einer kurzen Zusammenfassung und einem Ausblick.
Dort werden noch einmal die wichtigsten Kenntnisse des Kapitels informell
wiederholt und in Zusammenhang mit anderen Teilen der Theorie gebracht.
Hier werden auch weitere Entwicklungen der theoretischen Konzepte und aus
der Literatur bekannte tiefgreifende Resultate kurz erwS~hnt. Die Entfernung
des Wissenstandes von den angestrebten Forschungszielen wird auch disku-
tiert.
1.4 Aufbau des Lehrmaterials 29
Wie iiblich wird das Erlernen des Buchinhaltes durch (~bungen unterst/itzt.
Die (Jbungen befinden sich hier nicht in einem gesonderten Kapitel, sondern
sind direkt an den Stellen des Textes eingefiigt, wo es am passendsten ist, fiber
sie nachzudenken. Sie dienen zur (Jbung der Anwendungen der prgsentierten
Methoden sowie zur Vertiefung des Verstgndnisses des Lernstoffes.
Das Ziel des Autors ist nicht nur, die Informatik als eine faszinierende Wissen-
schaft vorzustellen, sondern Ihnen auch eine preiswerte Eintrittskarte in die
algorithmischen Gebiete der Informatik anzubieten. Die Voraussetzungen fiir
die Anwendung dieser Karte sind minimal. Erfahrungen mit der Programmie-
rung im Umfang eines Semesters und elementare Kenntnisse der Mathematik
sind hinreichend. Die Kenntnisse von Standardvorlesungen wie Rechnerstruk-
turen und Algorithmen und Datenstrukturen sind zwar nicht notwendig, aber
sehr hilfreich fiir das VerstSmdnis konzeptueller Zusammenhgnge.
1. 4 Au f b a u des Le hr ma t e r i a l s
Auger dieser Einleitung umfasst das Buch acht weitere Kapitel. Kapitel 2 und
3 dienen als Einstieg. In ihnen lernt man die Sprache und Ausdrucksweisen der
Theoretischen Informatik. Das Resultat der Arbeit eines Rechners kann man
immer als eine Transformation eines Textes in einen anderen Text verstehen,
weil wir die Eingaben und Ausgaben als Texte darstellen. Kapitel 2 legt die
Grundlagen fiir den Umgang mit Texten und benutzt sie, um die formale
Spezifikation algorithmischer Aufgaben zu entwickeln. Aufierdem beschgftigt
sich Kapitel 2 mit der Frage, wie man die Menge des Informationsgehaltes
eines Textes messen kann, und wann man einen Text (ein Objekt) als zufgllig
betrachten kann.
Kapitel 3 stellt die endlichen Automaten als das einfachste Modell von Be-
rechnung vor. Das Ziel ist dabei nicht der Einstieg in die Automatentheorie,
sondern nur eine Vorbereitung fiir die Definition eines formalen Modells yon
Algorithmen (Programmen). Wir nutzen endliche Automaten, um eine erste
einfache Vorstellung der Kernbegriffe der Informatik wie Zustand und Kon-
figuration eines Berechnungsmodells, Berechnung, Berechnungsschritt, Deter-
minismus, Nichtdeterminismus, BeschreibungskomplexitS~t und Simulation zu
vermitteln. Diese erleichtert es uns spS~ter, das Verstgndnis dieser Begriffe fiir
das allgemeine Modell der Turing-Maschine zu gewinnen.
Kapitel 4 ist der Turing-Maschine als dem theoretischen Grundmodell des
intuitiven Begriffes Algorithmus gewidmet. Weil der technische Umgang mit
30 1 Einleitung
Turing-Maschinen einer Programmi erung im Maschinencode eines Rechners
entspricht, versuchen wir diesen Teil auf das Notwendigste ftir das Verst~ndnis
und den Umgang mit den oben erwSohnten Grundbegriffen zu beschrS~nken.
Kapitel 5 beschgftigt sich mit der Theorie der Berechenbarkeit. Hier stellen wir
uns die Frage, welche A ufgaben man algorithmisch (automatisch) 15sen kann
und welche nicht, und prS~sentieren einige Methoden, mit deren Hilfe wir diese
Frage ffir einige konkrete Aufgaben beantworten. Hier arbeiten wir auf zwei
Ebenen. Die erste Ebene f/ihrt die Argument at i on nut anhand eines intuitiven
VerstSondnisses des Begriffes Programm, die zweite Ebene argumentiert formal
fiber Turing-Maschinen.
Kapitel 6 ist der Komplexitgtstheorie gewidmet. Hier stellt man sich die Fra-
ge, wie man die Schwierigkeit algorithmischer A ufgaben misst, und ob es be-
liebig schwere algorithmisch 15sbare Aufgaben gibt. Die Schwierigkeit (Berech-
nungskornplezitiit) messen wit als die zur LSsung algorithmischer Aufgaben
notwendige Menge der Rechnerarbeit. Zuerst prS~sentieren wit einige wichti-
ge Grundkenntnisse, auf deren formale Beweise wir wegen ihres Schwierig-
keitsgrades in diesem Kurs verzichten. Danach zeigen wir das Konzept der
NP-VollstS~ndigkeit als eine Methode zur Klassifizierung algorithmischer Auf-
gaben in einfache (praktisch 16sbare) und schwere Aufgaben. Das Konzept
basiert auf dem Studium der Beziehung zwischen nichtdeterministischen und
deterministischen Berechnungen, welches eines der Kernforschungsthemen der
Theoretischen Informatik ist. In gewissem Rahmen zeigen wir, dass die Schwie-
rigkeit (KomplexitS~t), etwas nichtdeterministisch zu 16sen, der Schwierigkeit
einer Korrektheitspriifung (Verifikation) eines mat hemat i schen Beweises und
die deterministische Art, L6sungen zu suchen, der Erzeugung mathematischer
Beweise entspricht. Daher ist die Frage, ob nichtdeterministische Berechnun-
gen effizienter als deterministische sein k6nnen, ~quivalent zu der Frage, ob es
einfacher ist, einen gegebenen Beweis zu verifizieren, als ihn zu erzeugen.
Kapitel 7 beschSfftigt sich mit der Algorithmentheorie. 2 Dieses Kapitel ist eine
Fortsetzung des Kapitels 6 und stellt folgende Frage: Was kann man mit Auf-
gaben machen, die so schwer sind, dass der beste Algorithmus Jahre brS~uchte,
um diese zu 16sen? Hier prS~sentieren wit AnsS~tze wie pseudopolynornielle Algo-
rithrnen, lokale Suche, Approzirnationsalgorithrnen und Heuristiken wie Sirnu-
lated Annealing, die in der Praxis solche Probleme oft bewgltigen. Wi t erklgren
die methodologischen Grundlagen solcher Methoden, die darauf basieren, dass
man durch kleine Anderungen der L6sungsanforderungen oder Aufgabenspezi-
2Dabei handelt es sich nicht um die Teile der Vorlesung Algorithmen nnd Datenstrnktnren
oder der klassischen Vorlesung tiber Algorithmen.
1.4 Aufbau des Lehrmaterials 31
fikation einen gewaltigen Sprung yon einer physikalisch unrealisierbaren Menge
von Arbeit zu einer Angelegenheit von ein paar Minuten macht. Zum Beispiel
k6nnen Approximationsalgorithmen gewaltige KomplexitS~tsspriinge erm6gli-
chen. Dort weicht man vonder Forderung ab, eine optimale L6sung zu berech-
nen, und geht fiber zur Berechnung einer L6sung, deren Qualits~t sich vonder
Qualitgt einer optimalen L6sung nicht allzu viel unterscheidet.
Im Fall der schon in Abschnitt 1.1 erwghnten zufallsgesteuerten Algorithmen
ist man von der Forderung nach richtigen L6sungen mit hundertprozentiger
Sicherheit zu der schwgcheren Forderungen der Korrektheit mit grofier Wahr-
scheinlichkeit iibergegangen. Das Konzept der Randomisierung (Zufallssteue-
rung) geh6rt zweifellos zu den Basiskonzepten der in Kapitel 7 prgsentierten
Algorithmik. Weil es heute von essentieller Bedeutung f/Jr viele theoretische
und praktische Kernbereiche der Informatik ist, widmen wir diesem Konzept
aber ein eigenes Kapitel 8. Hier beschrgnken wir uns aber nicht nur auf die
PrS~sentation einiger eindrucksvoller Beispiele von effizienten zufallsgesteuer-
ten Algorithmen wie z.B. den randomisierten Primzahltest. Wir versuchen
dem Leser auch die Griinde fiir den Erfolg der zufallsgesteuerten Algorithmen
wenigstens teilweise zu erlgutern. In diesem Rahmen stellen wir die Methode
der hgufigen Zeugen und die Methode der Fingerabdrticke als grundlegende
Paradi gmen des Entwurfes von zufallsgesteuerten Algorithmen vor.
Das Kapitel 9 ist Kommunikationsaufgaben gewidmet. Besonders in den letz-
ten Jahren hat die Entwicklung der Technologie die Ubert ragung von riesigen
Mengen von Dat en und Gesprgchen erm6glicht. Deswegen sind die algorithmi-
schen Ansgtze zur L6sung von Kommunikationsaufgaben ein fester und sich
dynamisch entwickelnder Bestandteil der Informatik geworden. Das Kapitel 9
bietet zungchst einen Ausblick auf die Themat i k der sicheren Kommunikati-
on. Wir beginnen mit ein paar Beispielen von Krypt osyst emen und stellen das
Konzept der Public-Key-Kryptosysteme vor. Wir verwenden dieses Konzept,
um zu zeigen, wie man ohne FSJschungsrisiko digitale Unterschriften leisten
kann. Dann pr~sentieren wir das Konzept der Zero_Knowledge_Beweissysteme,
das auch eine wichtige Rolle in kryptographischen Anwendungen spielt. Wir
schliefien dieses Kapitel mit dem Entwurf eines leistungsfS~higen Telefonnetzes
ab, um die Problemstellungen in dem Bereich der Netzwerkkommunikation zu
illustrieren.
Wie im Vorwort zu dieser dritten Auflage schon vorgestellt wurde, ist das letzte
Kapitel Grammat i ken als Generierungsmechanismen von Sprachen gewidmet.
Die Typen von Grammat i ken werden wir nach Chomsky klassifizieren und mit
den entsprechenden Maschinenmodellen in Verbindung setzen.
Oas ief te das wir erf hren k nnen
sind die Offenbarungen der Mystik.
Sie sind das fundamentalste Gefiihl,
das an der Wiege aller wahren Kunst und Wissenschaft steht. ~ ~ ,
Wer es nicht kennt, kann sich nicht mehr wundern;
er erlebt das tiefe Staunen nicht mehr:
Er ist so gut wie tot ...
Wie eine erloschene Kerze ...
A. Einstein
2 Alphabete, WSrter, Sprachen und Aufgaben
2.1 Zielsetzung
Die Rechner arbei t en im Pri nzi p mi t Texten, die nichts anderes sind als Fol-
gen yon Symbol en aus einem best i mmt en Al phabet . Die Pr ogr amme sind Texte
fiber dem Al phabet der Rechner t ast at ur , alle Informat i onen sind im Rechner
als Folgen yon Nullen und Einsen gespeichert, Ei ngaben und Ausgaben sind
im Wesentlichen auch Texte (oder k6nnen zumi ndest als Texte dargest el l t wer-
den) fiber einem geeignet gew~thlten Al phabet . Aus dieser Sicht realisiert jedes
Pr ogr amm eine Transformat i on von Ei ngabet ext en in Ausgabet ext e.
Das erste Ziel des Kapi t el s 2 ist, den Formal i smus fiir den Umgang mi t Text en
als Informationstr~tger einzufiihren. Dieser liefert die notwendige Grundl age,
um t i berhaupt formal die Grundbegriffe der Informat i k wie algorithmisches
Pr obl em (Aufgabe), Al gori t hmus ( Pr ogr amm) , Rechner, Berechnung, Ei ngabe,
Ausgabe usw. definieren zu k6nnen. Die Grundbegriffe, die hier eingefiihrt
werden, sind Al p h a b e t , Wo r t und Spr a c he . Ein Teil unserer Aufgabe hier ist
es, auch den Umgang mi t diesen Begriffen zu iiben und so einige grundl egende
Oper at i onen auf Text en zu erlernen.
Das zweite Ziel dieses Kapi t el s ist zu lernen, wie der eingefiihrte Formalis-
mus zur formal en Darst el l ung yon al gori t hmi schen Aufgaben genut zt werden
kann. Dabei bet r acht en wir iiberwiegend zwei Klassen yon Aufgaben, En t -
s c h e i d u n g s p r o b l e me und Op t i mi e r u n g s p r o b l e me .
Das dri t t e und letzte Ziel dieses Kapi t el s ist, sich mi t der Kompr i mi er bar kei t
von Text en zu beschgftigen. Wi r fiihren hier den Begriff der Kolmogorov-
2.2 Alphabete, W6rter und Sprachen 33
Ko mp l e x i t ~i t ein. Dank diesem k6nnen wir nicht nur fiber die kiirzeste Dar-
st el l ung von Obj ekt en (Texten) und Kompr i mi er bar kei t von Darst el l ungen
sprechen, sondern auch den I nf or mat i onsi nhal t von Text en messen und eine
sinnvolle Definition des Adj ekt i vs zuf i i l l i g fiir Text e geben. Dies ist ein Bei t rag
der I nf or mat i k auf der philosophischen Ebene, weft er sinnvoll erklS~rt, wann
ein Obj ekt oder eine Erschei nung als zufS~llig ei ngeordnet werden kann. Ei n
anderer wichtiger Punkt ist, dass die Kol mogor ov- Kompl exi t ~t ein wertvolles
I nst r ument zur Unt er suchung von Berechnungen ist, was auch an mehreren
Stellen in diesem Buch deut l i ch gemacht wird.
2.2 Al phabete, WSrter und Spraehen
Bei der al gori t hmi schen Dat enver ar bei t ung reprgsent i eren wir die Dat en und
bet r acht et en Obj ekt e durch Folgen von Symbolen. Genau wie bei der Entwick-
l ung von nat i i rl i chen Sprachen fangen wir mi t der Fest l egung von Symbol en an,
die wir zur Dar st el l ung der Dat en verwenden wollen. Im Fol genden bezeichnet
IN = {0, 1, 2 , . . . } die Menge der nat i i rl i chen Zahlen.
De f i n i t i o n 2. 1. Eine endliche nichtleere Menge E heiflt Al p h a b e t . Die Ele-
ment e eines Alphabets werden Bu c h s t a b e n ( Ze i c he n, S y mb o l e ) genannt.
Die Bedeut ung ist die gleiche wie bei nat i i rl i chen Sprachen: Das Al phabet wi r d
verwendet, um eine schriftliche Dar st el l ung einer Sprache zu erzeugen. F/Jr uns
ist nur wichtig zu wissen, dass wir uns beliebige, aber nur endlich viele Symbol e
aussuchen diirfen, um eine Dar st el l ung unt er sucht er Obj ekt e zu realisieren.
Wi r prgsent i eren j et zt einige der hier am hgufi gst en benut zt en Al phabet e.
9 }-] bool- {0, 1} ist das Boole' sche Al phabet , mi t dem die Rechner arbei t en.
9 Elat -- {a, b, c , . . . , z} ist das lateinische Al phabet .
9 2T~statur = 21~t O {A, B, . . . , Z, u, >, <, (, ), . . . , !} ist das Al phabet aller
Symbol e der Rechner t ast at ur , wobei u das Leersymbol ist.
9 E,~ - {0, 1, 2 , . . . , r n - 1} fiir jedes rn _> 1 ist ein Al phabet fiir die rn-adische
Dar st el l ung yon Zahlen.
9 s - {0, 1, z, (, ), A, V, ~} ist ein Al phabet , in dem man Boole' sche For-
mel n gut darst el l en kann.
Im Fol genden definieren wir W6r t er als Folgen von Buchst aben. Man bemerke,
dass der Begriff Wo r t in der Fachsprache der I nf or mat i k einem beliebigen
34 2 Alphabete, W6rter, Sprachen und Aufgaben
Text ent spr i cht und ni cht nur der Be de ut ung des Begriffs Wor t in nat i i r l i chen
Spr achen.
De f i n i t i o n 2. 2. Sei E ein Alphabet. Ei n Wo r t iiber E ist eine endl i che (even-
tuell leere) Folge von Buchst aben aus E. Das l e e r e Wo r t ,k ist die leere Buch-
stabenfolge. ( Manchmal benutzt man c start A. )
Di e L~i nge Iwl eines Wort es w ist die Liinge des Wort es als Folge, d.h. die
Anzahl der Vor kommen von Buchst aben in w.
E* ist die Menge aller WSrt er iiber E, E + - E* - {A}.
Die Folge 0, 1, 0, 0, 1, 1 ist ei n Wor t fiber Ebool und fiber ETastatur, 10, 1, 0, 0,
1, 11 = 6. A ist ei n Wor t fiber j e de m Al pha be t , - 0.
Ve r a b r e d u n g . Wi r wer den W6r t e r ohne Ko mma schr ei ben, d. h. s t a r t der
Folge z~, z 2 , . . . , z~ schr ei ben wi r z ~ z 2 . . , z~. Al so s t a t t 0, 1, 0, 0, 1, 1 be nut z e n
wi r i m Fol genden die Dar s t el l ung 010011.
Das Leer s ymbol u fiber ET~statur ist unt er schi edl i ch yon A, es gilt lul = 1. Somi t
kann der I nhal t eines Buches oder ei n P r o g r a mm als ein Wor t fiber ETastatu~
be t r a c ht e t wer den.
(}--]bool) *
{A, 0, 1, 00, 01, 10, 11, 000, 001, 010, 1 0 0 , 0 1 1 , . . . }
{,~} ~ {Xl X2. . . xi l i E IN, xj E }-]bool fiir j -- 1 , . . . , i}.
Wi r sehen an di esem Beispiel, dass eine MOglichkeit, alle WOr t er fiber ei nem
Al pha be t auf zuzghl en, dar i n bes t eht , alle Wa r t e r der Lgnge i - 0, 1 , 2 , . . .
hi nt e r e i na nde r zu schr ei ben.
Auf gabe 2.1. Bestimme ffir jedes i c IN, wie viele WSrter der L~nge i fiber einem Alphabet
E existieren.
Auf gabe 2.2. Gegeben sei ein Alphabet E - {0, 1, r Seinen k, n positive ganze Zahlen
mit k Kn .
(i)
(ii)
Bestimme die Anzahl der verschiedenen W6rter der Lgnge n mit genau k Vorkommen
des Symbols #.
Bestimme die Anzahl der verschiedenen W6rter der Lgnge n mit h6chstens k Vorkom-
men des Symbols #.
2.2 Al phabet e, W6r t er und Spr achen 35
W6r t er kSnnen wir benut zen, um unterschiedliche Obj ekt e wie z.B. Zahlen,
Formeln, Gr aphen und Pr ogr amme darzustellen. Ein Wor t x - X l X 2 . . . x ~ E
(Eboo~)*, xi E P'bool fiir i -- 1 , . . . , n, kann als die bin/~re Darst el l ung der Zahl
n
- 2
i=1
bet r acht et werden. Fiir eine nat/irliche Zahl m bezeichnen wir durch B i n ( m) E
E~oo~ die kiirzeste I bingre Darst el l ung von m, also Nu mme r ( B i n ( m) ) - m.
Au f g a b e 2. 3. Ei ne bi ngre Dar st el l ung j eder posi t i ven Zahl begi nnt mi t einer 1. Wi e l ang
ist Bin(m) bei ei ner gegebenen Zahl m?
Au f g a b e 2. 4. Sei x r (E,~)* fiir ein m _> 1. Bet r acht e x als m- adi sche Dar st el l ung ei ner
Zahl Nummer.~(x). Wi e ber echnet man Nummer.~(x)?
Eine Zahlenfolge al , a 2 , . . . , a,~, m E IN, ai E IN fiir i - 1 , . . . , m, kann man als
B i n ( a l ) # B i n ( a 2 ) # . . . # B i n ( a , ~ ) E {0, 1, #}*
darstellen.
Sei G - (V, E) ein geri cht et er Gr aph mit der Knot enmenge V und der Kan-
t enmenge E c_ {(u, v) l u , v E 17, u r v } . Sei I VI - n die Kar di nal i t gt von V.
Wi r wissen, dass wir G durch eine Adj azenzmat r i x Ma reprgsent i eren kSnnen.
Ma - [aij] hat die GrSf3e n x n und
a ~ j - 1 ~ (v~, vj) e E.
Daher bedeut et ai j - 1, dass die Kant e (vi , vj ) in G vor handen ist, und ai j - 0
bedeut et , dass die Kant e (vi , vj ) in G nicht vor handen ist. Eine Mat r i x k6nnen
wir als ein Wort fiber dem Al phabet E - {0, 1, # } reprgsent i eren. Wi r schrei-
ben einfach die Zeilen von Ma hi nt erei nander und das Symbol # benut zen
wir, um das Ende einer Zeile zu marki eren. Man bet r acht e den Gr aphen in
Fig. 2.1.
1Die For der ung, dass Bin(m) das kiirzeste Wor t mi t Nummer(Bin(m)) - m ist, bedeut et
nur, dass das erst e Symbol yon Bin(m) 1 ist.
36 2 Alphabete, W6rter, Sprachen und Aufgaben
Fig. 2.1
Vl(
C, ~--
V3
V2
V4
Die ent s pr echende Adj a z e nz ma t r i x ist
0 0 1 1
0 0 1 1
0 1 0 1 "
0 0 0 0
Die vor geschl agene Kodi er ung als Wor t fiber {0, 1, ~ } ist
0 0 1 1 # 0 0 1 1 # 0 1 0 1 # 0 0 0 0 # .
Es ist Mar, dass diese Dar s t el l ung ei ndeut i g ist, was bedeut et , dass ma n aus
der gegebenen Dar s t el l ung den Gr a phe n ei ndeut i g be s t i mme n kann.
Auf gabe 2.5. Die vorgeschlagene Darstellung eines Graphen als Wort fiber {0, 1, r hat
die L~nge n(n + 1) fiir einen Graphen mit n Knoten. Uberlegen Sie sich eine kfirzere ein-
deutige Darstellung yon Graphen fiber dem Alphabet {0, 1, r
Auf gabe 2.6. Entwerfen Sie eine Darstellung ffir Graphen tiber dem Alphabet Ebool.
Bei al gor i t hmi s chen Auf gaben si nd die Ei nga be n oft gewi cht et e Gr a phe n G =
(V, E, h), wobei h e i n e Funkt i on von E nach I N- {0} ist. Informel l be de ut e t
dies, dass j eder Ka nt e e E E ein Gewi cht ( ma nc hma l auch Kos t en genannt )
h(e) zugeor dnet ist. Wi r wissen, dass auch solche Gr a phe n dur ch Adj azenzma-
t r i zen dar s t el l bar sind. Auch in di esem Fall be de ut e t aij - 0 , dass die Ka nt e 2
{vi, vj } ni cht vor ha nde n ist. Falls {vi, vj} E E, da nn ist aij = h({vi, vj }) das
Gewi cht der Ka nt e {vi, vj}.
In di esem Fall k6nnen wi r die Gewi cht e aij = h{vi, vj} bi ngr dar st el l en und
dur ch r abt r ennen. Urn das Ende ei ner Zeile zu bezei chnen, kann
2Die ungerichtete Kante zwischen u und v bezeichnen wir hier als {u, v}. Ffir eine gerichtete
Kante yon u nach v benutzen wir die iibliche Bezeichnung (u, v).
2.2 Alphabete, W6rter und Sprachen 37
man zwei # hi nt erei nander benutzen. Dami t hat der gewichtete Graph in Fig.
2.2 mit der Adj azenzmat ri x
0 7 0 6 1
7 0 1 1 0
0 1 0 6 0
6 1 6 0 5
1 0 0 5 0
die folgende Darstellung fiber {0, 1, #}"
0 # 1 1 1 # 0 # 1 1 0 # 1 # # 1 1 1 # 0 # 1 # 1 # 0 # # 0 # 1 # 0 # 1 1 0 # 0 # # 1 1 0 # 1 # 1 1 0 #
0 # 1 0 1 # # 1 # 0 # 0 # 1 0 1 # 0
Vl
1 7
V5
V4 V3
V2
Fig. 2.2
Weil der bet racht et e Graph ungerichtet ist, gilt ai] = aj i f/Jr alle i, j . In unserer
Darstellung bedeut et dies, dass die Informat i on fiber das Gewicht jeder Kant e
in dem Wort doppelt vorkommt. Deswegen reicht es aus, nur die Matrixele-
mente oberhalb der Haupt di agonal en zu bet racht en. Das resultierende Wort
fiber {0, 1, # } ist dann
1 1 1 # 0 # 1 1 0 # 1 # # 1 # 1 # 0 # # 1 1 0 # 0 # # 1 0 1 .
Als letztes Beispiel bet racht en wir die Darstellung yon Boole' schen Formeln,
die nur die Boole' schen Operat i onen Negation (=), Disjunktion (V) und Kon-
j unkt i on (A) benutzen. Im Folgenden bezeichnen wir Boole' sche Variablen in
Formeln als X l , X 2 , . . . . Die Anzahl der m6glichen Variablen ist unendlich und
deswegen k6nnen wir X l , X 2 , . . . nicht als Buchst aben unseres Al phabet s be-
nutzen. Wi r benut zen daher das Al phabet Elogic = {0, 1, x, (, ), A, V, =} und
kodieren die Boole' sche Variable xi als das Wort x B i n ( i ) fiir jedes i E IN. Die
38 2 Alphabete, W6rter, Sprachen und Aufgaben
restlichen Symbole der Formel i i bernehmen wir eins zu eins. Dami t hat die
Formel
( X 1 V X7) A re(X12 ) A ( x 4 V 2; 8 V ~ ( X 2 ) )
die folgende Darst el l ung
( xl V x111) A ~(x1100) A ( xl 00 V xl 000 V ~( xl 0) ) .
Eine niitzliche Oper at i on fiber W6r t er ist die einfache Ver ket t ung zweier W6r-
t er hi nt erei nander.
De f i n i t i o n 2. 3. Di e Verkettung (Konkatenation) f i i r e i n A l p h a b e t E i s t
e i n e A b b i l d u n g K: E * x E* ~ E*, s o d a s s
f i i r al l e x , y E E*.
Sei E = {0, 1, a, b} und seien x = Oa a l b b und y = 111b. Dann ist K( x , y ) =
x . y = Oa a l b b l l l b .
Be me r k u n g 2. 1. Die Ver ket t ung K fiber E ist eine assoziative Oper at i on
fiber E*, weil
K( ~ , K( ~ , ~ ) ) = ~ . ( ~ ~ ) = ~ = ( ~ ~ ) ~ = K( K( ~ , ~ ), ~ )
fiir alle u, v, w E E*. Ferner gilt fiir jedes x E E*:
x . )~ = )~ . x = x .
Also ist (E*, K, A) eine Hal bgr uppe (Monoid) mi t dem neut r al en El ement A.
Es ist klar, dass die Konkat enat i on nur f/Jr ein einelementiges Al phabet kom-
mut at i v ist.
Be me r k u n g 2. 2. Fiir alle x, y E E* gilt:
I ~yl = I ~ y l = I~1 + ly l.
Im Folgenden werden wir die einfache Not at i on xy s t at t der Not at i on K( x , y)
und x . y bevorzugen.
2.2 Alphabete, WSrter und Sprachen 39
De f i n i t i o n 2. 4. Sei E ei n Al phabet . Fi i r al l e x E E* u n d alle i E IN de f i ni e r e n
wi r di e i - re I t e r a t i o n x i v on x als
X 0 - - ) ~ , X 1 - - X u n d x i - x x i - 1 .
So i st z u m Bei spi el t ( ( a a b b a , aaaaa) - a a b b a a a a a a - a2b2a 6 - a2b2(aa) 3. Wi r
sehen, das s uns di e ei ngef i i hr t e No t a t i o n ei ne ki i r zer e Da r s t e l l u n g von WS r t e r n
er mSgl i cht .
I m Fol ge nde n def i ni er en wi r Tei l wSr t er ei nes Wo r t e s x al s z u s a mme n h ~ n g e n d e
Tei l e yon x ( Fi g. 2. 3).
a, ,a
Tei l wor t PrS~fix Suffi x
Fig. 2.3
De f i n i t i o n 2. 5. S e i e n v, w E E* f i i r ei n Al phabe t E.
9 v hei f l t ei n T e i l wo r t v on w e , 3 x, y E E* " w - x v y .
9 v h e i f l t e i n S u f f i x v o n w e v 3 x E E * : w=x v .
9 v h e i f l t e i n P r ~ i f i x v o n w e v 3 y E E * : w=v y .
9 v # / ~ hei f l t t i n e c h t e s T c i l wor t ( Suf f i x, Pri i f i x) v on w ge nau dann, we n n
v r w, u n d v i st ei n T e i l wor t ( Suf f i x, Pri i f i x) y on w.
Es gi l t (abc) a - abcabcabc, u n d das Wo r t abc i st ei n echt es PrSofix von (abc) 3.
Da s Wo r t bc i st ei n echt es Suffix yon (abc) 3.
Auf ga be 2.7. Sei E ein Alphabet und sei x c E ~ fiir ein n C I N- {0}. Wie viele unter-
schiedliche TeilwSrter kann x hSchstens haben? Zghle alle unterschiedlichen TeilwSrter des
Wortes abbcbbab auf.
De f i n i t i o n 2. 6. Sei x E E* u n d a E E. Da n n i st I X l a de f i ni e r t als di e An z a h l
der V o r k o mme n v on a i n x.
Fi i r j e de Me n g e A be z e i c hne t I AI di e Kar di nal i t i i t y on A u n d 7:' ( A ) - { S I
S c A } di e P o t e n z me n g e y on A.
Al so i st I(abbab)la - - ~ , I(11bb0) 10 -- 1. Fi i r alle x E E* gi l t
I x l - Ix a
aEE
40 2 Alphabete, WSrter, Sprachen und Aufgaben
In diesem Buch brauchen wir oft eine feste Or dnung von allen W6r t er n fiber
einem gegebenen Al phabet . Die giinstigste M6glichkeit fiir uns ist, die folgende
kanonische Or dnung zu bet racht en.
De f i n i t i o n 2. 7. Sei E - { Sl , s 2 , . . . , s, ~} , m >_ 1, ei n Al phabet und sei Sl <
s2 < . . . < s,~ ei ne Or dnung auf E. Wi r def i ni eren die k a n o n i s c h e Or d n u n g
auf E* f i i r u, v E E* wi e f ol gt :
u < v r
ul - I v l / ~ u - x . si . u' /~ v - x . sj . v'
f i i r i rgendwel che x, u ~, v ~ E E* und i < j .
Unt er dem Begriff Sprache verst ehen wir jede Menge yon W6r t er n fiber einem
festen Al phabet .
De f i n i t i o n 2. 8. Ei ne S p r a c h e L iiber e i ne m Al phabet E i st ei ne Tei l menge
yon E*. Das Ko mp l e me n t L c der Sprache L beziiglich E i st die Sprache E * - L .
Lo = 0 i st die l eer e Sp r a c h e .
L~ = {A} i st die ei nel ement i ge Sprache, die nur aus dem l eeren Wor t besteht.
Si nd L1 und L2 Spr achen iiber E, so i st
L 1 9 L 2 = E l L 2 = { v w I v C L 1 ~tTtd w C L2}
die Ko n k a t e n a t i o n von L1 und L2. I st L ei ne Sprache iiber E, so def i ni eren
wi r
L ~ : = La und L i +l = L i . L f i i r alle i E IN,
L * - [ J L [J L -L L *
L* n e n n t ma n den Kl e e n e ' s c h e n St e r n .
Die Folgenden Mengen sind Sprachen fiber dem Al phabet E = {a, b}:
L1 = 0, L2 = {)~}, L3 = {A, ab, abab} , L 4 = ~ * = { )~, a, b, aa, . . .},
L5 = E + = { a, b, a a , . . . } , L6 = {a}* = {A,a, aa, a a a , . . . } = { a i [ i E IN} ,
L7 = {a; [p ist eine Pri mzahl }, Ls = { ai b2 i a~ [ i E IN}, L9 = E,
Ll o = E* = { aaa, aab, aba, abb, baa, bab, bba, bbb},
die Menge aller gr ammat i sch korrekt en Texte im Deut schen ist eine Sprache
fiber ETastatur ~ und
2.2 Alphabete, W6rter und Sprachen 41
die Menge aller synt akt i sch korrekt en Pr ogr amme in C + + ist eine Sprache
fiber } - - ] T a s t a t u r 9
Man bemerke, dass E i - {x e E* I I x l - i}, und dass LoL - Lo - O,
L x . L - L .
Aufgabe 2.8. Sei L1 - {A, ab, b3a 4} und L2 - {ab, b, ab 2, b4}. Welche W6rter liegen in der
Sprache L1L2 ?
Unser n~chstes Ziel ist, den Umgang mi t Sprachen ein wenig zu tiben. Weil
Sprachen Mengen sind, haben die tiblichen Oper at i onen Verei ni gung (U) und
Schni t t (N) eine klare Bedeut ung. Zu diesen Oper at i onen haben wir die Kon-
kat enat i on und den Kl eene' schen St ern hinzugefiigt. Die erste Frage, die wir
uns stellen, ist, ob Di st ri but i vgeset ze beztiglich U und Konkat enat i on bzw.
beztiglich N und Konkat enat i on gelten. F/Jr die Konkat enat i on und U gi bt uns
das nS~chste Lemma 2.1 eine positive Ant wort . Um den Beweis der Gleichheit
yon zwei Mengen (Sprachen) A und B zu fiihren, benut zen wir die iiblichen
Met hoden der Mengent heori e. Wi r zeigen nachei nander A C_ B und B C_ A,
was A - B impliziert. Um A C_ B zu zeigen, reicht es zu beweisen, dass fiir
jedes El ement x E A gilt, dass x E B.
L e mma 2. 1. Sei en L1, L2 und L3 Sprachen iiber ei nem Alphabet E. Dann gilt
L1L2 U L1L3 - L1 (L2 U L3).
Beweis. Zuerst zeigen wir LIL2 U LIL3 C_ LI(L2 U L3). Die Bemer kungen in
geschweiften Kl ammer n sind die Begrt i ndung fiir den vor angegangenen Schritt.
Es gilt" LIL2 C_ LI ( L2 U L3), weil
L1L2 - { x y [ x E L1 A y E L2} {Definition der Konkat enat i on}
c_ L1 A y u {wei c_ U
L1. (L2 U Ls). {Definition der Konkat enat i on}
Ebenso zeigt man LIL3 c_ LI ( L2 UL3) . Dar aus folgt LI L2 ULI L3 c_ LI ( L2 UL3) .
Jet zt zeigen wit die Inkl usi on LI ( L2 U L3) C_ LIL2 U LIL3.
Sei x E LI(L2 U L3). Dann
x E { y z l y E L I A Z E L2UL3}
{Definition der Konkat enat i on}
3 y E L ~ A3 z E L 2 UL s , s o d a t 3 x = y z
42 2 Alphabete, W6rter, Sprachen und Aufgaben
=:>
3y E L1 A (3z E L2 V 3z E La), so daft x - y z
{Definition von t2 }
(3y E L1 A 3z E L2 " x - - y z ) V (3y E LI A 3Z E L3 " x - y z )
{Di st ri but i vgeset z fiir A, V}
(X E {yz I Y E L1 f z E L2})V (X E {yz I Y E L1 f z E f3})
LIL2 LIL3
{Definition der Konkat enat i on}
x E L1L2 U L1L3. {Definition yon U}
Jet zt wollen wir uns mit der Frage nach der Giiltigkeit des Di st ri but i vgeset zes
fiir die Konkat enat i on und den Schni t t beschS~ftigen. Vielleicht ist es auf den
erst en Blick iiberraschend, dass hier die Ant wort im allgemeinen negat i v ist.
Es gilt nur eine Inklusion, die wir zuerst zeigen.
L e mma 2. 2. Sei en L1, L2, L3 Sprachen iiber ei nem Al phabet E. Dann gilt
LI (L2 A L3) C_ LI L2 N LI L3.
Bewei s. Sei x E LI ( L2 N L3). Dies ist 5~quivalent zu
x E { y z ] y E L1 A z E L2 A L3}
{D
v:~ 3y, z
{D
r 3y, z
=~ 3y, z
{D
e=> x E LIL2 A LIL3.
efinition der Konkat enat i on}
E E*, y E L1 A (z E L2 A z E L3), so dass x = y z
efinition yon A}
E r * , ( y E L1 Az E L2) A (y E L1 Az E L3) : x =y z
e E*, ( yz e LIL2) A ( yz e L I L 3 ) : x = y z
efinition der Konkat enat i on}
{Definition yon A}
Um zu zeigen, dass LI ( L2 N L3) D_ LI L2 N LI L3 nicht im allgemeinen gilt,
reicht es, drei konkret e Sprachen U1, [/2 und [/3 zu finden, so daft U1([/2 N
U2) C UIU2 A UIU3. Die Idee fiir die Suche nach solchen U1, [/2, [/3 ber uht
auf der Tatsache, dass die einzige Impl i kat i on in dem Beweis von Lemma 2.2
nicht umgekehrt werden kann. Wenn ein Wort x in LI L2 und auch in LI L3
liegt, bedeut et das noch nicht x = yz, wobei x E L1 und z E L2 N L3. Es
2.2 Alphabete, W6rter und Sprachen 43
kann passieren, dass es zwei verschiedene Zerl egungen von x gibt, so dass gilt
X - Yl Zl --Y2Z2 mi t Yl r Y2 und Yl E L1, Z1 E L2 und Y2 E L1, z2 E L3.
L e mma 2. 3. Es ezi st i eren U1, U2, U3 E (Ebool)*, so dass
Ul(U2 n u3) Ul U2 n UlU3
13eweis. Zuerst wS~hlen wir U2 = {0} und U3 = {10}. Dami t ist U2 N U3 = 0
und dami t auch UI(U2 A U3) = 0 fiir jede Sprache U1. Jet zt reicht es aus, U1
so zu wS~hlen, dass U1 U2 ffl U1 U3 nicht leer wird. Wi r set zen U1 = {A, 1}. Dann
ist U1U2 = { 0 , 10}, U1U3 = {10, 110} und dami t U~U2 A UIU3 = {10}. D
Auf ga be 2.9. Seien L1, L2 und L3 Sprachen fiber dem Alphabet {0}. Gilt
LI(L2 N L3) - LIL2 A LIL3 7.
Auf ga be 2.10. Seien L1 c_ E~ und L2, L3 c E~ fiir zwei Alphabete E1 und E2 mit E1 N
E2 - 0. Gilt
LI(L2 N L3) - LIL2 V?LIL3?
Auf ga be 2.11. Existieren Sprachen L1, L2 und L3, so dass LI ( L2 AL3) endlich und LI L2 A
LIL3 unendlich ist?
Im Fol genden tiben wir noch den Umgang mi t dem Kl eene' schen Stern.
Be i s pi e l 2. 1. Es ist {a}*{b}* - { a~ Yl i, j ~ IN}.
13eweis. Zuerst zeigen wir {a}*{b}* C_ { a i t C [ i , j E IN}.
Sei x E {a}*{b}*. Dann
=~
=~
x - yz, wobei y E {a}*A z E {b}*
{Definition der Konkat enat i on}
x - yz, wobei (3k E l N' y E {a} k) A ( 3m E I N' z E {b} "~)
{Definition des Kl eene' schen St ern}
x - yz, wobei (3k E l N' y - a ~) A (3rn E l N' z - b "~)
3k, rn E IN, so dass x - akb "~
x E { ai bdl i , j E IN}.
Jet zt zeigen wir {a~tCl i, j E IN} c_ {a}*{b}*.
44 2 Alphabete, W6rter, Sprachen und Aufgaben
Sei z E {a~lC l i, j ~ IN}. Da n n
=~
x - a~b l fiir i r gendwel che Za hl e n r, 1 E IN
z E {a}*{b}*, wei l a ~ E {a}*, b 1 E {b}*.
Auf gabe 2. 12. Seweisen oder widerlegen Sie: ({a}*{b}*)* = {a,b}*
De f i n i t i o n 2. 9. Seien E1 und E2 zwei beliebige Alphabete. Ei n Hornornor-
phi smus von E1 nach E2 ist jede Funktion h " E~ ~ E~ mi t den folgenden
Eigenschaften:
( / / )
h(A) = A und
= r ?
Wi r b e o b a c h t e n l ei cht , das s es zur Spezi f i kat i on ei nes Ho mo mo r p h i s mu s r ei cht ,
h(a) fiir alle Bu c h s t a b e n a E E1 f est zul egen.
Auf gabe 2. 13. Sei h ein Homomorphismus yon E1 nach E2. Beweisen Sie mit HiKe der
Induktion, dass fiir jedes Wort x = xl x2. . . z, ~, zi E E1 fiir i = 1, . . . , m,
h(~) = h( ~l ) h( ~) . . , h ( ~ ) .
Be t r a c h t e n wi r h ( # ) = 10, h( 0) = 00 u n d h( 1) = 11. Es i st kl ar , das s h ei n
Ho mo mo r p h i s mu s yon {0, 1, r na c h Ebool ist.
h (011:ff: 101:if:) h( O) h( 1 ) h( 1 ) h( ~ ) h( 1 ) h( O) h( 1 ) h( ~ )
0011111011001110.
Wi r k 6 n n e n h be nut z e n, u m j ede e i nde ut i ge Da r s t e l l u n g von i r ge ndwe l c he n
Ob j e k t e n t i ber {0, 1, r i n ei ne neue e i nde ut i ge Da r s t e l l u n g di eser Ob j e k t e
fi ber Ebool zu i i ber f i i hr en.
Auf gabe 2. 14. Definieren Sie einen Homomorphismus von {0, 1, r nach
Ebool, der unendlich viele unterschiedliche W6rter aus {0, 1, 4P}* auf das gleiche Wort aus
(Ebool)* abbildet.
Auf gabe 2. 15. Definieren Sie einen injektiven Homomorphismus yon Elogic nach Ebool,
um eine eindeutige Darstellung von Boole'schen Formeln fiber Ebool zu erzeugen.
2.3 Algorithmische Probleme 45
Auf gabe 2. 16. Seien E1 und E2 zwei Alphabete. Sei h ein Homomorphismus yon E1 nach
E2. Fiir jede Sprache L c_ E~ definieren wir
h( L) - {h( w) wcL}.
Seien L1, L2 C_E~. Beweisen oder widerlegen Sie die foglende Aussage:
h(L1)h(L2) - h(L1L2).
2.3 Algorithmische Probl eme
Bevor wir den intuitiven Begriff Algorithmus durch das Modell der Turingma-
schine formal definieren, werden wir st at t Algorithmus den Begriff Pr ogr amm
benutzen. Wi r setzen voraus, dass der Leser weifi, was ein Pr ogr amm ist. In
welcher Programmi ersprache es geschrieben ist, spielt hier keine Rolle. Wenn
wir Programme als Al gori t hmen bet racht en, fordern wir jedoch, dass ein sol-
ches Pr ogr amm f/Jr jede zulS~ssige Eingabe hS~lt und eine Ausgabe liefert. Daher
ist es fiir einen Algorithmus unzulS~ssig, in eine Endlosschleife zu laufen. Mit
dieser Voraussetzung realisiert ein Pr ogr amm (Algorithmus) A typischerweise
eine Abbildung
A~ I ----~ ~2
fiir irgendwelche Al phabet e E 1 und E2. Dies bedeut et , dass
(i) die Ei ngaben als W6rt er kodiert sind,
(ii) die Ausgaben als W6r t er kodiert sind und
(iii) A fiir jede Eingabe eine eindeutige Ausgabe best i mmt .
Fiir jeden Algorithmus A und jede Eingabe x bezeichnen wir mit A( x ) die
Ausgabe des Algorithmus A fiir die Eingabe x. Wi r sagen, dass zwei Algorith-
men (Programme) A und B ~qui va l e nt sind, falls beide iiber dem gleichen
Ei ngabeal phabet E arbei t en und A( x ) = B ( x ) fiir alle x E E*.
Im Folgenden prgsentieren wir einige grundlegende Klassen von algorithmi-
schen Problemen. Wi r beginnen mit den Entscheidungsproblemen, die man
iiblicherweise benut zt , um die Theorie der Berechenbarkeit und die Komple-
xi t gt st heori e aufzubauen.
46 2 Alphabete, W6rter, Sprachen und Aufgaben
De f i n i t i o n 2. 10. Das E n t s c h e i d u n g s p r o b l e m ( E, L) f i i r ein gegebenes Al-
phabet E und eine gegebene Sprache L c_ E* ist, f i i r jedes x E E* zu entschei-
den, ob
x E L oder x C L.
Ei n Al gori t hmus A 15st das Ent schei dungsprobl em (L, E), falls f i i r alle x E E*
gilt:
1, falls x E L ,
A( x) - O, falls x C L.
Wi t sagen auch, dass A die Sprache L e r k e n n t .
Wenn fiir eine Sprache L ein Al gor i t hmus existiert, der L erkennt, werden wir
sagen, dass L r e k u r s i v ist. 3
Wi r benut zen hgufig eine Sprache L C_ E*, um eine gewisse Eigenschaff von
W6r t er n aus E* (oder von Obj ekt en, die durch die WSr t er dargest el l t sind)
zu spezifizieren. Die WSr t er , die in L sind, haben diese Ei genschaft und alle
W6r t er aus L C - E * - L haben diese Ei genschaft nicht.
Ublicherweise stellen wit ein Ent schei dungspr obl em (E, L) wie folgt dar"
Eingabe: x E E*.
A~tsgabe: d(x) E rbool - {0, 1}, wobei
(
1
1
0, [
falls x E L (J a, x hat die Ei genschaft ),
falls x ~ L (Nein, x hat die Ei genschaft nicht).
Beispielsweise ist ({a, b}, { a~ b~ l n E IN}) ein Ent schei dungsprobl em, das man
auch fol gendermagen darst el l en kann:
Eingabe: x E { a, b}*.
Ausgabe: Ja, x - a~b ~ ffir ein n E IN.
Nein, sonst.
Be i s p i e l 2. 2. Ei n bekannt es und prakt i sch wichtiges Ent schei dungspr obl em
ist der P r i mz a h l t e s t (Eboo~, {x E ( Eboo~ ) * l Numme r ( x ) i s t eine Pr i mzahl }) .
Die iibliche Dar st el l ung ist
aDie Rekursivitgt ist ein wichtiger Begriff und deswegen geben wir spgter mit dem formalen
Modell der Berechnung eine formal prgzise Definition dieses Begriffes.
2.3 Algorithmische Probl eme 47
Eingabe: x E (Y~% ool)*.
Ausgabe: Ja, falls Numme r ( x ) eine Pri mzahl ist,
Nein, sonst.
Bei s pi el 2.3. Sei L = {x E (}--]Tastatur)* I x ist ein syntaktisch korrektes Pro-
gramm in C++}. Wir k6nnen folgendes Probl em betrachten, das eine Teilauf-
gabe des Compilers ist.
Eingabe: x ~ (ETastatur)*-
Ausgabe: Ja, falls x E L,
Nein, sonst.
Bei s pi el 2.4. Das P r o b l e m des Ha mi l t o n s c h e n Kr e i s e s ( HK) i s t (E, HK),
wobei E = {0, 1, #} und
HK = {x E E* I x kodiert einen ungerichteten Graphen,
der einen Hamiltonschen Kreis enthglt.4}.
Bei s pi el 2.5. Das Er f f i l l b a r k e i t s p r o b l e m von a us s a ge nl ogi s c he n For -
me l n ( ERF ) i s t (Elogi~, ERF) mi t
El ~F = {X E (}--]~logic)* I x kodi er t ei ne erfiillbare For mel }.
Eine wichtige Teilklasse von Entscheidungsproblemen ist die Klasse der Aqui-
valenzprobleme. Das Aquivalenzproblem fiir Programme besteht z.B. darin,
fiir zwei Programme A und B in irgendeiner festen Programmi ersprache (also
fiir die Eing~be (A, B) E (ET~st~tur)*)zu entscheiden, ob A und B ~quivalent
sind. Ein anderes Beispiel ist, fiir zwei Boole' sche Formeln zu entscheiden, ob
beide Formeln die gleiche Boole' sche Funktion darstellen.
De f i ni t i on 2. 11. Seien E und F zwei Alphabete.
ri t hmus A eine Fu n k t i o n ( Tr a n s f o r ma t i o n ) f
( r eal i s i er t ) , falls
Wi t sagen, daft ein Algo-
: E* ---+ F* b e r e c h n e t
A( x) = f (x) fiir alle x E E*.
4Zur Erinnerung, ein Hamiltonscher Kreis eines Graphen G ist ein geschlossener Weg (Kreis),
der jeden Knot en von G genau einmal enth/~lt.
48 2 Al phabet e, WSr t er , Sprachen und Auf gaben
Die Ent schei dungsprobl eme sind spezielle FS~lle von Funkt i onsberechnungen,
weil das LSsen eines Ent schei dungsprobl ems bedeut et , die charakt eri st i sche
Funkt i on 5 einer Sprache zu berechnen.
Auf den erst en Blick kSnnt e man den Ei ndruck bekommen, dass die Berech-
nung von Funkt i onen die allgemeinste Darst el l ung von al gori t hmi schen Pro-
bl emen ist. Die folgende Definition zeigt, dass das nicht der Fall ist.
De f i n i t i o n 2. 12. Seien E und F zwei Alphabete, und sei R c_ E* x F* eine
Relation in E* und F*. Ein Algorithmus A b e r e c h n e t R (oder 16st da s
Re l a t i o n s p r o b l e m R) , falls fiir jedes x E E* gilt:
( x, A( x) ) E R.
Man bemerke, dass es hi nrei chend ist, ffir jedes gegebene x eins yon potenziell
unendlich vielen y mit (x, y) E R zu finden, um ein Rel at i onsprobl em zu
15sen. Die folgenden Beispiele zeigen, dass die Rel at i onsprobl eme nicht nur eine
mat hemat i sche Veral l gemei nerung der Berechnung von Funkt i onen darstellen,
sondern dass wit viele derart i ge Probl eme in der Praxi s haben.
Sei /~fac ~ (}-]bool)* X (}-] bool)*, wobei (x, y) e ~fac g e n a u d a n n , we n n entweder
Nummer( y) ein Fakt or 6 yon Numme r ( x ) i s t oder = 1, wenn Nummer ( x) eine
Pr i mzahl ist. Eine anschauliche Darst el l ung dieses Rel at i onsprobl ems kSnnt e
wie folgt aussehen.
Eingabe: x E (Ebool)*.
Ausgabe: y E (Ebool)*, wobei y - 1 ist, falls Nummer( x) eine Pr i mzahl ist,
r ktor i t.
Ein anderes schweres Pr obl em ist die Beweisherstellung. Es sei
/~Beweis ~ (~Tast at ur) * X (}--] Tastatur)*~ wo b e i (x~ y) E /~Beweis~ weIlI1 e I l t we d e r x
eine wahre Aussage in einer best i mmt en mat hemat i schen Theori e kodi ert und
y einen Beweis der durch , kodi ert en Aussage darst el l t oder y - u, we n n ,
keine wahre Aussage darst el l t .
Fiir uns sind aber die Opt i mi erungsprobl eme, die einen Spezialfall von Rela-
t i onsprobl emen darstellen, von zent ral em Interesse. Um die St r ukt ur der Op-
t i mi erungsprobl eme anschaulich darzust el l en, benut zen wir folgende Beschrei-
bung s t at t der Rel at i onsdarst el l ung. Informell best i mmt eine Ei ngabe m eines
5Die charakt eri st i sche Funkt i on fL einer Sprache L C_ E* ist eine Funkt i on aus E* nach
{0, 1} mi t fL(x) -- 1 genau dann, wenn x C L.
6Eine Zahl a ist ein Fakt or einer Zahl b, falls a die Zahl b t ei l t und a 6 {1, b}.
2.3 Algorithmische Probleme 49
Opt i mi erungsprobl ems eine Menge M( x ) yon zulS~ssigen L6sungen f/Jr x. Da-
mit bekommen wir auch eine Rel at i on R mit (x, y) E R, wenn y eine zul~tssige
L6sung yon x ist. Aber dieses R ist nicht das zu 16sende Relationsproblem. Die
Ei ngabe x best i mmt zusS~tzlich noch den Preis fiir jedes y mit der Eigenschaft
(x, y) E _R. Die Ausgabe zu x muss eine zulS~ssige L6sung mit dem giinstigsten
(je nach Aufgabenspezifizierung minimMen oder maximalen) Preis sein.
De f i ni t i on 2. 13. Ei n Op t i mi e r u n g s p r o b l e m ist ein 6-Tupel L t - (EI, Eo,
L, Ad, cost, goal), wobei:
(i)
(~)
(~)
E1 ist ein Alphabet (genannt Ei n g a b e a l p h a b e t ) ,
Eo ist ein Alphabet (genannt Au s g a b e a l p h a b e t ) ,
L c E~ ist die Sprache der zul ~i ssi gen Ei n g a b e n (als Eingaben kom-
men nur WSrt er in Frage, die eine sinnvolle Bedeutung haben).
Ei n x E L wird ein P r o b l e mf a l l ( I n s t a n z ) von U, genannt.
M ist eine Funktion yon L nach 7)(E~)), und fiir jedes x E L i s t M( x )
die Me n g e de r zul ~i ssi gen LSs u n g e n fiir x,
cost ist eine Funktion, cost" [_Jx~L(M(x ) {x}) -~ IR +, genannt Pr e i s -
f u n k t i o n ,
goal E { Mi ni mum, Maxi mum} ist das Optimierungsziel.
Eine zulSssige LSsung (~ E M( x ) heiflt o p t i ma l fiir den Problemfall x des
Optimierungsproblems U, falls
cos t ( ~ , x) - Op t u ( x ) - goal{ cost(/3, x) l /3 E M( x) } .
Ei n Al gori t hmus A 15st 14, falls fiir jedes x E L
( i )
(~)
A( x) E M( x) ( A( x) i st ei ne zuli i ssi ge LSsung des Problemfalls x yon Lt) ,
~ o~ t ( d( ~ ) , ~ ) - go~ l { ~ o~ t ( Z, ~ ) l ~ e M(~)}
Falls g o a l - Mi ni mum, ist Lt ein Mi n i mi e r u n g s p r o b l e m;
falls g o a l - Maxi mum, ist Lt ein Ma x i mi e r u n g s p r o b l e m.
In der Definition eines Opt i mi erungsprobl ems als 6-Tupel hat das Eingabe-
al phabet E1 die gleiche Bedeut ung wie das Al phabet von Entscheidungspro-
blemen, d.h. E1 benut zt man, um die Inst anzen von b/ darzustellen. Ana-
log benut zt man das Ausgabeal phabet Eo fiir die Darst el l ung von Ausgaben
(zulgssigen L6sungen). Die Sprache L C E} ist die Menge der Darst el l ungen
von Problemf~llen. Dies bedeut et , dass wir uns auf das Opt i mi erungsprobl em
50 2 Alphabete, W6rter, Sprachen und Aufgaben
und nicht auf das Ent schei dungspr obl em (Ez, L) konzent ri eren und dass wir
vorausset zen, dass eine Ei ngabe aus E~ - L nie vor kommen wird.
Ei n Probl emfal l z E L formul i ert mei st ens eine Menge von EinschrS~nkungen
und A4(z) ist die Menge yon Obj ekt en (zulS~ssigen L6sungen zu z), die diese
EinschrS~nkungen erfiillen. In der Regel bes t i mmt der Probl emfal l z auch, wie
hoch die Kost en cost(c~,z) fiir jedes ct E Ad(z) sind. Die a uf ga be ist, in
der Menge der zulS~ssigen L6sungen A/t(z) zu z eine opt i mal e zu finden. Die
typische Schwierigkeit ist, dass die Menge Ad(z) eine so grot3e MS~chtigkeit hat ,
dass es unm6gl i ch ist, alle zulS~ssigen L6sungen aus Ad(z) zu generieren und
deren Kost en zu vergleichen.
Um die Spezifikation von konkret en Opt i mi er ungspr obl emen zu veranschauli-
chen, lassen wir oft die Spezifikation von EI, Eo und die Dar st el l ung von Dat en
fiber E1 und Eo aus. Wi r setzen einfach voraus, dass die t ypi schen Dat en wie
Zahlen, Gr aphen oder Formel n in der oben pr gsent i er t en Dar st el l ung vorkom-
men. Dadur ch reduzi eren wir die Definition eines Opt i mi er ungspr obl ems auf
die Spezifikation folgender vier Obj ekt e:
9 die Menge der Problemf~lle L, also die zulgssigen Ei ngaben,
9 die Menge der EinschrS~nkungen, gegeben durch j eden Probl emfal l z E L,
und dami t Ad(z) fiir jedes z E L,
9 die Kost enfunkt i on,
9 das Opt i mi erungszi el .
Bei spi el 2.6. Trav eling Sal esman Probl em (TSP)
Eingabe: Ei n gewi cht et er vollstS~ndiger Gr aph (G, c), wobei G = (IF, E) , V =
{Vl , . . . , v~} fiir ein n E IN - {0}, und c: E ~ IN - {0}.
{St ri kt formal ist die Ei ngabe jedes Wort z E {0, 1, r so dass z einen
gewichteten, vollstSmdigen Gr aphen (G, c) darst el l t }.
Einschv~nkungen: Fa r j eden Probl emfal l (G, c) ist A4(G, c) die Menge aller
Hami l t onscher Kreise yon G mi t der Kost enf unkt i on e. Jeder Hamil-
t onsche Kreis 15~sst sich durch ein (n + 1)-Tupel yon Knot en vii, vi ~, . . . ,
vi~, vi~ darstellen, wobei ( i l , . . . , i~) eine Per mut at i on yon {1, 2 , . . . , n}
ist. Man beachte, dass diese Dar st el l ung nicht ei ndeut i g ist.
{Eine st reng formale Dar st el l ung yon Ad(G, c) ware die Menge aller
W6r t er y l # y 2 CP. . . # y ~ E {0,1,r = E b mi t Yi E {0, 1} + fiir i =
1, 2 , . . . , n und {N~f/zf/zef(~] l), N~f/zf/zef(~] 2),... , N~tTrtTrtef(~jn)} = {1, 2,
. . . ,
2.3 Algorithmische Probleme 51
Ko s t e n : Fiir j eden Hami l t onschen Kreis H = vi~ , vi~, . . . , Vin, Vi~ E A/ t ( G , c),
n
CO~t((Vil,... ,Vin,Vil), (G,C)) - ~ C ({Vij,Vi( j modn) +l }) '
j = l
d.h., die Kost en jedes Hami l t onschen Kreises ist die Summe der Gewichte
aller seiner Kant en.
Zi el : Mi n i mu m.
Fiir den Probl emfal l von TSP aus Fig. 2.4 gilt:
c o s t ( ( v l , v2, v3, va, v5, v l ) , ( G, c)) = 8 + 1 + 7 + 2 + 1 = 1 9
c o s t ( ( v l , v5, v3, v2, v4, Vl), (G, c)) : 1 + 1 + 1 + 1 + 1 = 5.
Der Hami l t onsche Kreis Vl, v5, v3, v2, v4, V 1 ist die einzige opt i mal e LSsung zu
diesem Probl emfal l yon TSP.
V 1 1 v5
1
V2 V4
V3
Fig. 2.4
Das TSP ist ein schweres Opt i mi erungsprobl em. In der Anwendung erschei-
hen aber oft nur ProblemfSJle, die gewisse gut e Ei genschaft en haben und ftir
die man bei der Suche nach einer gut en L6sung bessere Chancen hat . Wi r sa-
gen, dass ein Opt i mi er ungspr obl em ~/~1 -- ( ~ I , ~ 0 , L/ , J~/{, cost , goal ) ein Tel l -
p r o b l e m des Opt i mi er ungspr obl ems b/2 - (EI, Eo , L, 3 4 , cost , goal ) ist, falls
L ~ C_ L ist. Auf diese Weise definieren wir auch das me t r i s c h e T S P ( A- T S P )
als ein Teilproblem yon TSP. Das bedeut et , dass die EinschrS~nkungen, die Ko-
st en und das Ziel genauso definiert sind wie bei TSP, nur die Menge der Ein-
gaben (Problemf~lle) wird fol gendermagen eingeschr~nkt" Jeder Probl emfal l
(i)
(ii)
2 Alphabete, WSrter, Sprachen und Aufgaben
(G, c) von A- T S P erfiillt die s oge na nnt e Dr e i e c k s u n g l e i c h u n g , was bedeu-
t et , dass
_< +
fiir alle Kn o t e n u, v, w yon G. Di es ist ei ne nat i i r l i che Ei gens chaf t , die bes agt ,
dass die di r ekt e Ve r bi ndung zwi schen u und v ni cht t e ur e r sei n dar f als be-
l i ebi ge Umwege ( Ve r bi ndunge n fi ber a nde r e Knot e n) . Ma n bemer ke, dass der
Pr obl emf al l in Fi g. 2.4 die Dr ei ecks ungl ei chung ni cht erfiillt.
Auf gabe 2.17. Beweisen Sie, dass . A4 ( ( G , c ) ) I - ( n - 1)!/2, wenn G ein Graph mit n
Knoten ist, wobei n > 2.
Ei ne Knot e ni i be r de c kung ei nes Gr a p h e n G - (V, E) ist j ede Kn o t e n me n g e
U C_ V, so dass j ede Ka nt e aus E mi t mi nde s t e ns ei nem Kn o t e n aus U i nzi dent 7
ist. Di e Menge {v2, v4, vs} ist z.B. ei ne Knot e nt i be r de c kung des Gr a p h e n aus
Fi g. 2.5, weil j ede Ka nt e mi nde s t e ns mi t ei nem di eser drei Kn o t e n i nzi dent ist.
Di e Menge {vl , v2, va} ist kei ne Knot e ni i be r de c kung des Gr a p h e n aus Fi g. 2.5,
weil die Ka nt e {v4, vs} dur ch kei nen der Kn o t e n vl , v2 und va bedeckt wi rd.
Auf gabe 2.18. Das Knotenfiberdeckungsproblem (minimum vertex cover problem, kurz
MI N- VCP) ist ein Minimierungsproblem, bei dem man ffir einen gegebenen (ungerichteten)
Graphen G eine Knotenfiberdeckung mit minimaler Kardinalitgt sucht.
Vl
Bestimmen Sie die Menge aller Knotenfiberdeckungen des Graphen aus Fig. 2.5.
Geben Sie die formale Beschreibung des MIN-VCP an. Spezifizieren Sie dabei die
Darstellung der Eingaben und der Ausgaben fiber dem Alphabet {0, 1, ~:}.
V5 V2
52
v4 v3
Fig. 2.5
7Eine Kante {u, v} ist inzident zu ihren Endpunkten u und v.
2.3 Algorithmische Probleme 53
Be i s p i e l 2. 7. Das Pr obl e m der ma xi ma l e n Cl i que ( MAX- C L )
Ei ne Cl i que eines Gr a p h e n G = (V, E) ist j ede Tei l menge U c V, so dass
{{u, v} l u, v E U, u r v} c_ E (die Knot e n von U bi l den ei nen vollstandigen
Tei l gr aph yon G). Das Pr obl e m der ma xi ma l e n Cl i que ist, eine Cl i que mi t
ma xi ma l e r Ka r di na l i t ~t zu fi nden.
Eingabe: Ei n ( unger i cht et er ) Gr a p h C - (If, E) .
Kosten: Ft i r j edes S E ] t d( G) ist cost(S, G) - I s l .
Ziel: Maximum.
Auf gabe 2.19. Ein Graph T - (V, E' ) heif3t Spa nnba um eines Graphen G - (V, E),
falls T ein Baum (ein kreisfreier zusammenh~ngender Graph) und E' C_ E ist. Das Gewicht
eines Spannbaumes T - (V, E' ) eines gewichteten Graphen (G, c) entspricht der Summe
~-~-e~z, c(e) aller Gewichte der Kanten in E' . Das Problem des minimalen Spannbaumes ist,
fiir einen gewichteten Graphen (G, c) einen Spannbaum mit dem minimalen Gewicht zu
bestimmen. Geben Sie die formale Darstellung des Problems des minimalen Spannbaumes
als Optimierungsproblem an.
Be i s p i e l 2. 8. Maxi mal e Er f i i l l bar kei t ( MAX- S AT )
Sei X = {Xl , X2, . . . } die Menge der Bool e' schen Var i abl en. Die Menge der
Li t er al e fiber X ist Li t x = { x , ~ I x E X} , wobei ~ die Negat i on von x
bezei chnet . Ei ne Kl ausel ist eine bel i ebi ge endl i che Di s j unkt i on von Li t er al en
(z.B. Xl V~3Vx4V~7). Ei ne For mel ist in k o n j u n k t i v e r No r ma l f o r m ( KNF ) ,
wenn sie eine Konj unkt i on von Kl aus el n ist. Ei n Bei spi el ei ner For mel fiber X
in KNF ist
r - ( ~ v ~ ) A ( ~, v ~ v ~ ) A ~ A ( ~ v ~ ) A ~ A ( ~, v ~ ) .
Das Pr obl e m der ma xi ma l e n Er f i i l l bar kei t ist, fiir eine gegebene For mel (I) in
KNF eine Bel egung i hr er Var i abl en zu fi nden, die die ma xi ma l m6gl i che Anzahl
von Kl aus el n von (I) erftillt.
Eingabe: Ei ne For mel q) = F1 A F2 A. . . A F,~ fiber X in KNF, wobei Fi eine
Kl ausel ftir i = 1 , . . . , mi s t , m E I N- {0}.
Einschriinkungen: Fi i r j ede For mel (I) fiber {xi~, xi 2 , . . . , Xin} ist
a 4 ( ~ ) = { 0 , 1 } ~
{Jedes c~ = c~1. . , c~, E ] t4(q)), c~j E {0, 1} fiir j = 1 , . . . , n, st el l t eine
Bel egung dar, die xi~ den Wer t c~j zuor dnet . }
Kosten: Fi i r j edes (I) und j edes c~ C A4((I)) ist cost(c~, ep) die Anzahl der Kl au-
seln, die dur ch c~ erfiillt wer den.
54 2 Alphabete, WSrter, Sprachen und Aufgaben
Ziel: Maxi mum.
Zu der oben gegebenen For mel (I) k6nne n wi r in der Tabel l e 2.1 alle 8 Bele-
gunge n der Var i abl en Xl, x2, x3 b e t r a c h t e n und da dur c h die opt i ma l e L6s ung
be s t i mme n.
Tab. 2.1
x l x2 V x2 N1 V N2 V x3
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
X3 Xl
0 0
1 0
0 1
1 1
0 1
1 1
0 1
1 1
X2 X2 V x 3 x 3
1 1 0 0 1
1 1 1 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 1 1 0
1 0 1 0 1
0 0 1 1 0
x l v x3 r erfiill. Klauseln
Di e opt i ma l e n L6s ungen si nd die Bel egungen 001, 011 und 101, die 5 Kl aus el n
von (I) erfiillen.
Be i s p i e l 2. 9. Ganzzahl i ge Li near e Pr o g r a mmi e r u n g ( i nt eger l i near pr ogr a m-
mi ng I L P )
Hi er be s t e ht die Auf ga be dar i n, fiir ei n gegebenes Sys t e m yon l i near en Glei-
chungen und eine l i near e Funkt i on yon Un b e k a n n t e n des l i near en Sys t ems ei ne
L6s ung di eses Sys t ems zu ber echnen, die mi ni ma l bezi i gl i ch der l i near en Funk-
t i on ist.
Eingabe: Ei ne m n Ma t r i x A = [aij]i=l,...m,j=l,...,n und zwei Vekt or en b =
( b l , . . . , bin) T und c - ( c l , . . . , Cn) fiir n, m E I N- {0}, wobei a~j, b~, cj
ganze Zahl en fiir i = 1 , . . . , mu n d j = 1 , . . . , n si nd.
Einschriinkungen: Ad(A, b, c ) - { X - ( Xl , . . . , Xn) T E I N' l A X - b}.
{ Ad( A, b, c) ist die Menge al l er La s ungs ve kt or e n des l i near en Sys t e m
A X = b, der en El e me nt e nur aus nat i i r l i chen Zahl en bes t ehen. }
Kosten: Fi i r j edes X = ( x ~ , . . . , x~) r 2t 4(A, b, c) ist
n
o t( x, ( A, b, -
i =1
Ziel: Mi ni mum.
CiXi.
2.3 Algorithmische Probleme 55
AuBer Ent schei dungsprobl emen und Opt i mi er ungpr obl emen bet r acht en wir
auch algorithmische Probl eme anderer Nat ur. Diese haben keine Ei ngabe, son-
dern die Aufgabe ist, ein Wort oder eine unendliche Reihenfolge yon Symbolen
zu generieren.
De f i n i t i o n 2. 14. Sei E ei n Al phabet , und sei x c E*. Wi t sagen, dass ei n
Al g o r i t h mu s A das Wo r t x g e n e r i e r t , f al l s A f i i r die Ei ngabe ;~ die Aus gabe
x l i ef ert .
Das folgende Pr ogamm A generiert das Wort 100111.
A: b e g i n
w r i t e ( 1 0 0 1 1 1 ) ;
e n d
D a s f o l g e n d e P r o g r a m m A n g e n e r i e r t d a s W o r t ( 0 1 ) n f i i r j e d e s n E I N - { 0 } .
A n : b e g i n
f o r i - - i r o n d o
w r i t e ( 0 1 ) ;
e n d
E i n P r o g r a m m , d a s x g e n e r i e r t , k a n n m a n a l s e i n e a l t e r n a t i v e D a r s t e l l u n g y o n
x b e t r a c h t e n . D a m i t k a n n m a n e i n i g e W 6 r t e r i m R e c h n e r a l s P r o g r a m m e , d i e
d i e s e W 6 r t e r g e n e r i e r e n , s p e i c h e r n .
De f i n i t i o n 2. 15. Sei E ei n Al phabet , und sei L C_ E*. A i st ei n Auf z~i hl ungs -
a l g o r i t h mu s ffir L, f al l s A f i i r j ede Ei ngabe n E I N- {0} die Wor t f ol ge
x l , x 2 , . . . , x ~ ausgi bt , wobei x l , x 2 , . . . , x ~ die k a n o n i s c h n er s t en WS r t e r i n L
si nd.
Be i s pi e l 2. 10. Seien E - {0} und L - {0 p I P ist eine Pri mzahl }.
Eingabe: n
Ausgabe" 02, 03, 0 ~, 07, . . . , 0 p~, wobei p~ die n-t e kleinste Pri mzahl ist.
Aufgabe 2.20. Beweisen Sie, dass eine Sprache L rekursiv ist genau dann, wenn ein Auf-
zghlungsalgorithmus fiir L existiert.
56
2. 4
2 Alphabete, W6rter, Sprachen und Aufgaben
K o l mo g o r ov - K o mp l e x i t ~it
In di esem Abs chni t t wol l en wi r W6r t e r als I nf or mat i onst r ~t ger be t r a c ht e n und
ei nen si nnvol l en Weg zur Messung des I nf or mat i ons gehal t es von W6 r t e r n fin-
den. Wi r beschrS~nken uns dabei auf W6r t e r fiber dem Al pha be t Ebool. Die
i nt ui t i ve Gr undi dee k6nnt e sein, ei nem Wor t ei nen kl ei nen I nf or mat i ons gehal t
zuzuor dnen, falls das Wor t eine kur ze Dar s t el l ung hat ( kompr i mi er bar ist),
und ei nen grof3en I nf or mat i ons gehal t , wenn es so unregelm~tf3ig (irregul~tr) aus-
sieht, dass ma n kei ne ki i rzere Dar s t el l ung des Wor t es fi nden kann. So schei nt
das Wor t
011011011011011011011011
mi t der Dar s t el l ung (011) s ei nen kl ei ner en I nf or mat i ons gehal t als
0101101000101101001110110010
zu haben. Die Er zeugung ei ner ki i rzeren Dar s t el l ung eines Wor t es x nennen
wi r eine Kornprirnierung von x.
Die erst e Idee w~re, sich eine feste Kompr i mi e r ungs me t hode zu i i berl egen und
da nn die L~tnge des r es ul t i er enden kompr i mi e r t e n Wor t es als Mar3 fiir den In-
f or mat i ons gehal t zu nehmen. Nat i i r l i ch muss dabei gef or der t wer den, dass die
r esul t i er ende Dar s t el l ung wi eder ein Wor t fiber Ebool ist, weil es si cherl i ch keine
Kuns t ist, mi t m~cht i ger en Al pha be t e n ki i rzere Dar s t el l ungen zu erzeugen.
Auf gabe 2. 21. Finden Sie
{0, 1, 2, 3, 4}* - E;, so d ass
eine injektive Abbildung H von (~bool )* nach
Ixl ~ 2. I H( ~) l - 1
fiir jedes x C (~bool)*, Ixl _) 4. Was fiir einen Komprimierungsfaktor kann man erreichen,
wenn man statt 25 das Alphabet G,~ fiir ein rn > 5 nimmt?
Wenn wi r als m6gl i che Kompr i mi e r ung die Aus nut z ung der Wi eder hol ungen
der Tei l w6r t er be t r a c ht e n wollen, be komme n wi r zuer st W6r t e r fiber dem Al-
pha be t {0, 1, ( , ) } wie z.B. (011)1000 fiir (011) s oder
(o)1olO ; O lO )1; O l)11O l f~r (o/ 1~ 1~.
2.4 Kolmogorov-Komplexit~t 57
Um diese wieder fiber Ebool z u kodieren, k6nnen wir einen Homomor phi smus
yon {0, 1, ( , ) } nach Ebool wie folgt definieren:
h ( 0 ) = 0 0 , h ( 1 ) = 1 1 , h ( ( ) = 1 0 , u n d h ( ) ) = 0 1 .
So bekommt das Wor t (011) s die Dar st el l ung
100011110111000000.
Das Pr obl em ist, dass man unendl i ch viele mSgliche Kompr i mi er ungsmecha-
ni smen bet r acht en kann. Welcher soll dann aber der richtige sein? Wi r kSnnen
z.B. die vorgest el l t e Kompr i mi er ung noch so verbessern, dass wir die Darst el -
l ung yon Pot enzen noch kompri mi eren. So kann ein Wor t (011) 1~ kiirzer
als (011) 2~~ dargest el l t werden. Diese St rat egi e kann man natiirlich beliebig
fortsetzen, um kurze Darst el l ungen fiir W6r t er wie (01)12~, (01)2~2n, . . . ZU
generieren. Dies bedeut et , dass, egal welche dieser Kompr i mi er ungen wir neh-
men, i mmer eine weitere Kompr i mi er ung existiert, die fiir unendliche viele
W6r t er bessere Resul t at e liefert. Daher kSnnen wir, um ein obj ekt i ves Mat3
fiir den I nf or mat i onsgehal t von WSr t er n zu bekommen, keine dieser St rat egi -
en verfolgen.
Es kommt noch schlimmer. Bet r acht en wir folgende Kompr i mi er ungsmet hode.
Fiir jedes x E (Ebool)* k6nnen wir Nu mme r ( x ) ei ndeut i g als seine Faktorisie-
rung
9 " ik
; i 1 . ; ; 2 . . . . .
fiir Pr i mzahl en P l < P2 < " ' " < Pk, i l , i 2 , . . . , i~ E IN {0} fiir j = 1, 2 , . . . , k
9 " / k
ausdrticken. Eine Dar st el l ung von p~l. p~ . . . . . p~ fiber {0, 1, (, ), } kSnnt e
B i n ( p l ) ( B i n ( i l ) ) B i n ( p 2 ) ( B i n ( i 2 ) ) . . . B i n ( p k ) ( B i n ( i k ) )
sein. Mit der Anwendung des Homomor phi smus h bekommen wir wieder eine
bi ngre Darst el l ung. Die schlechte Nachri cht ist, dass diese Kompr i mi er ungs-
met hode unvergleichbar mi t der vorheri gen Met hode der W6r t er pot enzen ist.
Also kompr i mi er t die erste Met hode fiir einige W6r t er besser als die zweite
und umgekehrt .
Aufgabe 2.22. Finden Sie zwei WSrter x, y E (~bool)*, SO dass
(i) die Komprimierungsmethode der Teilw6rterpotenzen eine wesentlich kiirzere Darstel-
lung fiir x als die Methode der Primzahlzerlegung liefert und
58 2 Alphabete, W6rter, Sprachen und Aufgaben
(ii) die Komprimierungsmethode der Primzahlzerlegung fiir y zu einer wesentlich kiirzeren
Darstellung fiihrt als die Methode der TeilwSrterpotenzen.
Eine Definition des Komplexitgtsmat3es muss robust sein in dem Sinne, dass
die gemessene KomplexitS~t eine breite Giiltigkeit hat und daher unt er unt er-
schiedlichen Rahmenbedi ngungen genut zt werden kann. Bei einer Variierung
der Kompl exi t gt in Abhgngi gkei t yon der Kompr i mi er ungsmet hode wiirde eine
Festlegung auf eine Met hode keine M6glichkeit zu allgemeinen Aussagen fiber
den Informat i onsgehal t von W6r t er n geben. Ein Ausweg aus dieser scheinba-
ren Sackgasse hat Kolmogorov durch folgende Definition gefunden. Es ist dabei
wichtig zu beobacht en, dass die L6sung unseres Kompri mi erungsprobl ems ohne
die vorherige Einfiihrung des Begriffs Al gori t hmus ( Pr ogr amm) nicht mSglich
gewesen wgre.
De f i n i t i o n 2. 16. Fiir j edes Wort x E (Ebool)* ist die Ko l mo g o r o v - Ko m-
pl exi t ~i t K( x ) des Wo r t e s x die biniire Liinge des ki i rzest en Pascal-Pro-
gramms, das x generiert.
Wi r wissen, dass uns ei n/ Jber set zer fiir Pascal zu j edem Pascal - Pr ogr amm sei-
hen Maschi nencode generiert, der ein Wort fiber (Ebool)* ist. Fiir jedes Wort x
bet r acht en wir also alle (unendlich vielen) Maschi nencodes yon Pr ogr ammen,
die x generieren und die LS~nge eines k/irzesten ist die Kolmogorov-KomplexitS~t
yon x. Ist K( x ) ein gut er Kandi dat fiir die Definition des Informat i onsgehal t es
von x? Wenn es um die Ei nbezi ehung aller m6glichen Kompri mi erungsme-
t hoden geht, sicherlich ja. Wi r k6nnen zu j eder Kompr i mi er ungsmet hode, die
zu x eine kompri mi ert e Darst el l ung y produzi ert , ein Pr ogr amm schreiben,
das y als Par amet er ( Konst ant e des Pr ogr amms) bei nhal t et , und das x aus y
(basierend auf der Kompr i mi er ungsmet hode) erzeugt. Bevor wir uns aber in
diese Definition vertiefen, zeigen wir ein paar grundl egende Resul t at e fiber die
Kolmogorov-KomplexitS~t, um mehr VerstS~ndnis fiir dieses KomplexitS~tsmaf3
zu gewinnen.
Das erste Resul t at sichert, dass K( x ) nicht wesentlich 15~nger sein darf als Izl,
was nat/irlich erw/inscht ist.
L e mma 2. 4. Es exi st i ert eine Kons t ant e d, so dass f i i r j edes x E (Ebool)*
Bewei s. Fiir jedes x E (Ebool)* nehmen wir folgendes Pr ogr amm s Ax:
SZur Vereinfachung benutzen wir im Folgenden eine Pascal-/ihnliche Programmiersprache,
die z.B. ohne Variablendeklaration auskommt.
2.4 Kolmogorov-Komplexit~t 59
b e g i n
wr i t e ( x ) ;
end
Die Teile begin, wr i t e, end und Ko mma t a des Pr ogr a mms Ax sind gleich ffir
j edes x E (Ebool)* und die Li nge i hrer Kodi er ung im Maschi nencode bes t i mmt
die (nicht zu grofie) Kons t ant e d. Das Wor t x ist im Pr ogr a mm als x bi ni r dar-
gest el l t und leistet deswegen zur bi ni r e n Dar st el l ung von Ax nur den Bei t r ag
Die l et zt e Frage, die noch zu beant wor t en bl ei bt , ist die folgende: "Wie er-
kennt man in der binS~ren Dar st el l ung des Pr ogr ammes A, den Teil, der x
ent spri cht ?" Das Pr obl em liegt dari n, dass wir zum Beispiel die Symbol e des
benut zt en Al phabet s 2Tastatur dur ch Fol gen von 8 Nul l en und Ei nsen bi ngr
darst el l en. Das gilt nat i i rl i ch auch ffir die Dar st el l ung der Symbol e 0 und 1
aus EWastatur. Wenn wir aber die Nul l en und Ei nsen von x so r epr gsent i er en
wi i rden, wS~re die Lgnge yon A, 8. Ixl + d. Um x eins zu eins in A, darzust el l en,
geben wir am Anf ang der binS~ren Kodi er ung yon A, zwei Zahl en k und 1 an.
Die Zahl k gi bt die Lgnge des Prgfi xes der Kodi er ung bis zu der Stelle an,
an der x geschri eben wird. Die Zahl 1 gi bt die Lgnge des Suffixes der bi ngr en
Kodi er ung yon Ax ab der Stelle an, an der dass Wor t x st eht . Dami t ist k die
LS~nge der Kodi er ung von
b e g i n w r i t e (
und 1 ist die LS~nge der Kodi er ung yon
) ; end
Bemer ken wir, dass die Angabe yon 1 und h erforderl i ch ist. Es reicht nicht, x
dur ch Sonder symbol e vom Rest des Pr ogr ammes zu t r ennen, weil die bi ngre
Dar st el l ung dieser Sonder symbol e auch in x mehr mal s vor kommen k6nnt e und
dadur ch wgre nicht ei ndeut i g zu erkennen, wo sich x in Ax befi ndet .
Wi cht i g ist noch zu beobacht en, dass die Zahl en k und 1 unabhS~ngig yon x
sind. Deswegen diirfen wir nicht s t at t 1 die Lgnge Ixl von x am Anf ang der
Kodi er ung angeben, weil Bi~(I~I) die LS~nge [log 2 ( Bi ~( I ~I ) + 1)] hat , die yon
x abhS~ngig ist. D
RegelmS~fiige W6r t e r haben nat i i rl i ch eine kleinere Kol mogorov-Kompl exi t ~t t .
Sei y~ = 0 ~ E {0, 1}* fiir j edes n E I N- {0}. Das folgende Pr ogr a mm Y~
generi ert y~.
b e g i n
f o r I = 1 t o n d o
60
end
wr i t e ( 0 ) ;
2 Alphabete, WSrter, Sprachen und Aufgaben
Al l e P r o g r a mme Y~ si nd gl ei ch bi s auf das n. Di e Kos t e n fiir di e bi ngr e Kodi e-
r ung Bin(n) yon n si nd [l og2(n 1)] . Da he r ka nn ma n b e h a u p t e n , class ei ne
Ko n s t a n t e c exi st i er t , so dass
ftir a l l e n E IN - {0}.
Be t r a c ht e n wi r j et zt z~ - 0 ~ E {0, 1}* fiir j edes n E I N- {0}. Das f ol gende
P r o g r a mm Z~ gener i er t das Wor t z~.
b e g i n
M " - n ;
M: =M
f o r I = 1 t o M do
wr i t e ( 0 ) ;
end
Al l e P r o g r a mme Z~ si nd gl ei ch bis auf das n. Beobacht e, dass n di e ei nzi ge Zahl
( Kons t a nt e ) ist, di e i m A~ vor kommt . Di e Symbol e M und I bezei chnen di e
Var i abl en und fiir di e Ko d i e r u n g des P r o g r a mms spi el t es kei ne Rol l e, wi e gr og
di e Zahl en si nd, di e den Var i abl en wghr e nd der Aus f i i hr ung des P r o g r a mms
z uge or dne t wer den. We nn d di e GrSi3e der Kodi e r unge n von Z~ his auf das n
ist, e r ha l t e n wi r
K(z~) <_ [l og2(n + 1)] + d _~ F l o g (g l z l ] + d + 1.
Auf gabe 2.23. Beweisen Sie die folgende Behauptung: Es existiert eine Konstante c, so
dass fiir jedes n c I N- {0}
K ((01) 2n) _< rlog2(n + 1)] + c - / l o g 2 log 2 (1(01) ~ / 2 ) l +~.
Auf gabe 2 . 2 4 . Geben Sie eine unendliche Folge von WSrtern yl, y2, Y3 , . . . fiber ~bool mit
folgenden Eigenschaften an:
(i)
(ii)
lyil < lyi+ll ftir alle i E I N- {0}, und
es existiert eine Konstante c, so dass
K(yi) <_ [log~ log~ log~ lyil] +
ffir alle i C I N- {0} gilt.
2.4 Kolmogorov-Komplexit~t 61
Aufgabe 2.25. Beweisen Sie, dass fiir jede positive Zahl rn ein Wort w,~ existiert, so dass
Wi r k6nnen auch den I nf or mat i ons gehal t von Zahl en messen, wenn wir die
Messung der Kolmogorov-KomplexitS~t an i hrer BinS~rdarstellung durchft i hren.
De f i n i t i o n 2. 17. Di e Ko l mo g o r o v - Ko mp l e x i t / i t e i n e r n a t f i r l i c h e n Za h l
i st K( n) = K( ~i n( n) ) .
Aufgabe 2.26. Sei n = pq eine positive Zahl. Beweisen Sie
K(~) _< K(p) + K(q) +
fiir eine Konstante c, die unabh~ngig von n, p und q ist.
Das nS~chste Res ul t at zeigt, dass es auch ni cht kompr i mi er bar e W6r t e r i m Si nne
der Kolmogorov-KomplexitS~t gibt.
L e mma 2. 5. Fi i r j ede Zahl n E I N- {0} exi st i ert ein Wor t w~ E (Ebool) ~
dass
SO
d.h., es exi st i ert f i i r j ede Zahl n ei n ni cht kompr i mi er bar es Wor t der Lgnge n.
Bewei s. Der Beweis basi er t auf einer ei nfachen kombi nat or i schen Idee, die oft
Anwendung findet. Wi r haben genau 2 ~ WSr t er Xl , . . . ,x2~ in (Ebool) ~. Sei,
fiir i = 1 , 2 , . . . , 2 ~, C-Prog(x~) E {0, 1}* der Maschi nencode eines Pr ogr am-
rues Pr og( xi ) , das xi generi ert und K( x i ) = IC-Prog(xi )l (also ist Pr og( xi )
eines der ki i rzest en Pr ogr a mme 9, die xi generi eren). Es ist klar, dass ftir zwei
unt erschi edl i che WSr t er x~ und xj , i # j , C-Prog(x~) und C- Pr og( xj ) unt er -
schiedlich sein miissen. Das bedeut et , dass wir 2 ~ unt erschi edl i che Maschi nen-
codes C- Pr og( xl ) , C- Pr o g ( x 2 ) , . . . , C- Pr og( x2~) von ki i rzest en Pr ogr a mme n fiir
x l, x 2 , . . . , x2~ haben. Es geni i gt zu zeigen, dass mi ndes t ens einer der Maschi-
nencodes eine LS~nge gr6i3er gleich n haben muss.
Das kombi nat or i sche Ar gument fiir die gewi i nscht e Be ha upt ung sagt einfach,
dass es unm6gl i ch ist 2 ~ unt erschi edl i che Maschi nencodes der L~nge kleiner
als n zu haben. Jeder Maschi nencode ist ein Wor t fiber (Ebool)*. Die Anzahl
9Man bemerke, dasses mehrere unterschiedliche kiirzeste Programme fiir xi geben kann,
und wir legen nur eines von ihnen lest.
62 2 Al p h a b e t e , WSr t e r , Sp r a c h e n u n d Au f g a b e n
der WSr t er der LS~nge i fiber Ebool ist genau 2 i. Daher ist die Anzahl aller (un-
terschiedlichen) nichtleeren WSr t er fiber Ebool mit einer Lgnge von hSchstens
n - - 1
n - 1
i =1
2 ~ = 2 ~ - 2 < 2 ~.
Also muss es unt er den 2 ~ WSr t er n C- Pr o g ( x l ) , . . . , C-Prog(z2~) mi ndest ens
eines mit Lgnge von mi ndest ens n geben. Sei C-Prog(zo) ein solches Wort mit
I C- Pr og( xj ) l > n. Wei l I C - P r o g ( x j ) l - K(xj), ist xj nicht kompri mi erbar. D
Au f g a b e 2 . 2 7. Be we i s e n Sie, da s s fiir al l e i, n E I N- {0}, i < n, 2 ~ - 2 n - i unt e r s c hi e dl i c he
WS r t e r x i n (Ebool ) ~ e xi s t i e r e n, so da s s
K(x) _> ~ - i.
Au f g a b e 2 . 2 8. Be we i s e n Sie, da s s es u n e n d l i c h vi el e Za h l e n m gi bt , so da s s K(m) >_
[l og 2 m] - 1.
Kehren wir j et zt zuriick zur Frage, ob die Kol mogorov-Kompl exi t / R ein ge-
niigend robust es Marl fiir den Informat i onsgehal t von W6r t er n ist. St at t ei-
net spezifischen Kompr i mi er ungsmet hode haben wir ein formales Modell von
Pr ogr ammen genommen, das in sich alle m6glichen KomprimierungsansS~tze
implizit bei nhal t et . Man kann aber die Fest l egung auf eine Pr ogr ammi er spr a-
che als zu groi3e Ei nschr~nkung sehen. W~re es fiir die Kompr i mi er ung einiger
WSr t er nicht giinstiger, C + + oder Java s t at t Pascal zu bet r acht en? Spielt
nicht die Festlegung einer Pr ogr ammi er spr ache in der Definition der Kolmogo-
rov Komplexit~tt eine ~hnlich negative Rolle ftir die Robust hei t der Messung
des Informat i onsgehal t es wie die Fest l egung einer Kompr i mi er ungmet hode?
Die Ant wort en auf diese Fragen sind negativ.
Wi r zeigen im Folgenden einen Satz, der aussagt , dass die Festlegung auf ei-
ne Pr ogr ammi er spr ache nur einen beschrSmkten Einttuss auf die Kolmogorov-
KomplexitS~t von WSr t er n hat und daher unsere Fest l egung auf Pascal in der
Formal i si erung des i nt ui t i ven Begriffs des Informat i onsgehal t s akzept i ert wer-
den kann.
Sei, fiir jedes Wort x fiber Ebool und jede Pr ogr ammi er spr ache A, KA(X)
die Kolmogorov-Komplexit~it yon x beziiglich der Pr ogr ammi er spr ache A (die
Ltinge des kiirzesten Maschi nencodes eines Pr ogr ammes in A, das x generiert).
Sa t z 2. 1. Seien A und B Programmiersprachen. Es existiert eine Konstante
2.4 Kolmogorov-Komplexitgt 63
CA,B, die n u t von A und B abhiingt, so dass
f i i r alle w E (}--]bool)*.
Bewei s. Wi r wissen, dass wir fiir beliebige Programmi ersprachen A und /3
einen Int erpret er als ein Pr ogr amm UA--,B in /? erstellen k6nnen, das jedes
Pr ogr amm aus A in ein 5~quivalentes Pr ogr amm i n/ 3 umschreibt und dann auf
einer aktuellen Ei ngabe arbei t en 15~sst. Fiir die Vereinfachung kann man sich fiir
die Wort generi erung die Si t uat i on so vorstellen, dass UA--,B ein Pr ogr amm P in
A als einen Ei ngabepar amet er bekommt und die gleiche Arbei t wie P realisiert.
Sei CA~B die binS~re LS~nge des Pr ogr amms UA~B. Sei P~ ein Pr ogr amm in A,
das z generiert. Dann generiert das Pr ogr amm UA~B mit Ei ngabe P~ das Wort
z. Weil UA~B mit Ei ngabe P~ ein Pr ogr amm in der Programmi ersprache /3
ist, gilt
(2.1)
Wenn man einen Ubersetzer UB~A yon B nach A mit einer binS~ren LS~nge
CB~A ni mmt , bekommt man fiir jedes Wort x E (Ebool)*
(2.2)
Wenn wir CA,B als das Maxi mum von CA~B und
(2.1) und (2.2)
cB-,a nehmen, implizieren
_<
Nachdem wir die Kol mogorov-Kompl exi t gt als das Mar3 des Informationsge-
halts von W6r t er n akzeptiert haben, wollen wir uns mit der Niitzlichkeit dieses
Begriffes besch~tftigen. Die Kolmogorov-Komplexit~tt hat viele Anwendungen,
meistens als eine effiziente Met hode ffir die Herstellung von anschaulichen ma-
t hemat i schen Beweisen. Im Folgenden pr~sentieren wir drei Anwendungen, fiir
deren Verstgndnis keine besonderen Vorkenntnisse ben6t i gt werden.
Die erste Anwendung ist auf der grundlegenden Ebene der Begriffserzeugung.
Der Zufall ist eine der grundlegenden Kat egori en der Wissenschaft und wir
werden uns mit diesem Begriff in Kapi t el 8 fiber zufallsgesteuerte Al gori t hmen
beschSfftigen. Hier stellen wir uns die Frage, warm man ein Obj ekt oder seine
Darst el l ung als Wort als zuf~tllig bezeichnen kann. Dabei kann die klassische
64 2 Alphabete, W6rter, Sprachen und Aufgaben
Wahrschei nl i chkei t st heori e nicht helfen, weil sie nur den Zufallserscheinungen
die Wahrschei nl i chkei t ihres Eintreffens zuordnet . Wenn man zum Beispiel
W6r t er aus (Ebool) n zufS~llig beziiglich einer uni formen Wahrscheinlichkeits-
vert ei l ung fiber (Ebooa) ~ ziehen m6chte, dann hat jedes Wor t die gleiche Wahr -
scheinlichkeit gezogen zu werden. K6nnt e man diese Wahrschei nl i chkei t en mi t
der ZufSJligkeit in Verbi ndung bri ngen? Dann wgre 0 ~ genauso zufgllig wie
ein unregelmgt3iges Wort und das ent spri cht nicht der i nt ui t i ven Vorst el l ung
des Adj ekt i vs zufS~llig. Nach dem W6r t er buch sollte zufgllig bedeut en: , , hat h
keinem Pl an gebaut ". Ei n zufS~lliges Obj ekt hat also eine chaotische St r ukt ur ,
die keine RegularitS~t besi t zt . Und da sind wir mi t unserem Begriff der Kom-
pr i mi er ung und des I nf or mat i onsgehal t s gerade richtig. Ei n Wor t ist zufgllig,
wenn fiir dieses Wor t keine kompr i mi er t e Dar st el l ung existiert, wenn es keinen
anderen Pl an zu seiner Er zeugung gi bt als seine vol l st gndi ge Beschreibung.
Deswegen ist die folgende Definition bisher die best e bekannt e Formal i si erung
des informellen Begriffes ,,zufiillig".
De f i n i t i o n 2. 18. Ei n Wort x E (Y]bool)* hci f l t zuf~illig, falls K( x ) >_ I 1.
Ei ne Zahl n heiflt zuf~illig, falls K( n ) = K( Bi n ( n ) ) >_ [log2(n + 1)] - 1.
D i e n / ~ c h s t e A n w e n d u n g z e i g t , d a s s d i e E x i s t e n z e i n e s P r o g r a m m e s , d a s e i n
E n t s c h e i d u n g s p r o b l e m ( E b o o l , L ) 1 6 s t , z u g e w i s s e n A u s s a g e n f i b e r d i e K o l m o -
g o r o v - K o m p l e x i t / ~ t d e r W 6 r t e r i n L f i i h r e n k a n n . W e n n L z u m B e i s p i e l k e i n e
z w e i W 6 r t e r g l e i c h e r L g n g e e n t h g l t , d a n n i s t d i e K o l m o g o r o v - K o m p l e x i t g t
j e d e s W o r t e s x a u s L n i c h t v i e l g r 6 i 3 e r a l s l o g 2 I x l .
Sa t z 2. 2. Sei L vine Sprache iiber Y]bool. Sei, fiir jedes n E I N- {0}, z~
das n-re Wort in L beziiglich der kanoni schen Ordnung. Wenn ein Programm
AL existiert, das das Ent schei dungsprobl em (Ebool, L) 15st, dann gilt fiir alle
_< [aog ( + 1)] +
wobei c vine von n unabhiingige Konst ant e ist.
Beweis. Fiir jedes n entwerfen wir ein Pr ogr a mm C~, das z~ generiert. Jedes
C~ ent hgl t AL als Tei l programm. Die Beschrei bung von C~ folgt.
b e g i n
i - - 0 ;
x ' - - ~ ;
w h i l e i < n d o b e g i n
( B e r e c h n e A L ( X ) m i t d e m P r o g r a m m A L } ;
2.4 Kolmogorov-Komplexit~t 65
i f AL(X)= 1 t h e n b e g i n
i : = i + 1 ;
z ' - - x ;
end;
x :-- Nachfol ger von x in kanoni scher Or dnung;
end
wr i t e ( z ) ;
end.
Wi t sehen, dass C~ nachei nander die WSr t e r aus (Ebool)* in kanoni scher Or d-
nung gener i er t . Ffir j edes Wor t x fi berpri i ft C~ mi t dem Te i l pr ogr a mm AL~ ob
x ~ L oder ni cht . C~ z~hl t die Anzahl der v o n An akzept i er t en WSr t er . Es ist
kl ar, dass die Aus gabe yon C~ das n- t e Wor t z~ in Li s t .
Wi t bemer ken wi eder, dass alle Pr o g r a mme C~ gleich si nd bis auf den Par a-
met er n. Wenn wi t die bi ngr e Lgnge yon C~ bis auf den Teil, der n dar st el l t ,
mi t c bezei chnen, da nn ist die Lgnge yon C~ genau c [log2(n 1)] fiir j edes
n E IN. Das Res ul t at des Sat zes folgt di r ekt aus di eser Beobacht ung. D
Um ein t ypi sches Mi ssver st ~ndni s zu ver mei den bemer ken wir, dass die Lgnge
des Pr ogr a mme s C~ ni cht s da mi t zu t un hat , wieviel Spei cher pl at z die Vari a-
bl en x, i und z w~hr end der Ar bei t von C~ ver br auchen. Dass die I nhal t e der
Var i abl en von C~ mi t der Zeit wesent l i ch l gngere Dar s t el l ungen als der Ma-
schi nencode von C~ ha be n kSnnen, spi el t dabei kei ne Rolle, weil diese Wer t e
ni cht in die Beschr ei bung des Pr ogr a mme s gehSren. Der einzige Wer t , der in
die Beschr ei bung des Pr o g r a mme s geh6r t , ist n. Aus der Sicht des Pr o g r a mme s
C~ ist aber n eine feste Kons t a nt e (Zahl ) und wi r d daher als Teil des Maschi -
nencodes von C~ dar gest el l t . I m n~chst en Kapi t el wer den wi r die Bewei si dee
des Sat zes 2.2 vert i efen.
Auf gabe 2.29. Sei p ein Polynom einer Variablen. Sei L C_ (Ebool)* eine unendliche rekur-
sive Sprache mit der Eigenschaft L N (Ebool)'~l _< p(m) fiir alle m C IN - {0}. Sei, fiir alle
n E I N- {0}, z~ das n-te Wort in L beztiglich der kanonischen Ordnung. Wie kann man
K(zn) in Izn nach oben beschr~nken?
D i e l e t z t e A n w e n d u n g b e z i e h t s i c h a u f e i n R e s u l t a t d e r Za h l e n t h e o r i e ~ d a s
eine enor me Wi cht i gkei t fiir den Ent wur f von zuf al l sgest euer t en Al gor i t hme n
hat . Fi i r j ede posi t i ve ganze Zahl n sei Prim (n) die Anzahl der Pr i mz a hl e n
kl ei ner gleich n. Der fol gende gr undl egende Sat z der Zahl ent heor i e sagt , dass
die Pr i mz a hl e n r el at i v di cht zwi schen den nat i i r l i ch Zahl en ver s t r eut sind. Bei
Unt er s t r ei chung der Pr i mz a hl e n k6nnen wi r diese H~ufi gkei t von Pr i mz a hl e n
66 2 Alphabete, W6rter, Sprachen und Aufgaben
i n f o l g e n d e r F o l g e k l e i n e r Z a h l e n
I , 2 , _ 3 , 4 , 5 , 6 , _ 7 , 8 , 9 , I 0 , i i , 1 2 , 1 3 , 1 4 , 1 5 , 1 6 , 1 7 , 1 8 , 1 9 , 2 0 , 2 1 , 2 2 , 2 3 , . . .
di r ekt beobacht en. I m Fol genden bezei chnet pi i mmer die i - t e kl ei nst e Pr i m-
zahl.
S a t z 2 . 3 . P r i mz a h l s a t z
Prim (n)
lira
~-~o~ n / l n n
= 1 .
Der Pr i mz a hl s a t z ist eine der bemer kens wer t es t en Ent de c kunge n der Mat he-
mat i k. Er sagt , dass die Anzahl der Pr i mz a hl e n ungef ~hr so schnell wgchst
wie die Funkt i on n~ i nn. Fi i r ,,kleine" Wer t e von n kann ma n Pri m (n) genau
ber echnen. Die fol gende Tabel l e zeigt einige sol cher Wer t e.
n Prim (n)
10 3
10 6
10 9
168
78498
50847478
Prim(n)
( n / i n n )
I , 1 6 1
I , 0 8 4
I , 0 5 3
Wi e na h Pri m (n) an n / i n n he r a nkommt , zei gt die fol gende Ungl ei chung
3 n 1
i n n < < i n n
2 Pri m (n) 2
fiir a l l e n > 67.
Au f g a b e 2 . 3 0 . Sei pi die i-te kleinste Primzahl fiir i - 1, 2 , . . . . Benutzen Sie Sat z 2. 3, um
zu beweisen, dass
lim P~ = 1.
n~oo n i n r t
Die ur spr / i ngl i chen Bewei se dieses Sat zes (diese si nd vor mehr als 100 J ah-
r en ens t anden) war en sehr kompl i zi er t und kamen ni cht ohne die Be nut z ung
kompl exer Zahl en aus. Auch die spS~ter ver ei nf acht en Bewei se si nd zu schwer,
um sie hi er zu prS~sentieren. Dies sollte ni cht i i ber r aschen, weil die Frage, wie
schnell die Funkt i on Pri m ( r t ) / ( r t / i nn) zu 1 mi t wachs endem rt konver gi er t ,
sehr s t ar k mi t der Ri emanns chen Hypot hes e, ei nem der spektakulS~rsten offe-
nen Pr obl eme der Ma t he ma t i k, z us a mme nh5ngt .
2.4 Kolmogorov-Komplexit~t 67
An dieser Stelle wollen wir die Niitzlichkeit der Kolmogorov-komplexitS~tsarti-
gen Ar gument at i on zeigen, i ndem wir einen einfachen Beweis fiir eine schw~tche-
re Version des Pr i mzahl sat zes geben. Diese einfachere Version des Pr i mzahl -
satzes ist aber st ar k genug, um fiir die mei st en Anwendungen fiir den Ent wur f
yon zufal l sgest euert en Al gor i t hmen hi nrei chend zu sein.
Wi r zeigen zuerst ein f undament al es Resul t at , das besagt , dass es unendl i ch
viele Pr i mzahl en mi t bes t i mmt en Ei genschaft en gibt.
L e mma 2. 6. Sei hi , n2, n 3 , . . , ei ne st ei gende unendl i che Folge von natiirli-
chen Zahl en mi t K(n~) _> [log 2 n~] //2. Sei f i i r i = 1, 2 , . . . die Zahl qg die grSflte
Pri mzahl , die die Zahl n~ teilt. Dann i st die Menge Q = {q~ l i E I N- {0}}
unendl i ch.
Bewei s. Wi r beweisen Lemma 2.6 indirekt. Angenommen, Q = {qi I i E
I N- {0}} ist eine endliche Menge. Sei p,~ die gr6t3te Pr i mzahl in Q. Dann kann
man jede Zahl ni ei ndeut i g als
r i , 1 ~ i , 2 . . . . . T) f i , m
ni - - Pl " P2 ,-m
fiir irgendwelche ri,i, r i , 2 , . . . , ri,,~ E I N darstellen. Somit kann man ein einfaches
Pr ogr a mm A entwerfen, das ftir gegebene Par amet er ri,1, r i , 2 , . . . , ri,m die bin~tre
Dar st el l ung von ni erzeugt. Sei c die bi ngre Lgnge des Pr ogr amms A auger der
Dar st el l ung der Par amet er r i , 1 , . . . , ri,m (also die Dar st el l ung des Teils von A,
der fiir alle i E IN gleich ist). Dann gilt
K ( ~ ) < c + 2 . ( F l o g 2 ( r ~ ,l + 1 ) ] + F l o g 2 ( r {,2 + 1 ) ] + . . . + F l o g 2 ( r {,,~ + 1 ) ] )
fiir alle i E I N- { 0 } . Die mul t i pl i kat i ve Konst ant e 2 kommt , um die Kodi er ung
der Zahl en ri,1, r i , 2, . . . , ri,,~ so zu gest al t en, dass ihre Dar st el l ung klar vom
Rest des Pr ogr ammes t r ennbar ist. Weil ri,j _< log2 ni fiir alle j E {1, 2 , . . . , m}
erhal t en wir
K (ni) _< c + 2m. [log 2 (log 2 ni + 1)]
fiir alle i G I N- {0}. Weil m und c Kons t ant en beziiglich i sind, kann
Flog2 ~ ] / 2 < c + 2 m- Flog2(log2 ~ + 1)1
nur f/ir endlich viele Zahl en i gelten. Dies ist aber ein Wi der spr uch zu unserer
Vorausset zung K( n~ ) >_ [log2 n~] / 2 fiir alle i E IN. D
68 2 Alphabete, W6rter, Sprachen und Aufgaben
Auf gabe 2.31. In Lemma 2.6 setzen wir eine unendliche steigende Folge von natiirlichen
Zahlen hi, n2, n3, . . , mit der Eigenschaft K(ni) >_ [log 2 ni~/2 voraus. Wie weit kann man
diese Voraussetzung abschw~tchen (d.h. ~log 2 ni~/2 verkleinern), ohne die Aussage des Lem-
mas 2.6 zu verletzen?
Le mma 2.6 zei gt ni cht nur, dass es unendl i ch viele Pr i mz a hl e n geben muss,
sonder n sogar, dass die Menge der gr6f3ten Pr i mz a hl f a kt or e n ei ner bel i ebi -
gen unendl i chen Folge von nat i i r l i chen Zahl en mi t ni cht t r i vi al er Kol mogor ov-
KomplexitS~t unendl i ch ist. Wi r wer den dieses Res ul t at i m Beweis fol gender
unt er er Schr anken f/Jr Pri m (n) benut zen.
S a t z 2. 4. * Fiir unendl i ch viele k E IN gilt
k
Pri m (k) >
- 64 log 2 k . (log 2 log 2 k ) 2"
Beweis. Sei pj die j - t e kl ei nst e Pr i mz a hl fiir j - 1, 2, . . . . Bet r acht en wi r
ein bel i ebi ges n _> 2. Sei p,~ der gr 66t e Pr i mf a kt or von n. Es ist kl ar, dass
ma n aus p,~ und n/ p, ~ dur ch Mul t i pl i kat i on die Zahl n gener i er en kann. Es
geht auch mi t noch weni ger I nf or mat i on, n~ml i ch mu n d n/ p, ~, weil ma n ftir
ein gegebenes rn ei nfach p,~ mi t ei nem Pr o g r a mm, das Pr i mz a hl e n auf zghl t ,
be s t i mme n kann.
( ) ber l egen wi r uns j et zt eine ei ndeut i ge und dabei kur ze Dar s t el l ung des Paar es
(rn, n/ p, ~) als ein Wor t fiber Ebool. Wi r k6nnen ni cht ei nfach Bi n( m) und
Bi n( n/ p, ~ ) konkat eni er en, weil ma n da nn ni cht weif3, wo das Wor t Bi n( m)
in Bi n( r n) Bi n( n/ p, ~ ) e nde t , und somi t die Dar s t el l ung ni cht ei ndeut i g wi rd.
Ver suchen wi r j et zt , m ander s zu kodi eren. Sei Bi n( m) - al a2 . . , a[log2(m+l)?
fiir ai E Ebool ftir i = 1, 2 , . . . , [l og2(m + 1)] . Da nn set zen wi r
Bi n( m) -- alOa2Oa30 . . . a[log2(m+l)]_lOa[log2(m+l)] 1.
Das Wor t Bi n ( m) Bi n ( n / p ~ ) kodi er t ei ndeut i g (m, n/ p, ~), weil das Ende der
Kodi er ung von rn ei ndeut i g dur ch die erst e 1 an ei ner ger aden Stelle be s t i mmt
ist. Die Lange di eser Dar s t el l ung ist 2. [log2(rn + 1)1 + [log2(1 + (n/ p, ~))] . Das
ist uns aber noch zu l ang und deswegen kodi er en wi r (m, n/ p, ~) als
Bi n( ~l og2 ( m + 1 ) l ) Bi n ( m) Bi n ( n / p ~ ) .
Diese Dar s t el l ung ist ei ndeut i g, weil das Ende von Bi n( Fl og2(m+ 1)1) ei ndeut i g
zu er kennen ist und Bi n( ~l og2( m+ 1)1 ) aussagt , dass die nachsten [ l og2( m+ 1)~
2.4 Kolmogorov-Komplexit~t 69
Bi t s zum Tei l wort Bin(m) gehAren. Die LA~nge di eser Kodi e r ung ist
2 F 1o g ,~ F 1 o g 2 ( m + 1 ) l l + F ] o g ,~ ( m + 1 ) I + F l o g 2 ( 1 + ( ~ / p ~ ) ) l 9
Auf di esem Pr i nzi p auf bauend kann ma n unendl i ch viele Ver bes s er ungen dur ch-
fiihren, fiir den Sat z rei cht eine wei t ere. Wi r reprA~sentieren defi ni t i v das Pa a r
(,~, n / p ~ ) als
Wo~t(.~, ~/ p~) =
Bin(Flog2Flog2(m + 1)]])Bin(Flog2(m + 1)])Bin(m)Bin(n/ p.~).
Da mi t ist offenbar
I Wort(m, ~/p~)l 2. r,o ,~:~ r ,o ,~ r , o , ~ ( ~ + 1 ) I l l
+ [ l o g 2 [ ] og 2 ( m + 1) l l
+[ 1 o g 2 ( m + 1 ) ] + F l o g 2(1 + ( n / p ~ ) ) ] .
(2.8)
Das Wort(m, n/p.~) be t r a c ht e n wi r j et zt als die Kompr i mi e r ung yon Bi n( n) .
Weil wi r eine feste Kompr i mi e r ungs s t r a t e gi e bet r acht en, be komme n wi r mi t
dems el ben Ar gume nt wie in Le mma 2.5 und in Auf gabe 2.27, dass fiir alle
i E I N- {0} f/Jr mehr als die Hal f t e aller Zahl en n aus {2 ~, 2~+ 1 , . . . , 2 ~+1- 1}
die LA~nge yon Wort(m,n/p,~) mi ndes t ens Flog(n + 1)] - 1 ist. Anal og hat
mehr als die HAJfte der Zahl en aus {2 i, 2 i + 1 , . . . , 2 i+1 - 1} die Kol mogor ov-
KomplexitA~t von mi ndes t ens [log2(n + 1)] - 2. Da mi t er hal t en wir, dass fiir
alle i E IN - {0} eine Zahl hi , 2 i _< ni _< 2 i+1 - 1, mi t
I Wont ( ~, ~/ p~) ~ I ~ i ~ ( ~ ) l - 1 = Flog2 (hi + 1)] - 1
und
K(n~) >_ [log2(n~ + 1)] - 2
exi st i ert . Also gi bt es unendl i ch viele n mi t den Ei genschaf t en
I Wo~t(m, ~/ p~) l ~ F ] - o g ~('~ + 1 ) ] - 1
(2.4)
und
K ( ~ ) _> [ i o g 2 ( ~ + l ) l - 2 (2. 5 )
70 2 Alphabete, WSrter, Sprachen und Aufgaben
We nn wi r (2.4) f/Jr ein sol ches n in (2.3) ei nset zen, e r ha l t e n wi r
F log2(~ + 1 ) l - 1 _< 2 r,o ,~ r,o ,~ r,o ,~ <~ + 1 ) I l l
+ [l o g ,~ F lo g 2 ( m + i ) ] ] + [ l o g 2 ( m + 1)]
+ raog2(1 + ( ~/ p ~) ) l .
Wei l l o g 2 ( n / p , ~ ) - log 2 n - l o g 2 p , ~ fol gt da r a us
log2 P,~ _<
<
2 . [ l o g 2 l o g 2 l o g 2 ( m + 1 ) ] + I- l o g 2 l o g 2 ( m + 1 ) l
+ F l o g 2 ( m + 1 ) ] + 2
2 9 log 2 log 2 log 2 m + log 2 log 2 m + log 2 m + 6.
Da he r ist
p,~ _< 64. m. log 2 m. (log 2 log 2 m) 2. ( 2 . 6 )
Wegen (2.5) erf/illt uns er e unendl i che Fol ge n l , n 2 , n 3 , 9 9 9 die Vor a us s e t z ung des
Le mma s 2.6. Da mi t gilt (2.6) ftir unendl i ch viele m. Das be de ut e t , dass die m-
t e Pr i mz a hl hSchs t ens 6 4 - m- l o g 2 m- ( l o g 2 log 2 m) 2 sei n da r f fiir unendl i ch viele
m. Da he r gi bt es m Pr i mz a hl e n unt e r den er s t en 64. m. log 2 m. (log e log e m) e
nat f i r l i chen Zahl en. Ande r s aus gedr f i ckt ist
( 2 . 7 )
fiir unendl i ch viele m.
Set zen wi r j et zt die Subs t i t ut i on k - 64. m. log 2 m. (log 2 log 2 m) 2 in (2.7) ein.
Wei l k _> mi s t , e r ha l t e n wi r
P r i m( k ) > m-
>
6 4 . l og 2 m. (l og 2 l og 2 m) 2
k
64. log 2 k . (log 2l og 2 k) 2"
Au f g a b e 2. 32. Betrachte Bin(Flog 2 ml ) . Bi n ( m) . Bi n ( n / p ~ ) als die Kompri mi erung yon
n - p.~ (n/ p. ~). Welche untere Schranke auf Pr i m (k) wiirde die Anwendung dieser Kompri-
mierung im Beweis des Satzes 2.3 liefern?
Au f g a b e 2. 33. Was fitr ein Resultat wiJrde die Darstellung
B i n (F ,o g 2 F ,o g 2 F ,o g 2 m l I l ) B i n ( [ 'o g 2 [ 'o g 2 r o l l ) B i n ( [,o g 2 m l ) B i n ( m ) B i n ( n / p .~ )
2.5 Zusammenf assung und Ausblick 71
von n = p , ~ 9 ( n / p ~ ) im Beweis yon Satz 2.3 bri ngen?
Au f g a b e 2. 34. * Was ist die best mSgliche unt er e Schranke auf P r i m ( k ) , die man mi t der
Bewei smet hode des Satzes 2.3 bekommen kann?
Au f g a b e 2. 35. * Sei p l , p 2 , p 3 , . . , die aufst ei gende Folge aller Pr i mzahl en. Zeigen Sie mi t
Hilfe des Pri mzahl sat zes, dass eine Konst ant e c existiert, so dass ftir alle m c I N- {0}
gilt.
2.5 Zusammenfassung und Ausblick
In diesem Kapi t el haben wir die Grundbegriffe Al phabet , Wort und Sprache
eingefiihrt. Ein Al phabet ist eine beliebige nichtleere endliche Menge von Sym-
bolen genau wie bei der SchriR von natiirlichen Sprachen. Der Begriff Wort
fiber einem Al phabet entspricht einem beliebigen Text, der aus den Symbolen
des Al phabet s besteht. Jede Menge von WSr t er n fiber dem gleichen Al phabet
nennt man Sprache.
Diese Grundbegriffe benut zt man in allen Bereichen der Dat enverarbei t ung. Es
fgngt an bei der Spezifikation algorithmischer Aufgaben, wo die Ei ngaben und
Ausgaben immer als WSrt er dargestellt werden. Ein Ent schei dungsprobl em ist
im Pri nzi p durch eine Sprache L spezifiziert. Die Aufgabe ist es zu entscheiden,
ob ein gegebenes Wort in L ist oder nicht. Ein Opt i mi erungsprobl em hat eine
kompliziertere St rukt ur. Ein Ei ngabewort kodiert eine Menge yon Anforderun-
gen und die Kost en der Obj ekt e (zulgssiger LSsungen), die die Anforderungen
erfiillen. Diese Menge von Anforderungen erfiillen meistens sehr viele LSsun-
gen, von denen man eine der opt i mal en beziiglich der Opt i mi erungskri t eri en
als Ausgabe berechnen soll.
Eine verniinftige M6glichkeit, den Informat i onsgehal t yon W6r t er n fiber {0, 1}
zu messen, ist die Kolmogorov-KomplexitS~t. Die Kolmogorov-KomplexitS~t ei-
nes Wortes x ist die bingre LS~nge des kiirzesten Pascal -Programms, das das
Wort x generiert. Ein Pr ogr amm, das x generiert, kann man als eine kompri-
mierte Darst el l ung yon x bet racht en. Die Kolmogorov-KomplexittR yon x ist
also die Lgnge der ktirzesten Kompri mi erung yon x. Die W6rt er, die man nicht
komprimieren kann, kann man als zuf/~llig bet racht en. Es gibt unendlich viele
zufS~llige WSrt er fiber {0, 1}, fiir jede LS~nge mindestens eins. Die Kolmogorov-
Kompl exi t gt hilR nicht nur, den Informat i onsgehal t von WSr t er n und deren
72 2 Alphabete, WSrter, Sprachen und Aufgaben
Gr ad der ZufS~lligkeit zu messen, sonder n man kann sie als eine effiziente Me-
t hode zum Beweisen neuer Res ul t at e verwenden.
Das St udi um yon Al phabet en, WSr t er n, Spr achen und der en Dar st el l ung ist
das The ma der Theori e der For mal en Sprachen. Diese Theor i e ist eine der glte-
st en Gebi et e der I nf or mat i k. Weil in der I nf or mat i k die zent r al en Obj ekt e wie
I nf or mat i onen, Pr ogr amme, Aussagen (SS~tze), Nachri cht en, Spei cheri nhal t e,
Beweise und Ber echnungen als WSr t er dar gest el l t sind, liefert die Theor i e der
For mal en Spr achen die Baust ei ne fiir viele ander e Gr undgebi et e der I nf or mat i k
wie Ber echenbar kei t , Kompl exi t gt st heor i e, Al gor i t hmi k, Kr ypt ogr aphi e, Com-
pi l er bau u.s.w. In di esem Buch haben wir uns auf mi ni mal e Kennt ni sse der
Theor i e der For mal en Sprachen, die hi nrei chend fiir die ngchst en Kapi t el sind,
beschr gnkt . Ei n Gr und dafiir ist auch, dass dem I nt er essi er t en fiir die Theo-
rie der For mal en Spr achen her vor r agende Lehrbi i cher zur Verfi i gung st ehen,
und wir kei nen Gr und dafiir sehen, das , , hunder t st e" Buch zu di esem The ma
zu liefern. Wgr ms t e ns empfehl en wir das erfol grei chst e klassische Lehr buch
der Theor et i schen I nf or mat i k, , , I nt r oduct i on t o Au t o ma t a Theory, Languages,
and Comput a t i on" yon Hopcr of t und Ul l man [HU 79] und seine er wei t er t e
neue Version [HMU 01] . Ei n ander es schSn geschri ebenes klassisches Buch ist
[Sal 73] yon Sal omaa. Von den neuest en deut schen Lehr bi i cher n k6nnen wir
z.B. Er k und Pri ese [EP 00] und Wegener [Weg 05] empfehl en.
Die Idee, die Kolmogorov-KomplexitS~t zur Messung des I nf or mat i onsgehal -
t es von W6r t e r n ei nzufi i hren, ent s t and in den 60er J ahr en unabhgngi g bei
Kol mogorov. [Kol 65, Kol 68] , und Chai t i n [Cha 66, Cha 69, Cha 74]. Den um-
f assendst en Uberbl i ck fiber dieses The ma bi et et das Buch von Li und Vi t gnyi
[LV 93] , das leider ftir Anf gnger sehr schwer l esbar ist. Anschaul i che Beispiele
i hrer Anwendung kann man bei SchSni ng [Sch 95] finden.
Kont r ol l auf gabe n
1. Sei E - {0, 1, 2, 3} ein Alphabet. Seien h, 1 und n positive Zahlen, k + 1 _< n. Wie
viele WSrter fiber E der Lgnge n mit k Symbolen 1 und 1 Symbolen 0 gibt es?
2. Definiere die Konkatenation yon zwei Sprachen und den Kleene'schen Stern einer
Sprache.
3. Seien E1 und E2 zwei Alphabete. Definieren Sie den Begriff des Homomorphismus
yon E1 nach E2. Warum ist jeder Homomorphismus h durch h(x) ffir jedes x E E1
vollsttindig determiniert?
4. Seien L1, L2, L3 und L4 beliebige Sprachen fiber einem Alphabet E. Beweisen Sie
oder widerlegen Sie die folgenden Behauptungen.
(i) (El U L2)" (L3 U L4) -- ElL3 U LIL4 U L2L3 U L2L4
(ii) (L1 n L2). (L3 n L4) - - E l L 3 n E l L 4 n L 2L 3 n L2L4
(iii) (L1 U L2). (L3 n L4) -- (L1L3 n L1L4) U (L2L3 n L2L4)
2.5 Zus ammenf as s ung und Ausbl i ck 73
(iv) (L1 0 L2) . (L3 V/L4) = LI ( L3 gl L4) U L2(L3 gl L4)
Wenn eine Gl ei chung nicht fiir alle Spr achen gel t en sollte, i i berprt i fen Sie ob mi nde-
st ens eine Inkl usi on gilt.
5. Gilt die Gl ei chung
{a, b}* = {a{b}*}*. {b{a}*}*?
6. Beschr ei ben Sie i nformel l die Bedeut ung des Begriffes , , Al gori t hmus".
7. Defi ni eren Sie folgende al gor i t hmi sche Gr undauf gabenst el l ungen: Ent schei dungspr o-
blem, Opt i mi er ungs pr obl em und Auf zghl ungspr obl em. Er kl gr en Sie, was es bedeut et ,
diese Pr obl eme zu 16sen.
8. Wi e hgngt die Exi st enz eines Al gor i t hmus ffir ein Ent s chei dungs pr obl em (E, L) mi t
der Exi st enz eines Aufz/ ~hl ungsal gori t hmus ftir L zus ammen?
9. Suchen Sie sich ein Opt i mi er ungs pr obl em aus und geben Sie seine vol l st gndi ge formal e
Beschr ei bung an.
10. Defi ni eren Sie die Kol mogor ov- Kompl exi t ~t von WSr t er n tiber {0, 1}* und erkl ~ren
Sie, war um man sich ger ade ftir diese Ar t der Messung des I nf or mat i onsgehal t es von
W6r t e r n geei ni gt hat .
11. Wi e st ar k h/~ngt die Defi ni t i on der Kol mogorov-Kompl exi t / ~t von der Wahl der Pro-
gr ammi er s pr ache ab?
12. Wi e definiert man die Kol mogorov-Kompl exi t / ~t von nat fi rl i chen Zahl en?
13. Sei E = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Wi e wi i rden Sie die Kol mogorov-Kompl exi t / ~t von
WSr t er n fiber E defi ni eren?
Bet r aeht en Sie mehr er e M6gl i chkei t en und di skut i er en Sie i hre Vor- und Naeht ei l e.
14. Wa r um ist die Kol mogorov-Kompl exi t / ~t eines Wor t es x nie wesent l i ch grSfier als Ixl
und war um ist dies erwi i nseht ?
15. Bei der Bes t i mmung einer ober en Schranke ffir die Kol mogor ov- Kompl exi t ~t K(x)
eines Wor t es x geht man mei st ens so vor, dass ein Pr o g r a mm Px zur Gener i er ung
von x ent wi ekel t wi rd um dann die bin/~re L/~nge des Pr ogr a mms zu messen. H/~ngt
diese Messung von der Gr6t3e des yon Px w/~hrend der Gener i er ung von x benut zt en
Spei chers ab?
Gi bt es Unt er schi ede in der Messung der bi n~ren L/~nge der fol genden zwei Pr ogr am-
me, die das gleiehe Wor t O n3 generi eren?
/)nl: b e g i n
]~ :-- n ;
]~ : = ]~ x ]~ x ]~ ;
f o r Z : = 1 t o i V/ d o
wr i t e ( O) ;
end
Pn2: b e g i n
. M- : - - n x n x n ;
f o r I : = 1 t o M d o
w r i t e ( O) ;
e n d
74 2 Al phabet e, W6r t er , Sprachen und Auf gaben
16. Geben Sie eine unendl i che Folge von W6r t er n yl , y2, Y3, . . . fiber ~bool mi t folgenden
Ei genschaft en an:
(i) lyil < lyi+ll ffir alle i C I N- {0}, und
(ii) es exi st i ert eine Kons t ant e c, so dass
fiir alle i E I N- {0} gilt.
17. Wi e sieht es es mi t der Vert ei l ung der W6r t er aus {0, 1} ~ bezfiglich deren Kol mogorov-
Kompl exi t gt aus? Wieviele wenig kompr i mi er bar e W6r t er gi bt es?
18. Erkl/~ren Sie ohne die formal en Beweise zu wi ederhol en, war um die Annahme der Exi-
stenz von zu wenigen Pr i mzahl en (z.B. Pr i m (k) <_ k/ ( l og 2 k) 2) zwischen nat fi rl i chen
Zahl en zu ei nem Wi der spr uch fiihrt. Was hat das mi t der Dar st el l ung der Zahl en
durch ihre Pr i mf akt or zer l egung zu t un?
Der Beweis einer hohen Bildung
ist die F~higkeit, fiber komplexe Sachen
so einfach wie m6glich zu sprechen.
R. Emerson
3 Endl i che Aut o ma t e n
3.1 Zielsetzung
Endliche Aut omat en sind das einfachste Modell der Berechnungen, das man in
der Informatik bet racht et . Im Prinzip entsprechen endliche Aut omat en spezi-
ellen Programmen, die gewisse Entscheidungsprobleme 16sen und dabei keine
Variablen benutzen. Endliche Aut omat en arbei t en in Echtzeit in dem Sinne,
dass sie die Ei ngabe nur einmal von links nach rechts lesen, das Resul t at steht
sofort nach dem Lesen des letzten Buchst abens fest.
Der Grund, endliche Aut omat en hier zu behandeln, ist nicht der Einstieg in
die Aut omat ent heori e. Wi r nutzen die endlichen Aut omat en zu didaktischen
Zwecken, um auf einfache und anschauliche Weise die Modellierung von Be-
rechnungen zu erlS~utern. Daher fiihren wir einige Grundbegriffe der Informatik
wie Konfiguration, Berechnungsschritt, Berechnung, Simulation, Determinis-
mus und Nichtdeterminismus fiir das Modell der endlichen Aut omat en mit dem
Ziel ein, das grobe VerstS~ndnis fiir die allgemeine Bedeut ung dieser Begriffe
zu gewinnen. Dies sollte uns spS~ter die Entwicklung des VerstS~ndnisses dieser
Begriffe im Zusammenhang mit einem allgemeinen Modell von algorithmischen
Berechnungen erleichtern.
Wi r lernen also in diesem Kapitel, wie man eine Teilklasse von Al gori t hmen
(Programmen) formal und dabei anschaulich modellieren und untersuchen
kann. Neben dem ersten Kont akt mit den oben erw~hnten Grundbegriffen
der Informat i k lernen wir auch, was es bedeut et , einen Beweis zu fiihren, der
zeigt, dass eine konkrete Aufgabe in einer gegebenen Teilklasse von Algorith-
men nicht 16sbar ist.
7 6
3 . 2
3 E n d l i c h e A u t o m a t e n
Di e Darstel l ungen der endlichen Aut omat en
W e n n m a n e i n B e r e c h n u n g s m o d e l l d e f i n i e r e n w i l l , m u s s m a n f o l g e n d e F r a g e n
b e a n t w o r t e n :
i . W e l c h e e l e m e n t a r e n O p e r a t i o n e n , a u s d e n e n m a n d i e P r o g r a m m e z u s a m -
m e n s t e l l e n k a n n , s t e h e n z u r V e r f i i g u n g ?
2 . W i e v i e l S p e i c h e r s t e h t e i n e m z u r V e r f i i g u n g u n d w i e g e h t m a n m i t d e m
S p e i c h e r u r n ?
3. Wie wird die Eingabe eingegeben?
4. Wie wird die Ausgabe bestimmt (ausgegeben)?
Bei endlichen Aut omat en hat man keinen Speicher zur Verfiigung auger dem
Speicher, in dem das Programm gespeichert wird und dem Zeiger, der auf die
angewendete Zeile des Programmes zeigt. Das bedeutet, dass das Programm
keine Variablen benutzen darf. Das mag iiberraschend sein, weil man fragen
kann, wie man ohne Variablen iiberhaupt rechnen kann. Die Idee dabei ist,
dass der Inhalt des Zeigers, also die Nummer der aktuellen Programmzeile, die
einzige wechselnde Information ist, und dass man mit dieser Pseudovariablen
a u s k o m m e n m u s s .
Wenn E = {al, a2, . . . , ak} das Alphabet ist, fiber dem die Eingaben darge-
stellt sind, dann darf der endliche Aut omat nur den folgenden Operationstyp
benutzen:
s e l e c t i n p u t = al g o t o il
i n p u t = a2 g o t o i2
i n p u t = ak got o ik
D i e B e d e u t u n g d i e s e r O p e r a t i o n ( d i e s e s B e f e h l s ) i s t , d a s s m a n d a s n & c h s t e
E i n g a b e s y m b o l l i e s t u n d m i t a l , a 2 , . . . , a ~ v e r g l e i c h t . W e n n e s g l e i c h a d i s t ,
s e t z t d a s P r o g r a m m d i e A r b e i t i n d e r Z e i l e i d f o r t . D i e R e a l i s i e r u n g d i e s e s
B e f e h l s b e d e u t e t a u t o m a t i s c h , d a s s d a s g e l e s e n e S y m b o l g e l 6 s c h t w i r d u n d
m a n d a h e r i n d e r Z e i l e i d d a s n ~ c h s t e S y m b o l l i e s t . J e d e Z e i l e d e s P r o g r a m m s
e n t h ~ i t g e n a u e i n e n B e f e h l d e r o b e n a n g e g e b e n e n F o r m . W i r n u m e r i e r e n d i e
Z e i l e n m i t n a t i i r l i c h e n Z a h l e n 0 , 1 , 2 , 3 , . . . u n d d i e A r b e i t d e s P r o g r a m m e s
b e g i n n t i m m e r i n d e r Z e i l e 0 . W e n n E n u r a u s z w e i S y m b o l e n ( z . B . 1 u n d 0 )
b e s t e h t , k a n n m a n s t a t t d e s B e f e h l s s e l e c t d e n f o l g e n d e n B e f e h l i f . . . t h e n
. . . e l s e b e n u t z e n .
3.2 Die Darstellungen der endlichen Automaten 77
i f input = 1 t h e n g o t o i e l s e g o t o j .
Solche Pr ogr amme benut zt man, um Ent schei dungsprobl eme zu 16sen. Die
Antwort ist durch die Zeilennummer best i mmt . Wenn ein Pr ogr amm aus rn
Zeilen besteht, wS~hlt man sich eine Teilmenge F yon {0, 1, 2 , . . . , r n - 1}. Wenn
dann nach dem Lesen der gesamten Ei ngabe das Pr ogr amm in der j - t en Zeile
endet, und j E F, dann akzeptiert das Pr ogr amm die Eingabe. Wenn j E
{0, 1 , 2 , . . . , r n - 1 } - F, dann akzeptiert das Pr ogr amm die Ei ngabe nicht.
Die Menge aller akzept i ert en W6r t er ist die von dem Pr ogr amm akzeptierte
(erkannte) Sprache.
Bet racht en wir als Beispiel folgendes Pr ogr amm A, das Ei ngaben fiber dem
Al phabet Eboo~ bearbei t et .
O ~
1:
2:
3:
i f input = 1 t h e n g o t o 1 e l s e g o t o 2
i f input = 1 t h e n g o t o 0 e l s e g o t o 3
i f i n p u t = 0 t h e n g o t o 0 e l s e g o t o 3
i f i n p u t = 0 t h e n g o t o i e l s e g o t o 2
Setzen wir F = {0, 3}. Das Pr ogr amm A arbei t et auf einer Ei ngabe 1011 wie
folgt: Es st art et in der Zeile 0, und geht in die Zeile 1, nachdem es eine 1
gelesen hat. Es liest eine 0 in der ersten Zeile und geht in die dri t t e Zeile. In
der dri t t en Zeile liest es eine 1 und geht in die zweite Zeile, um in die dri t t e
Zeile zuriickzukehren beim Lesen einer weiteren 1. Die Berechnung ist beendet,
und weil 3 E F gilt, wird das Wort 1011 akzeptiert.
Mit endlichen Aut omat en verbindet man oft die schematische Darst el l ung aus
Fig. 3.1. In dieser Abbi l dung sehen wir die drei Haupt komponent en des Mo-
d e l l s - ein gespeichertes Pr o g r a mm, ein Ba n d mit dem Ei ngabewort und
einen Lesekopf , der sich auf dem Band nur von links nach rechts bewegen
kann. 1 D~s B~nd (auch Ei ngabeband genannt) bet r~cht et man als einen li-
nearen Speicher ftir die Eingabe. Das Band besteht aus Feldern (Zellen). Ein
Feld ist eine elementare Speichereinheit, die ein Symbol aus dem bet racht et en
Al phabet bei nhal t en kann.
Die oben beschriebene Klasse von Pr ogr ammen benut zt man heute fast gar
nicht mehr, um endliche Aut omat en zu definieren, weil diese Pr ogr amme wegen
des goto-Befehls keine sch6ne St r ukt ur haben. Daher ist diese Modellierungs-
art nicht sehr anschaulich und fiir die meisten Zwecke auch sehr unpraktisch.
Die Idee einer umgangsfreundlicheren Definition endlicher Aut omat en basiert
1Die komponentenartige Darstellung von allgemeinen Berechnungsmodellen beinhaltet au-
t3erdem noch einen Speicher, Schreib- und Lesezugriffsm6glichkeiten auf diesen Speicher und
eventuell ein Ausgabemedium.
78
~176
Lesekopf
Pr ogr amm
3 Endliche Automaten
I 1101 11 Ei ngabeband
Fig. 3.1
auf folgender visueller Darstellung unseres Programms. Wir ordnen jedem Pro-
gramm A einen gerichteten marki ert en Graphen G(A) zu. G(A) hat genau so
viele Knot en wie das Pr ogr amm A Zeilen hat, und jeder Zeile yon A ist genau
ein Knot en zugeordnet, der durch die Nummer der Zeile markiert wird. Falls
das Pr ogr amm A aus einer Zeile i in die Zeile j beim Lesen eines Symbols b
iibergeht, dann ent hal t G(A) eine gerichtete Kant e (i, j) mit der Markierung
b. Weil unsere Programme ohne Variablen fiir jedes a E E in jeder Zeile einen
goto-Befehl haben, 2 hat jeder Knot en yon G(A) genau den ausgangsgr ad a I~1.
Fig. 3.2 enthS~lt den Graph G(A) fiir das oben beschriebene vierzeilige Pro-
gramm A. Die Zeilen aus F sind durch Doppelkreise als abgesonderte Knot en
yon G(A) gekennzeichnet. Der Knoten, der der Zeile 0 entspricht, wird durch
einen zusS~tzlichen Pfeil (Fig. 3.2) als der Anfangsknot en aller Berechnungen
bezeichnet.
1
0
Fig. 3.2
2Jede Zeile ist ein s e l e c t fiber alle Symbole des Alphabets.
3Der Ausgangsgrad eines Knoten ist die Anzahl der gerichteten Kanten, die den Knoten
verlassen.
3.2 Die Darstellungen der endlichen Automaten 79
Aus dieser graphischen Darstellung entwickeln wir j et zt die st andardi si ert e for-
male Definition von endlichen Aut omat en. Die graphische Darstellung werden
wir aber weiterhin benutzen, weil sie eine sehr anschauliche Beschreibung von
endlichen Aut omat en bietet. Die folgende formale Definition ist andererseits
besser f~r das St udi um der Eigenschaften endlicher Aut omat en und ftir die for-
male Beweisfiihrung geeignet. Hierfiir 5~ndern wir teilweise die Terminologie.
Was wir bisher als Zeile des Programms oder als Knot en des Graphen be-
zeichnet haben, werden wir im Weiteren als Zust and des endlichen Aut omat en
bezeichnen. Die Kant en des Graphen, die den got o-Befehl en des Programms
entsprechen, werden durch die sogenannte Ubergangsfunkt i on beschrieben.
Man beachte, dass der folgenden Definition ein allgemeines Schema zugrunde
liegt, das man bei der Definition aller Rechnermodelle anwenden kann. Zuerst
definiert man eine St rukt ur, die die exakte Beschreibung jedes Objektes aus der
Modellklasse erm6glicht. Dann beschreibt man die Bedeut ung (Semantik) die-
ser St rukt ur. Dies geschieht in folgender Reihenfolge. Zuerst definiert man den
Begriff der Konfiguration. Eine Konfiguration ist die vollst~ndige Beschreibung
einer Situation (eines allgemeinen Zustand..s), in der sich das Modell befindet.
Dann definiert man einen Schritt als einen Ubergang aus einer Konfiguration in
eine andere Konfiguration, wobei di eser/ Jbergang durch eine elementare Akti-
on des Rechnermodells realisierbar sein muss. Eine Berechnung kann dann als
eine Folge solcher Schritte gesehen werden. Wenn man eine Berechnung deft-
niert hat, kann man jeder Eingabe das Resul t at der Arbeit des Rechnermodells
als Ausgabe zuordnen.
Def i ni t i on 3.1. Ein (deterministischer) e ndl i c he r Automat (EA) ist ein
Quintupel M = (Q, E, 5, qo, F) , wobei
(ii)
(iii)
Q eine endliche Menge von Zust ~i nden ist
{vorher die Menge yon Zeilen eines Programms ohne Variablen},
E ein Alphabet, genannt Ei n g a b e a l p h a b e t , ist,
{ die Bedeutung ist, das zuliissige Eingaben alle WSrter iiber E sind. }
qo E (2 der A nf angszustand ist
{vorher die Zeile 0 des Programms ohne Variablen},
F c_ Q die Me n g e der a k z e p t i e r e n d e n Zust ~i nde 4 ist, und
4In der deutschsprachigen Literatur auch Endzustgnde genannt. Der Begriff ,,Endzustand"
kann abet auch zu Missverst~ndnissen fiihren, weil die Berechnungen in einem beliebigen
Zustand enden kSnnen. Aut3erdem entspricht der Begriff ,,akzeptierender Zustand" der wah-
ren Bedeutung dieses Begriffes und der Bezeichnung bei anderen Berechnungsmodellen wie
bei Turingmaschinen.
80 3 Endliche Automaten
6 eine Funktion aus Q E nach Q ist, die Ub e r g a n g s f u n k t i o n genannt
wird
{5(q~ a) = p bedeutet, dass M in den Zust and p iibergeht, f al l s M i m
Zus t and q das Symbol a gelesen hat}.
Eine Konf i gur a t i on von M ist ein El ement aus Q E*.
{ Wenn M sich in einer Konf iguration (q, w) E Q E* befindet, bedeutet das,
dass M im Zus t and q ist und noch das Suf f ix w eines Eingabewortes lesen
soll.}
Eine Konf iguration (qo~ x) E {q0} E* heiflt die St a r t konf i gur a t i on von M
auf x.
{Die Arbeit ( Berechnung) von Ma u f x muss in der Startkonf iguration (qo~ x)
von x anf angen}.
Jcde Konf iguration aus Q {1} ncnnt man cinc Endkonf i gur a t i on.
Ei n Schr i t t von M ist eine Rel ation ( auf Konf igurationen) ~ c_ (Q E*)
{ Ei n Schritt entspricht einer Anwendung der Ubergangsfunktion auf die ak-
tuelle Konf iguration, in der man sich in einem Zus t and q befindet und ein
Eingabesymbol a liest. }
Eine Be r e c hnung C von Mi s t eine endliche Folge C = Co~ C1, . . . ~ C~ von
Konf igurationen, so dass Ci ~ C~+1 f iir alle 0 <_ i <_ n - 1. C ist die Be-
r echnung von M auf ei ner Ei nga be x E E*, f al l s Co = (qo~x) und
C ~ E Q x {,k} ei n e Endkonf iguration ist. Falls C ~ c F x {I}, sagen wit,
dass C eine a kz e pt i e r e nde Be r e c hnung von M auf x ist, und dass M das
Wo r t x a kz e pt i e r t . Falls C~ E (Q F) x {~}, sagen wit, dass C eine ver -
wer f ende Be r e c hnung von Ma u f x ist, und dass M das Wo r t x ver wi r f t
(ni cht a kz e pt i e r t ) .
{ Man bemerke, dass M f iir j ede Eingabe x E E* genau eine Berechnung hat. }
Die von M a kz e pt i e r t e Spr ache L ( M) ist def iniert als
: =
die Berechnung von M auf w endet in
s = { L ( M) I M ist sin EA} ist die til asse der Sprachen, die yon endli-
chen Aut omat e n akzeptiert werden. s bezeichnet man auch als die Kl as s e
3.2 Die Darstellungen der endlichen Automaten 81
de r r e g u l ~r e n Sp r a c h e n , und j ede Sprache L aus Z; (EA) wird r e g u l a r ge-
nannt.
Benut zen wir noch ei nmal das Pr ogr amm A, um die gegebene Definition der
endlichen Aut omat en zu illustrieren. Der zum Pr ogr amm A gqui val ent e EA
ist M = (Q, E, 5, qo, F) mi t
Q = {qo, ql, q2, q3}, E = {0, 1 }, F = {qo, q3 } und
5(qo, 0) = q2, 5(qo, 1) = ql, (~(ql, 0) = q3, (~(ql, 1) = q0,
5(q2, 0) = q0, 5(q2, 1) = q3, 5(q3, 0) = ql, ~(q3, 1) = q2.
Anschaul i cher kann man die Uber gangsf unkt i on 5 durch die folgende Tabelle
beschreiben.
Tab. 3.1
Zustand
qo
ql
q2
q3
Ei nga be
0 1
q2 ql
q3 qo
qo q3
ql q2
0 0
Fi g. 3.3
Die anschaul i chere Darst el l ung eines EA ist aber die schon angesprochene gra-
phische For m (Fig. 3.2), die man fiir den EA in die in Fig. 3.3 gegebene For m
82 3 Endliche Automaten
umwandeln kann. Die Berechnung yon M auf der Eingabe 1011 ist
(qo, 1011) ~ (ql, 011) ~ (q3, 11) ~ (q2, 1) ~ (q3,/~).
Weil q3 E F, ist 1011 E L ( M) .
Die folgende Definition ffihrt Bezeichnungen ein, die den formalen Umgang
mit endlichen Aut omat en erleichtern.
Def i ni t i on 3.2. Sei M = (Q, E, 5, qo, F) ein endl i cher Aut omat . Wi t def inie-
t en - ~ als die ref l exive und transitive Hiille der Schri t t rel at i on ~ von M;
daher ist
(q, ~) - 5- (p, ~) ~, (q - p ~d ~ - ~) od~ 3k c ~ - { 0 } , ~o d ~
(i) w = a l a 2 . . , aku, ai E E f iir i = 1, 2 , . . . , k und
3r l , r 2, . . . , rk-1 E Q, 8o dass
(q, w) - ~ (fl, a2. . . aku) ~ (r2, a3 . . . aku) ~ . . . ( f k_l , aku) ~ (p, u) .
Wi t def inieren 5 " Q x E* ~ Q dutch:
(i)
(ii)
3(q, A) - q fa~ ~zz~ q e Q ~d
3(q, ~a) - 5(~(q, ~), a) fa~ ~ZZ~ a e ~, ~ ~ ~*, q e Q.
Die Bedeutung von (q, w) ~ (p, u) i st , dasses eine Berechnung von M gibt,
die ausgehend yon der Konfiguration (q, w) zu der Konfiguration (p, u) ffihrt.
Die Aussage 3(q, w) - p bedeutet, dass, wenn M im Zustand q das Wort w
zu lesen beginnt, dann endet M im Zustand p (also (q, w) ~ (p, ~)). Daher
kOnnen wir schreiben:
L( ~) {w E ~* ] (qo, w) ~ (p, A) mit p E F}
{w E ~*] 5(qo, w) E F}.
Betrachten wir jetzt den EA M aus Fig. 3.3. Versuchen wir, die Sprache L ( M)
zu bestimmen. Wir k6nnen leicht beobachten, dass fiir W6rter, die gerade
[ ~ g~ r~ d~ ] A~ h l v o~ Ei ~ ~ h ~ b ~ , ~ di~ B ~ r ~ c h ~ g i~ q0 odor q~ [q, odor
qa] beendet. Wenn die Anzahl der Nullen in einem x E E* gerade [ungerade]
ist, dann 5(qo, z ) E {q0, ql} [(~(q0, z) E {q2, qa}]. Diese Beobachtung ffihrt zu
folgender Behauptung.
L e mma 3. 1. L(M) = { w E { 0, 1}* I I w lo + I W ll ~ 0 (1TIOd 2 ) } .
83
:r
Beweis. Zuerst bemerken wir, dass jeder EA die Menge E* in IQI Klassen
Kl [ p ] - {w E E*l S(qo, w) - p } - {w E E*l ( qo, w) ~ (p, A)},
aufteilt, und es ist klar, dass [.Jp~# Kl[p] - E* und Kl[p] 7/Kl[q] - 0 fiir alle
p, q E Q, p -r q. In dieser Terminologie gilt
- [_ j K l[p ].
pEF
Anders ausgedrfickt ist die Relation definiert durch
3.2 Die Darstellungen der endlichen Automaten
eine fi, quivalenzrealtion auf E*, die die endlich vielen Klassen Kl[p] best i mmt
(Fig. 3.4).
Fig. 3.4
Daher ist ein sicherer Weg, L(M) zu bestimmen, die Best i mmung von Kl[qo],
Kl[ql], Kl[q2] lind Kl[q3] l l n s e r e s EA M. Zu dieser Best i mmung stellen wir die
folgende Indukt i onsannahme auf:
K l[qo]
K l[ql]
K l[q ]
K l[q ]
= {w E {0, 1}* I IWlo und IWll sind gerade},
= {w E {0, 1}* I IWlo ist gerade, IWll ist ungerade},
= {w ~ {o, 1}* I Iwlo ist ungerade, IWll ist gerade} und
= {w e {0, 1}* I IWlo und IWll sind unger~de}.
84 3 Endliche Aut omat en
Weil
Kl[qo] U Kl[qa] - {w E {0, 1}* I lWlo + IWll - 0 (rood 2)},
ist die Behaupt ung yon Lemma 3.1 eine di rekt e Folge unserer I ndukt i onsan-
nahme. Um den Beweis von Lemma 3.1 zu vervollstS~ndigen, reicht es also, die
I ndukt i ons annahme zu beweisen. Wi r zeigen dies durch I ndukt i on beziiglich
der Ei ngabel gnge.
1. I n d u k t i o n s a n f a n g .
Wi r bewei sen die I ndukt i ons annahme f/Jr alle W6r t er der LS~nge kleiner gleich
zwei.
5(qo, )~) -- qo und
(~(qo, 1) - qx und
5(qo, 0) - q2 und
(qo, 00) ~ (q~, 0)
(qo, 01) M~-- (q2, 1)
(qo, 10) ~ (ql, 0)
(q0,11) M~--(ql,1)
daher ist A E Kl[qo].
daher ist 1 E Kl[qx].
daher ist 0 E Kl[q2].
(qo, A) und daher ist 00 E K l[ qo] .
(q3, A) und daher ist 01 E K l[q3].
(q3,),) und daher ist 10 E K l[q3].
(qo, ~ ) und daher ist 11 E K l[qo].
Daher gilt die I ndukt i ons annahme fiir die W6r t er der Ltinge 0, 1 und 2.
2. I n d u k t i o n s s c h r i t t .
Wi r set zen voraus, dass die I ndukt i ons annahme fiir alle x E {0, 1}*, I~1 _ i,
gilt. Wi r wollen beweisen, dass sie auch fiir W6r t er der Lgnge i + 1 gilt. Den
I ndukt i onsschr i t t bewei sen wir fiir alle i _> 2, daher gilt die I ndukt i ons annahme
ftir alle WSr t er aus (Ebool)*.
Sei w ein beliebiges Wor t a u s (}-]%ool) i+1. Dann ist w - - z a, wobei z E E i und
a E E. Wi r unt erschei den vier M6gl i chkei t en beztiglich der ParitS~ten yon I z o
und ]Z]I.
(a) Seien bei de I~1o und ]Z]l gerade. Weil die I ndukt i ons annahme 3(qo, z) - qo
f/Jr z i mpl i zi ert (daher ist z E Kl[qo]), er hal t en wir
~( qo, z a) -- (~(~(qo, z ) , a) -- (~(qo, a) -- ~ ql , f al l s a - - 1,
[ q2, falls a -- 0.
Weil Izllo gerade ist und Izl l l unger ade ist, ent spri cht (~(qo, zl ) - ql der
I ndukt i ons annahme zl E Kl[ql].
Weil Iz0o unger ade ist und Iz0ll gerade ist, s t i mmt das Resul t at
(~(qo, z0) - q2 mi t der I ndukt i ons annahme z0 E Kl[q2] iiberein.
3.2 Die Darstellungen der endlichen Automaten 85
(b) Seien bei de I~10 und IZll unger ade. Weil 5(q0, z) - qa ( daher ist z E Kl[qa])
bezi i gl i ch der I ndukt i ons a nna hme fiir z, er hal t en wi r
5( qo, z a) -- 5( 5( qo, z ) , a) - 5( q3, a) -- { q2, falls a -- 1,
Ind. , , q l , falls a - 0.
Dies ent spr i cht der I ndukt i ons annahme, dass z0 E Kl[ql] und zl E Kl[q2].
Die FS~lle (c) und (d) si nd anal og und wi r i i berl assen diese dem Leser als
Ubung.
Auf gabe 3.1. Vervollst~ndigen Die den Beweis der Induktionsannahme aus Lemma 3.1
(Fttlle (c)und (d)).
Auf gabe 3.2. Sei L = {w E (Ebool)* ]]W]o ist ungerade}. Entwerfen Die einen EA M mit
L( M) = L und beweisen Die L( M) = L.
Auf gabe 3.3. Entwerfen Die endliche Automaten fiir die Sprachen 0, E* und E + fiir ein
beliebiges Alphabet E. Geben Die die formale Darstellung der Automaten als Quintupel,
sowie die graphische Darstellung an.
Wenn ein EA A geni i gend anschaul i ch und s t r ukt ur i er t dar gest el l t wi rd, kann
ma n die Spr ache L ( A ) auch ohne eine Bewei sf i i hr ung bes t i mmen. In den mei-
st en FS~llen ver zi cht et ma n also auf ei nen f or mal en Beweis, wie er in Le mma
3.1 gef/ i hrt wur de. 5 Aus Le mma 3.1 haben wi r aber et was Wi cht i ges f/Jr den
Ent wur f eines EA gel ernt . Ei ne gut e Ent wur f s s t r at egi e ist es, die Menge al-
ler W6r t e r aus E* in Tei l kl assen von W6r t e r n mi t gewi ssen Ei genschaf t en zu
zerl egen und ,,UbergS~nge" zwi schen di esen Kl assen bezi i gl i ch der Konkat ena-
t i on eines Symbol s aus E zu definieren. Bet r acht en wir diese St r at egi e fiir den
Ent wur f eines EA fiir die Spr ache
U = {W E (}-]bool)* I IWl0 = 3 und (IWll ~ 2 oder IWll = 0)}.
Um IWlo = 3 verifizieren zu k6nnen, muss j eder EA t3 mi t L( B) = U fiir die
a n z a h l der bi sher gel esenen Nul l en die Fal l e IWlo = 0, Iwl0 = 1, IWlo = 2,
I 10 - 3 und I 10 _ 4 unt er schei den k6nnen. Gl ei chzei t i g muss B auch die
Anzahl der bi sher gel esenen Ei nsen z~thlen, um mi ndes t ens die F~tlle Iwll = 0,
I 11 - 1 und I~11 - 2 unt er schei den zu k6nnen. Dar aus r esul t i er t die Idee, die
Zus t ands menge
Q = I i e { 0 , 1, 2 , 3, 4 } , j e { 0, 1, 2 } }
5Man bemerke, dass dies der Situation entspricht, in der man gewShnlicherweise des Aufwan-
des wegen auf den formalen Beweis der Korrektheit eines entworfenen Programms verzichtet.
86 3 Endliche Automaten
zu w~hlen. Die Bedeut ung sollte folgende sein"
Ftir alle j E {0, 1} und alle i E {0, 1,2, 3}
Kl [ qi , j ] - {w E (}-~%ool)* I I wI 0- i llild I wl l - j }.
F iir alle i E {0, 1, 2, 3}
Kl [ qi , 2] - {w E (Y]bool)* I wI 0 - i lind IWll ~ 2}
Fi i r j e {0, 1}
Kl [ q4, j ] - {w E (Ebool)* I Iw]0 > 4 und I wI 1- j }.
Kl [ q4, 2] - {w E (Ebool)* I wI0_ > 4 u n d wI1 > 2}.
Es ist Mar, dass q0,o der Anf angszust and ist. Die Ubergangsfunkt i on von B
kann man direkt aus der Bedeut ung der Zust gnde qi , j best i mmen, wie in
Fig. 3.5 gezeigt. Wi r bemerken, dass
U - Kl[qa,o] U Kl[qa,2]
und setzen daher F - {q3,0, q3,2}.
ql,o q2,o q3,o q4,o
qo,o 0 0 0 > 0
_ _ ..a"- h ~ ~ _ )) 0
1 1 1 1 1
q0,1 0 ql,1 0 q2,1 0 1 q3,1 0 q4,
- - -- ~ ~ 0
1 1
qO'2 0 9 q1'2 0 220 3,2 0 q4, 5
1 1 1 1 0, 1
Fig. 3.5
Aufgabe 3.4. (a) Beweisen Sie L ( B ) - U fiir den EA B aus Fig. 3.5.
(b) Entwerfen Sie einen EA A mit L ( A ) - U, so dass A weniger Zustgnde als B hat, und
geben Sie zu jedem Zustand q dieses Automaten die Klasse Kl[q] an.
3.2 Die Darstellungen der endlichen Automaten 87
Die Met hode zum Aut omat enent wur f , die auf der Bes t i mmung der Bedeut ung
der Zust ~nde basi ert , ist die gr undl egendst e Ent wur f sst r at egi e f~r endliche
Aut omat en. Deswegen prS~sentieren wir noch zwei anschaul i che Anwendungen
dieser Met hode.
Be i s pi e l 3. 1. Unsere nS~chste Auf gabe ist einen EA ftir die Sprache
L(0010) = { x 0 0 1 0 y l x , y C {0, 1}*}
zu entwerfen.
Hier ist der Ent wur f ein bi schen schwerer als bei einer Sprache, wo alle Wbr t er
mi t 0010 anf angen miissen. Wi r br auchen festzustellen, ob 0010 i rgendwo in
dem Ei ngabewor t liegt. Die erst e Idee ist so zu sagen, dass j eder EA sich
vor mer ken muss, wie l angen PrS~fix von 0010 er gerade in den zul et zt gelese-
nen Buchs t aben gefunden hat . Zum Beispiel, wenn das bi sher gelesene Wor t
011001 war, dann muss er sich merken, dass er schon 001 als Kandi dat en ge-
funden hat und wenn j et zt das nS~chste Symbol 0 ist, dann muss er akzept i eren.
Wenn der EA den PrS~fix 1100 einer Ei ngabe gelesen hat , muss er sich vormer-
ken, dass die l et zt en zwei Symbol e 00 passend war en 6. Dami t ergeben sich 5
mSgliche Zust ~nde ent spr echend der 5 Pr~fixen von 0010. Wi r ziehen j et zt vor,
deren Bedeut ung anschaul i ch hal b formal s t at t genau formal zu beschrei ben.
Kl[p0]
Kl[pl]
K][p2]
KI[p3]
KI[p4]
kein PrS~fix yon 0010 ist ein nicht leeres Suffix yon dem
bi sher gelesenen Wor t x(z. B, x = A oder x endet mi t 11).
die W6r t er enden mi t 0 und ent hal t en kei nen 15ngeren
PrS~fix von 0010 als ein Suffix (z.B. sie enden mi t 110).
die W6r t er enden mi t 00 und ent hal t en kei nen 15~ngeren
Prefi x von 0010 als ihr Suffix.
die W6r t er enden mi t 001.
die W6r t er enden mi t 0010 oder bei nhal t en 0010 als Teil-
wort.
Dieses Konzept ergi bt uns di rekt die folgende Tei l st r ukt ur (Fig. 3.6) des zu
konst r ui er enden EA.
Dass die Folge 0010 gelesen werden muss um den einzigen akzept i er enden Zu-
st and p4 zu erreichen, ist offensichtlich. Wenn man P4 errei cht hat , hat der EA
6Im Prizip reicht es die Zahl 2 zu speichern, weil das Wort 0010 bekannt ist undes ist klar,
dass 00 der PrS~fix der L~nge 2 ist.
88 3 Endliche Automaten
1 0, 1
0 , @ 0 , @ 1 , @ 0 , ~
Fig. 3.6
schon 0010 in der Eingabe gefunden und so bleiben wir in dem akzeptierenden
Zust and (5(q4, 0) = 5(q4, 1) = q4), egal was noch kommt. Das Lesen einer Eins
in q0 5~ndert gar nichts darauf, dass wir noch keinen PrS~fix yon 0010 in den
letzten Buchst aben gesehen haben. Um den EA zu vervollstgndigen, fehlen uns
drei Pfeile aus den ZustS~nden pl, p2 und Pa fiir das Lesen yon 1 aus Pl und Pa
und das Lesen von 0 aus P2. Es gibt nur eine eindeutige M6glichkeit es korrekt
zu machen (urn L(0010) zu erkennen) und die ist in Fig. 3.7 gezeichnet.
1 0 0, 1
1
Fig. 3.7
Wenn wir 1 in pl lesen, miissen wir unsere Suche nach 0010 neu anfangen,
weil 0 der l~tngste Suffix des gelesenen Wortes ist den einen Pr~tfix von 0010
entspricht und somit eine Eins am Ende bedeut et , dass wir keinen Prefix von
0010 aktuell haben. Dami t ist
~(pl, 1) =P0.
Wenn man aber in p2 eine 0 liest, gndert sich nichts an der Tatsache, dass 00
der Suffix des gerade gelesenen Wortes ist und somit bleiben wir in p2, also
6 (p 2 , o) = p 2 .
Wenn in p3 eine 1 kommt, endet das gelesene Wort mit zwei Einsen 11 und
somit kann d~s Wort am Ende keinen nichleeren Suffix yon 0010 enthalten.
3.2 Die Darstellungen der endlichen Automaten 89
Der einzige m6gliche Schluss ist
(p2, 1) = P0.
Dami t ist der EA vervollstS~ndigt.
D
Aufgabe 3.5. Geben Sie eine genaue formale Beschreibung der Klassen der ZustSmde des
EA in Fig. 3.7.
In dem Beispiel 3.1 haben wir einen EA in Fig. 3.7 entworfen, der genau die
W6r t er akzeptiert, die das Wort 0010 als Teilwort enthalten. Der anstrengen-
ste Teil des Entwurfes best and in der Best i mmung der Kant en (Transitionen),
wenn die Suche nach 0010 wegen einer Unstimmigkeit unt erbrochen wurde.
Dann musste man entscheiden, ob man die Suche von neu anfangen soll oder
ob der zuletzt gelesene Suffix noch ein kiirzeres PrS~fix yon 0010 enthS~lt und
die weitere Suche mtisste dann von entsprechender Stelle fortgesetzt werden.
Dass man da wirklich aufpassen muss, zeigt die Schwierigkeit der Klassenbe-
schreibung in Aufgabe 3.5. Man kann das Risiko in diesem Entwurfsprozess
vermeiden, in dem man sich entscheidet, einfach mehr Informat i onen fiber das
gelesene Wort zu speichern. Eine Idee wS~re, durch den Namen eines Zustan-
des die komplete Suffixe der LS~nge 4 zu speichern. Zum Beispiel, ein Zust and
q0110 sollte alle W6r t er enthalten, die mit 0110 enden. In dem Augenblick
ist alles iibersichtlich und die Beschreibung der Zustandsklassen einfach, aber
wir bezahlen diese Transparenz mit der Automatengr6i3e. Wi t haben 2 4 = 16
ZustSmde um alle Suffixe der LS~nge 4 fiber {0, 1} zu speichern. Das ist noch
nicht alles. Es gibt auch k/irzere W6rt er, die nattirlich keinen PrS~fix der LS~nge
4 enthalten. Alle W6r t er kiirzer als 4 brauchen dann eigene Zustgnde, was
ergibt
23 + 22 + 21 -~- 1 = 15
weitere Zust/~nde. Weil einem EA mit 16 + 15 = 31 Zust/~nden zu zeichnen zu
viel Arbei t ergibt, stellen wir eine Anwendung dieser Idee fiir die Suche nach
einem kiirzeren Teilwort vor.
Bei s pi el 3. 2. Bet racht en wir die Sprache
L = {z 110yl z , y E {0, 1}*}.
Wie oben angedeut et , fiihren wir die Zust/fnde p~b~ ein, wobei in Pabc die W6r t er
landen, die mit dem Suffix abc fiir a, b, c E {0, 1} enden. Dies ist noch nicht ganz
90 3 Endl i c he Au t o ma t e n
genau, weil f/Jr abc ~ 110 nehmen wir ein Wort mit Suffix abc in Klasse[p~b~]
nur dann, wenn das Wort das Teilwort 110 nicht enthglt (in einem solchen Fall
m~sste aber die Akzept anz eines solchen Wortes lgngst entschieden werden).
Wi r beschreiben j et zt genau die Bedeut ung aller Zust/~nde:
Kl[pllO] = L
KI[Pooo] =
Kl [ Pool ] =
Kl [ Pol o] =
Kl[PlOO] =
Kl [ Po11] =
Kl [ Pl Ol ] =
Kl [ p111] =
={ z E{ 0 , 1 } * I z
{z000 z C{ 0 , 1 }
das Teilwort 1
{x001 x e {0,
das Teilwort 1
{z010 z ~ {0,
das Teilwort 1
{xl 00 x e {0,
das Teilwort 1
{ z o l l z ~ {o,
das Teilwort 1
{ z l o l z ~ {o,
das Teilwort 1
{ z 1 1 1 z E {0,
das Teilwort 1
10 nicht
1}* und
10 nicht
1}* und
10 nicht
1}* und
10 nicht
1}* und
10 nicht
1}* und
10 nicht
1}* und
11 nicht
enth~ilt das Teilwort 110},
* und z000 enthtilt
},
z001 enthtilt
},
z010 enth~lt
},
zl 00 enthtilt
},
z011 enth~lt
},
z 101 enth~lt
},
z 111 enth/~lt
}.
Dann brauchen wir die ZustS~nde
P~, P0, Pl , P00, P01, Pl 0 und Pl l
fiir kiirzere W6rt er, daher
Kl[pa] = {At, Kl[po] = {0}, Kl[pl] = {1},
Kl[Poo] = {00}, Kl[Pol] = {01},
Kl[plo] = {10} und Kl[p11] = {11}.
Der St ar t zust and ist offensichtlich der Zust and p~ und p11o ist der einzige
akzeptierende Zustand.
Der resultierende EA ist in Fig. 3.8 gezeichnet. Die Verzwei gungsst rukt ur
( Baumst r ukt ur in der Informat i k genannt ) oben gibt j edem Wort der L/~nge
k/irzer gleich 3 einen anderen Zustand. Alle anderen Kant en (Transitionen)
fiihren zu den unt erst en Zust/~nden p~b~. Zum Beispiel, wenn ein Wort z001
um eine Null zum z0010 verlS~ngert wird, dann muss man aus pool in polo
iibergehen (d.h. 6(pool, 0) = poxo).
3.2 Die Darstellungen der endlichen Automaten 91
O/ \ 1 O/ \ 1
0 / ~1 0 / ~1 1 0 / ~1 0 / ~1
O I (Pooo k---z---~Pool )-- z-------~Polo ) (POll) (Ploo) ( Pl Ol ) ((Pllo)~P111) ) 1
1,0
Fig. 3.8
Deswegen sind die Kant en immer so gelegt, dass durch das Lesen eines wei-
teren Symbols immer der dem neuen Suffix der Lgnge 3 entsprechende Zu-
stand erreicht wird. Die einzige Ausnahme ist der Zustand p110. Da bleiben
wir, unabhgngig davon, welche Symbole noch gelesen werden, weil wir schon
das Teilwort 110 in der Eingabe festgestellt haben und alle solche Eingaben
akzeptiert werden mtissen.
Der Entwurf des EA in Fig. 3.8 riecht auch nach viel Arbeit, aber die k6nnte
lohnenswert sein, wenn man auf eine tibersichtliche Weise einen EA f/Jr eine
Sprache wie
L _ _ {z E {0, 1}*l z enthglt mindestens eines der W6rt er 000, 001
oder 110 als Teilw6rter}.
92 3 Endliche Aut omat en
ent wer f en m6cht e. Da r ei cht es, den EA aus Fi g. 3. 8 zu ne hme n, di e aus Pooo
und P011 a us ge he nde Ka n t e n dur c h
(~(pooo, 0) = (~(pooo, 1) = pooo und (~(P011, 0) = (~(P011, 1) = P011
zu er s et zen und
F = {Pooo, Po11, P11o}
zu w~thlen.
D
Auf gabe 3.6. Modifiziere den Aut omat en aus Fig. 3.8, um folgende Sprachen zu akzeptie-
ren:
(a) { xyz C {0, 1}* l y c {OOl, OlO, lOO}, x, z c {o, 1}*},
(b)* { xyz 6 {o, 1}* l y 6 {Ol, lOO, l l l } , x , z 6 {o, 1}*},
(c) {x011 I x c {0, 1}*},
(d) { xz c {0,1}* I x c {0, 1}*,z c {001,010,100}}.
Auf gabe 3.7. Entwerfe EA fiir folgende Sprachen:
(~)
(b)
(~)
(d)
(+)
(f)
(g)
(h)*
(i)
(J )
(k)
(1)
{ z l l l l y l z , y C {0, 1,2}*},
{zl l 0110y I z, y E {0,1,2}*},
{x010101y I x, y C {0, 1}*},
{xOy l x, y C {0, 1}*},
{z0yl z I x, y, ~ 9 {0, 1}*},
{zE{O, 1}* l lzlo _> 3},
{ xc {0, 1}' 13 _< Ixl~ _ 5},
{zOOlylOlz I z , y , z E {0,1}*},
{xOOlll x c {0,1}*},
{zlO011 1 z c {0,1}*},
{l zl l O01l z c {0,1}*},
{xllOOlyO I x, y ~ {0,1}*}.
Auf gabe 3.8. Wende die Entwurfsstrategie aus Fig. 3.8 an, um einen EA fiir folgende
Sprachen zu entwerfen:
(a) {x c {0, 1}*I x enthSJt 11 als Teilwort oder endet mit dem Suffix 10},
(b) {A,0, l l , z000 I z C {0, 1}*},
(c) {z C {0, 1}*I x enthalt 00 oder 11 als Teilw6rter}.
Bestimme die entsprechenden Zustandsklassen ftir alle entworfenen Automaten.
Auf gabe 3.9. Entwerfen Sie fiir jede der folgenden Sprachen einen EA:
(a) {w c {0, 1, 2}*l w = 002122x, x c (Ebool)*},
(b) {w E {a, b, c}* I w = yabcabc, y E {a, b, c}*},
3.3 Simulationen 93
(c) {w C {a, b, c}* l w : xaabby, x, y c {a, b, c}*,
(d) {w E {0,1}* I Iwl0 - 1 (rood3) und w=x 111y f f l r x, y E {0,1}*},
(e) {abbxb3y ] x, y 9 {a,b}*},
(f) {w 9 {a,b}*]w : abbz fiir ein z 9 {a,b}* und w : ub3v mit u,v 9 {a,b}*}.
(g) { x y 9 {0, 1}* I YY 9 {000,010,100,101}}, und
(h) {xyz 9 {0, 1}* l YY 9 {001,010,101,110}}.
Die graphische Darstellung der Automaten ist zur L6sung der Aufgabe ausreichend. Geben
Sie dazu zu jedem Zustand q dieser Automaten die Klasse Kl[q] an.
3.3 Si mul at i onen
Die Si mul at i on ist einer der meist benut zt en Begriffe der Informat i k. Tr ot zdem
wurde dieser Begriff nie durch eine formale Definition festgelegt. Der Gr und
dafiir ist, dass man in unt erschi edl i chen Bereichen den Begriff der Si mul at i on
unt erschi edl i ch auslegt. Die engste I nt er pr et at i on dieses Begriffes fordert, dass
jeder el ement are Schri t t der si mul i ert en Berechnung durch einen Schri t t der
si mul i erenden Berechnung nachgemacht wird. Eine etwas schwS~chere Forde-
rung ist, dass man einen Schri t t der si mul i ert en Berechnung durch mehrere
Schri t t e simulieren daft. Eine noch schwgchere Form verzichtet auf die Si-
mul at i on einzelner Schri t t e und fordert nur, dass man gewisse wichtige Teile
der Berechnung nachahmt . Die al l gemei nst e Definition fordert nur das gleiche
Ei ngabe- Ausgabe- Ver hal t en und verzichtet vollstSmdig auf die Si mul at i on der
Wege, die von den Ei ngaben zur ent sprechenden Ausgabe fiihren.
In diesem Teilkapitel zeigen wir eine Si mul at i on im engen Sinne. Wi r zeigen,
wie man die Berechnung von zwei endlichen Aut omat en mi t einem EA si mul t an
Schri t t fiir Schri t t nachahmen kann.
Le mma 3. 2. Sei E ein Al phabe t und s ei en M~ = ( Q~ E, 6~ qo~ F~) und M2 =
(Q2, E, 62, qo2, F2) zwei EA. Fi i r j ede Me ng e no pe r at i o n <9 E {U, A , - } exi s t i er t
ein EA M, so dass
=
Bewei s . Die Idee des Beweises ist, den EA M so zu konst rui eren, dass M
gleichzeitig die Arbei t von bei den Aut omat en M, und M2 simulieren kann. r
Die Idee der Si mul at i on ist einfach. Die Zust gnde von M werden Paare (q, p),
7Im Prinzip hat M auch keine andere M6glichkeit, weil die M6glichkeit, zuerst M1 und dann
M2 zu simulieren, nicht besteht (die Eingabe steht nur einmal zum Lesen zur Verfiigung).
94
~ 1 ixllx2 1 ix~l
t
3 Endliche Automaten
~ ixlx2 1 x~l
t
Fig. 3.9
~ i x l l x 2 1 I x ~ l I
t
( q , p )
w o b e i q e i n Z u s t a n d y o n 3 / 1 u n d p e i n Z u s t a n d y o n 3 / 2 i s t . D a s e r s t e E l e m e n t
y o n ( q , p ) s o l l q s e i n g e n a u d a n n , w e n n s i c h M 1 a u c h g e r a d e i m Z u s t a n d q
b e f i n d e t . A n a l o g s o l l d a s z w e i t e E l e m e n t d e s Z u s t a n d e s y o n M p s e i n g e n a u
d a n n , w e n n M 2 s i c h i m Z u s t a n d p b e f i n d e t ( F i g . 3 . 9 ) .
Den formalen Beweis fiihren wir in zwei Schritten durch. Zuerst geben wir eine
formale Konstruktion des EA M und beweisen dann, dass M beide EA M1
und M2 simuliert.
Die Konstruktion yon M.
Sei M = (Q, E, ~, qo, FG), wobei
(i)
(ii)
(iii)
(iv)
(~ = (~1 X 02~
q o = ( q o l , q o 2) ,
f a l l s G=U, d a n n i s t F=Fl xF2
{Mindestens einer yon M1 und M2 endet in einem akzeptierenden Zu-
stand.},
falls Q = D, dann ist F = F1 F2
{Beide M1 und M2 miissen akzeptieren.}, und
falls (D =- , dann ist F = F1 ( Q2 - F2)
{M1 muss akzeptieren und M2 darf nicht akzeptieren.}.
Beweis der Behauptung L( M) - L( MI ) Q L( M2) .
Um die Behaupt ung flit jedes Q E {U, D, - } zu beweisen, reicht es, die folgende
3.3 Simulationen 95
Gl ei chhei t zu zeigen:
~( ( q o l , q o 2) , x ) - ( ~l ( qol , x) , ~2( qo2, X)) fiir alle x E E*.
(a~)
Wi r bewei sen (3.1) durch I ndukt i on beziiglich Ixl.
1. I ndukt i ons anf ang.
Falls x = A, ist (3.1) offenbar erfiillt.
2. I ndukt i onsschri t t .
Wi r bewei sen fiir jedes i E IN, dass, wenn (3.1) erfiillt ist fiir jedes x E E* mi t
Ixl _< i, dann ist (3.1) erfiillt ftir jedes w E E ~+1.
Sei w ein beliebiges Wor t aus E i+1. Dann ist w = za ftir i rgendwel che z E E i
und a E E. Aus der Defi ni t i on der Funkt i on ~ er hal t en wir
3((qol, qo~), ~)
(3.1)
Def.5
3((qo,, qo~), ~a)
a(3((qo,, vow), ~), a)
(5 (((~1 (qol, z), (~2 (qo2 , z)), a)
(~1 (a,(q0,, ~), a), a~(3~(q0~, ~), a))
((~1 (q101, za), (~2 (q202, za))
((~1 (q101, w) , ~2(q202, w) ) .
Au f g a b e 3. 10 . Sei L C_ E*
eine regulgre Sprache ist.
eine regulgre Sprache. Beweisen Sie, dass auch L C - E* - L
Die vorgest el l t e Si mul at i on bi et et uns eine modul ar e Techni k zum Ent wur f
von endl i chen Aut omat en. Dieser s t r ukt ur i er t e Ansat z ist besonders fiir grSfte-
re und kompl exere Aut oma t e n geeignet, weil er nicht nur den Ent wurfsprozess
veranschaul i cht , sondern auch die Verifikation des ent worfenen Aut oma t e n vet-
einfacht. Die Idee der modul ar en Ent wur f sst r at egi e ist, zuerst einfache Aut o-
mat en fiir einfache Sprachen zu bauen und dann aus diesen , , Baust ei nen" den
gesucht en EA zus ammenbauen. Wi r i l l ust ri eren diese Ent wur f s met hode durch
das folgende Beispiel.
Be i s pi e l 3. 3. Seien L1 - {x E {0, 1}*I xlo ist gerade}, und L2 - {x E
{0, 1}* I IXll -- 0 oder Xll ~ 3}. Wi r bauen zuerst zwei endliche Aut oma t e n
M1 und M2 mi t L(M1) - L1 und L( M2) - L2, die in Abbi l dung 3.10 und
Abbi l dung 3.11 dargest el l t sind.
96 3 Endliche Automaten
Fig. 3.10 -/1//1
1
0 0 0 0,1
Fig. 3.11 M2
Wie unsere Idee besagt, hat M die Zust andsmenge
{(q0,P0), (q0,Pl), (q0,P2), (q0,P3), (ql,P0), (ql,Pl), (ql,P2), (ql,P3)}"
Um M iibersichtlich zu zeichnen, legen wir die Zust gnde von M mat ri xart i g
auf ein Bl at t Papier (Abbildung 3.12). Die erste Zeile bei nhal t et Zust gnde
mit der ersten Komponent e qo und die zweite Zeile Zustgnde mit q~ als erste
Komponente. Die i-te SpaRe fiir i = 0, 1, 2, 3 bei nhal t et die Zust gnde mit der
zweiten Komponent e p~.
Jet zt muss man anhand von M1 und M2 die Kant en ({Jberg/~nge) bestimmen.
Zum Beispiel geht M1 aus q0 bei 0 in ql fiber und M2 bleibt beim Lesen von 0
in P0. Deswegen geht M aus (q0, P0) beim Lesen yon 0 in (ql, P0) fiber.
Nachdem auf diese Weise alle Kant en bezeichnet worden sind, beobacht en wir
in Abbi l dung 3.12, dass wir in den Spalten die Anzahl der Nullen modulo 2
rechnen und in den Zeilen die Anzahl Einsen von 0 bis 3 z~hlen. Also bedeut et
der Zust and (q~,pj) fiir i E {0, 1}, j E {0, 1, 2, 3}, dass der bisher gelesene
PrS~fix z genau j Einsen bei nhal t et (wenn j = 3 mindestens 3 Einsen) und
IZlo rood 2 = i. Dami t sind alle fiir uns wichtigen Merkmale der gelesenen
W6r t er in M beobacht et (gespeichert).
3.3 Simulationen 97
o/
) 1 ~ ) 1
70, po " ]o, pl
0 0( 0
1 ( 1
~1, " 11,
o( o
" )rl ~
1
Fig. 3.12 M
Welche sind die akzeptierenden Zust/tnde? Das h~ngt davon ab, was fiir eine
Sprache wir akzeptieren wollen. Wenn wir zum Beispiel die Sprache
L1 K/L2 = L(M1) N L(M2)
akzeptieren wollen, dann mfissen wir genau dann akzeptieren
wenn beide M1 und 3/2 akzeptieren.
Das bedeutet: die akzeptierenden Zustgnde von M sind genau die Zustgnde,
wo beide Komponenten akzeptierende ZustS~nde von M1 und M2
sind.
Weil q0 der einzige akzeptierende Zustand von M1 ist und die akzeptieren-
den ZustS~nde von 3/2 die ZustS~nde P0 und P3 sind, sind die akzeptierenden
ZustS~nde von M
die ZustS~nde (qo,po) und (qo,Pa).
Wenn M die Sprache
L1 U L2 = L(M1)U L(M2)
akzeptieren sollte, dann akzeptiert M genau dann, wenn
mindestens einer der endlichen Aut omat en M1 und M2 akzeptiert.
98 3 Endliche Aut omat en
Das bedeut et : die akzept i er enden ZustSonde yon M sind genau die ZustS~nde
wo mi ndest ens eine Komponent e ei nem akzept i er enden Zus t and
von/ 1/ 1 oder M2 ent spri cht .
Somi t sind die akzept i er enden ZustS~nde fiir L1 U L2 die fol genden ZustS~nde:
(q0, P0), (q0, Pl), (q0, P2), (q0, P3), (ql, P0), (q0, P3)"
D
Au f g a b e 3. 11. Bet racht en Sie M aus Beispiel 3.3. Best i mmen Sie die Menge der akzep-
t i erenden Zust~nde wenn M die folgenden Sprachen akzept i eren soll.
I!} L( M1) - L( M2) - { x C{ O ' I } * xCL( M1) u n d x ~ L ( M2 ) } L ( M2 ) - L ( M1 )
{0, 1}* - (L(M1) N L(M2
l~} {O' I }*- ( L( MI UL(M21
({0, 1] * - L(M1 ) U L( M
({0, 1}* - L(M2 ) n L( M .
Au f g a b e 3. 12. Nut zen Sie die Met hode des modul aren Ent wurfs um folgende endlichen
Aut omat en fiir folgende Sprachen zu bauen:
~ i} mod
x C 0, mo d 2 =l u n d 1_ < x 1_ < 3}
x c 0, * l0 mod 3 c {0, 1} und @xll + x 9) mod 2 = 0}
(d) x c 0, I} ! ist gerade und x ent hal t ([as TeiIwort 0101}
}efl x E O, x - yOOzllv fiir y, z, v E {O, 1}* und x 0 mo d 3 - 2 }
x c 0, a,b}* x enth~tlt das Teilwort l l l o d e r
. x enthgolt das Teilwort aba}
(g) {x c {0, 1}*Ix begi nnt mit dem Prafix 011 und x
enth~tlt 100 als Teilwort}
(h) {x c {0,1}* I x ent hal t entweder 0101 als Teilwort
oder endet mit dem Suffix 111}
x E} 0: ~j ,~21" x o i s t g e r a d e A x 1 i s t unger ade A X l l + x 2_ >2}
/J/ }xE x enth~tlt mi ndest ens eins der folgenden
Teilw6rter: 0011,110}
Au f g a b e 3. 13. Bet racht en Sie die folgenden Sprachen:
L1
L2
L3
= {x E {0, 1, 2}* I IXlo ist gerade},
= {x c {0, 1,2}* I Ixll ist ungerade},
= {x E {0, 1, 2}* I Ixl2 ist gerade}.
Bauen Sie drei endliche Aut omat en M1, M2 und M3, so dass L(M1) = L1, L(M2) = L2 und
L(M3) = L3. K6nnen Sie j et zt mi t der modul aren Ent wurfst echni k einen EA M konstruie-
ren, so dass
L(M) = (L1 n L2)U L3 ?
3.4 Beweise der Nichtexistenz
3.4 Bew ei se der Ni cht exi s t enz
9 9
Um zu zeigen, dass eine Sprache L nicht regular ist (L ~ 12(EA)), geniigt es
zu beweisen, dass es keinen EA gibt, der die Sprache akzeptiert. Im Allgemei-
hen zu zeigen, dass yon einer gewissen Klasse yon Programmen (Algorithmen)
eine konkrete Aufgabe nicht 15sbar ist (kein Programm aus der Klasse 15st die
Aufgabe), gehSrt zu den schwersten Problemstellungen in der Informatik. Be-
weise solcher Aussagen nennen wir Beweise der Nichtexistenz. Im Unterschied
zu konstruktiven Beweisen, bei denen man die Existenz eines Objektes mit
gewissen Eigenschaften direkt durch eine Konst rukt i on eines solchen Objek-
tes beweist (z.B. wir konstruieren einen EA M mit vier Zustgnden, der eine
gegebene Sprache akzeptiert), kann man bei den Beweisen der Nichtexistenz
mit einer unendlichen Menge yon Kandi dat en (z.B. allen endlichen Automa-
ten) nicht so vorgehen, dass man alle Kandi dat en einen nach dem anderen
betrachtet und iiberpriift, dass keiner die gewiinschten Eigenschaften hat. Um
die Nichtexistenz eines Objektes mit gegebenen Eigenschaften in einer un-
endlichen Klasse von Kandi dat en zu beweisen, muss man f~r gewShnlich eine
tiefgreifende Kenntnis fiber diese Klasse haben, die im Widerspruch zu den
g e w i i n s c h t e n E i g e n s c h a f t e n s t e h t .
Weil die Klasse der endlichen Aut omat en eine Klasse yon sehr stark einge-
schrS~nkten Programmen ist, sind die Beweise der Nichtexistenz der Art ,,es
gibt keinen EA, der die gegebene Sprache L akzeptiert" relativ leicht. Wir
nutzen dies hier, um eine einfache Einfiihrung in die Methodik der Herstellung
yon Beweisen der Nichtexistenz zu geben.
Wir wissen, dass endliche Aut omat en keine andere Speicherm6glichkeit als den
aktuellen Zustand (Nummer der aufgerufenen Programmzeile) besitzen. Das
bedeutet ftir einen EA A, der nach dem Lesen zweier unterschiedlicher WSrter
x und y im gleichen Zustand endet (also (~(q0, x) - (~(q0, y)), dass A in Zukunft
nicht mehr zwischen x und y unterscheiden kann. Mit anderen Worten bedeutet
dies, dass fiir alle z E E* gilt, dass
Formulieren wir diese wichtige Eigenschaft im folgenden Lemma.
Le mma 3.3. Sei A = (Q, E, 5A, qo, F) ein EA. Seien x, y E E*
dass
, x r so
(qo, @ (p, A) (qo, y) (p, A)
100 3 Endliche Aut omat en
f i i r ein p E Q (also ~A(qo, x) -- ~A(qO, Y) - - P ( x, y E Kl[p])). Dann exi st i ert
f i i r j edes z E E* ein r E Q, so dass x z und y z E Kl[r], also
x z E L( A ) ~ y z E L( A ) .
Bewei s . Aus der Existenz der Berechnungen
yon A folgt die Existenz folgender Berechnung auf x z und y z
(qo, y~) ~ (p, ~)
fiir alle z E E*. Wenn r - ~A(P, z) (also wenn (p, z ) ~ (r, A) die Berechnung
yon A auf z ausgehend vom Zust and p) ist, dann ist die Berechnung yon A auf
x z
(q0, ~ ) ~ (p , ~) ~ (<, A)
und die Berechnung yon A auf y z
(q0, y ~ ) @ (p , ~ ) ~ (~, a).
Wenn r E F, dann sind beide WSrt er z z und y z in L( A ) . Falls r r F, dann
ist xz , y z ~ L( A ) . D
Lemma 3.3 ist ein Spezialfall einer Eigenschaft, die ftir jedes (deterministische)
Rechnermodell gilt. Wenn man einmal in den Berechnungen auf zwei unter-
schiedlichen Ei ngaben die gleiche Konfiguration s erreicht, dann ist der weitere
Verlauf beider Berechnungen identisch. Im Fall eines Ent schei dungsprobl ems
bedeut et dies, dass entweder beide Ei ngaben akzept i ert werden oder beide
verworfen werden. Lemma 3.3 kann man leicht anwenden, um die Nichtregu-
laritS~t mehrerer Sprachen zu zeigen. Sei L = {0~1 ~ I n E IN}. Int ui t i v sollte L
fiir jeden EA deswegen schwer sein, weil man die Anzahl der vorkommenden
Nullen speichern sollte, um diese dann mit der Anzahl nachfolgender Einsen
vergleichen zu kSnnen. Aber die Anzahl yon Nullen im PrS~fix 0 ~ kann belie-
big grog sein und jeder EA hat eine feste Gr6t3e (Anzahl der Zust~nde). Also
kann kein EA die vorkommenden Nullen in j edem Ei ngabewort zS~hlen und wir
SDies gilt nur, wenn man eine Konfi gurat i on als vollst~indige Beschreibung des allgemei-
nen Zust andes des Rechnermodells (einschliefilich des noch errei chbaren Teils der Eingabe)
bet racht et .
3.4 Beweise der Nichtexistenz 101
br auchen nur formal auszudri i cken, dass dieses ZS~hlen erforderl i ch ist, um L
zu akzept i eren.
Wi r zeigen i ndi rekt , dass L ~ Z; (EA). Sei A = (Q, Ebool, 6A, q0, F) ein EA mi t
L ( A ) = L. Man bet r acht e die W6r t er
01 0 2 0 3 0 Q +1
~ ~ 9 . . ~
Weil die Anzahl dieser W6r t er IQI + 1 ist, exi st i eren i, j E {1, 2 , . . . , IQI + 1},
i < j , so d ass
0 -
Nach Le mma 3.3 gilt
Oiz C L4:=~OJz c L
fiir alle z E (Ebool)*. Dies gilt aber nicht, weil fiir z = 1 i das Wor t 0i l i E L
und das Wor t 0 j i i r L.
Aufgabe 3.14. Beweisen Sie mit HiKe von Lemma 3.3, dass die folgenden Sprachen nicht
in s sind:
(a) {w C {a,b}*llWla = IWlb},
(b) {a~b~c~ l n , m E IN},
(c) {w E {0, 1, ~}*l w = xCpx fiir ein x E {0, 1}*},
(d) { x l y E {0, 1}*llx I = lYl}.
Um die Beweise der NichtregularitS~t von konkr et en Spr achen anschaul i ch und
einfach zu machen, sucht man nach leicht t i berpr/ i fbaren Ei genschaft en, die je-
de regulS~re Sprache erfiillen muss. Wenn eine Sprache L eine solche Ei genschaft
nicht besi t zt , weifi man di rekt , dass L nicht regulS~r ist. Im Fol genden zeigen
wir zwei solcher Met hoden zum Beweis yon Aussagen der For m L r s
Die erste Met hode nennt man Pumpi ng. Sie basi ert auf folgender Idee. Wenn,
ftir ein Wor t x und einen Zust and p eines EA A,
dann gilt auch
102 3 Endl i che Au t o ma t e n
fiir alle i E IN (Fig. 3.13). Also kann A ni cht unt er schei den, wie viele x gel esen
wor den sind. Daher ist, wenn 5A(qo, Y) -- P f/Jr ein y E E* und 5A (P, z) -- r f/Jr
ein z E E* (Fig. 3.13),
(qo, y ~ ) ~ - ( p , ~ ) @ (p , ~) ~ (a, ~)
die Ber echnung von A auf yz ~z fiir alle i c IN (also { y z ~z I i c IN} c_ Kl[r] fiir
ein r E Q). Dies bedeut et , dass A ent weder alle WSr t er yz ~z fiir i E IN (falls
r E F) akzept i er t , oder dass A kein Wor t aus { y z ~z l i E N} akzept i er t .
qo P P
y x x
t t t
qo p p p p r
Fi g. 3.13
L e mma 3. 4 . Das P ump i ng - L e mma ffir regul~ire Sp r achen
Sei L regular. Dann exi st i ert eine Ko ns t ant e no E IN, so dass sich j edes Wor t
w E E* mi t ]w] >_ no in drei Teile y, x und z zerl egen liisst, d.h. w - y x z ,
wobei
(ii)
]yxl < no,
Ix[ _> 1, und
ent weder { y x k z I k E IN} C_ L oder { y x k z I k E IN} A L - O.
Bewei s . Sei L C_ E* regul gr. Da nn exi st i er t ein EA A- (Q, E, 5A, qo, F) , so
dass L( A ) - L. Wi r set zen no - IQI. s~i w ~ ~* mi t Iwl ___ ~o. Da nn ist
w - Wl W2 . . . W~ o U, wobei w~ E E fiir i - 1 , . . . , no und u E E*. Bet r acht en wir
die Ber echnung
(qo, ~ ~ ~ ~ o) @ (q~, ~ ~ ~ o)
( q ~, ~ ~o ) ~ ~ (q~o ~, ~o) ~ (q~o, a)
(3.2)
yon A auf Wl W2 . . . Who. In den no + 1 Konf i gur at i onen dieser Ber echnung
komme n no + 1 Zust ~nde qo, ql, q2, . . . , q~o vor. Weil IQI - no, exi st i eren
3.4 Beweise der Nichtexistenz 103
i, j E {0, 1 , . . . , no}, i < j , so dass qi = qj. Daher l~tsst sich (3.2) als
(qo, ~. . . ~o) G- (q~, ~+~. . . ~o) G- (q~, ~J+~... ~o) G- (q~o, a)
(3.3)
d a r s t e l l e n . W i r s e t z e n j e t z t
y ~ Wl . . . Wi~ X ~ Wi +l . . . Wj u n d z = Wj +l . . . WnoU.
Es ist klar, dass w = yxz . Wi r iiberpriifen die Ei genschaft en (i), (ii) und
(iii).
(i)
(ii)
(iii)
y x = Wl . . . Wi Wi +l . . . Wj und daher lyxl = j G no.
We i l i < j u n d Ixl =j - i , i s t x - CA (Ixl_ > 1).
Wenn man die Not at i on y und x st at t Wl . . . wi und Wi + l . . . wj in (3.3)
verwendet , sieht die Berechnung von A auf yx wie folgt aus:
(qo, y ~)G - (q~, ~)G - (q~, ~). (3.4)
Die Berechnung (3.3) impliziert
(q~, ~) G- (q~, ~)
fiir alle k E IN. Dann ist ftir alle k E IN
die Berechnung yon A auf yx~z. Wi r sehen, dass fiir alle k E IN, die
Berechnungen im gleichen Zust and 5a(q~, z) enden. Falls also 5A(q~, z) E
F, dann akzept i ert A alle W6r t er aus {yx~z ] k E IN}. Falls 5A(q~, z) ~ F,
dann akzept i ert A kein Wor t aus { y x k z l k E IN}.
Wi e wendet man Lemma 3.4 an, um zu zeigen, dass eine Sprache nicht regulSx
ist? Fi i hren wir dies wieder am Beispiel der Sprache L = {0~1~ I n E IN} vor.
Wi r fiihren den Beweis i ndi rekt . Sei L regul~tr. Dann exi st i ert eine Konst ant e
no mi t den in Lemma 3.4 beschri eben Ei genschaft en, also muss jedes Wor t mi t
einer LSmge von mi ndest ens no eine Zerl egung besitzen, die die Ei genschaft en
(i), (ii) und (iii) erfiillt. Um zu zeigen, dass L r s reicht es ein hi nrei chend
langes Wor t zu finden, f/Jr das keine seiner Zerl egungen die Ei genschaft en (i),
(ii) und (i i i )erfi i l l t . Wi r wahlen jetzt
w = 0 ~~ 1 ~~
104 3 Endliche Automaten
Es ist Mar, dass Iwl - 2no _> no. Es muss eine Zerl egung w - y x z yon w
mi t den Ei genschaf t en (i), (ii) und (iii) geben. Weil nach ( i ) l yxl <_ no gilt,
ist y - 01 und x - 0 "~ ftir i rgendwel che l, m E IN. Nach (ii) ist m ~ 0. Weil
w - 0~~ ~~ E L, ist { y x k z I k E IN} - {0~~ ~~ I k E IN} C_ L. Das ist
aber ein Wi der spr uch, weil y x ~ - y z - 0~~ ~~ r L (es ist sogar so, dass
0~~ ~~ das einzige Wor t aus { y x ~ z I k E IN} ist, das in L liegt).
Bei der Anwendung des Pumpi ng- Le mma s ist es wichtig, dass wir das Wor t w
frei w~hl en kSnnen, weil das Le mma fiir alle ausr ei chend l angen WSr t er gilt.
Die Wahl des Wor t es w ist i nsbesonder e wi cht i g aus fol genden zwei Gri i nden.
Er st ens kann ma n fiir w eine ,,schlechte" Wahl t reffen in dem Sinne, dass man
mi t di esem Wor t und der Pumpi ng Met hode die Tat sache L r s ni cht
bewei sen kann. Fiir die Sprache L - {0~1 ~ I n E IN} ist ein Beispiel einer
schl echt en Wahl das Wor t
w - O ~ O gt L.
Es best eht die M6glichkeit, das Wor t w wie folgt zu zerlegen:
w - y x z mi t y - 0, x - 0, z - 0 ~~
Kl ar, dass das Pumpi ng Le mma fiir dieses w gilt, weil keines der WSr t er in
{ y x k z I k E I N} - {0~~ I k E IN}
zu L geh6r t und so die Ei genschaf t en (i), (ii) und (iii) erfiillt sind.
Zwei t ens kann ma n WSr t er w/~hlen, die den Beweis yon L ~ s zwar
erm6gl i chen, aber ni cht als gi i nst i g anzusehen sind, weil eine Menge von Ar bei t
not wendi g ist, um zu beweisen, dass keine Zerl egung des gewghl t en Wor t es alle
drei Ei genschaf t en (i), (ii) und (iii) erfiillt, a l s Beispiel bet r acht en wir die Wahl
des Wor t es
w -- 0 [~o121 1 [~o121
ftir die Sprache L - {0~1 ~ I n e IN}. Dieses Wor t k6nnen wir benut zen um
L ~ s zu zeigen, aber wir mt i ssen dabei mi ndest ens die fol genden drei
F/tlle von m6gl i chen Zer l egungen bet r acht en 9.
9Fiir das Wort 0~~ ~~ garantiert die Eigenschaft (i) des Pumping Lemmas, dass x nur aus
Nullen besteht. Fiir das Wort 0 [~~ 1[~~ kann x ein beliebiges nichtleeres Teilwort von
w sein.
3.4 Beweise der Nichtexistenz 105
(i)
(ii)
(iii)
y = 0 i, x = 0 "~, z = 0[~~176
ffir ein i E IN und ein m E I N- {0}, d. h. x bes t eht nur aus Nul l en.
{I n di esem Fal l kann ma n das gleiche Ar gume nt wie f~r das Wor t w =
0 ~~ 1 ~~ nut zen, um zu zei gen, dass die Ei genschaf t (iii) des Pu mp i n g Lem-
mas ni cht gi l t . }
y -- X -- Oral j , Z -- l [ n~
ffir posi t i ve ganze Zahl en m und j , daher ent hSJt x mi ndes t ens ei ne Nul l
und mi ndes t ens eine 1.
{I n di esem Fal l ist (iii) ni cht erftillt, weil x = y x z E L und y x 2 z ~ L
( y x 2 z - or n~ [ n~ hat ni cht die For m a' b*) . }
y = 0F~o/21 1 i, x = 1 "~, z = 1 [~~
fiir ein i E IN und ein m E I N- {0}.
{I n di esem Fal l kann ma n die Anzahl der Ei ns en er h6hen ohne die Anzahl
der Nul l en zu 5mdern und so y x ' z ~ L fiir alle 1 E IN - { 1}.}
Al so sehen wir, dass die Wa hl des Wor t es 0[~~ [~~ fiir den Bewei s yon
L ~ s zu viel mehr Ar bei t fi i hrt als die Wahl des Wor t es 0~~ ~~
Auf gabe 3.15. Beweisen Sie durch Anwendung des Pumping-Lemmas, dass die folgenden
Sprachen nicht regulgr sind:
(i) {ww I w c {0,1}*},
(ii) {anbncn i n c IN},
(iii) {w E{0,1},iiw io= iw i1},
(iv) {an2 I n E IN},
(v) {a 2n c
(vi) {w C {0,1}* I Iwlo - 21w l l } , und
(vii) { x l y i x, y c {O, 1}*,l x ] =] y] }.
Auf gabe 3.16. Beweisen Sie folgende Version des Pumping-Lemmas:
Sei L c_ E* regulgr. Dann existiert eine Konstante no E IN, so dass sich jedes Wort w E E*
mit IwI _> no in drei Teile w - y xz zerlegen l~isst, wobei
(i)
(ii) x _ > l und
(iii) entweder { y xkz I k c IN} C_ L oder { y xkz I k c IN} N L - O.
Auf gabe 3.17.* Formulieren und beweisen Sie eine allgemeinere Form des Pumping-Lemmas,
die Lemma 3.4 und das Lemma aus der Aufgabe 3.16 als Spezialfiille beinhaltet.
I m Fol genden st el l en wi r ei ne Me t hode z um Bewei s der Ni cht r egul ar i t ~t vor,
die auf der Kol mogor ov- Kompl e xi t ~t ber uht . Sie zei gt auf ei ne ander e Wei se,
dass endl i che Au t o ma t e n ni cht bel i ebi g l ange zghl en k6nne n ( oder ni cht so
viele I nf or ma t i one n fi ber das bi sher gel esene Wor t spei cher n k6nnen) . Di ese
106 3 Endliche Automaten
Met hode basi ert auf dem n~tchsten Satz, der zeigt, dass nicht nur alle WSr t er
einer regul~tren Sprache eine kleine Kolmogorov-Komplexit~tt haben, sondern
auch alle Suffixe von W6r t er n einer regul~ren Sprache. So ist Satz 3.1 eine
Verfeinerung des Satzes 2.2 fiir regul~tre Sprachen.
Sa t z 3. 1. * Sei L C (Y]bool)* eine Feg~tlaFe Sprache. Sei Lx - { y E E* l xy E
L} f iir j edes x E E*. Dann existiert eine Kons t ant e const, so dass f iir alle
x , y E E*
K( y) <_ [log2(n + 1)] + const
f al l s y das n- t e Wor t in der Sprache Lx ist.
Beweis. Weil L regulgr ist, existiert ein EA M mit L ( M) = L. Die Idee des
Beweises ist 5~hnlich dem Beweis von Satz 2.2, aber nicht gleich. Wenn wir
den Beweis des Satzes 2.2 genau verfolgen wtirden, wtirden wir in kanonischer
Reihenfolge alle WSr t er z aus E* nachei nander generieren und fiir jedes Wort
x z durch die Si mul at i on von M auf x z best i mmen, ob x z E L = L( M) . Das
n-t e akzept i ert e Wort der Form x z best i mmt , dass z das n-t e Wort in Lx
ist. Die SchwS~che dieses Ansat zes liegt darin, dass man dem Pr ogr amm zur
Generi erung von y nicht nur n und M geben muss, sondern auch x. Das Wort x
kann aber eine beliebig groi3e Kompl exi t ~t K( x ) im Vergleich zu K( y ) haben.
Die Kerni dee hier ist, dass wir einem Pr ogr amm zur Generi erung von y das
Wort x gar nicht geben miissen. Es geniigt, i hm den Zust and 5(q0, x) zu geben
und dann die Si mul at i on auf den generi ert en WSr t er n z i mmer aus ~(q0, x) zu
st art en.
Sei y das n-t e Wort in Lx fiir ein x E E*. Das Pr ogr amm Ax,y zur Generi erung
von y arbei t et wie folgt:
Ax,y:
b e g i n
z : - - A ; i : - - O ;
w h i l e @ < n d o b e g i n
Simuliere die Arbei t von M aus dem Zust and ~(q0, x) auf z;
i f ~(~(q0, x), z ) E F t he n
b e g i n i : =i + l ; y : =z ;
end;
z : = kanonischer Nachfolger yon z.
end;
wr i t e ( y) ;
end.
3.4 Beweise der Nichtexistenz 107
Ftir alle x , y ist Ax,y gleich bis auf n und den Zust and 5(qo, x). Aber den
Zust and 5(qo, x) k6nnen wir in die Beschrei bung yon M mit einem speziel-
len Zeiger auf 5(q0, x) ei nbet t en. Weil es nur IQI MSglichkeiten fiir den
Zeiger gibt, existiert eine Konst ant e constM, die die Ls der vollstgndigen
Beschrei bung von M mit dem Zeiger auf einen der Zust gnde (egal welchen)
bei nhal t et . Die LS~nge der Beschrei bung yon Ax,y auger den Par amet er n n, M
und 5(q0, x) ist eine Konst ant e d beziiglich x und y. Die Zahl n kann man in
[log 2(n + 1)] Bits darstellen. Also gilt
K( y) <_ [log2(n + 1)] + constM + cl.
D
Wi r wenden den Satz 3.1 an, ura noch einmal L = {0~1~ I n E IN} ~ s
indirekt zu beweisen. Sei L regular. F/Jr jedes m E IN ist 1 "~ das erste Wort in
der Sprache
Lo-~ - {y I 0"~y E L} - {OJl" ~+Jlj E IN}.
Satz 3.1 folgend, existiert eine Konst ant e c unabhgngi g von m (ngmlich von
dem Wort 1 "~), so dass
K(1 "~) _< K(1) + c.
Weil K(1) auch eine Konst ant e ist, gilt fiir eine Konst ant e d - K(1) + c
K( 1 "~) _< d (3.5)
fiir alle m E I N- {0}. Dies ist aber nicht mSglich, weil
(i) die Anzahl aller Pr ogr amme, deren Lgnge kleiner oder gleich d sind, endlich
ist (hSchstens 2 a) und
(ii) die Menge {1"~ I m E IN} unendlich ist.
Eine andere Ar gument at i on als zu sagen, dass endlich viele unterschiedliche
Pr ogr amme nicht unendlich viele unterschiedliche W6r t er generieren k6nnen,
ist, die Behaupt ung aus Aufgabe 2.29 anzuwenden. Diese Behaupt ung sichert
die Exi st enz yon unendlich vielen Zahlen mmi t K( m) _> [log2(m + 1)] - 1.
Weil es ein b E IN gibt, so dass IK(1 "~) - K( m) l _< b fiir alle m E IN, steht
K( m) _> [ l og2(m+ 1)] - 1 fiir unendlich viele m E IN im Wi der spr uch zu (3.5).
Aufgabe 3.18. Wenden Sie den Satz 3.1 an, um die Nichtregularit~t folgender Sprachen
zu beweisen:
(i) {0 n2 nEI N} ,
108
(ii) {02 ~"lncI N},
(iii) { w E{ 0, 1} * l l w l o= 2 . 1W l l } und
(iv) {w E {0, 1}*lw = x x fiir ein x E {0, 1}*}.
3 Endliche Automaten
3. 5 Ni c ht de t e r mi ni s mus
Die standardm/~f3igen Programme sowie die bisher bet racht et en endlichen Au-
t omat en sind Modelle von deterministischen Berechnungen. Determinismus be-
deut et in diesem Kontext, dass in jeder Konfiguration eindeutig festgelegt ist
(determiniert ist), was im n~chsten Schritt passieren wird. Daher best i mmen
ein Pr ogr amm (oder ein EA) A und seine Eingabe x vollstgndig und eindeutig
die Berechnung von A auf x. Nichtdeterminismus erlaubt in gewissen Konfi-
gurat i onen eine Auswahl yon mehreren Aktionen (M6glichkeiten, die Arbeit
fortzusetzen). Dabei reicht es, wenn mindestens eine der M6glichkeiten zu dem
richtigen Resul t at fiJhrt. Dies entspricht einem auf den ersten Blick kiJnstli-
chen Spiel, so, als ob ein nichtdeterministisches Pr ogr amm immer die richti-
ge M6glichkeit wS~hlt. Diese Wahl einer von mehreren M6glichkeiten nennen
wir n i c h t d e t e r mi n i s t i s c h e Ent s c he i dung. F/Jr ein Entscheidungsproblem
(E, L) bedeut et dies, dass ein nichtdeterministisches Pr ogr amm (nichtdeter-
ministischer EA) A eine Sprache L akzeptiert, falls fiJr jedes x E L mindestens
eine akzeptierende Berechnung von A auf x existiert und f/Jr jedes y E E* - L
alle Berechnungen nicht akzeptierend sind. Obwohl ein nichtdeterministisches
Pr ogr amm nicht zum praktischen Einsatz geeignet scheint (und wir kein Ora-
kel haben, das uns helfen wiirde, die richtige nichtdeterministische Entschei-
dung zu treffen), hat das St udi um yon nichtdeterministischen Berechnungen
einen wesentlichen Beitrag zum VerstS~ndnis von deterministischen Berechnun-
gen und zur Untersuchung der Grenze der M6glichkeiten, Probleme algorith-
misch zu 16sen, geliefert.
Die Zielsetzung dieses Teilkapitels ist es, Nichtdeterminismus auf dem Modell
der endlichen Aut omat en einzufiJhren und zu untersuchen. Dabei interessieren
uns die fiJr allgemeine Berechnungsmodelle zentralen Fragen, ob man nichtde-
terministische Berechnungen deterministisch simulieren kann und falls ja, mit
welchem Berechnungsaufwand.
Fiir Programme k6nnte man Nichtdeterminismus z.B. mit einem Befehl
, , choose got o i or got o j " einfiJhren. Bei endlichen Aut omat en fiihren wir
Nichtdeterminismus so ein, dass wir einfach aus einem Zust and mehrere Uber-
g5nge fiir das gleiche Eingabesymbol erlauben (Fig. 3.14).
3.5 Nichtdeterminismus
Fig. 3.14
109
De f i ni t i on 3. 3. Ei n n i c h t d e t e r mi n i s t i s c h e r e n d l i c h e r Au t o ma t ( NEA)
ist ein Quintupel M = (Q, E~ 5~ qo, F) . Dabei ist
~)
~)
Q eine endl iche Menge, Zu s t a n d s me n g e genannt,
E ein Alphabet, Ei n g a b e a l p h a b e t genannt,
qo E Q der An f a n g s z u s t a n d ,
F c_ Q die Menge der a k z e p t i e r e n d e n Zus t ~i nde und
5 eine Funkt i on 1~ yon Q E nach 79(Q), Ub e r g a n g s f u n k t i o n genannt.
{ Wi t beobachten, dass Q, E, qo und F die gleiche Bedeut ung wie bei ei nem EA
haben. Ei n NEA harm abet zu ei nem Zus t and q und ei nem gel esenen Zei chen
a mehrere Nachf ol gezustiinde oder gar kei nen haben. }
Ei ne Ko n f i g u r a t i o n von M ist ein El e me nt aus Q E*. Die Konf i gurat i on
(qo, x) ist die St a r t k o n f i g u r a t i o n ffir das Wo r t x.
Ei n Sc h r i t t yon M ist eine Rel at i on ~- C_ (Q x E*) (Q x E*), def iniert
dutch
(q, ~ ) - ~ - ( p , ~) ~ , ~ - a~ f ~ ~i ~ a e r ~ d ; c 5 (q, a).
Ei ne Be r e c h n u n g von Mi s t eine endl iche Reihenf ol ge D1, D2 , . . . , D~ von
Konf igurationcn, wobei Di - ~ Di+l f iir i - 1 , . . . , k 1. Ei ne Be r e c h n u n g
von M a u f x ist eine Berechnung Co, C1 , . . . , C,~ yon M, wobei Co = (qo, x)
~d ~t~d~ C~ ~ O { ~ } od~ O ~ = (q, a~ ) f ~ ~i ~ ~ ~ ~ ~ d ~i ~ q ~ O , ~o
dass 5(q, a) = O. Co, C1 , . . . , C,~ ist eine a k z e p t i e r e n d e Berechnung yon M
von M auf x existiert, sagen wir auch, dass M das Wo r t x a k z e p t i e r t .
Die Rel ation - ~ ist die reflexive und transitive Hiille 11 von [ M 9
l~ kann man 5 als eine Relation auf (Q E) Q definieren.
l lGenau wie bei einem EA.
110 3 Endl i che Aut omat en
Die Sprache
L(M) - {w E ~* I (q0, w ) ~ (p , A) f ~ ~i~ p ~ F }
ist die von M a k z e p t i e r t e Spr ache.
. . ^
Zu der Ubergangsfunktion ~ definieren wi t die Funktion ~ von Q E* in 79(Q)
wie folgt:
(//)
(~(q, A) -- {q} f iir j edes q E Q,
~(q, wa) - {p l ~ existiert ein r E ~(q, w) , so dass p E ~(r, a) }
- U~3(~, ~)~(~, a)
f iir alle q E Q, a E E, w E E*.
Wi r sehen, dass ein Wort x in L( M) ist, wenn M mindestens eine akzeptie-
rende Berechnung auf x hat. Bei einer akzeptierenden Berechnung auf x wird
wie bei einem EA gefordert, dass das ganze Wort x gelesen wird und nach dem
Lesen des letzten Buchst abens M in einem akzeptierenden Zust and ist. Im Un-
terschied zu endlichen Aut omat en kann eine nicht akzeptierende Berechnung
enden, auch wenn die Ei ngabe nicht vollstgndig gelesen wurde. Dies passiert,
wenn der NEA in einem Zust and q das Symbol a liest und 5(p, a) = 0, d.h. es
existiert keine M6glichkeit, die Berechnung fortzusetzen.
Der Definition von ~ folgend sehen wir, dass ~(q0, w) die Menge aller Zust gnde
aus Q ist, die aus q0 durch das vollstS~ndige Lesen des Wortes w erreichbar
sind. Daher ist
L ( ~ ) - { w c ~* I 3(G o, w ) n F # 0}
eine al t ernat i ve Definition der von M akzept i ert en Sprache.
Bet racht en wir folgendes Beispiel eines NEA. Sei M = (Q, E, ~, qo, F) , wobei
Q = {qo, ql, q~}, ~ = {o, 1}, F = {q~} ~d
~(qo, o) = {qo}, ~(qo, 1) = {qo, ql} ,
~(ql, o) = 0, ~(ql, 1) = {q~},
6(q2, 0 ) = {q2}, 6(q2, 1 ) = {q2}.
Auf die gleiche Weise wie bei endlichen Aut omat en stellen wir eine graphische
Darstellung yon M (Fig. 3.15) vor.
Das Wort 10110 ist in L( M) , weil
(qo, 10110) ~ (q o , 0110) ~ (q o , 110) ~ ( q l , 10) ~ (q 2, O) ~ (q 2, ~)
3.5 Nichtdeterminismus
0,1
Fig. 3.15
111
eine akzeptierende Berechnung von M auf x ist.
Um entscheiden zu kSnnen, ob ein NEA M ein Wort x akzeptiert, muss man
alle Berechnungen von M auf x verfolgen. Eine anschauliche Darstellung aller
Berechnungen von M auf x ist durch den sogenannten Be r e c h n u n g s b a u m
BM(X ) von M a uf x gegeben. Die Knot en des Baumes sind Konfigurationen
von M. Die Wurzel yon BM(x) ist die Anfangskonfiguration von M auf x.
Die S6hne eines Knotens (q, c~) sind alle Konfigurationen, die man yon (q, ct)
in einem Schritt erreichen kann (d.h. alle (p, ~), so dass (q, c t ) ~ (p, r Ein
Bl at t von Bm(x) ist entweder eine Konfiguration (r, A) oder eine Konfiguration
(s, a~) mit a E E, wobei ~(s, a) = 0 (daher sind die Bl at t er Konfigurationen,
aus denen kein weiterer Berechnungschritt mSglich ist). Bei dieser Darstellung
entspricht jeder Weg yon der Wurzel zu einem Bl at t einer Berechnung yon
M auf x. Daher gleicht die Anzahl der B15~tter yon BM(x) genau der Anzahl
unterschiedlicher Berechnungen yon M auf x.
Aufgabe 3.19. Entwerfen Sie einen NEA, der fiir jede Eingabe x E (~bool)* genau 2lxl
unterschiedliche Berechnungen hat.
Ein Berechnungsbaum BM(x) yon M aus Fig. 3.15 auf dem Wort x = 10110
ist in Fig. 3.16 dargestellt. Der Berechnungsbaum BM(10110) hat vier B15~tter.
Zwei Bl~ttter (ql, 0110) und (ql, 0) entsprechen den Berechnungen, in denen es
M nicht gelungen ist, das Eingabewort vollstS~ndig zu lesen, weil (~(ql, 0) = 0.
Somit sind diese Berechnungen nicht akzeptierend. Das Bl at t (q0, A) und das
Bl at t (q2, A) entsprechen zwei Berechnungen, in denen das Eingabewort 10110
vollstS~ndig gelesen wurde. Weil q2 E F, ist die Berechnung, die in (q2, A) endet,
eine akzeptierende Berechnung. Die Schlussfolgerung ist, dass 10110 E L(M).
Weil q2 der einzige Endzust and yon Mi s t , und die einzige M6glichkeit, von
q0 zu q2 zu gelangen, darin besteht, zwei Einsen hintereinander zu lesen, liegt
die Vermut ung nahe, dass L(M) alle WSrt er der Form xl l y, x, y C (Ebool)*,
enthglt. Das folgende Lemma best 5t i gt unsere Vermutung.
112
Fig. 3.16
(qo, 10110)
(qi, 0110) (qo, 0110)
(q0,110)
(qo, lO)
(ql, O) (qo, O)
(qo, ;~)
3 Endliche Automaten
{q0}
{q0, qi}
{q0}
(qi, 10) {q0, ql}
IM
(q~, 0) {q0, qi, q~}
IM
](q~, A) ] {q0, q~}
Le mma 3. 5. Sei M der NEA aus Fig. 3. 15. Dann ist
L ( M) = { x l l y l x , y E (}--]%ool)*}.
Be we i s . Wi r beweisen diese Gleichheit zweier Mengen durch zwei Inklusionen.
(i) Zuerst beweisen wir { x l l y l x , y E (}--]%ool)*} ~ L(] ~).
Sei w E { xl l y I x, y E (Ebool)*}, d.h., w = x l l y fiir irgendwelche x, y E
(2bool)*. Es reicht, die Exi st enz einer akzept i erenden Berechung yon M auf w
zu beweisen.
Da qo E 5(qo, O) N 5(qo, 1), existiert fiir jedes x E (Ebool)* die folgende Berech-
nung yon M auf x:
(q0, ~) ~ - (q0, A). (3.6)
Da q2 E 5(q2, O) N 5(q2, 1), existiert fiir jedes y E (Y]bool)* die folgende Berech-
nung von M:
(q~, y ) ~ (q~, a). (3.7 )
Daher ist die folgende Berechnung eine akzept i erende Berechnung von M auf
x11y:
(qo, ~11y ) 5 - (qo, 1 1 y ) ~ (ql, ly ) ~ (q~, y ) 5 - (q~, ~)-
3.5 Nichtdeterminismus 113
(ii) Wi r beweisen L( M) C { x l l y [ x, y E (}-]bool)*}.
Sei w E L( M) . Daher existiert eine akzept i erende Berechnung von M auf w.
Weil die Berechnung auf w in q0 anfangen und in q2 enden muss 12, und der
einzige Weg yon q0 zu q2 fiber ql fiihrt, sieht eine akzept i erende Berechnung
yon M auf w wie folgt aus:
(3.8)
Jede Berechnung von M kann h6chst ens eine Konfi gurat i on mit dem Zust and
ql bei nhal t en, weil ql ~ (~(ql, a) fiir alle a E Ebool. Wenn man einmal ql verlS~sst,
kann man nicht wieder zu ql zuriickkehren. Daher kann die Berechnung (3.8)
genauer wie folgt dargest el l t werden:
(qo, W)~M (qo, az) ~M (ql, Z) M~-(q2, U)~-(q2, ~),
(3.9)
wobei z = bu fiir ein b E ~bool. Die einzige M6glichkeit, in Zust and ql Ztl
gelangen, ist die Anwendung der Transi t i on ql E ~(q0, 1), d.h. durch Lesen
einer Eins im Zust and q0, daher ist a = 1 in (3.9). Weil ~(ql, 0) = 0 und
~(ql, 1) = {q2}, ist die einzige M6glichkeit, einen Berechnungschri t t aus ql zu
realisieren, eine Eins zu lesen, d.h. b = 1. Folglich ent spri cht (3.9):
(q0, w) ~- (q0, 11u) M~- (ql, l u) M~- (q2, u) ~ (q2, A).
Daher muss w das Teilwort 11 bei nhal t en und somit gilt
w E { x l l y [ x, y E (Y]bool)*}.
Aufgabe 3.20. Entwerfen Sie fttr jede der folgenden Sprachen einen NEA:
(a) {1011xOOy l x, y c (Eboo~)*},
(b) {01,101}*,
(c) {x C (Ebool)* ] x enthalt als Teilw6rter 01011 und 01100},
(d) {x c (Elo)*[Nummerlo(x) ist teilbar durch 3}.
Bemiihen Sie sich, den NEA so einfach wie m6glich zu gestalten, d.h. minimieren Sie die
Anzahl der Zustande (Knoten) und Transitionen (Kanten).
Se i / 2 ( NEA) = { L( M) I M ist ein NEA}. Die zentrale Frage dieses Teilkapi-
tels ist, ob s = s genauer, ob endliche a u t o ma t e n die a r be i t von
ni cht det ermi ni st i schen endlichen Aut omat en simulieren k6nnen. Diese Frage
ist auch zent ral fiir allgemeinere Berechnungsmodel l e. Bisherige Er f ahr ungen
zeigen, dass die Si mul at i on yon Ni cht det ermi ni smus durch Det ermi ni smus nur
dann real i si erbar ist, wenn die M6glichkeit best eht , alle ni cht det ermi ni st i schen
12
q2 ist der einzige akzeptierende Zustand von M.
1 1 4 3 Endliche Automaten
Berechnungen eines Modells M auf einer Ei ngabe z durch eine deterministi-
sche Berechnung nachzuahmen. Dies gilt auch fiir endliche Aut omat en. Die
Idee der Simulation eines NEA M durch einen EA A basiert auf dem Pri nzi p
der Breitensuche in den Berechnungsbgumen yon M. Die erste wichtige Vor-
ausset zung fiir eine derartige Simulation ist, dass alle Konfi gurat i onen eines
Berechungsbaumes in einer Ent fernung i yon der Wurzel das gleiche zweite
Element haben (weil sie alle nach dem Lesen von genau den ersten i Symbolen
des Ei ngabewort es erreicht worden sind). Daher unterscheiden sich die Konfi-
gurat i onen in der gleichen Ent fernung yon der Wurzel nur in den Zustgnden.
Obwohl die Anzahl der Konfi gurat i onen in einer festen Ent fernung i yon der
Wurzel exponentiell in i sein kann, bedeut et dies nicht, dass wir exponentiell
viele Berechnungen simulieren miissen. Es gibt nur endlich viele Zust gnde des
NEA und daher gibt es nur endlich viele unterschiedliche Konfi gurat i onen in
der Ent fernung i. Wenn zwei unterschiedliche Knot en u und v des Berechnungs-
baumes mit der gleichen Konfi gurat i on 6' marki ert sind, sind die Teilbgume
mit der Wurzel u und v identisch, und es reicht daher aus, nur in einem der
beiden Teilbgume nach einer akzept i erenden Berechnung zu suchen (Fig. 3.17).
Mit anderen Wort en reicht es fiir eine Simulation aus, fiir jede Ent fernung i von
der Wurzel des Berechnungsbaumes Bv(z) die Menge der dort auft ret enden
ZustS~nde zu best i mmen. Diese Menge ist aber nichts anderes als J(qo, z), wobei
z das Prgfix des Ei ngabewort es mit [z[ = i i st . Am rechten Rand yon Fig. 3.16
sind die Zust andsmengen ~(q0, A) - {q0}, ~(q0, 1 ) - {qo, ql}, (~(qo, 1 0 ) - {qo},
(~(q0,101) - {q0, q,}, 3(q0, 1011) -- {q0, ql, q2} und (~(q0, 10110) - {q0, q2} an-
gegeben, die den erreichbaren Mengen von Zust gnden nach dem Lesen des
Prgfixes einer Lgnge i fiir i = 0, 1, . . . , 5 entsprechen.
Fig. 3.17
3.5 Nichtdeterminismus 115
Diese Beobacht ung f/ihrt dazu, dass man als ZustS~nde des si mul i erenden (de-
t er mi ni st i schen) EA A beliebige Tei l mengen der Zus t ands menge des NEA
M- (Q, E, (~, q0, F) verwendet . Dies fiihrt dazu, dass ma n die folgende Kon-
st r ukt i on des endl i chen Aut oma t e n A als Po t e n z me n g e n k o n s t r u k t i o n in
der Aut omat ent heor i e bezei chnet . Ei n Zust and (P} yon A ffir P C_ Q wi rd die
Bedeut ung haben, dass nach der gegebenen Anzahl yon Ber echnungsschr i t t en
genau die Zust gnde aus P in den Ber echnungen von M auf gegebener Ein-
gabe errei chbar sind ~a ( P - ~(qo, z)). Ei n Ber echnungsschr i t t A aus ei nem
Zust and /P} fiir ein gelesenes Symbol a bedeut et die Bes t i mmung der Menge
[-JpeP ~(P, a) - aller Zust ande, die aus i r gendei nem Zus t and p E P bei m Lesen
von a errei chbar sind. Ei ne For mal i si er ung dieser Idee liefert der n~chst e Satz.
Sa t z 3. 2. Zu j edem NEA M existiert ein EA A, so dass
L( M) - L( A) .
Beweis. Sei M- (Q, E, ~M, q0, F) ein NEA. Wi r konst r ui er en einen EA A-
(QA, EA, (~A, qOA, FA) wie folgt"
(i) QA : {<P> I P c Q},
(ii) ~A = ~,
(iii) q0A = ({q0}>,
(iv) FA = {( P) I P c 0 und P F/ F -r 0},
(v) ~A ist eine Funkt i on aus QA x EA nach QA, die wie folgt definiert ist. Ftir
jedes (P} E QA und jedes a E EA,
p6P
Es ist klar, dass A ein EA ist. Fig. 3.18 zeigt den EA A, der sich nach dieser
Pot enzmengenkons t r ukt i on aus dem NEA A aus Fig. 3.15 ergibt. 14
13Wir benutzen die Bezeichnung (P} statt P, um immer deutlich zu machen, ob wir einen
Zustand von A, der einer Menge von Zust~nden von M entspricht, oder eine Menge von
Zust~nden von M betrachten.
14Man bemerke, dass die Zust~inde (0}, ({ql}}, ({q2}} und ({ql,q2}} in A nicht aus ({q0}}
erreichbar sind, d.h., es gibt kein Wort, dessen Bearbeitung in einem dieser Zust~nde endet.
Wenn wir also diese Zust~inde aus A herausnehmen, wird das keinen Einfluss auf die yon A
akzeptierte Sprache haben.
116 3 Endl i che Aut oma t e n
Um L( M) - L(A) zu zeigen, reicht es, folgende Aquivalenz zu beweisen:
(3.10)
Wi r beweisen (3.10) mi t t el s I ndukt i on bez/iglich Ixl.
(i) Sei I x l - 0, d.h. x - A.
Weil ~M(qo, ) ~) - {q0} und qoA- {{qo}}, gilt (3.10) fiir x - A.
(ii) Sei (3.10) giiltig fiir alle z E E* mi t _ m, m ~. Wi r beweisen, dass
(3.10) auch f/Jr alle W6r t er aus E "~+1 gilt.
Sei y ein beliebiges Wort aus E "~+1. Dann ist y - xa ftir ein x E E "~ und ein
a E E. Nach der Definition der Funkt i on (~A gilt
~A(qOA, xa) -- (~A(~A(qOA, X), a). (3.11)
Wenn wir die I ndukt i onsannahme (3.10) ftir x anwenden, erhal t en wir
daher gilt
~A(qoA, Z ) - <~M(qO, Z) }. (3.12)
Nach Definition (v) yon 6A gilt
(~A((R} , a) -- <pUR(~M(p, a) } (3.13)
fiir alle R C_ Q und alle a E E. Zusammenf assend ist
~A (qOA, xa) 5A (~A (qOA, X), a)
(3.11)
(3.12)
{ }
U
pESM(qO,X)
Im Fol genden sagen wir, dass zwei Aut omat en A und B/ i q u i v a l e n t sind, falls
L ( A ) - L(B).
3.5 Nichtdeterminismus
0, 1
(
0
1
1
= 0 , 1
0, 1
Fig. 3.18
117
Aufgabe 3.21. Wenden Sie die Konstruktion aus Satz 3.2 an, um einen gquivalenten EA
zu dem NEA aus Fig. 3.19 zu erzeugen.
Aufgabe 3.22. Konstruieren Sie mittels Potenzmengenkonstruktion endliche Automaten
zu den nichtdeterministischen endlichen Automaten, die Sie in der Bearbeitung der Aufgabe
3.20 (b) und (d)e~tworf~n haben.
Die Folge yon Sat z 3.2 ist, dass/ 2( EA) = Z:(NEA), d.h., die (det ermi ni st i schen)
endl i chen Aut oma t e n sind bez~gl i ch der Spr achakzept i er ung genauso st ar k wie
die ni cht det er mi ni st i schen endl i chen Aut omat en. Wi t bemer ken abet , dass die
dut ch Pot enzmengenkons t r ukt i on er zeugt en endl i chen Aut oma t e n wesentlich
(exponent i el l ) grSt3er sind, als die gegebenen ni cht det er mi ni st i schen endl i chen
Aut omat en. Die ngchst e Frage ist also, ob es Spr achen gibt, bei denen man die
Si mul at i on von Ni cht det er mi ni smus dut ch Det er mi ni smus unauswei chl i ch mi t
ei nem exponent i el l en Wachs t um der Aut omat engr6i 3e bezahl en muss, oder ob
eine andere Kons t r ukt i on exi st i ert , die die Er zeugung kl ei nerer gqui val ent er
det er mi ni st i scher Aut oma t e n sicherstellt. Wi r zeigen j et zt , dass man die Po-
t enzmengenkons t r ukt i on nicht verbessern kann. Bet r acht en wi t die folgende
regul gre Sprache
Lk - - { x l y l x E (Ebool)*,Y E (Ebool) k- l }
118 3 Endliche Automaten
fiir jedes k E IN - {0}. Der NEA A~ in Fig. 3.19 akzept i ert Lk auf die Weise,
dass er fiJr jedes Symbol 1 der Ei ngabe ni cht det ermi ni st i sch im Zust and q0 rgt,
ob dieses Symbol das k-te Symbol vor dem Ende der Ei ngabe ist. Ak verifiziert
dann det ermi ni st i sch, ob diese Ent schei dung korrekt war.
0 , 1 1 1 1
_ _ . . ~@ 1 . , ~~~- ' ~~@~_ ~" " " ~
0 0 0
Fig. 3.19
Aufgabe 3.23. Geben Sie eine formale Beschreibung des NEA Ak aus Fig. 3.19 und be-
weisen Sie, dass Ak die Sprache Lk akzeptiert. Konstruieren Sie fiJr jedes k c I N- {0} einen
EA Bk mit Lk -- L( Bk) .
Der NEA Ak hat k t 1 ZustS~nde. Wi r beweisen j et zt , dass j eder EA, der
Lk akzept i ert , exponentiell viele Zust ~nde beztiglich der GrOtJe von Ak haben
1TIUSS.
Le mma 3. 6. Fi i r alle k E I N- {0} mus s j e d e r EA, der L~ akz ept i er t , mi nd e -
s t ens 2 k Zus t i i nde haben.
Be we i s . Sei/~k - (Qk, Y]~bool, (~k, qOk, f k ) ein EA mit L(Bk) - Lk. Um zu zeigen,
dass Bk mi ndest ens 2 k viele Zust gnde haben muss, verwenden wir die gleiche
grundl egende Idee, die wir in Abschni t t 3.4 f/Jr die Beweise der Nichtexistenz ~5
benut zt haben. Wenn 3~(q0k, x) - 5k(qok, Y) f/Jr irgendwelche WSr t er x und y
fiber Ebool, dann gilt fiir alle z E (Ebool)*
x z E L( B k ) ~ y z E L( B~) . (3.14)
Die Idee des Beweises ist es, eine Menge Sk von WSr t er n zu finden, so dass
fiir keine zwei unterschiedlichen WSr t er z, y E St , die Gleichung 5t(qok, Z) -
(~k(qok, Y) gelten darf. Dann miisste Bk mi ndest ens ISkl viele Zust ande haben. 16
15Dies sollte nicht iiberraschend sein, da wir im Prinzip auch einen Nichtexistenzbeweis
fiihren. Wit beweisen, dass kein EA mit weniger als 2 k Zust~nden fiJr Lk existiert.
16Wenn Sk unendlich w~re, dann wiirde dies die Nichtexistenz eines EA fiir die gegebene
Sprache bedeuten.
3.5 Nichtdeterminismus 119
Wi r wS~hlen Sk - (Y]bool) k und zeigen, dass 5k(q0~, u) paarweise unterschiedliche
Zust gnde fiir alle W6r t er u aus S~ sind. Beweisen wir es indirekt. Seien
x = X l X 2 . . . X k und y = y l y 2 . . , yk, xi, yi E Eboo~ ffir i = 1 , . . . , k,
zwei unterschiedliche W6r t er aus Sk - ( Y ] bool ) k. Setzen wir
voraus. Weil x -r y, existiert ein j E { 1 , . . . , k}, so dass xj r yj . Ohne Be-
schrS~nkung der Al l gemei nhei t setzen wir xj = 1 und yj = 0 voraus. Bet r acht en
wir j et zt z = 0 j-1. Dann ist
X Z - - X 1 . . . X j _ 1 lXj+l... X k O j - 1 und y z - Yl 9 . . Y j - l O y j +l 9 . . ykO j - 1
und daher x z E L~ und yz ~ Lk. Dies ist gber ein Wi der spr uch zu (3.14).
Daher hat Bk mi ndest ens I S I - viele Zust~nde. D
In dem Beweis des obigen Lemmgs hgben wir eine einfache Bewei smet hode
eingeffihrt, mit der man unt ere Schrgnken ffir die Gr6ge yon endlichen Aut o-
mat en zur Akzept i erung konkret er regul grer Sprachen zeigen kann. Um diese
Met hode noch an einem einfachen Beispiel zu vergnschgulichen, zeigen wir ihre
Anwendung ffir die regulgre Sprache
L = { x l l y l x , y E {0, 1}*},
die wir schon bei der Il l ust ri erung der Pot enzmengenkonst r ukt i on in Fig. 3.13
betr&chtet h&ben. Um zu zeigen, d&ss j eder endliche Aut omat fiir L mi ndest ens
drei Zust gnde hat , suchen wir uns die folgenden drei W6r t er aus:
A, 1, 11.
Jet zt sollen wir fiir jedes Paar (x, y) aus unt erschi edl i chen W6r t er n x, y aus
S = {A, 1, 11} zeigen, dass ein Wort z existiert, so dass genau eines der W6r t er
x z und y z in L ist (d.h., x und y erffillen die Aquivalenz (3.14) nicht).
Ffir x = A und y = 1 w5hlen wir z = 1. Dann
x z = l ~ L und y z = l l EL.
Daher (~(q0, A ) -~ 5(q0, 1) ffir j eden endlichen Aut omat en, der L akzept i ert .
120 3 Endliche Aut omat en
F/ Jr x = A u n d y = 11 w~hl e n wi r z = 0. Da n n
x z = 0 ~ L u n d y z = 110 E L
u n d d e s h a l b mi i s s e n ~(qo, A) u n d (~(qo, 11) a uc h unt e r s c hi e dl i c h sei n.
Fi i r x = 1 u n d y = 11 w~hl e n wi r z = A. Da n n
x z = 1 ~ L u n d y z = 11 E L
u n d d e s h a l b mi i s s e n ~(qo, 1) u n d ~(qo, 11) ebenf al l s unt e r s c hi e dl i c h sei n.
Zu s a mme n g e f a s s t mi i s s e n
(~(qo, A), ~(qo, 1) u n d ~(qo, 11)
p a a r we i s e unt e r s c hi e dl i c h sei n fiir j e d e n EA A = ( Q, }-]bool, (~, qo, F) , der L
a kz e pt i e r t .
Auf ga be 3. 24. Bet racht e die Sprache L = { xl l y I x , y C {0, 1}*} und die drei W6rt er
A, 1, 11. Best i mme fiir alle Paare x, y von unterschiedlichen WSrt ern aus S = {A, 1, 11} die
Menge Z( x, y) C_ (Ebool)*, so dass fiir jedes z 9 Z( x, y)
( xz ~ L und yz E L) oder ( xz E L und yz ~ L).
Auf ga be 3 . 2 5 . Bet r acht e L = {xl l y l x , y c { 0 , 1} * } . W S~hle S' di sj unk t zu S = {A, 1, 11}
und wende S t an, um zu zeigen, dass jeder EA fiir L mindestens drei Zust~inde hat.
Auf ga be 3. 26. Se i L={ x 0 1 1 y l x , y C{ O , 1} * } .
(i)
(ii)
Konst rui eren Sie einen NEA M mit vier Zust~nden fiir L und beweisen Sie L = L( M) .
Wenden Sie auf M die Pot enzmengenkonst rukt i on an, um so einen (deterministischen)
EA zu erhalten.
Auf ga be 3. 27. * Ein EA A heit3t mi n i ma l fiir die regulate Sprache L( A) , wenn kein klei-
nerer (beziiglich der KardinalitS~t der Zustandsmenge) EA Bmi t L( A) = L( B) existiert.
Konst rui eren Sie minimale EA fiir die Sprachen aus Aufgabe 3.9 und beweisen Sie ihre
Minimalit~t.
Auf ga be 3. 28. Entwerfen Sie einen NEA M mit hSchstens sechs Zust~nden, so dass L( M) =
{0x I x c {0, 1}* und x enthSJt die WSrt er 11 oder 100 als Teilw6rter }.
3.6 Z u s a m m e n f a s s u n g
3.6 Zusammenfassung
121
In diesem Kapitel haben wir die endlichen Aut omat en als ein Modell von sehr
einfachen Berechnungen, die keine Variablen und damit keinen Speicher benut-
zen, vorgestellt. Die Zielsetzung war aber nicht, die Aut omat en zu studieren,
sondern an einem einfachen Beispiel das Definieren eines Berechungsmodells
zu zeigen. Die Definition beginnt mit der Beschreibung der Komponenten und
mit der Festlegung der grundlegenden Operationen (Aktionen) des Modells.
Danach definiert man den Begriff der Konfiguration, die eine vollstS~ndige Be-
schreibung des allgemeinen Zustands des bet racht et en Berechnungsmodells zu
einem gegebenen Zeitpunkt ist. Die Durchfiihrung eines Berechnungsschrit-
tes entspricht der Anwendung einer elementaren Operat i on des Modells auf
die aktuelle Konfiguration. So definiert man einen Schritt als einen Ubergang
aus einer Konfiguration C zu einer anderen Konfiguration D. Der Unterschied
zwischen C und D ist durch eine elementare Operation erzeugbar. Eine Berech-
nung beschreibt man als eine Folge von Konfigurationen mit der Eigenschaft,
dass man aus jeder Konfiguration zu ihrer Nachfolgekonfiguration in einem Be-
rechnungsschritt iibergehen kann. Eine Berechnung auf einer Eingabe x st art et
in einer initialen Konfiguration, in der x als Eingabe zur Verfiigung steht. Die
letzte Konfiguration der Berechnung best i mmt das Resultat.
Bei endlichen Aut omat en handelt es sich um einfache Algorithmen zur Sprach-
erkennung (zur L6sung yon Entscheidungsproblemen), die sich zwischen (inne-
ren) ZustS~nden aus einer endlichen Zustandsmenge beim Lesen yon Eingabe-
symbolen bewegen. Ein endlicher Aut omat akzeptiert ein Eingabewort, wenn
er sich nach den Lesen des letzten Buchstabens des Eingabewortes in einem
akzeptierenden Zustand befindet.
Zu zeigen, dass ein Problem durch Algorithmen aus einer best i mmt en Algo-
rithmenklasse nicht 16sbar ist, bedeutet, einen Nichtexistenzbeweis zu fiihren.
Dies fordert meistens ein tieferes Verstgndnis der Nat ur der bet racht et en AI-
gorithmenklasse. Im Fall der endlichen Aut omat en basieren die Beweise von
L ~ s auf der Tatsache, dass die Vielfgltigkeit der W6rt er in L so grog ist,
dass man sie durch die Zerlegung von E* in endlich viele Klassen nicht charak-
terisieren kann. Mit anderen Worten reichen endlich viele Zustgnde als Spei-
cher nicht aus, um alle wichtigen Eigenschaften (Charakteristika) der bisher
gelesenen Prgfixe yon Eingabew6rtern zu speichern. Diese Art der Argumenta-
tion kann man auch benutzen, um fiir eine gegebene Sprache U E s eine
untere Schranke fiir die Gr6fie eines jeden EA A mit L ( A ) = U zu beweisen.
Nichtdeterministische Algorithmenmodelle (Rechnermodelle) erlauben im Un-
1 2 2 3 Endliche Automaten
terschied zu deterministischen eine Auswahl von mehreren (endlich vielen) Ak-
tionen in j edem Berechnungsschritt. Dadurch kann ein nichtdeterministischer
Algorithmus exponentiell viele (beziiglich der EingabelS~nge) unterschiedliche
Berechnungen auf einer Ei ngabe haben. Die Int erpret at i on der Arbei t eines
nichtdeterministischen Algorithmus A ist opt i mi s t i s c h- wir setzen voraus,
dass A in jeder nichtdeterministischen Wahl eine richtige Entscheidung trifft,
falls eine solche existiert. Dies bedeut et , dass ein nichtdeterministischer AI-
gori t hmus erfolgreich bei der L6sung eines Problems ist, wenn ftir jede Ein-
gabei nst anz z mindestens eine der Berechnungen von A auf z das richtige
Resul t at liefert. Bei einem Ent schei dungsprobl em (E, L) bedeut et dies, dass
A fiir alle z E L mindestens eine akzeptierende Berechnung 17 auf z hat und
alle Berechnungen von A auf y fiir jedes y r L nichtakzeptierend is sind. Im
Allgemeinen kennen wir keine etiizientere Art, nichtdeterministische Algorith-
men A durch deterministische Al gori t hmen B zu simulieren, als alle m6glichen
Berechnungen von A durch B zu simulieren. Dies ist auch der Fall bei endli-
chen Aut omat en, wo die Simulation einer Breitensuche im Berechnungsbaum
von A auf gegebener Ei ngabe entspricht. Weil B dabei nach dem Lesen eines
Prefixes z des Ei ngabewort es alle Zust gnde speichert, die A beim Lesen von
z erreichen kann, nennt man die Konst rukt i on des EA B aus dem NEA A die
Pot enzmengenkonst rukt i on.
Dieses Kapitel ist nur einigen elementaren Aspekt en der Aut omat ent heori e ge-
widmet und erhebt deswegen keinen weiteren Anspruch, als eine Einfiihrung
in dieses Gebiet zu sein. Was die Kenntnisse der Klasse regul~irer Sprachen
anbelangt, liefert diese Kapitel einen noch unwesentlicheren Beitrag. RegulS~re
Sprachen k6nnen nicht nur durch andere Aut omat enmodel l e charakterisiert
werden, sondern auch durch weitere wichtige Mechanismen, die nicht auf Ma-
schinenmodellen (Berechnungsmodellen) basieren. Die wichtigsten Beispiele
solcher Formalisierungen sind die regul~iren Gr ammat i ken als Generierungs-
mechanismen und die algebraische Darst el l ung durch regulS~re Ausdriicke. Fiir
die Erwei t erung des Kenntnisse fiber die Klasse der regulS~ren Sprachen emp-
fehlen wir w~irmstens HopcroR, Motwani und Ullman [HMU 01].
K ontrollaufgaben
1. Wie kann man das Modell des endlichen Automaten mit der Hilfe von Programmen
erklS~ren? Warum benutzen wit einen endlichen Automat nicht zur Modellierung von
Rechnern, obwohl die Rechner (wie auch alles andere was wit kennen) endlich sind?
2. Definieren Sie einen EA formal als ein Quintupel und erkl~iren Sie die Bedeutung der
17Eine Berechnung mit der Aussage ,,x c L".
lSMit dem Resultat ,,y ~ L" enden.
3.6 Zusammenfassung 123
Grundbegriffe der Theorie der Berechnungen, wie Konfiguration, Berechnungssschritt
und Berechnung.
3. Erkl~tren Sie, wie die Zust~tnde eines endlichen Aut omat en A die Menge aller Eingaben
fiber E* in endlich viele Klassen zerlegen. Wie kann dies beim Entwurf und der
Verifikation eines endlichen Automaten helfen? Zeigen Sie ein paar Beispiele.
4. Entwerfen Sie basierend auf der Bedeutung der Zust~nde endliche Automaten fiir
folgende Sprachen.
(i) { z l l l l p I z , y E {0, 1, 2 , 3} * } ,
(ii) { x l l O l l O Y l x, y C {O, 1, 2} *} ,
(iii) {x010101y[ x, y E {0, 1}*},
(iv) {xOY l x , y 6 {O, 1}*},
(v) {z0yl z I x, y, z 6 {0, 1}*},
(vi) {z E {0,1}* l lxl0 _> 3},
(vii) {x 6 {0, 1}*13 _< Ixl0 _< 5},
(viii) {z001yl 01zl z, p, zE{0, 1}*},
(ix) { x 0 0 11l x c { 0 , 1} * } ,
(x) {xl00111x c {0,1}*},
(xi) { l x l l 0 0 1 l x ~ {0,1}*},
(xii) {xl l 001y0 I x, y c {0, 1}*}.
W~hlen Sie sich drei dieser Sprachen aus und beweisen Sie mit Induktion die Kor-
rektheit der von Ihnen entworfenen Automaten.
5. Entwerfen Sie Aut omat en fiir die folgenden Sprachen.
(i) {x c {0, 1}*I x enthalt 11 als Teilwort oder endet mit dem Suffix 10},
(ii) { A, 0, 11, x 0 0 I x ~ { 0 , 1} * } ,
(iii) {z C {0, 1}*i x enthalt 00 oder 11 als Teilwort }.
6. Erkl~ren Sie, wie ein EA simultan mehrere endliche Aut omat en simulieren kann.
Wenden Sie diese Simulationstechnik an, um den modularen Entwurf von endlichen
Aut omat en fiir folgende Sprachen zu realisieren.
(i) {x E {0, 1}* I Ixll ist gerade und x enthalt das Teilwort 001},
(ii) {x E {0, 1}*i x ent hal t das Teilwort 000 und x e nt ha l t das Teilwort 111},
(iii) {x C {0, 1, 2}*I x enthalt die Teilworte 021 und 2110},
(iv) {x c {0,1}* I IXll (rood 3) = 1 und x endet mit dem Suffix 0011}.
7. Erkl~ren Sie die drei Methoden zum Beweisen, dass eine Sprache keine regul~re Spra-
che ist.
8. Beweisen Sie, dass folgende Sprachen nichtregul~tr sind. Wenden Sie dabei jede der
drei gelernten Methoden mindestens einmal an.
(i) { o~ I ~ ~ ~},
(ii) {0~12 ~0~ I n c I N},
(iii) { z y C {0, 1}*i x ist ein prafix yon y},
(iv) { x 2 y l x , y E {0, 1}*, Ixll = lYlo},
(v) {o~ I~ c ~}.
9. Erkl~tren Sie das Konzept von nichtdeterministischen endlichen Automaten. Geben
Sie ein Beispiel eines NEA an, der auf jeder Eingabe der L~nge n exponentiell viele
unterschiedliche Berechnungen hat.
1 2 4 3 Endliche Aut omat en
10. Erkl~tren Sie, warum deterministische endliche Aut omat en nichtdeterministische end-
liche Aut omat en (trotz der M6glichkeit vieler Berechnungen auf einer Aufgabe) si-
mulieren k6nnen.
11. Fiir welche Sprachen ist es wesentlich einfacher einen NEA als einen EA zu entwerfen?
12. Entwerfen Sie nichtdeterministische endliche Aut omat en fiir folgende Sprachen:
(i) {zl 010yl z, y c {0,1}*} O {z010l z c {0, 1}*},
(ii) {z c {0, 1}*I x ent hal t 001 oder 110 als ein Teilwort},
(iii) {z E {0, 1}* I lzl~ (rood 3) = 0 oder z = yl 01z fiir y, z E {0,1}*},
(iv) {z ~ {0,1, 2}*l z enthalt eines der W6rter 012, 00, 22, 111 als Teilwort}.
Wenden Sie die Pot enzmengenkonst rukt i on fiir mindestens einen der entworfenen
NEAs an, um einen/~quivalenten EA zu bauen.
13. Beweisen Sie, dass jeder EA fiir eine der folgenden Sprachen mindestens 4 Zust/~nde
hat.
(i) {z E {0, 1}*l l z I ( mo d 4 ) = 2},
(ii) { z0 0 11y I z, y C {0, 1} * } ,
(iii) {01zl0 I z C {0, 1} } ,
(iv) {z C {0, 1, 2}* I IZlo ist gerade und IXll ist teilbar durch 3}.
KOnnen Sie fiir einige dieser Sprachen sogar eine h6here untere Schranke fiir die
Anzahl der Zustgnde beweisen?
Die Menschen, die die Geduld haben,
auch einfache Sachen vollkommen zu machen,
gewinnen die F~thigkeit,
auch schwere Sachen einfach zu meistern.
4 Turingmaschinen
4.1 Zielsetzung
F. Schiller
Wenn man ursprtinglich in der Mat hemat i k einen Ansat z zur L6sung gewis-
ser Probleme vermi t t el n wollte, hat man ihn als eine mat hemat i sche Met hode
formal genau beschrieben. Eine sorgfSJtige Beschreibung einer Met hode hat t e
die Eigenschaft, dass ein Anwender gar nicht verstehen brauchte, warum die
Met hode funktioniert, und t rot zdem die Met hode erfolgreich zur L6sung seiner
Probl emi nst anz verwenden konnte. Die einzige Voraussetzung fiir eine erfolg-
reiche Anwendung war das Verst~ndnis des mat hemat i schen Formalismus, in
dem die Met hode dargestellt wurde. Die Entwicklung des Rechners fiihrte dazu,
dass man Met hoden zur L6sung von Probl emen dut ch Pr ogr amme beschreibt.
Der mat hemat i sche Formalismus ist hier durch die benut zt e Programmi erspra-
che gegeben. Das wichtigste Merkmal aber bleibt. Der Rechner, der keinen
Intellekt besitzt und daher kein Verst~ndnis fiir das Probl em sowie fiir die Me-
t hode zu seiner L6sung besitzt, kann das Pr ogr amm ausfiihren und dadurch das
Probl em 16sen. Deswegen k6nnen wit fiber aut omat i sche oder algorithmische
L6sbarkeit von Probl emen sprechen. Um zu zeigen, dass ein Probl em aut oma-
tisch 16sbar ist, reicht es aus, eine Met hode zu seiner L6sung zu finden und
diese in Form eines Pr ogr amms (Algorithmus) darzustellen. Deswegen kom-
men positive Aussagen fiber algorithmische (automatische) Probleml6sbarkeit
gut ohne eine Festlegung auf eine Formalisierung des Begriffs Algorithmus aus.
Es reicht oft, eine Met hode halb informell und grob zu beschreiben, und j edem
wird klar, dass sich die Met hode in die Form eines Pr ogr amms umsetzen l~tsst.
Daher ist es nicht verwunderlich, dass die Mat hemat i k schon lange vor der
Existenz von Rechnern die L6sbarkeit mat hemat i scher Probleme mit der Exi-
stenz allgemeiner L6sungsmet hoden I im Sinne von , , automatischer L6sbarkeit"
verkniipft hat.
1Heute wiirden wir Algorithmen sagen.
126 4 Turingmaschinen
Die Notwendigkeit der Formalisierung des Begriffs Algorithmus (L6sungsme-
thode) kam erst mit dem Gedanken, mat hemat i sch die automatische Unl6sbar-
keit von konkreten Problemen zu beweisen. Zu diesem Zweck hat man mehrere
Formalismen entwickelt, die sich alle als gquivalent beziiglich des Begriffs ,,au-
tomatische (algorithmische) L6sbarkeit" erwiesen haben. Auch jede verntinf-
tige Programmiersprache ist eine zul/~ssige Formalisierung der automatischen
L6sbarkeit. Aber solche Formalisierungen sind nicht so gut geeignet ffir Bewei-
se der Nichtexistenz von Algorithmen fiir konkrete Probleme, weil sie wegen
der Anwendungsfreundlichkeit eine Menge komplexer Operationen (Befehle)
enthalten. Daher braucht man sehr einfache Modelle, die nur ein paar ele-
mentare Operationen erlauben und t rot zdem die volle Berechnungsstgrke von
Programmen beliebiger Programmiersprachen besitzen. Ein solches Modell,
das sich in der Theorie zum St andard entwickelt hat, ist die Turingmaschine.
Die Zielsetzung dieses Kapitels ist, dieses Modell vorzustellen und so die Basis
fiir die Theorie der Berechenbarkeit (der algorithmischen L6sbarkeit) und f~r
die KomplexitS~tstheorie im ngchsten Kapitel zu legen.
Der Stoff dieses Kapitels ist in vier Abschnitte unterteilt. Abschnitt 4.2 stellt
das grundlegende Modell der Turingmaschine vor und iibt den Umgang mit
Turingmaschinen. Abschnitt 4.3 prgsentiert die Mehrband-Varianten von Tu-
ringmaschinen, die das grundlegende Modell der abst rakt en KomplexitS~tstheo-
rie sind. In diesem Abschnitt wird auch die Aquivalenz zwischen Programmen
in einer beliebigen Programmiersprache und Turingmaschinen diskutiert. Ab-
schnitt 4.4 fiihrt die nichtdeterministische Turingmaschine ein und untersucht
die M6glichkeiten der Simulation von nichtdeterministischen Turingmaschi-
nen durch (deterministische) Turingmaschinen. Abschnitt 4.5 prgsentiert ei-
ne m6gliche Kodierung von Turingmaschinen als W6rt er fiber dem Alphabet
~bool"
4.2 Das Model l der Turi ngmaschi ne
Eine Turingmaschine kann als eine Verallgemeinerung eines EA gesehen wer-
den. Informell besteht sie (Fig. 4.1) aus
(i) einer endlichen Kontrolle, die das Programm enthglt,
(ii) einem unendlichem Band, das als Eingabeband, abet auch als Speicher
(Arbeitsband) zur Verftigung steht, und
4 . 2 D a s M o d e l l d e r T u r i n g m a s c h i n e 127
(iii) einem Lese-/Schreibkopf, der sich in beiden Richtungen auf dem Band
bewegen kann.
Die Ahnlichkeit zu einem EA besteht in der Kontrolle fiber einer endlichen
Zustandsmenge und dem Band, das am Anfang das Eingabewort enthglt. Der
Hauptunterschied zwischen Turingmaschinen und endlichen Automaten be-
steht darin, dass eine Turingmaschine das Band auch als Speicher benutzen
kann und dass dieses Band unendlich lang ist. Das erreicht man dadurch, dass
der Lesekopf des EA mit einem Lese-/Schreibkopf vertauscht wird und dass
man diesem Kopf auch die Bewegung nach links erlaubt. Eine elementare Ope-
ration von Turingmaschinen kann also als folgende Aktion beschrieben werden.
Die Argumente sind
( i ) d e r Z u s t a n d , i n d e m s i c h d i e M a s c h i n e b e f i n d e t , u n d
(ii) das Symbol auf dem Feld des Bandes, auf dem sich gerade der Lese-
/Schreibkopf befindet.
Abhgngig yon diesen Argumenten macht die Turingmaschine folgendes. Sie
(i) gndert den Zustand,
(ii) schreibt ein Symbol auf das Feld des Bandes, yon dem gerade gelesen
wurde 2 (dieses kann man also als ein Ersetzen des gelesenen Symbols durch
ein neues Symbol sehen), und
(iii) bewegt den Lese-/Schreibkopf ein Feld nach links oder rechts oder sie
bewegt ihn gar nicht.
0 1 2 3
I r I X l I X2 I X3 I
unendliches
Band
i - 1 i i + 1
"~ I Lese-/Schreibkopf
endliche
Kontrolle
(Programm)
n n + l n + 2
Fig. 4.1
2Wo sich der Lese-/Schreibkopf gerade befindet.
128 4 Turingmaschinen
Wichtig dabei ist, dass
I . d a s B a n d a u f d e r l i n k e n S e i t e d a s R a n d s y m b o l r e n t h ~ i t , f i b e r d a s d i e T u -
r i n g m a s c h i n e n a c h l i n k s n i c h t w e i t e r g e h e n u n d w e l c h e s n i e d u r c h e i n a n d e r e s
S y m b o l e r s e t z t w e r d e n d a r f ( D i e E i n f i i h r u n g e i n e s l i n k e n R a n d e s e r m S g l i c h t
d i e N u m m e r i e r u n g d e r F e l d e r d e s B a n d e s v o n l i n k s n a c h r e c h t s , w o b e i w i r d e m
B a n d f e l d m i t S y m b o l r d i e N u m m e r 0 z u o r d n e n . ) , u n d
2 . d a s B a n d n a c h r e c h t s u n e n d l i c h i s t 3 , w o b e i d i e n i c h t b e s c h r i f t e t e n F e l d e r
d i e S y m b o l e u e n t h a l t e n .
J e t z t g e b e n w i r d i e f o r m a l e B e s c h r e i b u n g e i n e r T u r i n g m a s c h i n e i n d e r W e i s e
a n , w i e w i t e s b e i d e r D e f i n i t i o n y o n e n d l i c h e n A u t o m a t e n g e l e r n t h a b e n .
Z u e r s t b e s c h r e i b e n w i r d i e K o m p o n e n t e n u n d d i e e l e m e n t a r e n O p e r a t i o n e n .
D a n n w / ~ h l e n w i r e i n e D a r s t e l l u n g y o n K o n f i g u r a t i o n e n u n d d e f i n i e r e n d e n
B e r e c h n u n g s s c h r i t t a l s e i n e R e l a t i o n a u f K o n f i g u r a t i o n e n . D a n a c h f o l g e n d i e
D e f i n i t i o n e n y o n B e r e c h n u n g u n d d e r v o n d e r T u r i n g m a s c h i n e a k z e p t i e r t e n
S p r a c h e .
De f i n i t i o n 4 . 1 . Eine T u r i n g ma s c h i n e
M - (Q, E, F, 6, q0, qaccept~ qreject). D abei ist
(kur z, T M) ist ein 7- Tupel
(i)
( ~ )
(iii)
Q eine endl iche Menge, die Z u s t a n d s me n g e v o n M genannt wir d,
E das Ei n g a b e a l p h a b e t , wobei r und das Bl anksymbol u nicht in E
sind
{E dient genau wie bei EA zur Dar stel l ung der Eingabe.},
F ein Al phabet, Ar b e i t s a l p h a b e t genannt, wobei E c_ F, r E F,
r n Q- 0
{F enthiil t al l e Symbol e, die in Fel der n des Bandes auftr eten diir fen, d.h.
die Symbol e, die M al s Speicher inhal te (var iabl e Wer te) benutzt.},
5" (Q - {qaccept~ qreject}) X F --+ Q x P x {L~ R~ N} r 1 62 Abbil d~Ttg, Wber -
g a n g s f u n k t i o n v o n M genannt, mi t der Eigenschaft
5(q, r Q { r { R , N }
fiir al l e q E Q
{6 beschr eibt die el ementave Oper ation von M. M kann eine Akt i on
(q. x . z ) e Q r {L. R. N} ~ ~ . ~ ~kt~l l ~ Z~t~d p b~.~ L ~~
3 M a n b e m e r k e , d a s s m a n i n e n d l i c h e r Z e i t h 6 c h s t e n s e n d l i c h v i e l e F e l d e r d e s B a n d e s b e -
s c h r i f t e n k a n n u n d d a m i t d i e a k t u e l l e S p e i c h e r g r S f i e ( d i e A n z a h l d e r N i c h t - u - F e l d e r ) i m m e r
e n d l i c h i s t . D e r S i n n d e r F o r d e r u n g e i n e s u n b e s c h r / i n k t e n S p e i c h e r s i s t n u r , d a s s m a n n a c h
B e d a r f e i n e n b e l i e b i g g r o f i e n e n d l i c h e n S p e i c h e r z u r V e r f i i g u n g h a t .
4.2 Das Modell der Turingmaschine 129
( ii)
. .
tet den Uber gang von p nach q, das Er set zen von Y dutch X und die
Bewegung des Kopfes entspr echend Z. Z = L bedeutet die Bewegung des
Kopfes nach l inks, Z = R nach r echts und Z = N bedeutet keine Bewe-
gung. Die Eigenschaft 5(q, r E Q {r {R, N} ver bietet das Er set zen
des Symbol s r dutch ein ander es Symbol und die Bewegung des Kopfes
nach l inks iiber die Randbezeichnung r
qo C Q der An f a n g s z u s t a n d ,
qaccept E Q der a k z e p t i e r e n d e Z u s t a n d
{ M hat genau einen akzeptier enden Zustand. Wenn M den Zust and
qaccept er r eicht, akzeptier t M die Eingabe, egal wo sich dabei der Kopf auf
dem Band befindet. Aus qaccept ist keine Akt i on von M mehr mSgl ich.},
qreject E Q -- {qaccept} der v e r we r f e n d e Z u s t a n d
{ Wenn M den Zust and qreject er r eicht, dann endet damit die Ber ech-
nung und M ver wir ft die Eingabe. Das heifl t insbesonder e auch, dass M
nicht die kompl ette Eingabe l esen muss, ur n sie zu akzeptier n bzw. zu
Eine Ko n f i g u r a t i o n C von Mi s t ein El ement aus
Ko n f ( M) = ( r F*. Q. F + U Q. { r F*.
{Ei ne Konfigur ation wl qaw2 , wl C { r w2 E F*, a C F, q E Q (Fig. ~ .2 ),
ist eine vol l stiindige Beschr eibung fol gender Situation. M ist im Zust and q, der
I nhal t des Bandes ist r und der Kopf steht auf dem ([Wl[ + 1)-
ten Fel d des Bandes und l iest das Symbol a. Eine Konfigur ation pr p E Q,
w E F*, beschr eibt die Situation, in der der I nhal t des Bandes r ist und
der Kopf auf dem O-ten Fel d des Bandes steht und das Randsymbol r l iest. 4}
W 1 a w2 uu 9 9 9
t
q
Fig. 4.2
4Man bemerke, dass man fiir die Darstellung der Konfigurationen zwischen mehreren guten
M6glichkeiten wghlen kann. Z.B. k6nnte man die Darstellung (q, w, i) c Q x F* x IN verwen-
den, um die Situation zu beschreiben, in der M im Zustand q ist, Wuuu. . . auf dem Band
steht und der Kopf auf dem/ - t en Feld des Bandes steht.
130 4 T u r i n g ma s c h i n e n
E i n e St a r t k o n f i g u r a t i o n f i i r e i n E i n g a b e wo r t x i s t q o r
E i n Sc h r i t t v o n M i s t e i n e Re l a t i o n ---j-- a u f d e r Me n g e d e r Ko n f i g u r a t i o n e n
( - - K- C Ko n f ( M) Ko n f ( M) ) d e f i n i e r t d u r c h
x l x 2 9 . . x i - l q x i x i +l 9 . . X n - - i f - X l X 2 9 . . X i - l p y x i +l 9 . . X n ~
f~ ll~ ~(q~ ~ ) : (;~ y~ N ) (F ig. ~.J (~))~
Xl X2 9 9 9 X i - l q x i x i +l 9 9 9 X n --M-- Xl X2 9 9 9 X i - 2 p X i - l YX i +l 9 9 9 X n v
f~ ll~ 5 (q, ~ ) = (p, y , L) (r ig. 4.J (b)),
x l x 2 . . . x i - l q x i x i +l 9 9 9 X n ~ X l X 2 9 9 9 X i - l y p x i +l 9 9 9 X n ~
x l x 2 . . . x ~ _ l q x ~ - - K- x l x 2 . . . x ~ - l y p u
f~ll~ 5(q~ ~) = (p~y~R) (F ig ~ J (d))
X l x 2 . . . x i - 1 x i x i - } - i . . . X n . . . x l x 2 9 9 9 x i - - 1 y x i 9 9 9 X n 9 9 9
(a)
x l x 2 . . . x i - 1 x i x i - J - 1 . . . x n . . . X l x 2 9 9 9 x i - 1 y X i 9 9 9 X n 9 9 9
(b) -~
X l x 2 . . . x i - 1 x i x i - } - i . . . x n . . . X l X 2 9 9 9 X i - - 1 y X i 9 9 9 X n 9 9 9
)
f
X l X 2 9 9 9 X n - - 1 X n 9 9 9 X l X 2 . . . X n - - 1 y U " ' "
Fi g. 4. 3
4.2 Das Modell der Turingmaschine 131
Ei ne Berechnung y on M ist eine (potentiel l unendl i che) Fol ge von Kon-
f i gur at i onen Co, C1 , C2 , . . . , so dass Ci ~ Ci+l f i i r al l e i - O, 1 , 2 , . . . . Wenn
Co ~ C1 ~ . . . ~ Ci f i i r ein i E I N, dann Co - ~ Ci.
Die Berechnung y on M auf ei ner Ei ngabe x ist eine Ber echnung, die mi t
der St ar t konf i gur at i on Co - qor beginnt und entweder unendl i ch ist oder in
einer Konf i gur at i on wl qw2 endet, wobei q E {qaccept, qreject}-
Die Ber echnung von M auf x heifl t akzep t i erend, fal l s sie in einer akzep-
t i er enden Konf i gur at i on wl qacceptW2 endet. Die Ber echnung yon M auf x heifl t
verwerf end, wenn sie in einer ver wer f enden Konf i gur at i on Wl qr ejectW2 endet.
Ei ne ni cht - akzep t i erende Ber echnung von M auf x ist entweder eine vet-
wer fende oder eine unendl i che Ber echnung von M auf x.
Die v o n d e r T u r i n g ma s c h i n e M akzep t i ert e Sp rache ist
L( M) - {w E E* I qor -~-yqaccept Z, f i i r iFgeTtdwel che y , z E P*}.
Wi t sagen, dass M eine Funkt i on F" E* --+ F* berechnet , fal l s
f { < 9 qor 9
Ei ne Spr ache heifl t r e k u r s i v auf z~i hl bar , fal l s eine TM M existier t, so dass
L- L( M) .
s { L( M) I M ist eine TM}
ist die Me nge aller rekursi v aufz~ ihlbaren Sp rachen. 5
Ei ne Spr ache L c_ E* heifl t r e k u r s i v ( e n t s c h e i d b a r 6 ) , fal l s L- L( M) f i i r
eine TM M, f i i r die f i i r al l e x E E* gil t:
(i)
qor -~-YqacceptZ, Y, Z E F*, fal l s x E L und
qor ~ UqrejectV, U, V E r *, fal l s x ~ L.
{Di es bedeutet, dass M keine unendl i chen Ber echnungen besitzt.}
Wenn (i) und (ii) gel ten, sagen wir , dass M auf j eder Ei ngabe h~ilt oder
dass M i mme r h~ilt.
5Die Bezeichnung s kommt aus dem Englischen ,,recursively enumerable".
aGenauer miisste man sagen, dass das Entscheidungsproblem (E, L) entscheidbar ist.
132 4 Turingmaschinen
{Eine TM, die i mmer hiil t, ist ein for mal es Model l des Begr iffs Al gor ithmus.}
s { L( M) I M ist eine TM, die i mmer hiil t}
ist die Me n g e d e r r e k u r s i v e n ( a l g o r i t h mi s c h e r k e n n b a r e n ) Sp r a c h e n .
Eine Funktion F" E~ ~ E~ fiir zwei Al phabete E, , E2 heifl t t o t a l b e r e c h e n -
ba r , fal l s eine TM M existier t, die F ber echnet, r
Die Tur i ngmaschi nen, die i mmer hal t en, r epr gsent i er en die Al gor i t hmen, die
i mmer t er mi ni er en und die richtige Ausgabe liefern. So sind gerade die rekur-
si ren Sprachen ( ent schei dbar en Ent schei dungspr obl eme) die Spr achen (Ent -
schei dungsprobl eme), die al gor i t hmi sch er kennbar (15sbar) sind.
Aufgabe 4.1. Andern Sie die Definition einer TM, indem Sie als Konfiguration die Tripel
(q, Cw, i) C Q {r IN nehmen. Ein Tripel (q, Cw, i) beschreibt die Situation, wenn
die TM im Zustand q ist, der Bandinhalt Cwuuu... ist und der Kopf auf das i-te Feld des
Bandes zeigt. Geben Sie dann eine Definition des Schrittes und der Berechnung, die mit
dieser Darstellung yon Konfigurationen arbeitet.
I m Fol genden zeigen wir ein paar konkr et e Tur i ngmaschi nen und ghnlich wie
bei endl i chen Aut oma t e n entwickeln wir eine anschaul i che graphi sche Darst el -
l ung von Tur i ngmaschi nen. Sei
LMitt~ = {w 6 (P, boo, ) *l W- xl y, wobei I x [ - [y[}.
So ent hgl t LMitte alle W6r t er unger ader Lgnge, die in der Mi t t e eine 1 haben.
Aufgabe 4.2. Beweisen Sie, dass LMitte ~ Z:(EA).
Wi r beschrei ben eine TM M, so dass L( M) = LMitte. Die Idee ist, zuerst zu
/ iberpriifen, ob die Ei ngabel gnge unger ade ist und dann das mi t t l er e Symbol
zu best i mmen. Sei M = (Q, E, F, 5, q0, qaccept, qreject), wobei
Q = {q0, qeven, qodd~ qaccept, qreject, qA, qB, ql, qleft ~ qright, qmiddle},
r = {0, 1},
r = E u {r u (E { A, B} ) und
a(q0 , r
5(q0 , a)
(~(qeven, b)
- - (qeven, r Dr),
- - (qreject, a, N ) fi/ lr & lle a E { 0 , 1, , , } ,
- (qodd, b, R ) f ~ ~ 1~ b e { 0 , 1} ,
rBeachten Sie, dass die TM M immer hglt.
4.2 Das Modell der Turi ngmaschi ne 133
(~ (qeven, I I ) = (qreject, I I , g ) ,
(~(qodd, b) = (qeven, b, l:{) fiir alle b E {0, 1},
(~(qodd, .,) = (qB, u, L).
Wi r beobachten, dass nach dem Lesen eines PrSofixes gerader (ungerader) LS~nge
Mi m Zust and qeven (qodd) ist. Wenn also M das Symbol u im Zust and qeven
liest, ist das Ei ngabewort gerader L~nge und muss verworfen werden. Wenn
M das Symbol u im Zust and qodd liest, geht M in den Zust and qB fiber, in
dem die zweite Phase der Berechnung anfgngt. In dieser Phase best i mmt M
die Mi t t e des Eingabewortes, indem M abwechselnd das am weitesten rechts
stehende Symbol a E {0, 1} in ( ; ) umwandel t und das am weitesten links
stehende Symbol b E {0, 1} durch (A b) ersetzt. Dieses kann man mit folgenden
Transitionen (0berg~ngen) realisieren:
~ ( q, , a)
5(ql, a)
(~(ql, c)
(~ (qmiddle, (O))
(~ (qmiddle, ( ; ) )
~(q~oft, ~)
~(q~of~, ~)
(~ (qright, b)
(~ (qright, d)
- - (ql, (B)' L) ftir alle a E {0, 1},
: (qleft, a, L) fiir al l e 8 C {0, 1},
-- (qmiddle, C, _ ~) ftir alle c E {r (A), (A)},
= (qreject, O, N) ,
= (qaccept ~ 1~ N)~
= (qleft, a, L) ftir alle a E {0, 1},
- - (qA , c, R ) fiir alle c E { ( o ) , ( A ) , r
-- (qright, ( b) , R) ftir alle b E {0, 1},
= (qright, b, l:{) ftir alle b E {0, 1},
- (q, , d, L) f/Jr al l ed E {(o), ( ; ) } .
Die fehlenden Argument enpaare wie z.B. (qright, ~) k6nnen nicht auft ret en und
deswegen kann man die Definitionen von ~ so vervollstSmdigen, dass man ftir
alle fehlenden Argument e den Ubergang nach qreject hi nzuni mmt .
Wenn man einen Befehl (~(q,a) = ( p , b , X ) f/Jr q, p E ~ , a, b E E und X E
{L, R, N} graphisch wie in der Fig. 4.4 darstellt, dann kann man die konstru-
ierte TM M wie in Fig. 4.5 darstellen. Diese graphische Darstellung ist 5~hnlich
zu der bei endlichen Aut omat en. Der Unterschied liegt nur in der Kant enbe-
schriftung, bei der zusS~tzlich zu dem gelesenen Symbol a noch das neue Symbol
b und die Bewegungsrichtung X notiert wird.
134 4 Turingmaschinen
a ~ b , X
Fig. 4.4
(g) + o , N
1 ---~ 1, N
0- + O,N
U~u~N
u - - , u, N
O~O, R
@
0 --+ O, R u --+ u, L
R ~ 1
-~ 1, R
Jo--+ ( ~
1--+ ( ~ ) , L
0 ~ 0 , L
I ~I , L r 1 6 2
( ~ ) ( ~ ) ,
o +o , I ~ i, )
_.._+
R
r - ~ r
(~) + ( ~) , R
1
( ~) - ~ (~), R
( o ) - - + ( o ) , L
( 1 ) + ( 1 ) , L
0 + d ) , R
1 + ( ~ ) ,
0 ~ 0 , R
i - + I , R
Fig. 4.5
Betrachten wir jetzt die Arbeit von M auf dem Eingabewort z - 1001101. Die
erste Phase der Berechnung von M auf x l~uft wie folgt"
q0r Cqevenl001101 ~ r M~ r
r M~-- r M~ r
r ~ r ~ r
4 . 2 D a s M o d e l l d e r T u r i n g m a s c h i n e 135
D a s E r r e i c h e n d e s Z u s t a n d e s q B b e d e u t e t , d a s s z e i n e u n g e r a d e L / ~ n g e h a t .
J e t z t w i r d 2 F / a b w e c h s e l n d d i e S y m b o l e a a m r e c h t e n R a n d d u r c h ( ] 3 ) u n d a m
l i n k e n R a n d d u r c h ( A ) e r s e t z e n .
r r ~ r
r M~- r
r ~ r
q~ftr M~- r
r M~ r 0qright0110(1)
r (A) 00110qright (1) ~ r (A) 0011qB0 (1)
r (~ (B) M~- r (~ (B)
Cql~ft(~)O011(~ (; ) M~- r (~ (B)
r (O)qrig ht011 (O)(; )
r (~) (~) 011 qright (O) (; )
r (O) 01qB1 (O)(1)
r ( ~ ) O ql i ( ; ) ( o ) ( ; )
r (A) qleft (O) 01 (1) (O) (1)
(o)q 0 1 (1)(o)(1)
r (A) (A) qright 1(1) (O)(1)
r (~) (o) (o) lqright (1) (O) (1)
r (A) (A) (a) qB 1(~)(O)(~)
r ( A) ql ( A) ( ;) ( i) ( B O) ( i)
r (O)(O)qmiddle ( 1) ( 1) ( O) ( 1)
1(1)(o)(1)
A u f g a b e 4 . 3 . S c h r e i b e n S i e d i e B e r e c h n u n g v o n d e r T M M a u s F i g . 4 . 5 a u f d e n W 6 r t e r n
0 1 0 0 1 1 u n d I 0 1 a u f .
A u f g a b e 4 . 4 . D i e T M M a u s F i g . 4 . 5 a r b e i t e t s o , d a s s s i e d i e g a n z e Z e i t d i e I n f o r m a t i o n
f i b e r d i e u r s p r i i n g l i c h e E i n g a b e b e h / i l t . N u t z e n S i e d i e s e E i g e n s c h a f t a u s , u m M z u e i n e r
TM M ~ zu erweitern, so dass L( M ~) = {w c {0, 1}*lw = x l x fiir ein x c {0, 1}*}.
Betrachten wir jetzt die Sprache L~ - {02" I n C IN- {0}}. Eine TM, die L~
akzeptiert, kann folgende Strategie verfolgen:
136 4 Turingmaschinen
a --~ a, R a --~ a, R
%v
r 1 6 2
O~O, L
a --+ a , L
a ---~ a , L
O~O, L
Fig. 4.6
1. Laufe fiber das Band yon r bis zum er st en u (yon links nach recht s) und
,,16sche" j ede zwei t e 0, d. h. erset ze sie dur ch a. Falls die Anzahl von Nul l en auf
dem Band unger ade ist, h a r e i m Zus t and qreject- Sonst , fahre fort mi t Schr i t t
2.
2. Laufe fiber das Band von dem am wei t est en links s t ehenden u his zum r
und iiberprtife, ob auf dem Band genau eine Nul l oder mehr er e Nul l en st ehen.
9 Falls auf dem Band genau eine Nul l st eht , akzept i ere.
9 Falls auf dem Band mi ndes t ens zwei Nul l en st ehen, wi ederhol e Schr i t t 1.
Die Idee dieser St r at egi e ist, dass ma n eine Zahl 2 i mi t i _> 1 sol ange ohne Rest
dur ch 2 t ei l en kann, his ma n eine 1 erhgl t . Ei ne m6gl i che Real i si er ung dieser
St r at egi e in For m einer TM ist A - ({q0, qeven~ qodd~ ql~ q2~ q3~ qaccept ~ qreject }~ {0}~
{0, a, r u}, ~A, q0, qaccept, qreject) mi t der gr aphi schen Dar s t el l ung in Fig. 4.6.
Auf gabe 4.5. Eine andere Strategie die Sprache Lp zu erkennen ist, die Eingabe 0 ~ im
ersten Lauf durch das Band in 0J l J umzuwandeln, falls i - 2j gerade ist. Im n/~chsten Lauf
iiberpriift man, ob j gerade ist, indem man im positiven Fall 0Jl j dutch 0~ 1~ lJ ersetzt.
Akzeptiert wird nur wenn durch diese Art des Halbierens auf dem Band das Wort 01 i-1
4.3 Mehrband-Turi ngmaschi nen und Church' sche These 137
erzeugt wurde. Dieses Halbieren kSnnte man mit der St rat egi e zur Suche der Mi t t e einer
Ei ngabe realisieren. Konst rui eren Sie eine TM, die als eine Impl ement i erung des beschrie-
benen Verfahrens gesehen werden kann.
Au f g a b e 4. 6. Ent werfen Sie Turi ngmaschi nen ftir folgende Sprachen:
(i) {anb n I n E I N},
(ii) {x:/=/:y l x, y E {0, 1}*, Nu mme r ( x ) = Nu mme r ( y ) + 1}
(iii) {w://:w I w E {0, 1}*},
(iv)* {0 n~ ] n C IN}.
Au f g a b e 4. 7. Ent werfen Sie Turi ngmaschi nen, die fiir jedes Wort x c (Ebool)* im Zust and
qaccept mi t folgendem Bandi nhal t halten:
(i) y c (Ebool)*, so dass Nu mme r ( y ) = Nu mme r ( x ) + 1 ,
(ii) x:/Cx,
(iii) z E (Ebool)*, so dass Nu mme r ( z ) = 2 . Nu mme r ( x ) ,
(iv) # # # x .
4.3 Mehrband- Turi ngmaschi nen und
Church' sche These
Die Turingmaschinen sind das Standardmodell der Theorie der Berechenbar-
keit, wenn es um die Klassifizierung der Entscheidungsprobleme in rekursive
(rekursiv aufzS~hlbare) und nicht rekursive (nicht rekursiv aufzS~hlbare) geht.
Dieses Modell ist aber nicht so gut ftir die KomplexitS~tstheorie geeignet. Der
Haupt punkt der Kritik ist, dass dieses Modell nicht dem des allgemein akzep-
tierten Modells des Von-Neumann-Rechners entspricht. Dieses fordert, dass al-
le Komponent en des Rechner s - Speicher fiir Programm, Speicher fiir Daten,
CPU und das Ei ngabemedi um- physikalisch unabhS~ngige Teile der Rechners
sind. In dem Modell der Turingmaschine sind das Ei ngabemedi um und der
Speicher eins - das Band. Der zweite Kri t i kpunkt ist die zu starke Vereinfa-
chung in Bezug auf die benut zt en Operationen und die LinearitS~t des Spei-
chers. Wenn man nS~mlich zwei Felderinhalte, die weit voneinander entfernt
liegen, vergleichen m6chte, braucht man mindestens so viele Operationen (Be-
rechnungsschritte) wie die zwei Felder voneinander entfernt liegen.
Das folgende Modell der Mehrband-Turingmaschine ist das grundlegende Mo-
dell der KomplexitS~tstheorie. F/Jr jede positive ganze Zahl k hat eine k-Band-
Turingmaschine folgende Komponent en (Fig. 4.7):
9 eine endliche Kontrolle (Programm),
138
9 ein endliches Band mit einem Lesekopf,
9 k Arbeitsb~nder, jedes mit eigenem Lese/Schreibkopf.
4 Turingmaschinen
w I $1 Ei ngabeband
A Lesekopf
[ Progamm [
Lese- / S chreibk6p fe
1. Arbei t sband
2. Arbei t sband
u . . . k-tes Arbei t sband
Fig. 4.7
Am Anfang jeder Berechnung auf einem Wort w ist die k-Band-Turingmaschine
in folgender Situation.
9 Das Ei ngabeband enthglt r wobei r und $ die linke bzw. die rechte SeRe
der Eingabe markieren.
9 Der Lesekopf des Eingabebandes zeigt auf r
9 Der Inhalt aller ArbeitsbS~nder ist Cuuu. . . und deren Lese-/Schreibk6pfe
zeigen auf r
9 Die endliche Kontrolle ist im Anfangszustand q0.
WS~hrend der Berechnung diirfen sich alle k + 1 K6pfe in beide Richtungen
links und rechts bewegen, nur darf sich kein Kopf fiber das Randsymbol r nach
links bewegen und der Lesekopf des Eingabebandes darf sich nicht fiber das
rechte Randsymbol $ nach rechts bewegen. Der Lesekopf darf nicht schreiben,
und deswegen bleibt der Inhalt r des Eingabebandes wghrend der ganzen
4.3 Mehrband-Turingmaschinen und Church' sche These 139
Berechnung gleich. Ftir die Feldinhalte der ArbeitsbS~nder bet racht et man wie
bei einer TM ein Arbei t sal phabet F. Die Felder aller k + 1 Bgnder kann man
von links nach rechts nummerieren, beginnend mit 0 bei r So kann man eine
Konfiguration einer k- Band- TM M wie folgt darstellen. Eine Konfiguration
(q, w, i, Ul, i l , U2, i 2 , . . . , u~, ik)
ist ein Element aus
Q x E* x I N x (F x I N) ~
mit folgender Bedeutung:
9 M ist im Zust and q,
9 der Inhalt des Ei ngabebandes ist r und der Lesekopf des Ei ngabebandes
zeigt auf das i-te Feld des Ei ngabebandes (d.h. falls w = a l a 2 . . , an dann liest
der Lesekopf das Symbol ai),
9 ftir j E {1, 2, . . . . . . ist der Inhalt des j -t en Bandes Cu j u u u . . . , und ij <_ l ujl
ist die Position des Feldes, auf das der Kopf des j -t en Bandes zeigt.
Die Berechnungsschritte von M kSnnen mit einer Transi t i onsfunkt i on
( r u {r $ } ) r # { L, R , N } ( r {L, R , N } )
beschrieben werden. Die Argument e (q, a, b l , . . . , bk) E Qx (}-]u{r $ } ) xr k sind
der aktuelle Zust and q, das gelesene Symbol a E E U {r $} auf dem Eingabe-
band und die k Symbole b l , . . . , bk E F, auf denen die KSpfe der Arbei t sbgnder
stehen. Diese k Symbole werden yon den K6pfen der k ArbeitsbS~nder durch
andere Symbole ersetzt, und die Position aller k + 1 K6pfe wird um maximal
1 geS~ndert. Die Ei ngabe w wird yon M akzeptiert, falls M in der Berechnung
auf w den Sonderzust and qaccept erreicht. Die Ei ngabe w wird nicht akzeptiert,
falls M die Ei ngabe wi m Zust and qreject verwirft oder die Berechnung von M
auf w nicht t ermi ni ert (unendlich ist).
Wi r verzichten auf die formale Definition der k-Band-Turingmaschine. Der
oben gegebenen Beschreibung folgend ist die Herstellung einer solchen Defini-
tion eine Rout i nearbei t und wir iiberlassen dies dem Leser zum Training.
Aufgabe 4.8. Geben Sie eine exakte formale Definition einer k-Band-Turingmaschine. Fol-
gen Sie dabei allen Schritten der Definition von Turingmaschinen.
140 4 Turingmaschinen
F/Jr jedes k E I N- {0} nennen wir eine k-Band-Turi ngmaschi ne (k-Band-
TM) auch Me h r b a n d - T u r i n g ma s c h i n e ( MT M) . Weil die Operat i onen ei-
ner MTM ein bisschen komplexer als die elementaren Operat i onen einer TM
sind, kann man erwarten, dass Mehrband-Turi ngmaschi nen gewisse Probleme
einfacher oder schneller als Turingmaschinen 15sen kSnnen. Bet racht en wir die
Sprache
Lgleich : {W--~W I W E (~bool)*}.
Eine TM, die das erste w mit dem zweiten w vergleicht, muss mit dem Kopf
fiber das Band viele Male fiber lange Entfernungen hin und her laufen.
I el . . . 9 I ' . . .
Fig. 4.8
Eine 1-Band-TM A kann Lgleic h mit folgender Strategie einfach erkennen:
1. A iiberpriift, ob die Eingabe die Form x # y mit x, y E (~bool)* hat. s Falls
nicht, verwirft A die Eingabe.
2. Fiir die Eingabe x # y kopiert A das Wort x auf das Arbei t sband (d.h. nach
diesem Schritt entha~t das Arbei t sband Cx (Fig. 4.8)).
3. A positioniert den Kopf des Arbei t sbandes auf r Dann bewegt A simultan
beide KSpfe nach rechts und vergleicht x und y. Falls x r y, liest A in einem
der Schritte zwei unterschiedliche Symbole. In diesem Fall verwirft A die Ein-
gabe. Falls alle Paare yon Symbolen gleich sind und beide K6pfe gleichzeitig u
erreichen, akzeptiert A die Eingabe.
Eine Transition 5 (p, a, b) = (q, X , d, Y) einer 1-Band-TM kann man graphisch
wie in Fig 4.9 darstellen. Der Ubergang yon p zu q findet beim Lesen von a
auf dem Ei ngabeband und gleichzeitigem Lesen yon b auf dem Arbei t sband
SDies bedeutet, dass A wie ein EA einfach verifizieren kann, ob die Eingabe genau ein r
h a t .
4.3 Mehrband-Turingmaschinen und Church' sche These
@ a , b ~ X,d,Y @
Fig. 4.9
141
st at t . Das Symbol b wird durch d ersetzt, X E {L, R, N} det ermi ni ert die Be-
wegung des Lesekopfes auf dem Ei ngabeband und Y E {L, R, N} det ermi ni ert
die Bewegung des Kopfes auf dem Arbei t sband.
Ent sprechend dieser graphischen Darst el l ung (Fig. 4.9) gibt Fig. 4.10 die Be-
schreibung einer 1-Band-TM M, die eine Impl ement i erung der oben beschrie-
benen Strategie zur Erkennung y o n Lgleic h ist. Die ZustS~nde q0, ql, q2 und qreject
benut zt man zur Realisierung des ersten Schrittes der Strategie. Falls die Ein-
gabe genau ein r enthS~lt, erreicht M den Zust and q2 mit dem Lesekopf auf
dem letzten Symbol der Eingabe. Sonst endet M in qreject. Der Zust and q2
wird benut zt , um den Lesekopf zuriick auf das linke Randsymbol r zu bringen.
Im Zust and qcopy kopiert M das PrS~fix der Ei ngabe bis zum r auf das Ar-
bei t sband (Fig. 4.8) und im Zust and qadjust kehrt der Kopf des Arbei t sbandes
zurtick auf r Der Vergleich yon x und y des Ei ngabewort es x--ICy findet im
Zustand qcompare st at t . Falls x - y, endet M im Zust and qaccept. Falls x und
y sich im Inhal t auf irgendeiner Position unterscheiden oder unterschiedliche
LS~ngen haben, endet Mi m Zust and qreject-
Aufgabe 4.9. Beschreiben Sie informell und auch in der Form eines Diagramms 1-Band-
Turingmaschinen, die folgende Sprachen akzeptieren:
(i) L = {anbn i n E I N},
(ii) L= { wE (Ebool)*iiwi0=iwI1},
(iii) L = {anbncn i n c I N},
(iv) L = {www I w C (Ebool)*},
(v) L = {an2 1 n C I N}.
Wi r haben j et zt zwei unterschiedliche Mode l l e - die TM und die MTM. Um
beide gleichzeitig benut zen zu dfirfen, mfissen wir deren Aquivalenz beziiglich
der Menge der akzept i ert en Sprachen beweisen. Seien A und B zwei Maschinen
(TM, MTM), die mit dem gleichen Ei ngabeal phabet E arbeiten. Im Folgenden
sagen wir, dass eine Ma s c h i n e A f i qui val ent zu ei ner Ma s c h i n e B ist,
falls f/Jr jede Ei ngabe x E (2bool)*:
(i) A akzept i ert x e=~ B akzeptiert x,
(ii) A verwirft x e=~ 13 verwirft x,
(iii) A arbei t et unendlich lange auf x e=~ B arbei t et unendlich lange auf x.
1 4 2 4 Turingmaschinen
S
.
1, r ~ R, r
0, r ~ R, r
r 162 ~ R, r
1, r ~ R, r
0, r ~ R, r
. 1, r ~ L, r
r r ---, R, r R
$, r ~ N, r
:/#, r ~ N, r N
Ir
1, 0 ~ N, 0, N
0, 1 ~ N, 1, N
$, 0 ---, N, 0, N
$, 1 ~ N, 1, N
0, u ~ N, u , N
1, u ~ N, u , N
~r
1, u ~ R, 1, R
0, u ~ R, 0, R
I
# , u ~N, u , L
R, r $, u ~ N , u , N ~
@, 0 ~ N, 0, L 0, 0 ~ R, 0, R
@, 1 ~ N, 1, L 1, 1 ~ R, 1, R
Fig. 4.10
Es ist klar, dass L( A) : L( B) , wenn A und B 5~quivalent sind. Die Tat sache
L( A) = L( B) ist aber keine Gar ant i e dafiir, dass A und B 5~quivalent sind.
Le mma 4. 1. Zu j eder TM A existier t eine zu A iiquival ente 1 - Band- TM B.
Beweis. Wi r beschrei ben die Si mul at i on yon A durch t3, ohne die formale
Konst r ukt i on von B aus A anzugeben. B arbei t et in zwei Phasen:
4.3 Mehrband-Turingmaschinen und Church' sche These 143
1. B kopiert die ganze Ei ngabe w auf das Arbei t sband.
2. B simuliert Schritt fiir Schritt die Arbei t von A auf dem Ar bei t sband (dies
bedeut et , dass B auf dem unendl i chen Ar bei t sband genau das Gleiche t ut was
A auf seinem unendl i chen Ei ngabeband gemacht hS~tte).
Es ist klar, dass A und B gquivalent sind.
Aufgabe 4.10. Geben Sie eine formale Konstruktion einer 1-Band-TM B, die gquivalent
zu TM A = (Q, E, F, 5, q0, qaccept, qreject) ist.
Im Folgenden werden wir mei st ens auf formale Konst r ukt i onen von Turing-
maschi nen und formale Beweise der Aquivalenzen (oder von L( A) - L( B) )
verzichten. Der Gr und ist ghnlich wie bei der Beschrei bung von Al gori t hmen
oder bei formal en Beweisen der Korrekt hei t von Pr ogr ammen. Wi r ersparen
uns viel Kl ei narbei t , wenn uns i nt ui t i v klar ist, dass ein Pr ogr amm (eine TM)
die gewiinschte Tgt i gkei t realisiert, und wir auf einen formal en Beweis verzich-
ten.
Le mma 4. 2. Fi i r j ede Me hr band- TM A exi st i er t ei ne zu A i i qui val ent e TM
B.
Bewei s. Sei A eine k- Band- Tur i ngmaschi ne fiir ein k E I N- {0}. Wi r zeigen,
wie sich eine TM B konst rui eren lgsst, die Schritt fiir Schritt A simulieren
kann. Eine gut e Strategie, um so eine Si mul at i on zu erklgren, ist, zuerst die
Darst el l ung yon Konfi gurat i onen der zu si mul i erenden Maschine A festzulegen,
und dann erst die Si mul at i on der einzelnen Schri t t e zu erklgren.
Die Idee der Darst el l ung der akt uel l en Konfi gurat i on von A und B ist in Fig.
4.11 anschaulich beschrieben. B speichert die Inhal t e aller k + 1 Bgnder von A
auf seinem einzigen Band. Anschaulich gesehen zerlegt B sein Band in 2(k + 1)
Spuren. Dies kann man wie folgt erreichen. Falls F A das Ar bei t sal phabet von
A ist, so ist
- u { r $, , , } ) { , , , 1 " } x x { , , , 1 - } ) u u { r
das Ar bei t sal phabet yon B. F/Jr ein Symbol ct = (ao, a l , a 2 , . . . ,a2k+l) E FB
sagen wir, dass ai auf der / - t en Spur liegt. Daher best i mmen di e/ - t en El ement e
der Symbole auf dem Band yon B den Inhal t der / - t en Spur. Eine Konfi gurat i on
(q, w, i, X l , i l , x2 , i 2 , . . . , xk, ik) von A ist dann in B wie folgt gespeichert. Der
Zust and q ist in der endlichen Kontrolle von B gespeichert. Die 0-te Spur des
Bandes yon B ent hgl t r d.h. den Inhal t des Ei ngabebandes yon A. F/Jr alle
i E {1, . . . , k} enthalt die (2i)-te Spur des Bandes von B das Wort Cx~, d.h.
144
Fig. 4.11
A I
Xl
W
i s1 B:
X2
4 Turi ngmaschi nen
U U U T U U
r zl
U U U T U U
r z 2
U U T U U U
r xk
I * I , , . . .
1 ;
U U U T U
den Inhalt des / - t en Arbeitsbandes von A. Fiir alle i E { 1 , . . . , k}, best i mmt
die (2i + 1)-te Spur mit dem Symbol T die Position des Kopfes auf dem/ - t en
Arbeitsband yon A.
Ein Schritt von A kann jetzt durch folgende Prozedur von B simuliert werden:
1. B liest einmal den ganzen Inhalt seines Bandes von links nach rechts und
speichert dabei in seinem Zustand die k + 1 Symbole 9, die bei den k + 1 K6pfen
von A gelesen worden sind (das sind genau die Symbole der geraden Spuren,
auf die die Symbole T auf den ungeraden Spuren zeigen).
2. Nach der ersten Phase kennt B das ganze Argument (der Zustand yon A ist
auch in dem Zustand yon B gespeichert) der Transitionsfunktion yon A und
kann also genau die entsprechenden Aktionen (K6pfe bewegen, Ersetzen von
Symbolen) von A bestimmen. Diese Anderungen fiihrt B in einem Lauf fiber
sein Band yon rechts nach links durch.
Au f g a b e 4. 11. Geben Sie eine formale Konst r ukt i on einer TM an, die die Phase 1 der
Si mul at i on eines Schrittes von A aus Lemma 4.2 realisiert.
9Dies bedeut et , dass die Zust andsmenge von t3 die Menge Q ( EU{0, $}) F k enth~lt, was
kein Pr obl em ist, da diese Menge endlich ist.
4.3 Mehrband-Turingmaschinen und Church' sche These 145
De f i ni t i on 4. 2. Zwei Maschi nenmodel l e (Maschi nenkl assen) A und B fiir
Ent schei dungspr obl eme sind ~i qui val ent , fal l s
(i) fiir jede Maschi ne A E A eine zu A ~iquival ente Maschi ne B E B exi-
stier t, und
(ii) fiir jede Maschi ne C E B eine zu C iiquival ente Maschi ne D E A exi-
stier t.
Aufgabe 4.12. Geben Sie eine formale Definition der Aquivalenz von zwei Maschinen an,
die Funktionen von E* nach F* berechnen. Formulieren Sie dazu die Definition der Aquiva-
lenz von zwei Maschinenklassen zur Berechnung von Funktionen.
Aus den Lemmat a 4.1 und 4.2 erhal t en wir direkt das folgende Resul t at .
S a t z 4. 1. Die Maschi nenmodel l e
Tur i ngmaschi nen sind iiquival ent.
von Tur i ngmaschi nen und Mehr band-
Die Kennt ni s, dass diese bei den Maschi nenmodel l e als gleichberechtigt zur A1-
gor i t hmenmodel l i er ung bet r acht et werden diirfen, erleichtert unsere Arbei t .
Wenn wit beweisen wollen, dass eine Sprache rekursiv oder rekursiv aufz~hlbar
ist, reicht es, eine Mehr band- TM fiir diese Sprache zu konst rui eren (was mei-
stens einfacher ist, als eine TM zu konst rui eren). Wenn wir aber zeigen wollen,
dass eine Sprache nicht rekursiv oder nicht rekursiv aufz~hlbar ist, werden wir
mi t der Nichtexistenz einer ent sprechenden TM argument i eren. Die Si t uat i on
ist vergleichbar dami t , dass man eine h6here Pr ogr ammi er spr ache zum Beweis
al gori t hmi scher L6sbarkeit eines gegebenen Probl ems benut zt , und Assembler
oder Maschi nencode zum Beweis al gori t hmi scher Unl 6sbarkei t benut zt . Dies
ist genau das, was im n~tchsten Kapi t el behandel t wird.
Deswegen k6nnt e es fiir uns auch hilfreich sein, die Aquivalenz zwischen Turing-
maschi nen und einer h6heren Pr ogr ammi er spr ache zu beweisen. Ein formaler
Beweis erfordert eine grofie Menge an technischer Kl ei narbei t , die sehr zeitauf-
wendig ist. Deshalb erkl~ren wir nur die Idee, wie man eine solche Aquivalenz
zeigt.
Dass man fiir jede TM ein ~tquivalentes Pr ogr amm schreiben kann, gl aubt hof-
fentlich jeder in der Pr ogr ammi er ung ein bisschen erfahrene Leser. Man kann
sogar noch etwas Bes s er es - einen Int erpret er fiir Turi ngmaschi nen schreiben.
Ein Int erpret er CTM fiir Turi ngmaschi nen bekommt eine Beschrei bung einer
TM M in einem festgelegten Formal i smus und ein Ei ngabewort fiber dem Ein-
gabeal phabet yon M. Danach simuliert CTM die Arbei t yon M auf w.
146 4 Turingmaschinen
Wi e kann ma n j et zt zu ei nem Pr o g r a mm einer kompl exer en Pr ogr ammi er -
spr ache eine TM bauen? Dazu sollte sich ma n den Weg der Ent wi ckl ung der
Pr ogr ammi er s pr achen anschauen. Am Anf ang hat ma n nur in Assembl er oder
sogar noch in Maschi nencode pr ogr ammi er t . Die ei nzi gen er l aubt en Oper at i o-
nen war en Vergleiche von zwei Zahl en und die ar i t hmet i s chen Oper at i onen.
Alle ander en Befehle wur den als kleine Pr ogr a mme aus di esem Gr undr eper -
t oi re zus ammenges et zt , um dem Pr ogr ammi er er die Ar bei t zu verei nfachen.
Deswegen wer den wir keine Zweifel an der Aqui val enz von Assembl er und be-
l i ebi gen Pr ogr ammi er s pr achen haben; i nsbesonder e weil wir wissen, dass die
Compi l er Pr ogr a mme in h6her en Pr ogr ammi er s pr achen in Assembl er oder Ma-
schi nencode i i berset zen. Daher rei cht es, die Aqui val enz zwi schen Assembl er
und Tur i ngmas chi nen zu bewei sen. Den Assembl er kann ma n dur ch sogenannt e
Regi s t er mas chi nen model l i er en und dann diese dur ch Tur i ngmas chi nen si mu-
lieren lassen. Di esen Weg wer den wir j et zt aber ni cht gehen. Wi r k6nnen unsere
Auf gabe noch verei nfachen. Wi r kSnnen Mul t i pl i kat i on und Di vi si on yon zwei
Zahl en a und b dur ch Pr ogr amme, die nur mi t den Gr undope r a t i one n Addi t i on
und Subt r a kt i on ar bei t en, realisieren.
Auf gabe 4.13. Schreiben Sie ein Programm, dass fiir zwei gegebene Zahlen a und b das
Produkt a. b berechnet. Dabei darf das Programm nur die Addition, die Subtraktion und
Vergleich von zwei Zahlen in Verbindung mit i f . . . t he n. . , el se benutzen.
Danach kann ma n ei nen Vergleich yon zwei Zahl en dur ch Pr ogr a mme durch-
fiihren, die nur die Oper at i on +1 ( I " - I + 1), - 1 ( I " - I - 1) und den Test
auf 0 ( i f I - 0 t h e n . . . e l s e . . . ) benut zen.
Auf gabe 4.14. Schreiben Sie ein Programm, dass den Befehl i f I _> J t h e n got o 1 e l s e
goto 2 nur mit Hilfe von Operationen +1, - 1 und dem Test auf 0 realisiert.
Am Ende kSnnen wir auch noch auf Addi t i on und Subt r a kt i on verzi cht en.
Auf gabe 4.15. Schreiben Sie Programme, die fiir zwei gegebene Zahlen a, b E IN die Ad-
dition a + b und die Subtraktion a - b nur mit Hilfe der Operationen + 1, - 1 und dem Test
auf 0 berechnen.
Die Auf gabe, die Pr ogr a mme mi t Oper at i onen +1, - 1 und i f I = 0 t h e n
. . . e l s e . . . auf Mehr band- Tur i ngmas chi nen zu si mul i eren, ist ni cht mehr
so schwer. Die Var i abl en wer den auf den Ar bei t s b~nder n in der For m xC~y
gespei chert , wobei x die bi n~re Kodi er ung des Namens der Var i abl en I x und y
die bi n~re Kodi er ung des Wer t es yon I x ist. Die Oper at i onen +1, - 1 und den
Test y = 0 kann eine MTM ei nfach realisieren. Der einzige grSf3ere Auf wand
ent st eht , wenn ein Band z.B. CxC~YC~C~zC~ur162 ent h~l t und der Pl at z zur
4.3 Mehrband-Turingmaschinen und Church' sche These 147
Spei cherung des Wert es yon I x in y nicht mehr reicht (mehr Felder fiir y
werden gebraucht ). In ei nem solchen Fall muss die Mehr band- TM den Inhal t
~ z ~ u ~ . . . rechts yon y nach rechts verschieben, um mehr Pl at z fiir die
Spei cherung von y zu gewinnen.
In der Theoret i schen I nf or mat i k hat man Hunder t e von formellen Modellen
(nicht nur in Form von Maschi nenmodel l en) zur Spezifikation der al gori t hmi -
schen LSsbarkeit entwickelt. Alle vernt i nft i gen Modelle sind ~quivalent zu Tu-
ri ngmaschi nen. Dies fiihrte zu der Formul i erung der sogenannt en Chur ch' schen
These:
Ch u r c h ' s c h e Th e s e
Die Tur ingmaschinen sind die For mal isier ung des Begr iffes ,,Al go-
r ithmus", d.h. die Kl asse der r ekur siven Spr achen (der entscheid-
bar en Entscheidungspr obl eme) stimmt mit der Kl asse der al gor ith-
misch (automatisch) er kennbar en Spr achen iiber ein.
Die Church' sche These ist nicht beweisbar, weil sie einer Formal i si erung des
i nt ui t i ven Begriffes Al gor i t hmus entspricht. Es ist nicht m6glich zu beweisen,
dass keine andere formale Model l i erung des i nt ui t i ven Begriffes Al gor i t hmus
existiert, die
(i) unserer Int ui t i on fiber diesen Begriff ent spri cht , und
(ii) die al gori t hmi sche LSsung von Ent schei dungspr obl emen ermSglicht, die
man mi t der Hilfe von Tur i ngmaschi nen nicht ent schei den kann.
Das einzige, was passieren k6nnt e, ist, dass j emand ein solches stS~rkeres Modell
findet. In diesem Fall wS~ren die Gr undl agen der Theoret i schen I nf or mat i k zu
revidieren. Die Suche nach ei nem solchen Modell war aber bisher vergeblich,
und wir wissen heute, dass sogar das physikalische Modell des Quant enr ech-
hers ~~ zu Tur i ngmaschi nen 5~quivalent ist.
Die Si t uat i on ist also 5~hnlich wie in der Mat hemat i k und Physik. Wi r ak-
zept i eren die Church' sche These, weil sie unserer Er f ahr ung ent spri cht , und
post ul i eren sie als ein Axiom. Wi e wir schon bemer kt haben, hat sie die Ei-
genschaft en yon mat hemat i s chen Ax i o me n - sie kann nicht bewiesen werden,
aber man kann nicht ausschliefien, dass sie eines Tages widerlegt wird. 11 Die
l~ arbeiten nach dem Prinzip der Quantenmechanik.
11Die Widerlegung eines Axioms oder einer These sollte man nicht als ,,Katastrophe" be-
trachten. Solche Resultate gehSren zur Entwicklung der Wissenschaften dazu. Die bisherigen
Resultate und Kenntnisse muss man deswegen nicht verwerfen, nur relativieren. Sie gelten
einfach weiter unter der Voraussetzung, dass das Axiom gilt.
148 4 Turingmaschinen
Church' sche These ist das einzige informatikspezifische Axiom auf welchem die
Theoretische Informat i k aufgebaut wird. Alle anderen benut zt en Axiome sind
die Axiome der Mat hemat i k.
4.4 N i chtdetermi ni sti sche Turingmaschinen
Den Ni cht det ermi ni smus kann man in das Modell der Turi ngmaschi nen auf
gleichem Wege einfiihren wie wir den Ni cht det ermi ni smus bei den endlichen
Aut omat en eingefiihrt haben. Fiir jedes Argument best eht die M6glichkeit
einer Auswahl aus endlich vielen Aktionen. Auf der Ebene der Transitions-
regeln bedeut et dies, dass die Transi t i onsfunkt i on 5 nicht yon Q F nach
Q x F x { L, R, N } geht, sondern von Q x F nach 7)(Q F x { L, R, N }). Eine andere
formale M6glichkeit ist, 5 als eine Relation auf (Q x F) (Q F {L, R, N})
zu bet racht en. Eine nichtdeterministische Turingmaschine M akzeptiert ein
Ei ngabewort w genau dann, wenn es mindestens eine akzeptierende Berech-
nung yon M auf w gibt. Die formale Definition einer nichtdeterministischen
Turingmaschine folgt.
Def i ni ti on 4.3. Eine ni cht det ermi ni st i sche Turi ngmaschi ne ( N TM) ist
ein 7-Tupel M = (Q, E, F, 6, q0, qaccept, qreject), wobei
(/)
Q, E, F, q0, qaccept, qreject die gl eiche Bedeutung wie bei einer TM haben,
und
5 " ( Q- {qaccept, qreject}) X r --+ ~P(Q X r X {g, 1~, N)) die Ubergangs-
funkti on von M ist und die fol gende Eigenschaft hat:
5(p, r c {(q, r I q c Q, x {R, N}}
fiir al l e q E Q.
{Das Randsymbol dar f nicht dutch ein ander es Symbol er setzt wer den,
und der Kopf dar f sich nicht von r aus nach l inks bewegen.}
Eine Konf i gurati on von Mi s t ein El ement aus
Ko nf ( M) = ( { r F*. Q. F*) O (Q. { r F*)
{mi t der gl eichen Bedeutung wie bei einer TM}.
Die Konfigur ation qoCw ist die A nfangskonfigur ation fiir das Wor t w E E*.
Eine Konfigur ation heifl t akzep ti erend, fal l s sie den Zust and qaccept enthiil t.
Eine Konfigur ation heifl t verwerfend, fal l s sie den Zust and qreject enthiil t.
4.4 Ni cht det er mi ni st i sche Tur i ngmaschi nen 149
Ei n Sc hr i t t von M i st ei ne Rel at i on ---M-, die auf der Me nge der Konf i gur a-
t i onen ( --~ C_ Konf ( M) Konf ( M) ) wi e f ol gt def i ni er t ist. F iir a l l e p, q E Q
und al l e X l , X 2 , . . . , x ~ , y E F,
X l X 2 9 9 9 X i - l q X i X i +l 9 9 9 X n ~ X l X 2 9 9 9 X i - l P y X i +l 9 9 9 X n ~
(p, y, N)
X l X 2 9 9 9
f al l s (p,
X l X 2 9 9 9
f al l s (p,
XlX 2 . . .
f al l s (p,
X i - 2 ~ X i - l q x i x i +l 9 9 9 X n ~ X l X 2 9 9 9 X i - 2 p X i - l y x i +l 9 9 9 X n ~
x~_~qx~x~+~ . . . x~ ~ x~ xe . . . x~_~ypx~+~ . . . x~ ,
x~ _l qx~ ~ x l x 2 . . . x ~ - l y p u ,
y, R) e
Di e Rel at i on - ~ i st die r ef l exi ve und t r ansi t i ve Hiil l e von M 9
Ei ne Be r e c h n u n g yon M i st ei ne Fol ge von Konf i gur at i one n Co, C1 , . . . so
dass Ci ~ C~+1 f i i r i - O, 1 , 2 , . . . . Ei ne Be r e c h n u n g von M a uf ei ner
Ei n g a b e x i st ci ne Bcr cchnung, die mi t dcr Anf angs k onf i gur at i on qor begi nnt
und die ent weder une ndl i c h ist, oder i n ei ner Konf i gur at i on wl qw2 endet , wobei
q E {qaccept, qreject}. Ei ne Be r e c hnung von M auf x hei f l t a k z e p t i e r e n d , f al l s
sie i n ei ner akz ept i er enden Konf i gur at i on endet . Ei ne Be r e c hnung von M auf
x hei f l t ve r we r f e nd, f al l s sie i n ei ner v e r we r f e nde n Konf i gur at i on endet .
Di e von de r NT M M a k z e p t i e r t e Spr a c he i st
L( M) - { w E E* I qor ~ y q~ e pt Z f i i r i r gendwel che y, z E F*}.
Au f g a b e 4. 16. Beschrei ben und definieren Sie formal eine ni cht det er mi ni st i sche k-Band-
Tur i ngmaschi ne far j edes k E IN - {0}.
Au f g a b e 4. 17. Sei M eine ni cht det er mi ni st i sche Mehr band- Tur i ngmaschi ne. Beschrei ben
Sie eine NTM M' , so dass L( M) - L( M' ) .
Ahnlich wie im Fall der endlichen Aut omat en k6nnen auch bei Turingmaschi-
nen nichtdeterministische St rat egi en die Berechnungen vereinfachen. Betrach-
t en wir die Sprache
Lungleich -- { X ~ =~ Yl X ~ Y E (~bool)*~ X ~ A~ X ~A y} .
Eine (deterministische) TM miisste Buchst abe fiir Buchst abe x und y verglei-
chen, um den Unterschied feststellen zu k6nnen. Eine NTM kann die Position
i, an der sich x = Xl . . . x ~ und y = y l . . . y,~ unterscheiden, nichtdetermini-
stisch rat en und dann die Korrekt hei t des Rat ens durch den Vergleich von xi
150 4 Turingmaschinen
und yi verifizieren. Im Folgenden beschreiben wir eine nichtdeterministische
l - Band- TM A, die Lungleich akzeptiert (die formale Darstellung findet sich in
Fig. 4.12). A arbeitet auf einer Eingabe w wie folgt:
1. A iiberprtift deterministisch mit einem Lauf des Lesekopfes fiber das Ein-
gabeband, ob w genau ein Symbol ~ enthS~lt (ZustS~nde q0, ql, qr~j~ct in Fig.
4.12). Falls das nicht der Fall ist, verwirft A die Eingabe w. Falls w = z--#y
fiir z, y E (Ebool)*, setzt A die Arbeit mit Phase 2 fort (ira Zustand q2 in Fig.
4.12).
2. A stellt die K6pfe auf beiden B~ndern auf # (Zustand qs in Fig. 4.12).
3. A bewegt beide K6pfe simultan nach rechts (dabei ersetzt der Kopf auf dem
Arbei t sband die Symbole u durch die Symbole a) und in jedem Schritt trifft
sie nichtdeterministisch die Entscheidung, ob der Unterschied in der Position
des gelesenen Feldes vorkommt oder nicht (Zustand qg~ess in Fig. 4.12). Falls
b E {0, 1} auf dem Ei ngabeband gelesen wird und A r~tt, dass der Unterschied
an dieser Position auftritt, speichert A das Symbol b in seinem Zustand und
geht zur Phase 4 fiber (A geht in Zustand pb fiber in Fig. 4.12). Falls A das
Symbol # liest (Ixl < lYl rS~t), geht A in p# fiber.
4. Jetzt ist die Entfernung des Kopfes von # auf dem Arbei t sband gleich der
Position des gespeicherten Symboles b E {0, 1, r in xCp. A geht zuerst mit dem
Lesekopf auf 4P ohne den Kopf auf dem Arbei t sband zu bewegen (Zustgnde p0
und Pl in Fig. 4.12). Danach bewegt sich in jedem weiteren Schritt der Lesekopf
nach rechts, und der Kopf auf dem Arbei t sband nach links (Zustgnde So und Sl
in Fig. 4.12). Wenn der Kopf auf dem Arbei t sband # erreicht, steht der Kopf des
Eingabebandes auf der geratenen Position von y. Falls das gespeicherte Symbol
b in sb ungleich dem gelesenen Symbol des Eingabebandes ist, akzeptiert A das
Eingabewort w = x--#y. A akzeptiert w auch, wenn < lyl ((qaccop , N, r N)
6(p#, c,N) fiir alle c E {0, 1} in Fig. 4.12) oder wenn > lyl (~(~b, $, d) -
{(qacc~pt, N, d, N)} fiir alle b E {0, 1}, d E {a, r in Fig. 4.12).
Die Strategie des nichtdeterministischen Ratens und nachfolgenden determi-
nistischen Verifizieren der Korrektheit des Geratenen ist typisch fiir nichtde-
terministische Berechnungen. 12 Ein anderes Beispiel ist das Akzeptieren der
Sprache
Lquad - {a~21 ~ E IN}
12Wie stark man dadurch den Nichtdeterminismus charakterisieren kann, erfahren wir in
Kapitel 6.
4.4 Nichtdeterministische Turingmaschinen 151
r 1 6 2 1 6 2
0, r ~ R, r 1, r ~ R, r $ r ~ N, r
1, r ~ R, r 0, r ~ R, r
T $ , r - - + L , r
I , r - - + L , r
# , r L , N
r r - - + R , r R
1, u ~ R, a, R / ~ ~
0, u ~ R, a, R
0, u ~ R, a, N / 1, u ~ R, a, N
~ ( ~ ~ ~ ~, u ---~ R, a, N ~ ( ~ ~
1, a --~ R, a, N
0, a --~ R, a, N
~, a ~ R, u, L
1, a ~ R, u, L
0, a --~ R, u, L
1, r ---~ N, ~, N~. . . .
$, a ~ N, a, N
$, r --+ N, r
Fig. 4.12
( ~ ~ 1, a --~ R, u, L
0, a --~ R, u, L
0, r ~ N, C, N
1, a --~ R, a, N
0, a ~ R, a, N
~, a ~ R, u, L
1, a ~ R, u, L
0, a ~ R, u, L
1, r --+ N, r
/ o, r ~ N , r
$, a --+ N, r
152 4 Turingmaschinen
yon einer ni cht det ermi ni st i schen 2- Band- TM B. B kann zuerst fiir jede Ein-
gabe w eine Zahl n r at en (n kann durch die Posi t i onen der KSpfe auf den
ArbeitsbS~ndern gespeichert werden) und dann Iwl = n 2 iiberpriifen.
Aufgabe 4.18. Beschreiben Sie die Berechnungsstrategie einer nichtdeterministischen 2-
Band-TM, die Lquad akzeptiert und implementieren Sie ihre Strategie in der Form eines
Diagramms.
Die wichtigste Frage ist nun, ob die ni cht det ermi ni st i schen Turi ngmaschi nen
Sprachen akzept i eren, die man mi t (det ermi ni st i schen) Turi ngmaschi nen nicht
akzept i eren kann. ]~hnlich wie bei endlichen Aut omat en ist die Ant wort auf
diese Frage negativ, und die Si mul at i onsst rat egi e basiert auf der Brei t ensuche
in den Berechnungsbgumen der ni cht det ermi ni st i schen TM.
De f i ni t i on 4. 4. Sei M = (Q, E, F, 6, q0, qaccept, qreject) si ne NTM und sei x sin
Wor t iiber dem Eingabeal phabet E von M. Ei n Be r e c h n u n g s b a u m TM, x y o n
M a u f x ist ein (potentiel l unendl icher ) ger ichteter Baum mi t einer Wur zel ,
der wie fol gt definier t wir d.
(/)
(ii)
Jeder Knot en von TM,x ist mi t einer Konfigur ation beschr iftet.
Die Wur zel ist der einzige Knot en von TM,x r nit der n Eingr ad 0 und ist
r nit der Ausgangskonfigur ation qoCx beschr iftet.
Jeder Knot en des Baur nes, de r mi t einer Konfigur ation C beschr iftet ist,
hat genauso viel e SShne wie C Nachfol gekonfigur ationen hat, und diese
SShne sind r nit diesen Nachfol gekonfigur ationen von C mar kier t.
Die Definition von Berechnungsbgumen kann man natiirlich
det ermi ni st i sche Mehr band- Tur i ngmaschi ne verwenden.
auch fiir nicht-
Aufgabe 4.19. Zeichnen Sie die Berechnungsb~ume der nichtdeterministischen l-Band-
TM aus Fig. 4.12 fiir die Eingaben 01~p01r und 01~p0.
Es gibt zwei wesentliche Unterschiede zwischen den BerechnungsbS~umen ei-
nes NEA und einer NTM. Die Berechnungsbgume von ni cht det ermi ni st i schen
endlichen Aut omat en sind i mmer endlich, was bei ni cht det ermi ni st i schen Tu-
ri ngmaschi nen nicht i mmer der Fall sein muss. Zweitens miissen die Konfigu-
rat i onen in der gleichen Ent fernung zur Wurzel eines Berechnungsbaumes T~ ,x
einer NTM M auf x keine Ahnl i chkei t en haben und deshalb kSnnen im Un-
terschied zu ni cht det ermi ni st i schen endlichen Aut omat en die Posi t i onen der
KSpfe auf dem Ei ngabeband unterschiedlich sein.
Sa t z 4. 2. Sei M sine NTM. Dann existier t sine TM A, so dass
4.4 Nichtdeterministische Turi ngmaschi nen 153
L( M) = L( A) , und
fal l s M keine unendl ichen Ber echnungen auf WSr t er n aus ( L( M) ) C hat,
dann hiil t A immer .
Beweis. Nach Lemma 4.2 geniigt es, eine 2-Band TM A mit den EigenschaRen
(i) und (ii) zu konstruieren. Wi r beschrS~nken uns auf eine Beschreibung der
Arbei t von A und verzichten auf die formale Konst rukt i on. Die Strategie von
A heit3t Breitensuche in den Berechnungsbgumen von M.
Eingabe: ein Wort w
Phase 1: A kopiert die Anfangskonfiguration qoCw auf das erste Arbei t sband.
Phase 2: A iiberprtift, ob das erste Band eine akzeptierende Konfiguration
enthglt. Falls ja, hglt A und akzeptiert w. Sonst setzt A die Berechnung
mit Phase 3 fort.
Phase 3: A schreibt alle Nachfolgekonfigurationen der Konfigurationen aus
dem ersten Arbei t sband auf das zweite Arbei t sband (man beachte, dass
eine NTM nur endlich viele Aktionen fiir ein gegebenes Argument zur
Wahl hat und A somit immer alle MSglichkeiten realisieren kann). Falls es
keine Nachfolgekonfigurationen gibt (das zweite Ar bei t band leer bleibt),
hS~lt Ai m Zust and qreject.
Phase 4: A 15scht den Inhalt des ersten Arbei t sbandes und kopiert den Inhalt
des zweiten Arbei t sbandes auf das erste. Danach 15scht A den Inhalt des
zweiten Bandes und fS~hrt mit Phase 2 fort.
Wi r bemerken, dass nach de m/ - t e n Durchlauf der Phasen 3 und 4 das erste
Arbei t sband alle Konfigurationen des Berechnungsbaumes TM,w mit der Ent-
fernung i von der Wurzel (alle in i Schritten erreichbaren Konfigurationen)
enthS~lt. Falls w E L( M) , dann existiert eine akzeptierende Berechnung von M
auf w von einer L~nge j ftir ein j E IN, und somit wird w nach j Durchlgufen
der Phasen 3 und 4 in der Phase 2 akzeptiert. Falls w ~ L( M) , wird w bei A
nicht akzeptiert. Falls TM,x endlich ist, hS~lt Ai m Zust and qreject- [-1
Au f g a b e 4. 20. Sei A die NTM aus Fig. 4.13.
(i)
(ii)
Geben Sic der ersten sechs Ebenen (alle Konfi gurat i onen nach hSchstens fiinf Berech-
nungsschritten) der Berechnungsbaume TA(X ) far x = 01 und mr x = 0010 an.
Best i mmen Sie die Sprache L(A).
154
r r
0 --+ 0, N
1--+ 1, N
Fig. 4.13
4 Turingmaschinen
0 -+ 0, R 0 -+ 0, N
r r R.~ @ ~ ( q ~ , 2 0 --+ 0, R ( 1-+ 1, N @ . ~
1 --+ 1,L Q !L
1,N
1-+1
@
4.5 Kodi erung von Turi ngmaschi nen
Jedes Programm hat eine bin~re Darstellung in Form des Maschinencodes. Fiir
die Transformation eines Programms, das fiber dem Alphabet ETastatur entspre-
chend der Syntax der Programmiersprache gegeben ist, in den Maschinencode
sorgen Ubersetzer (Compiler). Das Ziel dieses Kapitels ist, eine einfache binSze
Kodierung von Turingmaschinen zu entwickeln. Wir beginnen zun~chst damit,
dass wir eine Kodierung von Turingmaschinen fiber {0, 1, r entwickeln.
Sei M = (Q, E, F, ~, q0, qaccept, qreject) eine TM, wobei
Q = {q0~ql~...~qm~qaccept~qreject} und P = { AI ~A2 ~. . . ~Ar}.
Wir definieren zuerst die Kodierung der einzelnen Symbole wie folgt:
Code(qi) - 10i+11 fiir i - 0, 1, . . . , m,
Code(qaccept) - 10 "~+21,
Code(qreject) - 10"~+31,
Code(Aj) - 110Jll fiir j - 1, . . . , r ,
Code(N) = 1110111,
Co d e ( R) - 11102111,
Co d e ( L) - 11103111.
Diese Kodierung von Symbolen nutzen wir zu folgender Darstellung einzelner
Transitionen.
Code(6(p, A1) : (q, A,~, c~))
4.5 Kodierung von Turingmaschinen 155
fi]r j ede Tr ansi t i on 5(p, Al) = (q, A,~, c~), p E {q0, q l , . . . , qm}, q E Q, l , ~7t E
{ 1, . . . , r } , c~ E {N, L, R}.
Die Kodi er ung der Tur i ngmaschi ne M gi bt zuerst die gl obal en Da t e n - die An-
zahl der Zust ande (IQI) und die a n z a h l der Symbol e aus dem a r be i t s a l pha be t
(Irl). Danach folgt die Liste aller Tr ansi t i onen. Daher
Code ( M) = # 0 " ~+3 # 0 ~# # Co d e ( TfaTtsitioTt 1 )#COde( Tr ansi t i on2 ) # . . .
i - ~ I , R
- - 0 - ~ O , R (
v \ / - o - ~ o , R /
a --~ a,N \ ~ / r --~ r
b --~ b,N --~ u,L
a ~ r
Fig. 4.14
Auf gabe 4.21. Sei M die TM aus Fig. 4.14.
(i) Geben Sie Code(M) von M an. Gliedern Sie iibersichtlich den Code mittels Kommen-
taren.
(ii) Geben Sie die Sprache L(M) an.
(iii) Ist L(M) regular oder nicht? Beweisen Sie Ihre Behauptung.
Um eine Kodi er ung fiber Ebool zu er hal t en, benut zen wir fol genden Homomor -
phi smus h : {0, 1, # } * --~ (Ebool)*:
h( #) = Ol , h(o) = oo, . . . . = 11.
De f i n i t i o n 4. 5. Fiir jede Tur ingmaschine M wir d
Ko d ( M) = h( Code ( M) )
die Ko d i e r u n g d e r T M M genannt.
Ko d T M : ( Ko d ( M) I Mi s t eine TM}
bezeichnet die Menge der Kodier ungen al l er Tur ingmaschinen.
156 4 Turingmaschinen
Es ist klar, dass die Abbi l dung von M auf Kod( M) injektiv ist und daher
det ermi ni ert Kod( M) eindeutig eine Turingmaschine.
Aufgabe 4 . 2 2 . Beschreiben Sie ein Programm, dass jede formale Beschreibung einer TM
M nach Definition 4.5 in Code(M) umwandelt.
Aufgabe 4.23. Beschreiben Sie ein Programm, das fiir jedes Wort x c {0, 1}* entscheidet,
ob x = Kod(M) fiir eine TM M.
Im Folgenden bezeichnet Aver ein Pr ogr amm (eine TM), das fiir jedes x E
(Ebool)* entscheidet, ob x die Kodi erung einer TM ist.
Die wichtigste Beobacht ung ist, dass die Festlegung auf eine Kodi erung Kod( M)
von Turingmaschinen eine lineare Ordnung auf den Turingmaschinen wie folgt
definiert.
De f i ni t i on 4. 6. Sei x E (Y]bool)*. /b~F jedes i E I N- {0} sagen wir , dass x
di e Ko d i e r u n g d e r / - t e n T M ist, fal l s
x = Kod( M) f i i r eine TM M und
die Menge {y E (Eboo])* I Y ist vor x in kanoni scher Or dnung} enth~ l t
genau i - 1 WSr ter , die Kodi er ungen von Tur i ngmaschi nen sind.
Fal l s x = Kod( M) die Kodi er ung der i - t en TM ist, dann ist M die i - t e
T u r i n g ma s c h i n e Mi . Die Zahl i ist die Or d n u n g de r T M Mi .
Wi r beobachten, dass es nicht schwer ist, fiir eine gegebene Zahl i die Kodi erung
Kod(Mi ) der / - t en Turing Maschine zu berechnen. Sei Gen eine Funkt i on aus
I N- {0} nach (2bool)* definiert durch Ge n ( i ) = Kod(M~).
Le mma 4. 3. Die Funkt i on Gen ist total r ekur siv, d.h., es existier t eine Tu-
r i ngmaschi ne (Pr ogr amm) Aar die f i i r eine gegebene Zahl i die Kodi er ung
Kod (Mi) ber echnet.
Beweis. Ein Programm, das Gen berechnet, kann wie folgt arbeiten.
Eingabe: ein i E I N- {0}
Schritt 1: x : = 1 {x ist ein Wort fiber (Ebool)*}
I : = 0
Schritt 2: whi l e I < i do
begi n benutze Aver um zu entscheiden, ob x E KodTM;
i f x C K o d T M t h e n b e g i n
I : = I + 1 ;
4.6 Zusammenfassung 157
Schritt 3:
y : z X
end;
x :=Nachfolger yon x in kanonischer 0 r dnung auf (}-]bool)*
end
o u t p u t ( y ) .
A u f g a b e 4 . 2 4 . Schreiben Sie ein Programm, das fiir eine gegebene Kodierung Kod(M) C
(Ebool)* die Ordnung der TM M berechnet.
4.6 Zusammenfassung
Die Turingmaschine ist ein abst rakt es Rechnermodell mit der Berechnungs-
stS~rke realer Rechner. Die Komponent en einer TM sind ein unendliches Band,
eine endliche Kontrolle und ein Lese-/Schreibkopf. Das Band ist aufgeteilt in
Felder. Jedes Feld enth~lt ein Symbol des Arbei t sal phabet s (ein Comput er-
wort). Das Band wird als das Ei ngabemedi um der TM sowie als der Speicher
der TM benutzt. Die elementaren Aktionen (Transitionen) einer TM hgngen
vom aktuellen Zust and der TM und dem Symbol ab, das der Kopf auf dem
Band liest. In einer Aktion darf die TM den Zust and 5mdern, das gelesene
Symbol durch ein neues ersetzen und den Kopf um ein Feld auf dem Band be-
wegen. Eine Berechnung ent st eht durch eine Folge von elementaren Aktionen.
Eine TM akzeptiert (verwirft) ein Wort x, wenn sie in einem Sonderzust and
qaccept (qreject) die Berechnung auf x beendet. Ein Wort x wird vonder TM nicht
akzeptiert, wenn x verworfen wird oder wenn die Berechnung der TM auf x
unendlich ist. Die von einer TM M akzeptierte Sprache L(M) ist die Menge
aller W6rt er, die M akzeptiert. Eine Sprache L heif3t rekursiv aufz~hlbar, falls
L = L(M) fiir eine TM M. Eine Sprache L heifit rekursiv (oder entscheidbar),
falls L = L(M) fiir eine TM M, die keine unendliche Berechnung hat (d.h. alle
Berechnungen enden entweder in qaccept oder in qreject).
Das Modell der Mehrband-TM hat st at t einem unendlichen Band (das f/Jr die
Eingabe sowie fiir die Speicherung yon Dat en bei einer TM dient) ein end-
liches Band, das nur die Eingabe enthglt, und eine endliche Anzahl von un-
endlichen ArbeitsbSmdern. Die Modelle der Turingmaschinen und Mehrband-
Turingmaschinen sind 5~quivalent in dem Sinne, dass jede TM durch eine MTM
simuliert werden kann und umgekehrt. Diese Turingmaschinenmodelle sind
~quivalent zu Programmen in jeder gelgufigen Programmiersprache.
158 4 Turingmaschinen
Die Church' sche These besagt, dass eine Turingmaschine, die keine unendliche
Berechnung ausfiihrt, die Formalisierung des intuitiven Begriffs ,,Algorithmus"
ist. Daher sind alle Probleme, die man mit Hilfe yon Turingmaschinen 16sen
kann, algorithmisch (automatisch) 16sbar und alle Probleme, die auf Turing-
maschinen nicht 16sbar sind, sind algorithmisch (automatisch) unl6sbar. Die
Church' sche These ist ein Axiom der Informatik, daher kann sie nie bewiesen
werden. Es besteht nur die M6glichkeit, sie zu widerlegen.
Auf die gleiche Art wie bei endlichen Aut omat en kann man Turingmaschinen
zu nichtdeterministischen Turingmaschinen verallgemeinern. Eine nichtdeter-
ministische TM kann mehrere Berechnungen auf einer Eingabe haben. Die
Eingabe wird akzeptiert, falls mindestens eine dieser Berechnungen in qaccept
endet. Durch eine Breitensuche der Berechnungsb~tume (dies entspricht der
Potenzmengenkonstruktion bei endlichen Aut omat en) k6nnen nichtdetermi-
nistische Turingmaschinen durch deterministische Turingmaschinen simuliert
werden.
Wie Programme k6nnen auch Turingmaschinen eindeutig als W6rt er fiber Ebool
dargestellt werden. Weil die W6rt er fiber Ebool durch die kanonische Ordnung
linear geordnet sind, gewinnt man durch diese Darstellung eine lineare Ord-
nung fiir die Menge der Turingmaschinen. Fiir eine gegebene Zahl i kann man
die Kodierung der / - t en TM berechnen. Ebenfalls kann man zu einer gegebenen
TM ihre Ordnung berechnen.
Die Einfiihrung eines formalen Modells von Algorithmen war der erste Schritt,
der zur Griindung der Theoretischen Informatik fiihrte. Diesen Fortschritt
hat Kurt G6del mit seiner grundlegenden Arbeit [G6d 31] initiiert. In die-
ser Arbeit wurde erstmals bewiesen, dass es mathematische Probleme gibt,
die man nicht ,,automatisch" 16sen kann. Dies motivierte Church [Chu 36],
Kleene [Kle 36], Post [Pos 36] und Turing [Tur 36] zum Entwurf formaler Mo-
delle des algorithmischen Rechnens. Alle diese Modelle und auch viele andere,
die spS~ter definiert wurden, sind ~tquivalent. Die Folge dieser Aquivalenzen
ist die Church' sche These. Das Modell der Turingmaschine aus [Tur 36] wurde
zum Basismodell des Rechners in der Theoretischen Informatik, obwohl die ur-
spr/inglichen Gedanken yon Turing nicht gerade mit einem Rechner verkniipft
waren. Turing wollte die Verfahren (Algorithmen) zur Symbolmanipulation
prS~zise formalisieren. St at t an einen Rechner dachte er an einen Menschen
(menschlichen Rechner), der ein Rechenverfahren mit einem Stift auf einem
Blatt Papier ausfiihrt. Das eindimensionale Band als Speichermedium ist da-
durch motiviert, dass man auf einem Blatt zeilenweise schreibt. Die endlich
vielen Symbole, die man benutzen darf, bestimmen dann das Arbeitsalpha-
bet. Um das alles systematisch zu machen, teilte Turing das Bands in Felder
4 . 6 Z u s a m m e n f a s s u n g 159
ein, wobei j edes Fel d genau ein Symbol be i nha l t e n dur f t e. Der I nhal t des gan-
zen Bandes mus s t e i mme r endl i ch sein, aber die Lgnge des Bandes (die Gr6fie
des Papi er s) war unbes chr ~nkt . Tur i ng set zt e vor aus, dass der Rechner (das
menschl i che Gehi r n) endl i ch gr og ist, und sich somi t nur in ei nem yon end-
lich vi el en m6gl i chen Zust Smde bef i nden kann. Daher s t a mmt die endl i che Zu-
s t a nds me nge fiir das Model l der Tur i ngmas chi ne. Aus ei nem 5~hnlichen Gr u n d
set zt e Tur i ng vor aus, dass eine Akt i on eines Rechner s in ei nem Augenbl i ck nur
dur ch ei nen Ant ei l des Bandes yon beschrS~nkter ( kons t ant er ) Gr6fie beei nf l usst
wer den kann. Wei l ma n j ede sol che Akt i on dur ch eine Fol ge yon el ement ar en
Ope r a t i one n, bei denen nur ein Symbol des Bandes be t r a c ht e t wi rd, si mul i e-
r en kann, fi i hrt e Tur i ng die Fes t l egung der Ber echnungs s chr i t t e dur ch die in
Abs c hni t t 4.2 vor gest el l t e Tr a ns i t i ons f unkt i on ein.
Di e Me hr ba nd- Tur i ngma s c hi ne wur de yon Ha r t ma ni s und St ear ns [HS 65] ein-
gefi i hrt . Me hr ba nd- Tur i ngma s c hi ne n wur de n z um Bas i s model l fiir Ber echnun-
gen in der Kompl exi t S~t st heori e. Ei ne hi nrei i 3ende Di s kus s i on zu dem T h e ma
dieses Kapi t el s kann ma n bei Har el [Har 93] fi nden.
Kontrollaufgaben
10.
11.
12.
1. Beschreiben Sie das Modell der Turingmaschine. Was sind die wesentlichen Unter-
schiede zu einem endlichen Automaten?
2. Definieren Sie die Begriffe ,,Konfiguration", ,,Berechnungssschritt" und ,,Berechnung"
einer Turingmaschine. Wie definiert man die von einer TM M akzeptierte Sprache
L(M)?
3. Was sind rekursive Sprachen und was sind rekursiv aufzS~hlbare Sprachen?
4. Entwerfen Sie eine Turingmaschine fiir die Sprache { a~ b~ c ~ In c IN} und stellen sie
die TM in der Form eines Diagramms dar.
5. Was wiirde sich an der Berechnungssttirke der Turingmaschine 5mdern, wenn wit
mehrere akzeptierende Zust~inde erlauben?
6. ErklS~ren Sie das Konzept von Mehrband-Turingmaschinen. Warum fiihren wit dieses
Konzept ein?
7. Wie definiert man die _ ~quivalenz von zwei Maschinen und die _ ~quivalenz von zwei
Maschinenmodellen?
8. Wie wiirden Sie vorgehen, um die Aquivalenz zwischen Java und Turingmaschinen
zu zeigen?
9. Was sagt die Church' sche These aus? Warum betrachten wit die Church' sche These
als ein Axiom? Warum glauben wir an dieses Axiom?
Erkl~iren Sie das Konzept von nichtdeterministischen Turingmaschinen! Wieviele un-
terschiedliche Berechnungen kann eine NTM auf einer Eingabe der L~inge n haben?
Geben Sie ein Beispiel einer Sprache an, fiir die es einfacher ist, eine NTM anstatt
einer TM zu entwerfen.
Wie kann man zu jeder NTM ein ~iquivalente TM bauen?
160 4 Turi ngmaschi nen
13. Wie kann man Turi ngmaschi nen durch W/Srter fiber {0, 1} kodieren? Entwerfen Sie
eine eigene Kodi erung fiir Turi ngmaschi nen und schreiben Sie ein Pr ogr amm, das aus
Ihrer Kodi erung eine konkret e TM erstellt.
14. Wie kann man Turi ngmaschi nen linear ordnen?
15. Kann man ffir eine gegebene natfirliche Zahl i algorithmisch die i-te TM konstruieren?
Kann man ffir eine gegebene TM ihre Ordnung algorithmisch best i mmen?
Hunder t e von Tal ent en zeigen
die Gr6fie ihrer Epoche,
aber nur ein Genie ahnt ,
was ihr fehlt.
5
j
B e r e c h e n b a r k e i t 3 ( . .
5.1 Z ielsetzu n g
Die Theorie der Berechenbarkeit ist die erste Theorie, die in der Informatik
entstanden ist. Sie entwickelte Methoden zur Klassifizierung von Problemen
in algorithmisch 16sbare und algorithmisch unl6sbare. Dies bedeutet, dass die-
se Theorie uns Techniken zum Beweisen der Nichtexistenz von Algorithmen
zur L6sung konkreter Probleme liefert. Das Erlernen dieser Techniken ist das
Hauptziel dieses Kapitels.
Wir beschrgnken uns in diesem Kapitel auf Entscheidungsprobleme. Unser er-
stes Ziel ist es zu zeigen, dass es Sprachen gibt, die von keiner Turingmaschine
akzeptiert werden. Dies ist einfach einzusehen, wenn man begreift, dass es viel
mehr Sprachen gibt als Turingmaschinen. Aber von beiden gibt es unendlich
vide, d.h. wir miissen lernen, wie man beweisen kann, dass eine unendliche
Zahl gr6fier ist als eine andere. Dazu prgsentieren wir im Abschnitt 5.2 die
Diagonalisierungstechnik aus der Mengenlehre. Die Methode der Diagonali-
sierung erm6glicht es uns, auch ftir eine konkrete Sprache, Diagonalsprache
genannt, ihre Nichtzugeh6rigkeit zu ERE zu zeigen.
Unser zweites Ziel ist es, die Methode der Reduktion vorzustellen. Diese Me-
thode erm6glicht, ausgehend von einer nichtentscheidbaren Sprache die Un-
entscheidbarkeit weiterer Sprachen zu beweisen, und stellt das Hauptinstru-
ment zur Klassifizierung der Sprachen beziiglich ihrer Entscheidbarkeit dar.
Wir wenden diese Methode an, um die Unentscheidbarkeit einiger Entschei-
dungsprobleme fiber Turingmaschinen (Programmen) in Abschnitt 5.3 zu be-
weisen. Dabei lernen wir, dass die praktisch relevante Aufgabe der Korrekt-
heitsiiberpriifung (des Testens) von Programmen ein algorithmisch unl6sbares
Problem darstellt. In Abschnitt 5.4 stellen wir den Satz von Rice vor, der
besagt, dass fast alle nicht-trivialen Probleme fiber Turingmaschinen (Pro-
162 5 Berechenbarkeit
grammen) unentscheidbar sind. In Abschnitt 5.5 zeigen wir, dass man die
Methode der Reduktion auch zum Beweis der Unentscheidbarkeit anderer als
nur turingmaschinen-bezogener Probleme benutzen kann. Als ein Beispiel be-
weisen wir die Unentscheidbarkeit eines Entscheidungsproblems fiber einer
Art von Dominospiel, das als Post'sches Korrespondenzproblem bezeichnet
wird. Im Abschnitt 5.6 zeigen wir eine andere Methode zum Beweisen der
algorithmischen Unl6sbarkeit konkreter Probleme. Diese Methode basiert auf
der Kolmogorov-KomplexitS~t und kann als eine Alternative zur Diagonalisie-
rungstechnik in dem Sinne gesehen werden, dass man mittels der Kolmogorov-
KomplexitS~t die Unl6sbarkeit eines konkreten Problems beweisen und dadurch
den Startpunkt fiir die Anwendung der Reduktionsmethode erhalten kann.
5 . 2 Di e Me t h ode de r Di a g on a l i s i e r u n g
Unser erstes Ziel ist es zu zeigen, dass es nicht rekursiv aufzS~hlbare Sprachen
gibt. Dazu wollen wir folgendes quantitative Argument benutzen. Wir wollen
zeigen, dass
die Miichtigkeit IKodTM[ der Menge aller Turingmaschinen kleiner
als die M6chtigkeit aller Sprachen iiber Ebool ist.
Dabei bezeichnet KodTM die Menge der binS~ren Kodierungen aller Turing-
maschinen wie im Abschnitt 4.5 definiert.
Die Anzahl aller Turingmaschinen ist unendlich und kann von oben durch
I(Ebool)*l beschrS~nkt werden, weil KodTM C_ (Ebool)*. Die KardinalitS~t aller
Sprachen fiber Ebool ist 79((Ebool)*)l, was offensichtlich auch eine unendliche
Zahl ist. Um zu beweisen, dass
I(Y ] bool)*l < I ~] ')((~bool)*))l,
ben6tigen wir eine Methode zum Vergleich der Gr6fien von unendlichen Zahlen
(yon MS~chtigkeiten unendlicher Mengen).
Das folgende Konzept von Cantor zum Vergleich der M/ichtigkeiten von zwei
(unendlichen) Mengen ber/ihrt die philosophischen und axiomatischen Wurzeln
der Mathematik und ist die Grundlage der modernen Mengenlehre.
Die Idee des Konzeptes yon Cantor ist wie folgt. Ein Hirte hat ein Herde weifier
Schafe und eine Herde schwarzer Schafe. Er will feststellen, welche der Herden
zahlreicher ist, also ob er mehr schwarze als weifie Schafe hat oder umgekehrt.
5.2 Die Methode der Diagonalisierung 163
Das Pr obl em ist, er kann nur bis 5 zS~hlen, was nicht ausrei chend ist. Was kann
er t un? Er ni mmt ein weifies uns ein schwarzes Schaf und fiihrt dieses Paar auf
eine andere Wi ese Dies macht er so lange, bis eine der bei den urspri i ngl i che
Her den aufgel6st ist. Die Sorte, deren Herde noch nicht ausgesch6pft ist, ist
zahlreicher. Genau diese Idee set zen wir in folgender Defi ni t i on urn.
De f i ni t i on 5. 1. Sei en A und t3 zwei Mengen. Wi t sagen, dass
IAI ~ I B I ,
falls eine inj ektive Funkt i on f von A nach t3 existiert. Wi r sagen, dass
I AI = I BI ,
fall~ IAI ~ IB I ~ d IB I ~ IAI (d.h. ~ exi sti ert ei ne B i j ekti on I zwi schen A und
t3). Wi t sagen, dass
IAI < I B I ,
falls IA[ < IB[ und es existiert keine inj ektive Abbildung yon B nach A.
Zuerst beobacht en wir, dass fiir endliche Mengen Defi ni t i on 5.1 exakt mi t un-
serem Verst gndni s fiir den Vergleich der M~cht i gkei t en von A und B iiberein-
st i mmt (Fig. 5.1). Wenn fiir alle x, y E A mi t x # y auch f (x) # f (y) gilt, dann
muss B mi ndest ens so viele El ement e wie A haben. Wenn { f ( x) I x E A} = B,
dann ist f eine Bi j ekt i on und IAI = IBI.
B
A
Fig. 5.1
Nach Defi ni t i on 5.1 reicht es daher aus zu beweisen, dass keine i nj ekt i ve Ab-
bi l dung vonde r Menge aller Sprachen fiber Ebool in die Menge aller Tur i ngma-
1Der Satz von Cantor und Bernstein sagt, dass aus der Existenz von injektiven Abbildungen
F1 : A ~ B und F2 : B ~ A die Existenz einer Bijektion zwischen A und B folgt.
164 5 Berechenbarkeit
schinen existiert. Das heifit, es existiert keine Abbildung yon ~] P((}-] bool)*) na c h
KodTM, die jeder Sprache L eine TM M mit L ( M) - L zuordnet. 2
Auf ga be 5.1. Seien A, B und C Mengen. Beweisen Sie, dass IB _< IAI und C I _< B die
Relation C _< A impliziert.
Auf ga be 5.2. Seien A und B Mengen. Beweisen Sie, dass A c_ B die Ungleichung I A _< B I
impliziert.
Definition 5.1 hat aber auch ihre paradoxe SeRe. Sei ] Ngerad e
Nach Definition 5.1 gilt
{ 2i l i e
weil die Funktion f : IN ~ ] Ngerad e mi t f ( i ) = 2i fiir alle i E IN offensichtlich ei-
ne Bijektion ist. So haben IN und ] Ngerad e gleiche M~chtigkeiten, obwohl ] Ngerad e
eine echte Teilmenge yon IN ist. Dies ist ein Paradoxon, das beim Vergleich
der Mgchtigkeiten von endlichen Mengen nicht auftreten kann. Dieses Paradox-
on widerspricht der Erfahrung aus der endlichen Welt, wo das Ganze immer
gr6fier ist als eines seiner Teile. Dies zeigt aber nicht, dass das Cantor' sche
Konzept zum Vergleich der M~chtigkeit von Mengen falsch ist, sondern nur,
dass die Welt unendlicher Mengen und Zahlen Gesetzen unterliegen k6nnte,
die den Erfahrungen aus der Behandlung endlicher Objekte nicht entsprechen.
Der Schluss IINI = IINgeradel scheint in der ,,unendlichen Welt" richtig zu sein,
weil die Bijektion f ( i ) = 2i die Elemente aus IN und INgerad e paart, und so
erscheinen beide Mengen gleich m~chtig zu sein. Vielleicht ist es wichtig, an
dieser Stelle zu bemerken, dass dieses Konzept auf der axiomatischen Ebene
liegt. Daher kann man nicht beweisen, dass dies die einzige sinnvolle (korrekte)
M6glichkeit zum Vergleich der MSochtigkeit unendlicher Mengen ist. Definiti-
on 5.1 ist nur ein Versuch, das intuitive Verstgndnis der Mathematiker fiir
den Mgchtigkeitsvergleich zu formalisieren. Es ist nicht auszuschliefien, dass
j emand noch eine andere, geeignetere Formalisierung a findet. Ftir uns ist aber
nur wichtig, dass das Konzept aus Definition 5.1 dazu geeignet ist, die Existenz
yon nicht rekursiv aufzS~hlbaren Sprachen zu beweisen.
Auf ga be 5.3. Das Hilbert' sche Hotel besteht aus unendlich vielen Zimmern, die mit den
natfirliche Zahlen 1, 2, 3, . . . nummeri ert sind. Das Hotel ist besetzt, also in jedem Zimmer
verweilt ein Gast. Jetzt kommt ein neuer Gast und fragt, ob er ein Zimmer bekommen kann.
Der Portier sagt locker ,,Kein Problem". Er 15~sst ffir alle i = 1, 2, 3, . . . den Gast aus dem
Zimmer i in das Zimmer i + 1 umziehen und gibt Zimmer 1 dem neuen Gast.
2Weil jede solche Abbildung injektiv sein muss.
aDies ghnelt unserer Diskussion fiber die Church' sche These.
5.2 Die Methode der Diagonalisierung 165
(i)
(ii)
(iii)
Gibt es auch ein L6sung, wenn der Gast unbedingt das Zimmer 7 haben wollte?
Es kommen 32 neue G~ste. Was macht der Portier jetzt?
Es kommt ein voll besetzter, unendlich grof3er Bus an. Die Pl~tze sind mit positiven
ganzen Zahlen 1, 2, 3, . . . nummeriert. Kann der Portier alle unterbringen?
I m Fol genden bet r acht en wir IN als die ,,kleinste" unendl i che Menge und stellen
die Frage, welche unendl i chen Mengen die gleiche M~cht i gkei t wie IN haben,
und ob eine unendl i che Menge A mi t IA > existiert.
De f i ni t i on 5. 2. Eine Menge A heiflt abz~i hl bar 4, falls A endlich ist oder
I A I -
Die i nt ui t i ve Bedeut ung der Abz~hl barkei t einer Menge A ist, dass man die
El ement e aus A als erstes, zweites, dri t t es, . . . nummer i er en kann. Dies ist
offensichtlich, weil jede injektive Funkt i on f : A ~ IN eine lineare Or dnung
auf A best i mmt , die eine Nummer i er ung 5 ist, (ein Obj ekt a E A ist vor dem
Obj ekt b E A 4=~ f ( a) < f ( b) ) . Deswegen i i berrascht es nicht, dass (Ebool)*
und KodTM abz~thlbar sind.
Le mma 5. 1. Sei E ein beliebiges Alphabet. Dann ist E* abziihlbar.
Beweis. Sei E = { a l , . . . , am} eine beliebige endliche Menge. Man definiere eine
lineare Or dnung al < a2 < --- < am auf E. Diese lineare Or dnung best i mmt
die kanoni sche Or dnung auf E* (vgl. Defi ni t i on 2.7). Die kanoni sche Or dnung
auf E* ist eine Nummer i er ung und bes t i mmt daher eine i nj ekt i ve Funkt i on yon
E* nach IN. D
Sa t z 5. 1. Die Menge KodTM der Turingmaschinenkodierungen ist abziihlbar.
Beweis. Satz 5.1 ist eine di rekt e Folge von Lemma 5.1 und der Tat sache
KodTM C_ (Ebool)*. [-1
Aufgabe 5.4. Geben Sie explizit die Nummerierung yon (Ebool)* an, die der kanonischen
Ordnung auf (Ebool)* entspricht.
4Eine ~iquivalente Definition der Abz~hlbarkeit einer Menge A ist folgende.
A ist abz~hlbar 4=~ es existiert eine injektive Funktion f : A ---, IN
Dies beseutet, dass keine unendliche Menge B mit IBI < IINI existiert. Auf den Beweis
dieses Fakts verzichten wit hier.
SEine Nummerierung auf einer Menge A determiniert eine lineare Ordnung, in der zwischen
zwei beliebigen Elementen h6chstens endlich viele Elemente aus A liegen. Umgekehrt ist
eine lineare Ordnung mit dieser Eigenschaft eine Nummerierung.
166 5 Berechenbarkeit
Aufgabe 5.5. Beweisen Sie, dass die Menge 77 der ganzen Zahlen abz~hlbar ist.
Aufgabe 5.6. Sei A eine abz~hlbare Menge und a ein Element mit a ~ A. Beweisen Sie,
dass A U {a} auch abz~hlbar ist.
Aufgabe 5.7. Seien A und B zwei abz~ihlbare Mengen. Beweisen Sie, dass A O B abz~hlbar
ist.
Das nS~chste Resul t at kann ein bisschen iiberraschend wirken. Wir beweisen,
dass die Mgchtigkeit der Menge Q+ der positiven rationalen Zahlen der Mgch-
tigkeit yon [IN[ entspricht. Dabei weiss man, dass die rationalen Zahlen sehr
dicht nebenei nander auf der reellen Achse liegen (zwischen beliebigen ratio-
nalen Zahlen a und bmi t a < b liegen unendlich viele rationale Zahlen c mit
der Eigenschaft a < c < b), und dass die nattirlichen Zahlen auf der reellen
Achse den Abst and 1 besitzen. Weil man die positiven rationalen Zahlen als P-
q
mit p, q E IN - {0} darstellen kann, w/irde man erwarten, dass I Q+I ungefS~hr
IIN x IN I ist, was nach ,,unendlich real unendlich" aussieht. In der endlichen
Welt wtirde man fiber den Vergleich von n 2 mit n sprechen. Trot zdem ist
IQ+I- I~1, w~il die Elemente aus IN x IN sich nummeri eren lassen. Die folgen-
de Met hode zur Nummeri erung yon rationalen Zahlen ist einfach und elegant
und findet auch Anwendung in der Theorie der Berechenbarkeit.
1 2 3 4 5 6
(1, 1) (1, 2) (1, 3) (1,4) (1, 5) (1, 6)
(2,1) (2,2) (2,3) (2,4) (2,5) (2,6)
(3, 1) (3, 2) (3, 3) (3, 4) (3, 5) (3, 6)
(4,1) (4,2) (4,3) (4,4) (4,5) (4,6)
(5,1) (5, 2) (5, 3) (5, 4) (5, 5) (5, 6)
(6,1) (6,2) (6,3) (6,4) (6,5) (6,6)
Fig. 5.2
Le mma 5.2. ( I N- { 0 } ) x ( I N- { 0 } ) i s t abziihlbar.
Beweis. Wir konstruieren eine unendliche Mat ri x M~ wie in Fig. 5.2.
Die Mat ri x hat unendlich viele Zeilen und unendlich viele Spalten, die durch
nattirliche Zahlen 1, 2, 3, . . . nummeri ert sind. An der Kreuzung der / - t en Zeile
und der j - t en SpaRe befindet sich das Element (i, j ) E ( I N- {0}) x ( I N- { 0 } ) .
Es ist offensichtlich, dass M~x ~ alle Elemente aus ( I N- {0}) x ( I N- {0})
enthglt.
5.2 Die Met hode der Di agonal i si erung 167
Der Versuch, die Elemente aus ( I N- {0}) x ( I N- {0}) so zu ordnen, dass man
mit den El ement en der ersten Zeile beginnt und danach die Elemente weiterer
Zeilen nummeri ert , muss scheitern, weil man wegen der Unendlichkeit der er-
sten Zeile hie zu der Nummeri erung der zweiten Zeile gelangt. Eine passende
M6glichkeit, die Elemente der Mat ri x M~ zu nummerieren, ist durch die
Zick-Zack-Linie in Fig. 5.3 gegeben. Auf diese Weise ni mmt man eine endliche
Nebendiagonale nach der anderen, und es ist offensichtlich, dass jedes Element
von M~ eine Nummer bekommt. Die resultierende Folge ist al = (1, 1),
a2 = (2, 1), a3 = (1, 2), a4 = (3, 1), a5 = (2, 2), a6 = (1, 3), a 7 : (4, 1), . . . .
1 2 3 4 5 6 . . -
Fig. 5.3
Formal definiert man dabei die lineare Ordnung
( a , b) < ( c , d) < = > a +b< c +dode r ( a +b= c +dundb< d) .
Die entsprechende Nummeri erung ist
f((a,b)) - (a + b-1)2
+b,
168 5 Berechenbarkeit
weil das El ement (a, b) das b-te El ement auf der ( a + b - 1)-sten Nebendi agona-
len ist und die Anzahl der El ement e auf den ersten a + b- 2 Nebendi agonal en
a+b-2K i (a+ b - 2 ) .(l + a+ b - 2 ) 2 ( a + b - 1 ) 2
i = 1
ist. Es ist offensichtlich, dass f eine Bijektion ist.
1 2 3 4 5 6 . . .
Fig. 5.4
Aufgabe 5.8. Um die Abz/~hlbarkeit der Menge (IN- {0}) (IN- {0}) zu beweisen, kann
man auch die Nummerierung aus Fig. 5.4 verwenden. Bestimmen Sie die entsprechende
injektive Abbildung yon (IN- {0}) (IN- {0})nach IN. Wie viele unterschiedliche injektive
Abbildungen von (IN- {0}) x (IN- {0}) nach IN gibt es?
Sat z 5. 2. Q+ ist abziihlbar.
t?eweis. Sei h folgende Abbi l dung von Q+ nach ( I N- { 0 } ) x ( I N- {0}) " h ( ~) -
(p, q) fiir alle p, q mi t dem gr6f3ten gemei nsamen Teller 1. Offensichtlich ist h
injektiv. Weil ( I N- {0}) x ( I N- {0}) nach Lemma 5.2 abz~thlbar ist, ist auch
Q+ abzghl bar. D
Aufgabe 5.9. In das voll besetzte undendliche Hilbert'sche Hotel kommen unendlich viele
unendlich grof3e Busse. Die Busse haben Nummern 1, 2, 3, .... Alle Busse sind voll besetzt
5.2 Die Met hode der Di agonal i si erung 169
und die Pl gt ze in j edem Bus haben die Nummer n 1, 2, 3, . . . . Kann der Pot t i er j et zt alle
unt erbri ngen?
Auf ga be 5. 10. Beweisen Sie, dass IN IN IN abzghl bar ist.
Auf ga be 5. 11. Seien A und B zwei abzghlbare Mengen. Beweisen Sie, dass A B eine
abzghlbare Menge ist.
Trotz ihrer Dichte auf der reellen Achse sind die positiven rationalen Zahlen
abzS~hlbar. Nach der Aussage yon Aufgabe 5.11 ist auch (Q+)i f/Jr jedes i E I N-
{0} abz~hlbar. Man k6nnte denken, dass alle unendlichen Mengen abz~hlbar
sind. Wir zeigen jetzt, dass die Menge IR der reellen Zahlen nicht abzS~hlbar
ist. Dazu reicht es zu zeigen, dass die Menge [0, 1] der reellen Zahlen gr6fier
gleich 0 und kleiner gleich 1 nicht abzghlbar ist. Also besitzt IR einen anderen,
h6heren Typ von Unendlichkeit als IN und Q+.
Sat z 5.3. [0, 1] ist ni cht abziihlbar.
Bewei s. Wir miissen zeigen, dass keine injektive Funktion von [0, 1] nach
I N- {0} existiert. Wir ffihren einen indirekten Beweis dieser Behauptung. Wir
setzen voraus, dass [0, 1] abzghlbar ist und dass f eine injektive Abbildung
von [0, 1] nach I N- {0} ist. Daher bestimmt f eine Nummerierung der rellen
Zahlen aus [0, 1] , die wir in Fig. 5.5 verdeutlichen k6nnen. Die i-te Zahl aus
[0, 1] ist ai = O. ai l ai 2 ai a. . . (d.h. f ( ai ) = i), wobei aij Ziffern aus {0, 1, 2 , . . . , 9}
ffir j = 1, 2, . . . sind.
f ( x) x C [0, 1]
0. ~- ] a12 a13 a14
0. a21 ~a ~ a23 a24
0. a31 a32 [ ~ a34
0. a41 a42 a43 I a44 I
O. al l ai2 ai3 ai4
Fig. 5.5
Jetzt wenden wir die sogenannte Di a gona l i s i e r ungs me t hode an, um zu zei-
gen, dass in der Tabelle in Fig. 5.5 mindestens eine reelle Zahl aus [0, 1] fehlt,
und daher f keine Nummerierung von [0, 1] ist. Die Auflistung der reellen
170 5 Berechenbarkeit
Zahlen in Fig. 5.5 kann man als unendliche Mat ri x M = [ ai j ] i =l , . . . , cc, j =l , . . . , cc in-
terpretieren. Wi r konstruieren jetzt eine reelle Zahl c = 0 . C L C 2 C 3 . . . so, dass
ci # aii und ci ~ {0, 9} fiir alle i E I N- {0}. Im Prinzip schauen wir
die Diagonale a 1 1 a 2 2 a 3 3 . . , von M an und wS~hlen fiir jedes i ein festes ci E
{ 1, 2, 3, 4, 5, 6, 7, 8} - aii. Dami t unterscheidet sich c yon jeder Darst el l ung ei-
ner reellen Zahl in Fig. 5.5 in mindestens einer Ziffer j , genauer, die Darst el l ung
von c unterscheidet sich vonde r Darst el l ung von a~ mindestens in der /-ten
Dezimalstelle hinter dem Punkt fiir alle i E I N- {0}. Well die Darst el l ung von
c keine 0 und 9 als Ziffer enthS~lt 6, ist sie eindeutig, und wir kSnnen schliefien,
dass c ~ ai fiir alle i E IN - {0}. Daher ist c nicht in Fig. 5.5 dargestellt und
f keine Nummeri erung von Zahlen aus [0, 1] . D
Wi r haben gezeigt, dass die Menge aller Turi ngmaschi nen (Algorithmen) auf-
z~hlbar ist. Um zu zeigen, dass es Probl eme gibt, die algorithmisch nicht 15sbar
sind, reicht es, die Nichtabzghlbarkeit der Menge aller Sprachen (Entschei-
dungsprobleme) fiber {0, 1} zu beweisen. Wi r beweisen dies auf zwei unter-
schiedliche ar t en. Zuerst zeigen wir I[0, 1] l _< I~-)((}-] ~bool)*)l und dann konstru-
ieren wir direkt mit der Di agonal i si erungsmet hode eine Sprache, die yon keiner
Turingmaschine akzeptiert wird.
Sat z 5. 4. ~((}-] ~bool)*) ist 7ticht abzahlbar.
B e we i s . Wi r zeigen, IP((Ebool)*)l _> I[0,111. Jede reelle Zahl aus [0, 1] kann man
binS~r wie folgt darstellen. Durch b = O . b l b 2 b 3 . . . mit bi E Ebod fiir i = 1, 2, 3, . . .
wird die Zahl
(ND
-
i=1
dargestellt. Wi r benut zen diese Darstellung, um folgende Abbi l dung f aus [0, 1]
in 79((Ebool) *) zu definieren. Fiir jede bin~tre Darst el l ung a = O . a l a 2 a 3 . . . einer
reellen Zahl aus [0, 1] ist
f ( a) - { a~, a2 a3, a 4 a s a 6 , . . . , a ( ~ ) + ~ a ( ~ ) + 2 . . . a( n+ ~) , . . . } .
Offensichtlich ist f ( a ) eine Sprache fiber Ebool, die genau ein Wort der LS~nge n
fiir alle n E IN - {0} enthglt. Deswegen fiihrt jeder Unterschied in einer Ziffer
zweier bingrer Darst el l ungen b und c zu f ( b ) # f ( c ) . Daher ist f injektiv und
7)((Ebool) *) nicht abzS~hlbar. D
6Man bemerke, dass 1.000 und 0.99w zwei unterschiedliche Darstellungen der gleichen Zahl
1 sind.
5 . 2 D i e M e t h o d e d e r D i a g o n a l i s i e r u n g 171
Kor ol l ar 5.1. IKodTM[ < Z)((~boo~)*)[ und somit existieren unendlich vide
nicht rekursiv abzShlbare Sprachen iiber 2bool.
Auf ga be 5. 12. Beweisen Sie [0, 1] l - P((Ebool)*) 9
W i r b e n u t z e n j e t z t d i e D i a g o n a l i s i e r u n g s m e t h o d e , u m e i n e k o n k r e t e n i c h t r e -
k u r s i v a b z / ~ h l b a r e S p r a c h e z u k o n s t r u i e r e n . S e i W l , w 2 , w 3 , . . . d i e k a n o n i -
s c h e O r d n u n g a l l e r W S r t e r f i b e r E b o o ~ , u n d s e i M 1 , M 2 , M 3 , . . . d i e F o l -
g e a l l e r T u r i n g m a s c h i n e n . W i r d e f i n i e r e n e i n e u n e n d l i c h e B o o l e ' s c h e M a t r i x
A = [ d i j ] i , j : l , . . . , o o (Fig. 5.6) mit
d i j - 1 r Mi akzeptiert Wj .
Damit best i mmt die i-te Zeile dildi2 di3.., der Matrix A die Sprache
L ( Mi ) - { wj [ di j - 1 fiir alle j E IN - {0}}.
Fig. 5.6
Wl W2 W3 9 9 9 Wi
M1 d~ d12 d13 9 .. dli
M2 d21 [d22[ d23 9 .. d2~
i i
M3 d31 d32 I
Mi dil di2 di3 . . .
Analog zum Beweis des Satzes 5.3, in dem wir eine reelle Zahl konstruieren,
die nicht in der Nummerierung in Fig. 5.5 enthalten ist, konstruieren wir jetzt
eine Sprache Ldiag , Di a gona l s pr a c he genannt, die keiner der Sprachen L ( Mi )
entspricht. Wir definieren
Ldiag {W E (}--]bool)* [ W - - Wi fiir ein i E IN - {0} und
Mi akzeptiert wi nicht}
{w E (Ebool)* [ w- wi ffir ein i E I N- {0} und di i - 0}.
Sat z 5.5. Ldiag ~ s
Beweis. Wir beweisen Ldiag ~ s indirekt. Sei Ldiag C s Dann ist Ldiag =
L ( M) fiir eine TM M. Weil M eine der Turingmaschinen in der Nummerierung
172 5 Berechenbarkeit
aller Tur i ngmaschi nen sein muss, exi st i ert ein i E I N- {0}, so dass M = Mi.
Aber Ldiag kann nicht gleich L( Mi) sein, weil
Wi E Ldiag r dii = 0 r wi ~ L( Mi).
Aufgabe 5.13. Betrachte die Sprache
L2diag : {W C (~bool)* I
w = w2i fiir ein i C I N- {0} und
Mi akzeptiert w2i nicht (di,2i = 0)}.
Beweisen Sie, dass L2aiag ~ LRE.
Aufgabe 5.14. Sei far jedes k E IN
Lk,diag = {W C (~bool)* I
w = wi+k fiir ein i C I N- {0} und
M~ akzeptiert w~+k nicht (d~,~+k = 0)}.
Beweisen Sie, dass Lk,diag ~ LRE fiir jedes k E ] hi.
5 . 3 Di e Me t h o d e de r Re du k t i o n
Die Met hode der Redukt i on ist die am hgufi gst en benut zt e Met hode zur Klassi-
fikation der Ent schei dungspr obl eme bezfiglich der al gori t hmi schen L6sbarkei t .
Die Idee ist sehr einfach. Sei A ein Probl em, ffir das wir bewei sen wollen, dass
es nicht al gori t hmi sch 16sbar ist. Wenn wi t j et zt ein Pr obl em B finden, von
dem schon bekannt ist, dass es nicht al gori t hmi sch 16sbar ist, aber die algo-
ri t hmi sche L6sbarkei t yon A die al gori t hmi sche LSsbarkei t von B i mpl i zi eren
wiirde, dann k6nnen wir schliefien, dass A nicht al gori t hmi sch 16sbar ist. Dieses
nennen wir eine Redukt i on von B auf A.
De f i ni t i on 5. 3. Seien L1 G E~ und L2 G E~ zwei Sprachen. Wi t sagen, dass
L1 a uf L2 r e k ur s i v r e duz i e r ba r i st , L1 ~R L2, falls
L2 E s ~ L1 E s
Die Bezei chnung
L1 ~R L2
5.3 Die Methode der Reduktion 173
entspricht der intuitiven Bedeutung, dass
,,L2 beziiglich der algorithmischen LSsbarkeit mindestens so schwer
wie L1 ist ",
denn wenn L2 algorithmisch 15sbar wS~re (d.h. L2 = L ( A) fiir einen Algorith-
mus A), dann wSze auch L1 algorithmisch 15sbar (d.h. L1 = L ( B) fiir einen
Algorithmus B).
Wir kennen bereits die Diagonalsprache Ldiag, yon der wir wissen, dass sie
nicht in Z2RE und somit auch nicht in Z2a liegt. Wir brauchen jetzt konkrete
Techniken fiir die Beweise von Resultaten der Art L1 _< a L2, um weitere nicht-
rekursive Sprachen zu finden. Wir stellen jetzt zwei solcher Techniken vor, die
der Definition der rekursiven Reduzierbarkeit entsprechen.
Die erste Technik wird EE-Redukt i on (Eingabe-zu-Eingabe-Reduktion) ge-
nannt. Das Schema der EE-Redukt i on ist in Fig. 5.7 dargestellt. Die Idee
ist, eine TM (einen Algorithmus) M zu finden, die ftir jede Eingabe x ftir das
Entscheidungsproblem (El, L1) eine Eingabe y ftir das Entscheidungsproblem
(E2, L2) konstruiert, so dass die L6sung des Problems (E2, L2) fiir y der L6sung
des Problems (El, L1) fiir x entspricht. Das bedeutet, wenn eine TM (ein AI-
gorithmus) A ftir (E2, L2) existiert, dann ist die Hintereinanderschaltung von
M und A eine TM (ein Algorithmus) fiir (El, L1).
Def i ni t i on 5.4. Seien L1 C_ E~, L2 C_ E~ zwei Sprachen. Wi t sagen, dass L1
auf L2 EE- r e du z i e r b a r 7 ist, L1 _< EE L2, wenn eine TM M existiert, die
eine Abbildung f M " E~ ~ E~ mit der Eigenschaft
X E L1 r fM( X) E L2
fiir alle x E E~ berechnet. Wir sagen auch, dass die TM M di e Spr a c h e L1
a u f di e Spr a c h e L2 r e du z i e r t .
Das ngchste Lemma besagt, dass die Relation ~EE ein Spezialfall der Relation
_<R ist, was bedeutet, dass es reicht, L1 _< EE L2 zu zeigen, um L1 _<R L2 zu
beweisen.
Le mma 5.3. Seien L1 C E~ L2 C_ E~ zwei Sprachen. Falls L1 _~EE L2 , dann
auch L1 <_a L2 .
7Die EE-Reduzierbarkeit wird in der englischsprachigen Literatur ,,many-one-reducibility"
genannt.
174 5 Berechenbarkeit
x EE*
1
TM Bmi t L( B) = L 1
TM M
M(x) '- TM A
~xE L1 r ( x)E L2 ~
Fig. 5.7
Beweis. Sei L1 _< EE L2. Um L1 _< a L2 zu beweisen, reicht es zu zeigen, dass
die Existenz eines Algorithmus A (einer TM A, die immer hglt), der (die)
L2 entscheidet (L2 E s die Existenz eines Algorithmus B sichert, der L1
entscheidet. Sei A eine TM, die immer htilt und L( A) = L2 . Die Voraussetzung
L1 _< EE L2 impliziert die Existenz einer TM M, die fiir jedes x E E~ ein
Wort M( x) E E~ mit der Eigenschaft x E L1 r M( x) E L2 berechnet. Wir
konstruieren eine TM B, die immer hglt und f/Jr die L( B) = L1 gilt. Die TM
B arbeitet auf einer Eingabe x E E1 wie folgt:
(i)
(ii)
B simuliert die Arbeit yon M auf x, bis auf dem Band das Wort M( x)
steht.
B simuliert die Arbeit yon A auf M( x).
Wenn A das Wort M( x) akzeptiert, dann akzeptiert B das Wort x.
Wenn A das Wort M( x) verwirft, dann verwirft B das Wort x.
Weil A immer htilt, htilt auch B immer und so L1 E /2R.
Auf gabe 5.15. Beweisen Sie, dass _< EE eine transitive Relation ist (d.h. beweisen Sie,
dass L1 _< EE L2 und L2 _< EE L3 => L1 _< EE L3).
Wir bemerken, dass die TM Bmi t L( B) = L1 die TM A als ein Teilprogramm
benutzt (Fig. 5.7), und zwar so, dass B die TM A fiir jede Eingabe einmal
laufen 15~sst und die Ausgabe yon A als eigene Ausgabe tibernimmt. Dies ist
aber eine unn6tige Einschrgnkung. Im Allgemeinen kann man B so bauen, dass
B die TM A mehrmals auf unterschiedlichen Eingaben aufruft und abhtingig
von den Resultaten der Arbeit von A die TM B die Entscheidung beztiglich
X E L1 trifft (Fig. 5.8).
Wir sind jetzt imstande, Beweise fiir Aussagen der Form L ~ s ftir konkrete
Sprachen zu ftihren. Wir fangen mit einer allgemeinen Bemerkung an, und
zwar, dass eine Sprache L in s ist genau dann, wenn das Komplement yon
L i n/ 2a ist.
5.3 Die Methode der Reduktion
-I ' I
TM B mi t L(B) - L1
y
- - I r a . .
TM A
L ( A) - L2
I I_
I-
x E L 1
x ~ L 1
175
Fig. 5.8
Le mma 5. 4. Sei E ein Alphabet. Fiir jede Sprache L C_ E* gilt:
L <RLO u n d L 0 <R L.
Beweis. Es reicht L c _< a L fiir jede Sprache L zu beweisen, weil (LC) 0 - L,
und daher impliziert L 0 _< R L ftir alle Sprachen L die Rel at i on (L0) 0 _< a L 0
(wenn man st at t L die Sprache L c in die Rel at i on L c _< R L einsetzt).
Sei A ein Al gori t hmus, der (L, E) entscheidet. Ein Al gori t hmus B, der L c
entscheidet, ist in Fig. 5.9 dargestellt. B iibergibt seine Ei ngabe x E E* als
Ei ngabe an A und invertiert dann die Ent schei dung von A.
In dem Formal i smus der Turi ngmaschi nen wird man einfach zu einer TM A -
(Q, E, F, 5, q0, qaccept, qreject), die i mmer hS~lt und L akzept i ert , folgende TM B -
l l l l
( Q , E F, 5 , qo q ~ c c ~ p t , qreject) mi t = - , ~ qaccept qreject, qreject qaccept bauen. Weil A
i mmer h~lt, ist es offensichtlich, das s / ? auch i mmer h~lt und L( B) - ( L ( A) ) O.
D
TM Bmi t L ( B) - L 0
x EE*
x E L
X
r TMA x ~ L
x E L ~
x ~ L ~
Fig. 5.9
Kor ol l a r 5. 2. (Ldi~g) 0 ~ /~R.
176 5 Berechenbarkeit
Beweis. Wir haben gezeigt, dass Ldiag ~ /~RE und damit auch Ldiag ~ /~R-
Nach Lemma 5.4 ist Ldiag ~R (Ldiag) If. Weil nach gemma 5.4 (Ldiag) C
s
E
auch Ldiag E /2R implizieren wiirde, kSnnen wir schliegen, dass (Ldiag) C ~ /2R.
D
Aus den bisher prS~sentierten Tatsachen kSnnen wir aber nicht schliegen, dass
(Ldiag) c @ s Das Gegenteil ist wahr, und somit beweisen wir Z;a C s
Le mma 5.5. (Ldiag) [I E s
Beweis. Nach der Definition yon Ldiag erhalten wir
(Ldiag) [I {x E (Y ] bool)* I falls x : w i f/Jr ein i E IN - {0},
dann akzeptiert Mi das Wort wi}.
Eine TM D, die (Ldiag) [I akzeptiert, kann wie folgt arbeiten.
Eingabe: ein x E (Ebool)*.
(i) Berechne i, so dass x das i-te Wort wi in der kanonischen Ordnung
fiber Ebool ist.
(ii) Generiere die Kodierung Kod(M~) der / - t en TM M~.
(iii) Simuliere die Berechnung yon Mi auf dem Wort wi = x.
Falls Mi da s Wort wi akzeptiert, dann akzeptiert D auch x.
Falls Mi das Wort wi verwirft (d.h. in qreject hglt), dann hglt D und
verwirft x = wi auch.
Falls M~ auf w~ unendlich lange arbeitet (d.h. w~ ~ L(M~)), simuliert
D die unendliche Arbeit yon Mi auf wi. Daher hS~lt D auf x nicht
und somit x ~ L( D).
Es ist offensichtlich, dass L ( D) - (Ldiag) C.
Kor ol l ar 5.3. (Ldiag) [I E / ~RE- /~R, und daher s C s
Im Folgenden prS~sentieren wir weitere Sprachen, die nicht rekursiv sind, aber
in 12RE liegen (Fig. 5.10).
Def i ni t i on 5.5. Die uni ver sel l e Spr ache ist die Sprache
Lu = { Kod( M) # w I w E (Ebool)* und M akzeptiert w}
5.3 Die Methode der Reduktion 177
Sat z 5.6. Es gibt eine TM U, uni ver sel l e TM genannt, so dass
L ( U) = Lu.
Daher gilt Lu E s
Beweis. Es reicht aus, eine 2-Band-TM U mit L ( U) = Lu zu konstruieren. U
kann wie folgt auf einer Eingabe z C {0, 1, r arbeiten.
(i)
(ii)
(iii)
(iv)
U iiberprfift, ob z genau ein r enthglt. Falls nicht, verwirft U das Wort
Z.
Sei z = y--#x mit y, z E (Ebool)*. U fiberpriift, ob y eine Kodierung einer
TM ist. Falls y keine TM kodiert, verwirft U die Eingabe y--#x.
Falls y = Kod( M) fiir eine TM M, schreibt U die Anfangskonfiguration
yon M auf x auf das Arbeitsband.
U simuliert schrittweise die Berechnung von M auf x wie folgt.
w h i l e der Zustand der Konfigurationen von M auf dem
Arbei t sband unterschiedlich yon %cc~pt und qr~j~ct ist
do simuliere einen Schritt von M auf dem Arbei t sband
{die Aktion, die zu silnulieren ist, kann U aus der
Kodierung Kod( M) auf dem Arbei t sband leicht ablesen}
od
i f der Zustand von Mi s t q~ccept
t hen U akzeptiert z = Kod(M)C/:x.
el s e U verwirft z = Kod(M)Cfix.
Man bemerke, dass eine unendliche Berechnung von M auf x eine unendliche
Berechnung von U auf Kod(M): #: z bedeutet und U deshalb in diesem Fall die
Eingabe Kod(M)CPx nicht akzeptiert. Somit ist L ( U) = gu. D
Was bedeutet eigentlich die Tatsache, dass Lu E/2a~,? Dies bedeutet die Exi-
stenz einer TM (eines Programmes) ohne Haltegarantie, die eine beliebige Tu-
ringmaschine auf einer gegebenen Eingabe simulieren kann. Dies ist aber eine
ganz natiirliche Forderung, die man als ein Axiom an jede formale Definiti-
on einer allgemeinen Algorithmenklasse stellt. Die Betriebssysteme mit ihren
Interpretern erfiillen gerade diese Aufgabe fiir die Programmi ersprachen als
Berechnungsmodelle. Es wS~re unzulgssig, einen Interpreter (ein Betriebssy-
stem) zu erstellen, der unfghig wgre, jedes syntaktisch korrekte Programm in
gegebener Programmi ersprache auf einer Eingabe laufen zu lassen.
Im Folgenden beweisen wir, dass Lu ~ s Die Bedeut ung dieser Behaupt ung
ist, dass man im Allgemeinen nicht das Resultat der Berechnung einer TM M
178 5 Berechenbarkeit
auf einer Eingabe z anders berechnen kann, als die Berechnung von M auf z zu
simulieren. Wenn aber M auf z unendlich lange arbeitet, wissen wir zu keinem
Zeitpunkt der Simulation, ob die Berechnung yon M auf z unendlich ist, oder
ob M in den nS~chsten Schritten halten und entscheiden wird. Deswegen k6nnen
wir in endlicher Zeit keine Entscheidung fiber die Zugeh6rigkeit yon z zu L(M)
treffen.
RE
~ ~ Ldiag
Fig. 5.10
Die folgenden Beweise basieren auf der Reduktionsmethode. Die meisten Be-
weise prgsentieren wir zweimal. Einmal anschaulich auf der Ebene von Algo-
rithmen als Programmen in irgendeiner Programmiersprache und das zweite
Mal im Formalismus der Turingmaschinen und der EE-Reduktion.
Sa t z 5 . 7. Lu ~ Z ;a .
Beweis. Es reicht zu zeigen, dass (Ldiag) C _~R Lu. Nach Korollar 5.2 gilt
(Ldiag) C ~ s und damit folgt Lu ~ s
Sei A ein Algorithmus (Programm), der Lu entscheidet. Wir bauen einen A1-
gorithmus B, der mit A als Teilprogramm die Sprache (Ldiag) C entscheidet.
Algorithmus/3 ist so strukturiert wie in Fig. 5.11 abgebildet. Ftir eine Einga-
be z E (Ebool)* berechnet das Teilprogramm C ein i, so dass z = wi, und die
Kodierung Kod(M~). Die W6rter Kod(M~) und z = w~ bekommt A als Ein-
gabe. Die Entscheidung ,,akzeptiere" oder ,,verwerfe" von A ffir Kod(M~)r
wird als das Resultat yon B fiir die Eingabe z iibernommen. Offensichtlich gilt
L( ~) -- (Ldiag) c uY ld ~ halt immer, weil A nach der Voraussetzung immer halt
und seine Entscheidung liefert.
Jetzt beweisen wir die Aussage in dem Formalismus der Turingmaschinen. Es
reicht zu beweisen, dass (Ldiag) C _< EE Lu. Wir beschreiben eine TM M, die
5.3 Die Met hode der Redukt i on 179
Algorithmus Bmi t L ( B ) - (Ldiag) C
3; E (}--] bool)*
X - - W i
A
--- C Kod( M~) L ( A ) - L u
, , . . -
w~ C L(M~) Wi E (Ldiag) [I
Wi ~ (Ldiag) C
Fig. 5.11
eine Abbildung fM yon (Y ] bool)* nach {0, 1, @}* berechnet, so dass
X E (Ldiag) C r f M( X ) E L U.
M arbeitet wie folgt. Ffir eine Eingabe x berechnet M zuerst ein i, so dass
x - wi. Danach berechnet M die Kodierung Kod(Mi) der / - t en TM. M h~lt
mit dem Inhalt Kod[Mi)@x auf dem Band. Weil x - wi, ist es nach der
Definition von (Ldiag) U offensichtlich, dass
3; -- Wi E (Ldiag) C e=~ Mi akzeptiert wi
Kod(M )#x E Lu.
Auf ga be 5. 16. Zeigen Sie, dass die folgende Sprache
{Kod( M) @ x@ 0 i x E {0, 1}*, i E IN, M hat mi ndest ens i + 1
Zust/~nde und w~hrend der Berechnung von
M auf x wird der i-te Zustand von M
mindestens einmal erreicht}
keine rekursive Sprache ist.
Wir sehen, dass eines der zentralen Probleme in der Theorie der Berechen-
bar ker stark mit dem Halten der Turingmaschinen (mit der Endlichkeit der
Berechnungen) zusammenhS~ngt. Ftir die Sprachen (Ldiag) C und Lu gibt es Tu-
ringmaschinen (Programme), die diese Sprachen akzeptieren, aber es gibt keine
Turingmaschinen, die (Ldiag) c und Lu entscheiden (d.h. keine unendlichen Be-
rechnungen machen). Deswegen betrachten wir jetzt das folgende Problem.
180 5 Berechenbarkeit
De f i n i t i o n 5 . 6. Das
({ 0, 1, r }*, LH), wobei
Ha l t e pr obl e m ist das Ents cheidungspro b lem
LH -- {Kod(M)Cpx I x E {0, 1}* und M hiilt auf x}.
Auf ga be 5. 17. Beweisen Sie, dass LH E s
Das folgende Resultat besagt, dass es keinen Algorithmus gibt, der testen kann,
ob ein gegebenes Programm immer terminiert.
Sa t z 5 . 8. LH ~ s
Beweis. Wir fiihren zuerst einen Beweis auf der Ebene yon Programmen. Wir
zeigen Lu _< a LH. Sei LH E s d.h. es existiert ein Algorithmus A, der LH
akzeptiert. Wir beschreiben jetzt einen Algorithmus B, der mit A als Teilpro-
gramm die Sprache Lu entscheidet (Fig. 5.12). B bekommt eine Eingabe w
und benutzt ein Teilprogramm C zum Testen, ob die Eingabe die Form yr
mit y = Kod(M) ftir eine TM M hat.
Falls nicht, dann verwirft B die Eingabe.
Falls w = Kod(M)Cpx, dann gibt B dem Teilprogramm A diese Eingabe.
Falls A ,,M hglt nicht auf x" antwortet, dann weit3 B, dass x ~ L ( M) und
verwirft die Eingabe Kod(M)Cpx.
Algorithmus B ftir Lu
I
i- i I
y m
Kod(Mj I M akzeptiert
. . . - .
x
A
L ( A) - LH
Kod(M)r
am.
M h~lt auf x U
M h~lt nicht auf x
y--/Cx ~ Lu
M verwirft x
/ -
Falls y keine giiltige Kodierung einer TM ist
y=/=/=x E L u
y # x ~ L u
Fig. 5.12
Falls A ,,M hS~lt auf x" antwortet, dann simuliert B im Teilprogramm U die
Arbeit yon M auf x. Weil M auf x eine endliche Berechnung hat, wird die
Simulation von U in endlicher Zeit realisiert.
5.3 Die Methode der Reduktion 181
Falls die Ausgabe yon U ,,M akzeptiert x" ist, dann akzeptiert B seine Eingabe
y # x = Kod( M) # x. Falls die Ausgabe yon U ,,M verwirft x" ist, dann verwirft
B die Eingabe Kod( M) # x. Offensichtlich gilt L ( B) = Lu und B halt immer.
Daher erhalten wir Lu E s und so gilt Lu _< a LH.
Wir beweisen jetzt Lu _< a LH in dem Formalismus der Turingmaschinen. Es
reicht zu zeigen, dass Lu GEE LH. Wir beschreiben eine TM M, die Lu auf LH
reduziert. Ffir eine Eingabe w arbeitet M wie folgt.
M iiberprfift, ob die Eingabe die Form w = Kod( M) # x ffir eine TM M und
ein x E (Ebool)* hat.
(i)
(ii)
Falls w diese Form nicht hat, generiert M eine Kodierung Kod(M1) einer
TM M1, die fiir jede Eingabe in einer endlosen Schleife im Zustand q0
lguft ((~(qo, a) = (q0, a, N) f/Jr alle a E {0, 1}). Dann halt M mit dem
Bandinhalt M( w) = Kod( M1) #x.
Falls w = Kod( M) # x, dann modifiziert M die Kodierung der TM M zu
folgender TM M2 mit L(M2 ) = L( M). M2 arbeitet genau wie M, nur
dass alle Transitionen zum Zustand qr~j~ct von M zu einem neuen Zu-
stand p umgeleitet werden, in dem M2 fiir jede Eingabe in einer endlosen
Schleife lauft. Daher macht M2 ffir jede Eingabe y ~ L( M) = L(M2 ) ei-
ne unendliche Berechnung. M beendet seine Arbeit mit dem Bandinhalt
M( w) = Kod( M2) #x.
Wir beweisen jetzt fiir alle w E {0, 1, #}*, dass
w E Lu 4=> M(w) E LH.
Sei w E Lu. Daher ist w = Kod( M) # x fiir eine TM M und ein Wort x E
{0, 1}* und x E L( M). Dann ist M( w) - Kod( M2) ~x mit L(M2 ) - L( M) ein
Wort in LH.
Sei w ~ Lu. Wir unterscheiden zwei M6glichkeiten. Wenn w nicht die Form
Kod( M) # x fiir eine TM M hat, dann ist M( w) = Kod( M1) #x, wobei M1 auf
keiner Eingabe halt. Daher ist M( w) nicht in LH. Wenn w die Form Kod( M) # x
fiir eine TM M hat und Kod( M) # x ~ Lu, bedeutet das, dass x ~ L( M). In
diesem Fall ist aber M( w) = Kod( M2) #x, wobei M2 auf keiner Eingabe aus
(Eboo~)* -- L( M) halt. Weil x ~ L( M), gilt Kod( M) # x ~ LH.
Aufgabe 5.18. Beweisen Sie die folgenden Aussagen:
(i) Lu _< a (Ldi~g) c,
( i i ) LH _~R (ndiag) C,
182 5 Berechenbarkeit
(iii) Ldiag < a Lu,
(iv) (Ldiag) C _<R LH,
(V) LH < a LU.
Betrachten wir jetzt die Sprache
Lempty
{ K od( M) [ L ( M) = 0},
die die Kodierungen aller Turingmaschinen enth~lt, die die leere Menge (kein
Wort) akzeptieren. Offensichtlich ist
(Lempty) C- {X E (}--] bool)* I
x -r Kod( M) fttr alle TM M oder
x = Kod( M) und L( M) =/= 0}
Le mma 5. 6. (Lempty) C E /2RE.
Beweis. Wir fiihren zwei unterschiedliche Beweise f/Jr (Lempty) c E s Im
ersten Beweis zeigen wir, dass es ntitzlich ist, dass Modell der nichtdetermi-
nistischen Turingmaschinen zur Verfiigung zu haben. Der zweite Beweis zeigt,
wie man die Ideen aus der Mengenlehre, speziell aus dem Beweis [ I N[ - [Q+[,
in der Theorie der Berechenbarkeit anwenden kann.
Weil f~r jede NTM 3/1 eine TM M2 existiert, so dass L(M~) : L(M2 ), reicht
es zu zeigen, dass eine NTM M1 mit L( M, ) - (Lempty) C existiert. M, arbeitet
auf einer Eingabe x wie folgt.
(i)
(ii)
(iii)
M, tiberpriift deterministisch, ob x = Kod( M) ftir eine TM M.
Falls x keine TM kodiert, akzeptiert M, das Wort x.
Falls x = Kod( M) fttr eine TM M, wghlt M, nichtdeterministisch ein
Wort y E (2bool)* und simuliert deterministisch die Berechnung von M
auf y.
Falls M das Wort y akzeptiert (d.h. L( M) =/= 0), so akzeptiert M1 die
Eingabe x = Kod( M) .
Falls M das Wort y verwirft, akzeptiert M1 in diesem Lauf die Eingabe
x nicht.
Falls die Berechnung von M auf y unendlich ist, rechnet M1 auch in
diesem Lauf auf x unendlich lange und akzeptiert so dass Wort x =
Kod( M) in diesem Lauf nicht.
Nach Schritt (i) akzeptiert M1 alle W6rter, die keine TM kodieren.
5.3 Die Methode der Reduktion 183
Falls z = Kod( M) und L(M) r O, dann existiert ein Wort y mit y E L(M).
Deswegen existiert eine Berechnung yon M1 auf z = Kod( M) , in der z akzep-
tiert wird.
Falls z E Lempty, dann existiert keine akzeptierende Berechnung von M1 auf z,
und so schliefien wir, dass L(M1) -- (Lempty) C.
Im zweiten Beweis von (Lempty) C E s konstruieren wir direkt eine (determi-
nistische) TM A, die (Lempty) C akzeptiert. A arbeitet auf einer Eingabe w wie
folgt.
(i)
(ii)
Falls w keine Kodierung einer Turingmaschine ist, so akzeptiert A die
Eingabe w.
Falls w = Kod( M) f/Jr eine TM M, arbeitet A wie folgt.
A konstruiert systematisch (in der Reihenfolge aus Fig. 5.3 oder Fig. 5.4)
alle Paare (i, j ) E ( I N- {0}) ( I N- {0}). Fiir jedes Paar (i, j ) generiert
A das i-te Wort wi fiber dem Ei ngabeal phabet der TM M und simuliert
j Berechnungsschritte von M auf wi.
Falls ftir ein (k, l) die TM M das Wort wk in 1 Schritten akzeptiert, hglt A
und akzeptiert seine Eingabe w = Kod( M) . Sonst arbeitet A unendlich
lange und akzeptiert damit die Eingabe w nicht.
Der Kernpunkt der Beweisidee ist, dass wenn ein Wort y mit y E L(M) exi-
stiert, dann ist y = w~ ftir ein k E I N- {0} und die akzeptierende Berechnung
von Ma uf y hat eine endliche LS~nge 1. Damit garantiert die systematische
0berpri i fung aller Paare (i, j ) in Phase (ii) der Arbeit von A das Akzeptieren
yon Kod( M) , falls L(M) r O. Somit ist L(A) - (Lempty) C. [-I
Im Folgenden zeigen wir, dass (Lempty) [I ~ s Dies entspricht der Nichtexi-
stenz eines Algorithmus zur fJberprtifung, ob ein gegebenes Programm eine
leere Menge akzeptiert. Daher k6nnen wir im Allgemeinen nicht die Korrekt-
heit von Programmen testen. Dies geht sogar in den FS~llen nicht, in denen es
sich um triviale Aufgabenstellungen handelt (z.B. eine konstante Funktion zu
berechnen).
Le mma 5.7. (Lempty)C @ s
Beweis. Wir zeigen Lu ~EE (Lempty) c. Wir beschreiben jetzt eine TM A, die
Lu auf (Lempty) C reduziert (Fig. 5.13). Fiir jede Eingabe x E {0, 1, r arbeitet
A wie folgt.
(i) Falls x nicht die Form Kod( M) # w fiir eine TM M und ein w E (Y ] bool)*
184 5 Berechenbarkeit
(ii)
hat, dann schreibt A das Wort A( x) : Kod(Bx) auf das Band, wobei
/?x eine TM ist, die fiber Ebool arbeitet und die leere Menge 0 akzeptiert
( L( Bx) = 0 ) .
Falls x - Kod(M)Cpw fiir eine TM M und ein Wort w e (Eboo~)*, gene-
riert A die Kodierung Kod(Bx) einer TM Bx als seine Ausgabe. Die TM
Bx arbeitet f/Jr jede Eingabe y (unabhS~ngig von dem Inhalt der eigenen
Eingabe y) wie folgt.
(a) Bx generiert x = Kod( M) # w auf dem Band.
{Das Wort x kann durch die ZustS~nde und die ~-Funktion von Bx
beschrieben werden}.
(b) Bx simuliert die Arbeit yon M auf w.
Falls M das Wort w akzeptiert, akzeptiert Bx seine Eingabe y.
Falls M das Wort w verwirft, verwirR Bx seine Eingabe y.
Falls M auf w nicht hS~lt, dann arbeitet auch Bx unendlich lange.
Folglich akzeptiert Bx seine Eingabe y nicht.
Wi r beweisen jetzt, dass
X E L U ~=} A( x ) - Kod(J~x) E (Lempty) C
ftir alle x E {0, 1, r
Sei x E Lu. Daher x - Kod( M) # w fiir eine TM M und w E L ( M) . In diesem
Fall L ( Bx) - (Eboo~)* r 0 und somit Kod(Bx) E (Lempty) C.
Sei x ~ Lu. Dann hat x entweder nicht die Form Kod( M' ) f pz ftir eine TM M'
und ein z E {0, 1}* oder x - Kod(M)Cpw ftir eine TM M und w ~ L ( M) . In
beiden Fgllen gilt L ( Bx) - 0 und somit Kod(Bx) ~ (Lempty) c. [-I
I
K ~ A i
Kod(Bx)
TM E
L( E) --
(Lempty) C
L(Bx)~=O
L( Bx) - 0
M akzeptiert w
D.
M akzeptiert w nicht
p.
Fig. 5.13
Kor ol l a r 5.4. Lempty @ /2R.
Beweis. Wenn Lempty C s wS~re, m/isste nach Lemma 5.4 auch (Lempty) C C s
sein. D
5.4 Satz yon Rice 185
A u f g a b e 5 . 1 9. * Beweisen Sie, dass die folgenden Sprachen nicht in ERE sind:
(a) Lempty~
(b) (LH) C und
(c) (Lu) C.
Die nS~chste Folgerung aus Lemma 5.7 ist, dass das Aquivalenzproblem f/Jr zwei
Turingmaschinen unentscheidbar ist. Man kann also kein Programm entwerfen,
das ffir zwei gegebene Programme testen kann, ob die Programme das gleiche
Problem 16sen (die gleiche semantische Bedeutung haben).
Kor ol l ar 5.5. Die Sprache LEQ = {K od( M)#K od( M)] L( M) = L ( M) } ist
nicht entscheidbar (d.h. LEQ ~ s
Beweis. Die Beweisidee ist einfach, weil Lempty als ein Spezialfall von LEQ be-
trachtet werden kann. Formal reicht es zu zeigen, dass Lempty _~EE LEQ. Es ist
einfach, eine TM A zu konstruieren, die ffir eine Eingabe Kod(M) die Ausgabe
Kod( M) # Kod( C) generiert, wobei C eine feste triviale TM mit L( C) = 0 ist.
Es ist klar, dass
Kod( M) # Kod( C) E LEQ r L ( M) : L ( C ) : 0 r Kod(M) E Lempty.
A u f g a b e 5.20. Beweisen Sie, dass die Sprache {Kod(M)#Kod(M) I L(M) c_ L(M')}
nicht in s ist.
5 . 4 Sa t z y o n Ri c e
Im letzten Abschnitt haben wir festgestellt, dass das Testen von Programmen
ein sehr schweres Problem ist. Fiir ein Programm A und eine Eingabe des
Programmes z ist es unentscheidbar, ob A auf x terminiert. Daher k6nnen wir
Programme nicht algorithmisch testen, um zu verifizieren, ob ein gegebenes
Programm fiir jede Eingabe terminiert (einem Algorithmus entspricht). Das
triviale Entscheidungsproblem, ob ein gegebenes Programm keine Eingabe ak-
zeptiert (ob L( M) = 0 fiir eine TM M) ist auch unentscheidbar. Dies 15~sst
uns ahnen, dass es nicht viele Testprobleme fiber Programmen gibt, die ent-
scheidbar sind. Die Zielsetzung dieses Abschnittes ist zu zeigen, dass alle in
gewissem Sinne nichttrivialen Probleme fiber Programmen (Turingmaschinen)
186 5 Berechenbarkeit
unentscheidbar sind. Was mit dem Begriff nichttrivial gemeint ist, spezifiert
die folgende Definition.
De f i n i t i o n 5.7. Eine Sprache L c_ {Kod(M) I M ist eine TM} heiflt s e -
ma n t i s c h n i c h t t r i vi a l e s En t s c h e i d u n g s p r o b l e m f i b e r Tu r i n g ma s c h i -
n e n , falls folgende Bedingungen gelten:
(ii)
# ii)
Es gibt eine TM M1, so dass Kod(M1) E L (daher L 5r 0),
Es gibt eine TM 51 2 , so dass Kod(M2) ~ L (daher enthglt L nicht die
Kodierungen aller Turingmaschinen),
fiir zwei Turingmaschinen A und B impliziert L( A) = L ( B)
Kod( d) e n r Kod(B) e n.
Bevor wir zum Beweis der Unentscheidbarkeit semantisch nichttrivialer Ent-
scheidungsprobleme iibergehen, betrachten wir aus technischen Griinden noch
die folgende Sprache
LH,a -- {Kod(M) I M hglt auf A}
als ein spezifisches Halteproblem.
L e mma 5.8. LH,A ~ /~R-
Beweis. Wir zeigen LH ~EE LH,~. Eine TM A kann LH auf LH,~ wie folgt
reduzieren. Ffir eine Eingabe x, die nicht die Form Kod( M) # w hat, generiert
A eine einfache TM Hx, die auf jeder Eingabe unendlich lguft. Falls x =
Kod( M) # w fiir eine TM M und ein Wort w, generiert A eine Kodierung
Kod(Hx) einer TM Hx, die wie folgt arbeitet:
1. Ohne die eigene Eingabe y anzuschauen, generiert die TM Hx das Wort
x = Kod( M) # w auf dem Band.
2 . Hx simuliert die Berechnung yon M auf w. Fails M auf w hglt, dann hglt
H, auch und akzeptiert die eigene Eingabe. Falls die Berechnung von M auf
w unendlich ist, dann arbeitet Hx auch unendlich lange.
Offensichtlich
x ELH <=> x = Kod( M) # wundMhgl t a uf w
r H, hglt immer (fiir jede eigene Eingabe y)
Hx hglt auf A
<=> Kod(Hx) E LH,~
fiir jedes z E {0, 1, #}*.
5.4 Satz yon Rice 187
S a t z 5 . 9 . * S a t z v o n Ri c e
Jedes semantisch nichttriviale Entscheidungsproblem iiber Turingmaschinen ist
unentscheidbar.
Beweis. Sei L ein beliebiges semantisch nichttriviales Entscheidungsproblem
fiber Turingmaschinen. Wir zeigen entweder LH,a _< EE L oder LH,a _< EE L c.
Sei M0 eine TM mit der Eigenschaft, dass L( Mo) - O. Wir unterscheiden jetzt
zwei MSglichkeiten beziiglich der ZugehSrigkeit von Kod(M0) zu L"
I. Sei Kod(Mo) E L. In diesem Fall beweisen wir
LH,,~ _~EE L C.
Nach (ii) von Definition 5.7 existiert eine TM M, so dass Kod( M) ~ L. Wir
beschreiben jetzt die Arbeit einer TM S, die LH,~ auf L c reduziert. Fiir jede
Eingabe x E (Ebool)* berechnet S
(i) entweder S( x) = Kod( M' ) mit L ( M' ) = L( Mo) = 0 (wenn x ~ LH,a),
also Kod( M' ) ~ L c.
(ii) oder S( x) = Kod( M' ) mi t L ( M' ) = L ( M) (wenn x E LH,a), also
Kod( M' ) E L c.
S fiihrt die Berechnung auf folgende Weise durch (Fig. 5.14):
Eingabe: ein z E (Ebool)*.
1. S iiberpriift, ob z = Kod( M) fiir eine TM M. Falls z keine Kodierung
einer TM ist, schreibt S das Wort S(z) = Kod(M0) auf das Band (Fig.
5.14).
2. Falls x = Kod( M) fiir eine TM M, dann generiert S die Kodierung
Kod( M ~) einer TM M ~, die wie folgt arbeitet.
(a) Das Eingabealphabet vom M ~ ist E~ also das Eingabealphabet der
TM M mit Kod( M) ~ L, d.h. Kod( M) E L C.
(b) Fiir jedes y E ( r V ) * generiert M' das Wort x = Kod( M) auf dem
Band hinter y (also wird y dabei nicht iiberschrieben) und simuliert
die Berechnung yon M auf A.
Falls M auf A nicht halt (d.h. Kod( M) r LH,a), dann halt auch M'
auf y nicht, und deshalb y r L ( M' ) .
{Weft diese Simulation der Berechnung yon M auf A unabhS~ngig yon
der Eingabe y yon M' 15~uft, ist L ( M' ) = 0 = L( Mo) und damit
Kod( M' ) E L, also Kod( M' ) r LC.}
188 5 Berechenbarkeit
Falls M auf A h~lt (d.h. Kod( M) E LH,~), dann generiert M' die
Kodierung Kod( M) der TM M auf dem Band. Dann simuliert M'
die Arbeit yon M auf der eigenen Eingabe y E (E~)*. M ~ akzeptiert
y genau dann, wenn M das Wort y akzeptiert.
{Damit L( M' ) = L(M)und daher Kod( M' ) ~ L, also Kod( M' ) E
Lc . }
Wi r sehen, dass (Fig. 5.14)
x E LH,,X ~=} S(X) E L c
fiir alle x E (Ebool)* und somit
LH,~ ~EE LC.
II. Sei Kod(Mo) r L.
Nach Bedingung (i) der Definition 5.7 muss eine TM f / existieren, so dass
Kod( M) E L. Jetzt kann auf die gleiche Weise LH,~ < EEL bewiesen werden
L c
wie LH,~ _< EE in Teil I bewiesen wurde, f / s pi e l t dabei die Rolle von M.
Aufgabe 5.21. Fiihren Sie einen detaillierten Beweis von LH,X _<EE L, falls Kod(M0) r L.
Der Satz von Rice hat folgende Konsequenz. Sei L eine beliebige rekursive
Sprache und sei
KodL- {Kod( M) [ Mi s t eine TM und L( M)- L}
die Sprache der Kodierungen aller Turingmaschinen, die die Sprache L akzep-
tieren. Weil L rekursiv ist, ist Kod/ ~ 0. Offensichtlich existieren Turingma-
schinen, deren Kodierung nicht in KodL ist, und Kod/ erffillt die Bedingung
(iii) von Definition 5.7. Damit ist KodL ein semantisch nichttriviales Problem
fiber Turingmaschinen, und nach dem Satz yon Rice ist KodL ~ s Dies be-
deutet, dass wir fiir kein algorithmisch lasbares Problem algorithmisch testen
kannen, ob ein entworfener Algorithmus eine korrekte Lasung des Problems
ist. Die Verifikation von Programmen ist also eine schwere Aufgabe, und des-
wegen ist ein gut st rukt uri ert er und modularer Ent wurf von Programmen so
wichtig fiir die Zuverl~ssigkeit des entstehenden Softwareproduktes.
Aufgabe 5.22. Beweisen Sie die folgende Aussage. Sei E ein Alphabet und sei L c_ E*.
L, L c E ERE <=> L E s
5.4 Satz yon Rice
eine TM fiir LH,~
x ist keine Ko-
dierung einer TM
9 e {0, 1}*
x
S
falls x - Kod( M) fiir eine TM M,
dann generiert S eine TM M ~.
M ~ simuliert M auf A.
Falls M auf ~ h~lt,
simuliert M ~ die Arbeit yon M
auf eigener Eingabe.
189
S( x ) - Kod(Mo)
{Mo ~ L C}
S( x ) - Kod( M' )
{ L( M' ) - 0 - L ( Mo) wenn
M auf A nicht h~ilt}
{ L( M' ) - L ( M) mit
Kod( M) E L C
wenn M auf A hSJt.}
eine TM, die
L C akzeptiert
JA
S( x ) C L C
NEIN
S(x) ~ L c
M h~lt auf A M h~lt nicht auf ~.
Fig. 5.14
190 5 Berechenbarkeit
5 . 5 Da s Pos t 's c h e K or r e s pon de n z pr ob l e m
In den letzten Abschnitten haben wir gezeigt, dass fast alle Probleme fiber Tu-
ringmaschinen (Programmen) unentscheidbar sind. Eine berechtigte Frage ist
aber, ob man auch natiirliche unentscheidbare Probleme aui3erhalb der Welt
der Turingmaschinen hat. Die Antwort auf diese Frage ist positiv, und die
Zielsetzung dieses Abschnittes ist zu zeigen, wie man mit der HiKe von Reduk-
tionen die Beweise der Unentscheidbarkeit aus der Welt der Turingmaschinen
in die Welt der Spiele iibertragen kann.
Xl
Y l
X2
Y2
Xn
Y ft
Fig. 5.15
Wir betrachten jetzt folgendes Dominospiel. Man hat eine endliche Menge von
Dominosteinen (Fig. 5.15), wobei ein Dominosteintyp immer ein Paar (z, y)
ist, wobei z und y WSrter fiber einem gleichen Alphabet E sind. Von jedem
Dominosteintyp stehen beliebig viele s Dominosteine zur Verffigung. Die Frage
ist, ob es m6glich ist, einige Steine nebeneinander so zusammenzusetzen, dass
oben (durch das erste Element der Paare bestimmt) das gleiche Wort wie unten
(durch das zweite Element der Paare bestimmt) steht. Veranschaulichen wir
uns das am folgenden Beispiel.
Seien 8 1 - - (1, @0), s2 -- (0, 01), s3 -- (@0, 0), 8 4 - - (01@, @) die Domino-
steintypen eines Dominospieles fiber {0, 1, @}. Die graphische Darstellung der
Dominosteintypen s l, s2, s3 und s4 ist in Fig. 5.16 gegeben.
#o 01
#o 01@
#
81 82 83 84
Fig. 5.16
SUnendlich vide.
5.5 Das Post' sche Korrespondenzproblem 191
Dieses Dominospiel hat eine L6sung, und zwar die Folge s2, 81, 83, 82, 84. Mit
dieser Folge bekommen wir die Darstellung des Wortes 01#0001# (Fig. 5.17
und 5.18).
Fig. 5.17
01 #0
#0
01
01#
#
82 81 83 82 84
o # o o ] o
1 #
#
82 81 83 82 84
Fig. 5.18
Ftir das Dominospiel 81 = (00,001), S2 = (0,001), Sa = (1, 11) gibt es keine
L6sung, weil alle zweiten Elemente der Dominosteintypen lgnger sind als die
entsprechenden ersten Elemente.
Dieses Dominospiel nennt man das Post' sche Korrespondenzproblem, und seine
formMe Definition Ms Entscheidungsproblem ist wie folgt.
Def i ni t i on 5.8. Sei E ei n Al phabet . Ei ne I ns t anz des Pos t ' s c he n Kor -
r e s ponde nz pr obl e ms iiber E i st ei n P aar ( A, B) , wobei A = Wl, . . . , wk,
t? = x ~ , . . . , x k f i i r ei n k E I N - {0}, w~,x~ E E* f i i r i = 1 , . . . , k. Fi i r j edes
i E { 1 , . . . , k} wi rd ( wi, xi ) ei n Domi nos t e i nt yp genannt .
Wi t sagen, dass die I ns t anz ( A, B) des P o s t ' s c he n K o r r es po ndenz pr o bl ems ei ne
LSsung hat, f al l s m E IN - { 0 } und i~, i 2 , . . . , i,~ E IN - { 0 } cxi st i eren, so dass
Wi 1 Wi 2 9 . . Wi m ~ X i l X i 2 9 . . X i m.
Das Pos t ' s che Kor r e s ponde nz pr obl e m ( PKP) i st zu ent schei den, ob ei ne
gegebene I ns t anz von PKP ei ne L Ss ung hat oder ni cht .
192 5 Berechenbarkeit
Le mma 5.9. Falls eine Instanz ( A, B) des PKP eine LSsung hat, dann hat
( A, B) unendlich viele LSsungen.
Beweis. Falls il, i 2, . . . , ik eine L6sung des Instanz (A, B) ist, dann ist auch
(il, i 2, . . . , i~) j eine L6sung fiir jedes j E I N- {0}. D
A u f g a b e 5.23. Definieren Sie das PKP als ein Entscheidungsproblem
(LpKp, Ebool) fiir eine Sprache LpKp C_(Ebool)*. Beweisen Sie LpKp C L;RE.
A u f g a b e 5 . 24. Beweisen Sie, dass die Instanz ((10,011,101), ( 1 01 , 11,011)) des PKP keine
LSsung hat.
A u f g a b e 5 . 25 . Hat die Instanz ((1, 1110111, 101), (111, 1110, 01)) des PKP eine LSsung?
Unser Ziel ist es zu zeigen, dass das PKP unent schei dbar ist. Die Idee des Be-
weises basiert auf der Tatsache, dass unser Dominospiel gentigende
Ausdrucksstgrke hat, um Berechnungen von Turingmaschinen simulieren zu
kSnnen. Aus rein technischen Grfinden bet racht en wir zuerst eine Spezialform
des P KP, bei dem das Dominospiel immer mit dem ersten Domi nost ei nt yp
anfangen muss.
Def i ni t i on 5.9. Sei E ein Alphabet. Eine I ns t a nz des modi f i z i e r t e n Pos t ' -
s chen Kor r e s ponde nz pr obl e ms iiber E ist ein Paar (C, D), wobei C =
u l , . . . , u k , D- v l , . . . , v k fiir ein k E I N - {0}, ui, vi E E* fiir i - 1 , . . . , k .
Wir sagen, dass die Instanz (C, D) des modifizierten Post' schen Korrespon-
denzproblems eine LSs ung hat, falls m E IN und j l , j 2 , . . . , j , ~ E I N - {0}
existieren, so dass
' l t l Uj l Uj 2 9 9 9 Uj m - - Vl Vj l Vj 2 9 9 9 Vi m"
Das modi f i zi er t e Pos t ' s c he Kor r e s ponde nz pr obl e m ( MPKP) ist zu
entscheiden, ob eine gegebene Instanz des MPKP iiber einem beliebigen E eine
LSsung hat.
Bet racht en wir folgende Instanz ( A, B) des PKP. Seien A = 0, 11, 1, B =
001, 1, 11, d.h. S 1 ---- ( 0 , 0 0 1 ) , s2 = (11, 1) und s3 = (1, 11). Offensichtlich
ist s2 sa eine L6sung des PKP. Wenn wir (A, B) als eine Instanz des MPKP
betrachten, dann stellen wir fest, dass (A, B) keine LSsung hat. Dies bedeut et ,
dass es fiir ein gegebenes Dominospiel (A, B) wichtig ist, ob (A, B) als eine
Instanz des P KP oder des MPKP zu bet racht en ist.
A u f g a b e 5 . 26. Beweisen
MPKP keine LSsung hat.
Sie, dass die Instanz ((0, 11, 1), (001, 1, 11)) des
5.5 Das Post'sche Korrespondenzproblem 193
Le mma 5.10. Falls das PKP ent schei dbar ist, dann ist auch das MPKP ent-
scheidbar.
Beweis. Sei (A, B) eine Instanz des MPKP. Wir konstruieren eine Instanz
(C, D) des PKP, so dass
MPKP (A, B) hat eine LOsung <=> PKP (C, D) hat eine LOsung.
Sei A = Wl , . . . , wk , B = X l , . . . , x k , k E IN {0}, Wi , & E E* fiir i = 1 , . . . , k
und ein Alphabet E. Sei r ~ E. Wir konstruieren eine Instanz (6', D) des PKP
fiber dem Alphabet E~ = E U {r $}.
Zuerst definieren wir zwei Homomorphismen hL und ha von E* nach E~ wie
folgt. Fiir alle a E E ist
h~( a) - - Ca ~ n d h~( a) - ar
Wir sehen, dass hL das Symbol r links neben jeden Buchstaben setzt und hR
das Symbol r rechts neben jeden Buchstaben setzt. Z.B. ist fiir das Wort 0110
hL(0110) = r162162162 und ha(0110) = 0r162162162
Wir setzen C = yl , y2, . . . , yk+2 und D = Zl, Z2, . . . , zk+2, wobei
Yl - - Ch R( Wl ) Z l - - h L ( Xl )
Y 2 - h R( Wl ) Z 2 - h L ( Xl )
9 o
9 o
Yi d- 1 hR(Wi) Zid-1 hL(Xi)
9 o
9 o
Yk-bl hR(Wk) Zk-bl hL(Xk)
y~+2 $ zk+2 r
Zum Beispiel ist fiir die Instanz ((0, 11, 1), (001, 1, 11)) des MPKP die entspre-
chende Instanz des P KP
((r162 or 1r162 1r $), (r162162 r162162 r r162 r
Es ist offensichtlich, dass eine TM (ein Algorithmus) die Konstruktion von
(6', D) aus (A, B) realisieren kann. Es bleibt also zu zeigen, dass entweder bei-
de MPKP( A, B) und PKP( C, D) LSsungen besitzen oder beide keine LSsung
haben.
194 5 Berechenbarkei t
1. Zuerst beweisen wir, dass man aus jeder LSsung fiir MPKP( A, B) eine
L6sung ftir PKP( C, D) bestimmen kann. Sei i l , i 2 , . . . , i m eine L6sung fiir
MPKP( A, B). Daher ist
U ~ Wl Wi l Wi 2 . . . Wi r e ~ X l X i l X i 2 . . . X i m.
Die entsprechende Indexfolge 2, il + 1, i2 + 1, . . . , i,~ + 1 fiir PKP( C, D) ent-
spricht der Anwendung yon ha auf Wl wi~ wi~. . , wi,~ und hL auf Xl Xil xi ~. . , xi,~.
Damit ist
C h R ( U) = C Y2 Yi ~ + I . . . Yi ~ + l = z 2 Zi l + l . . . Zi m+ l r = hL(U)r
Daher unterscheiden sich
ha(u) = Y ~Y ~I+I.-- y~+l und hL(u) = z~z~l+l.-- z~+l
nur in dem ersten Symbol r und dem letzten Symbol r Weil in der Kon-
struktion Yx = r und Zx = z2, ersetzen wir den ersten Index 2 durch 1. So
bekommen wir die Folge 1, i l + 1, i2 + 1, . . . , i m+ 1, fiir die
Yl Yi l + l Yi 2 + I . . . Yi ~ + l = Z1 Zi l + l Zi 2 + l . . . Zi m+ l ~
gilt. Um eine L6sung des PKP zu erhalten, konkatenieren wir von rechts den
(k + 2)-ten Dominostein (r r Damit gilt
Yl Yi l + l Yi 2 + I 9 9 9 Yi . ~ + l Yk + 2 - - Z1 Zi l + I Zi 2 + I 9 9 9 Zi m+ l Zk + 2
und damit ist 1, il + 1, i2 + 1, . . . , i,~ + 1, k + 2 eine L6sung von PKP( C, D).
2. Wir miissen noch beweisen, dass die Existenz einer L6sung fiir PKP (C, D)
die Existenz einer L6sung fiir MPKP( A, B) impliziert. Zuerst bemerken wir,
dass alle zi mit r anfangen und yon den yi's nur Y l mit r anfS~ngt. Damit
muss jede LSsung ftir PKP( C, D) mit dem ersten Dominostein anfangen. Weil
die einzigen zwei Dominosteine mit gleichem letzten Symbol die (k + 2)-ten
Dominosteintypen sind, muss jede L6sung yon PKP( C, D) mit dem Index k t 2
enden.
Sei 1 , j l , j 2 , . . . , j ~, k + 2 eine L6sung fiir PKP( C, D). Wir behaupten, dass
1 , j l - 1 , j 2 - 1 , . . . , j , ~- 1
die L6sung yon MPKP( C, D) ist. Die Begriindung ist, dass die Entfernung
der Symbole r und $ a us Yl Yj l Yj 2 . . . Yj~Yk+ 2 zum Wort Wl Wj l _ l Wj 2 _ I . . . Wj m_ 1
fiihrt, und die Entfernung der Symbole r und $ aus ZlZjlZj~... zj~zk+ 2 in
X l X j l _ l X j 2 _ 1 . . . X j m_ l X k + 2 resultiert. Weil 1, j l , . . , j,~, k + 2 eine L6sung yon
PKP( C, D) i st , gilt
Yl , Yj l Yj 2 ' ' ' Yj . ~ Yk + 2 - - Z1 Zj l Zj 2 . . . Zj m Zk + 2 "
5.5 Das Post'sche Korrespondenzproblem 195
Dies impliziert
Wl Wj l - - l Wj 2 - - 1 9 . . Wj m- - 1 : X l X j l _ l X j 2 _ 1 9 . . X j m- - 1 .
Damit ist 1, j l - 1, j2 - 1 , . . . , j,~ - 1 eine LSsung yon MPKP( A, B).
Aufgabe 5.27. Beweisen Sie, dass die Entscheidbarkeit yon MPKP die Entscheidbarkeit
von PKP impliziert.
Wir beweisen jetzt die Unendscheidbarkeit von MPKP, indem wir zeigen, dass
man mit diesem Dominospiel die Berechnung einer TM auf einer Eingabe si-
mulieren kann.
L e mma 5 . 1 1 . *
barkeit von L u.
Di e Ent schei dbarkei t von MPKP i mpl i z i ert die Ent schei d-
Bewei s.
SO d&ss
Sei x E {0, 1, #}*. Wir konstruieren eine Instanz (A, B) des MPKP,
x E L u r MPKP( A, B) hat eine LSsung.
Wenn x nicht die Form Kod( M) # w hat (d.h. x ~ Lu), dann setzen wir A = 0
und B = 1. Es ist klar, dass ein Dominospiel mit einem einzigen Dominostein-
typ (0, 1) keine LSsung hat.
Sei x = Kod( M) # w fiir eine TM M = (Q, E, F, ~, q0, %cc~pt, qr~j~ct) und ein
Wort w E E*. Ohne Einschrgnkung der Allgemeinheit diirfen wir voraussetzen,
dass M in jedem Schritt den Kopf bewegt. Wir beschreiben die Konstruktion
yon MPKP( C, D) zu M und w in vier Schritten. Jeder Schritt bestimmt ei-
ne Gruppe yon Dominosteintypen mit spezifischer Bedeutung. Die grobe Idee
ist, mit der B-Liste die Berechnung yon M auf w zu simulieren und mit der
A-Liste die Berechnung mit einer Versp~itung yon einer Konfiguration zu si-
mulieren. Dadurch kann man Dominosteintypen benutzen, bei denen das erste
Element das Argument (den Zustand und das gelesene Symbol) bestimmt und
das zweite Element die Nachfolgekonfiguration entsprechend der &Funktion
beschreibt. Durch spezielle Dominosteintypen wird die M6glichkeit gegeben,
die Versptitung von A nachzuholen, wenn die Berechnung in qaccept endet.
Sei r ein neues Symbol, das nicht in F enthalten ist.
1. Die erste Gruppe enthS~lt nur einen Dominosteintyp
(#,
196 5 Berechenbarkeit
Dieser Dominostein startet die Simulation der Berechnung yon M auf w. Un-
ten steht die Ausgangskonfiguration yon M auf w und oben haben wir die
VerspS~tung qor1 62
2. Die zweite Gruppe enthSJt folgende IFI + 1 Dominosteintypen:
(X, X) ffir alle X E F
(#, #).
Diese Gruppe benutzt man zum Kopieren der Teile yon Konfigurationen, die
sich in einem Schritt nicht 5mdern.
3. Die dritte Gruppe dient zur Simulation der Berechnungsschritte von M.
Fiir alle q E Q- {qaccept}, P E Q, X, Y , Z E F nehmen wir folgende Domino-
steintypen:
( qX, Yp) falls 6(q, X) = (p, Y , R)
( ZqX, pZY) falls 6(q, X) - (p, Y, L)
(q--/C, Yp--/r falls 6(q, u) : (p, Y, R)
( Zq# , pZY--/r falls 6(q, u) : (p, Y, L).
Dieses erm6glicht, oben die Konfiguration von unten zu kopieren und unten
mit dem Vorsprung die Nachfolgerkonfiguration zu generieren.
4. Die vierte Gruppe yon Dominosteinen erm6glicht es, die unten entwickelte
Berechnung oben nachzuholen, falls unten die Berechnung in dem akzeptie-
renden Zustand qaccept geendet hat. Mit folgenden Dominosteintypen kann der
Zustand qaccept die Symbole aus F O {r ,,schlucken". Fiir alle X, Y E F O {r
nehmen wir
(X qaccept Y ~ qaccept )
(X qaccept, qaccept )
( q a c c o Y, q a c c o )-
Wenn qacc~pt unten alle Bandsymbole geschluckt hat, ist der Vorsprung unten
auf qaccept~ geschrumpft. Der folgende Dominosteintyp
( q a c c e # # , # )
erm6glicht das definitive Nachholen des Wortinhaltes yon unten
oben.
bei dem Wort
Illustrieren wir die Konstruktion einer MPKP- I nst anz (A, B) fiir die TM M =
({q0, ql, qaccept, qreject}, {0, 1}, {r 0, 1, u}, (~M, qaccept, qreject) in Fig. 5.19. Die kon-
struierten Dominosteintypen fiir die Eingabe 01 sind die folgenden:
5.5 Das Post'sche Korrespondenzproblem
O~I , R
(
-. (
r r
0 ~0 , R
I ~I , R
)
197
Fig. 5.19
u- ~ u, L
0 ---, 0, R
u - ~ u, L
(i) Die erste Gruppe"
(#, #qor
(ii) Die zweite Gruppe:
(0, 0), (1, 1), (r r ($, $), (#, #) .
(iii) Die dritte Gruppe:
(q01, lq0), (q00, 0ql), (q0~, ~ql),
(lq0#, qaccept 1#), (0q0#, qaccept0#)
(q11, lql), (ql0, 0q0), (lq1#, qreject 1#), (0ql#, qreject0#).
(iv) Die vierte Gruppe:
(0qaccept 0~ qaccept)~ (lq.cc~pt 1, qaccept )~ (lqaccept 0~ qaccept)~
(0qaccep t 1~ qaccept)~ (0qaccept ~ qaccept )~ (lqaccept ~ qaccept)~
(qaccept 0, qaccept), (qaccept 1, qaccept ),
( r q a ccep~ ) , ( q a c c e p~ r q a c c e p~),
(r a, q.cc~pt), (aq.cc~pt r qaccept) fiir alle a E { 0, 1 }
(q.cco~##, #).
Der Anfang der Simulation der Berechnung von M auf 01 durch das Domino-
spiel (A, B) ist in Fig. 5.20 gezeigt.
198 5 Berechenbarkeit
#
# q0 0 0 1 # r ql 0 1 # 0 0 q0 1 # r 0 1 q0 # r 0 qaccept 1 :H:]
Fig. 5.20
#
# r 0 qaccept 1 # r qaccept # qaccept # #
Fig. 5.21
In Fig. 5.21 ist die Phase des Schrumpfens gezeigt, in der der Wortinhalt oben
den Wortinhalt unten nachholt.
Es ist offensichtlich, dass das MPKP(A, B) aus einer gegebenen TM M und
einem Wort w algorithmisch erzeugt werden kann.
Es bleibt zu beweisen, dass die folgende Aquivalenz gilt:
M akzeptiert w e=~ MPKP(A, B) hat eine L6sung.
Um unn6tige technische Details zu vermeiden, bleiben wir bei einer halbinfor-
mellen Begrfindung.
Wenn w E L( M), dann existiert eine akzeptierende Berechnung von M auf
w. Zu dieser Berechnung kann man eine L6sung des MPKP(A, B) wie folgt
bauen. Die L6sung beginnt mit dem Dominostein (r ~qoCw~) der ersten
Gruppe. Dann benutzen wir Dominosteine aus Gruppe 2, um die Symbole der
Konfigurationen zu kopieren, die im ngchsten Schritt unvergndert bleiben. Die
Dominosteine aus Gruppe 3 werden benutzt, um die Nachfolgekonfiguration
unten zu erzeugen. Nach jedem Symbol r ist das Wort unten um genau eine
Konfiguration 15~nger als das Wort oben, das ein PrS~fix des Wortes unten ist.
Wenn man unten die akzeptierende Konfiguration mit qaccept erreicht, erm6gli-
then die Dominosteine der vierten Gruppe dem Wort oben, das Wort unten
nachzuholen und so eine L6sung des MPKP(A, B) zu erhalten.
Sei w ~ L( M). Jede L6sung des MPKP( A, B) muss mit dem Dominostein
( ~, ~qoCw-~) der ersten Gruppe anfangen. Weil die Steine der Gruppe 2 und
3 nur solche Anderungen der letzten Konfiguration unten erm6glichen, die
einem Berechnungsschritt entsprechen, wird der Zustand qaccept hie als Sym-
bol im Wort unten auftreten. Dann bleibt aber der untere Teil immer lgnger
5.6 Die Methode der Kolmogorov-Komplexit~t 199
als der obere Teil der gelegten Dominosteine. Also gibt es keine L6sung des
MPKP( A, B). D
Auf ga be 5.28. Schreiben Sie ein MPKP(A, B) zu der TM in Fig. 4.6.
Auf ga be 5.29. Sei (A, B) eine Instanz des MPKP ffir eine TM M und ein Wort w nach
der Konstruktion des Lemmas 5.11. Beweisen Sie durch Induktion folgende Aussage:
Falls w E L ( M) , dann existiert eine Folge von Indizes, so dass
(i)
(ii)
der untere Teil der gelegten Dominosteine die komplette Berechnung von M auf w
enthglt, wobei die einzelnen Konfigurationen durch das Symbol 5r getrennt sind, und
der obere Teil der gelegten Dominosteine ist ein echter PrSofix des unteren Teils, der
die ganze Berechnung bis auf die letzte Konfiguration enth~lt.
Sat z 5. 10. Das PKP ist unentscheidbar.
Beweis. Nach Lemma 5.11 ist MPKP unentscheidbar und nach Lemma 5.10
ist P KP mindestens so schwer wie MPKP. D
Auf ga be 5. 30. * Betrachten Sie eine beschr~nkte Version des PKP, bei dem alle Domino-
steintypen fiber dem festen einelementigen Alphabet {0} definiert sind. Ist dieses Problem
entscheidbar?
5 . 6 Di e Me t h ode de r K ol mog or ov-K ompl e xi t i t
In Abschnitt 5.2 haben wir die Methode der Diagonalisierung angewendet, um
das erste algorithmisch unl6sbare Problem Ldiag ZU finden. Damit haben wir
einen St art punkt ftir den Aufbau der Theorie der Berechenbarkeit erzeugt, von
dem aus man mittels der Methode der Reduktion in den Abschnitten 5.3, 5.4
und 5.5 die Unentscheidbarkeit weiterer Probleme beweisen konnte. Die Ziel-
setzung dieses Abschnittes ist es, einen alternativen Weg fiir den Aufbau der
Theorie der Berechenbarkeit anzudeuten. Ohne jede Voraussetzung fiber die
Existenz eines algorithmisch unl6sbaren Problems, benutzen wir die Theorie
der Kolmogorov-KomplexitS~t, um zu zeigen, dass kein Algorithmus existiert,
der die Kolmogorov-Komplexitat K( x) des Wortes x fiir jedes x E (Ebool)*
berechnen kann. Ausgehend yon diesem St art punkt kann man dann wieder
mittels der Reduktionsmethode die Unentscheidbarkeit yon allen in den vori-
gen Abschnitten vorgestellten unentscheidbaren Sprachen beweisen.
200 5 Berechenbarkeit
Sat z 5. 11. Das Problem, fiiv jedes x E (Y ] bool)* die Kolmogorov- Komplezitiit
K( z) yon z zu berechnen, ist algorithmisch unlSsbar. 9
Beweis. Wi r beweisen dies indirekt. Sei A ein Al gori t hmus, der fiir jedes
x E (Eboo~)* das Wort K( x) berechnet . Sei x~ das erste Wort beziiglich der
kanonischen Or dnung fiber Ebool mit K( x~) >_ n. Wi r beschrei ben nun einen
Al gori t hmus B~, n E IN - {0}, der
( i )
(ii)
A als ein Tei l programm benut zt , und
fiir die leere Ei ngabe A das Wort x~ generiert.
B~ arbei t et wie folgt.
B~ b e g i n x : = A
Berechne K( x) mit dem Al gori t hmus A;
whi l e K( x) < n do
begi n x : = Nachfolger von x in kanonischer Or dnung;
Berechne K( x) mit dem Al gori t hmus A
end;
out put ( z)
end
Offensichtlich berechnet B~ das Wort x~ fiir a l l e n E IN. Wi r beobacht en,
dass alle Al gori t hmen B~ bis auf die Zahl n identisch sind. Sei c die L~nge des
Maschi nencodes yon B~ bis auf n. Dann ist die bin~re LS~nge von B~ h6chstens
[log 2 n] + c
fiir alle n E IN und fiir eine Konst ant e c unabh~ngi g von n, da der Al gori t hmus
A eine konst ant e Gr6f3e hat. Well B~ das Wort z~ generiert, gilt
fiir alle n E I N- {0}. Nach der Definition von x~ gilt aber
9Wenn man K als eine Funktion von (Xbool)* nach (Y ]bool)* start als Funktion von (Xbool)*
nach IN betrachtet (dies bedeutet, dass K(z) die bin~tre Kodierung der Kolmogorov-
Komplexit~t von z w~re), dann besagt Satz 5.11, dass die Funktion K nicht total rekursiv
ist.
5.6 Die Methode der Kolmogorov-Komplexit~t 201
fiir al l en E I N- {0}. Die Ungleichung
[log + > >
kann hSchstens ftir endlich viele Zahlen n E I N- {0} gelten und somit ha-
ben wir einen Wi derspruch zu der Voraussetzung, dass ein Al gori t hmus A zur
Berechnung von K( x) existiert. D
Aufgabe 5.31. Beweisen Sie, dass das Problem, fiir jede Zahl n E I N- {0} das erste Wort
xn mit K(xn) >_ n zu generieren, ein algorithmisch unlSsbares Problem ist.
Um zu zeigen, dass man mittels der Redukt i onsmet hode zum Beweis der Un-
entscheidbarkeit der grundl egenden Sprachen wie Lu, LH, Lempty usw. iiberge-
hen kann, reduzieren wir die Berechnung der Funkt i on K auf das Halteproblem.
Das folgende Lemma bietet einen al t ernat i ven Beweis der Tatsache LH ~ Z;R
aus dem Satz 5.8.
Le mma 5. 12. Falls LH E s dann existiert ein Algorithmus zur Berechnung
der Kolmogorov-Komplexitiit K( x) fiir jedes x E (Ebool)*.
Beweis. Sei LH E Z;R und sei H ein Algorithmus, der LH entscheidet. Der
folgende Al gori t hmus A (Fig. 5.22) berechnet K( x) fiir jedes x E (Ebool)*.
A generiert in kanonischer Folge die WSrt er Wl, w2, w3, . . . . Fiir jedes i fiber-
priift A, ob wi die binSze Kodi erung eines Pascal - Programmes M ist (Fig.
5.22). Falls wi = Kod( M) fiir ein Pascal - Pr ogr amm M, wendet A das Teilpro-
gr amm H an, um festzustellen, ob M auf dem Wort A hS~lt. Falls M auf dem
Wort A h~lt, simuliert A die Arbei t von M auf A (Fig. 5.22). Falls M mit der
Ausgabe u = M(A) endet, iiberpriift A, ob u = x. Falls u = x, dann gibt A
die Ausgabe K ( x ) = Iw~I aus.
Wenn Iwil die Ausgabe yon A ftir die Ei ngabe x ist, dann ist wi das kiirzeste
Wort mit der Eigenschaft wi = Kod( M) fiir ein Pascal - Pr ogr amm M, und
M generiert x. Dami t hat A die Kol mogorov- Kompl exi t gt von x tats~chlich
best i mmt . D
Aufgabe 5.32. Beweisen Sie folgende Aussagen:
(i)
(ii)
Falls Lu c s dann existiert ein Algorithmus zur Berechnung von K(x) fiir jedes
X C (Y ] bool)*"
Falls Lempty E s dann existiert ein Algorithmus zur Berechnung von K(x) ftir jedes
x E (2bool)*.
20 2 5 Be r e c he nba r k e i t
Al gori t hmus A
mi t A( x) - K ( x )
fiir alle x E {0, 1}*
i - i + 1
NEI N
F
M hS~lt nicht
auf A
x E {0,1}*
I r
x
I r
ein Generat or ftir
Wl ~ W2~ W3~ 9 9 9
wi
I r
Testen, ob
wi = Kod( M) ftir ein
Pascal - Pr ogr amm M
A Kod( M) = wi
I r I r
TM H
L ( H) = LH
NEI N JA
Si mul at i on von
M auf A
~(~)
Testen, ob
~( ~) - ~
NEI N JA
IKod(M)l
F i g. 5. 22
5.7 Zusammenfassung
5 . 7 Z u s a mme n fa s s u n g
203
Die beweistechnischen Grundlagen der Theorie der Berechenbarkeit liegen in
der Mengenlehre. Die grundlegenden Konzepte sind
9 der Vergleich von unendlichen Zahlen,
9 die Methode der Diagonalisierung und
9 die Methode der Reduktion.
Eine Menge A hat eine M~chtigkeit, die mindestens so grog ist wie die Mgchtig-
keit einer Menge B, wenn eine injektive Abbildung von B nach A existiert. Fiir
jede unendliche Menge A gilt I AI - IA A und daher IIN I - I Q+I . Die kleinste
unendliche Menge ist IN, und jede Menge 6' mit 16'1 _< IINI heii3t abzghlbar.
Jede Menge B mit IBI > IINI heit3t nicht aufghlbar.
Die Menge aller Turingmaschinen (Programme) ist abzghlbar, und die Menge
aller Sprachen (Probleme) ist nicht abz/~hlbar. Damit sind die meisten Pro-
bleme nicht algorithmisch 16sbar. Falls IAI < IBI ffir zwei unendliche Mengen
A und B gilt, erm6glicht uns die Diagonalisierungstechnik, ein Element aus
B- A zu konstruieren.
Eine Sprache L, die von einer Turingmaschine akzeptiert wird, heit3t rekur-
siv aufzghlbar. Eine Sprache L mit L = L ( M) ftir eine TM M, die auf jeder
Eingabe in qaccept oder qrej~ct hglt, heif3t rekursiv oder auch entscheidbar. Die
Diagonalisierungsmethode erm6glicht es uns, eine Sprache Ldiag , Diagonalspra-
che genannt, zu konstruieren, die nicht rekursiv aufzghlbar ist.
Mit Hilfe der Methode der Reduktion kann man zeigen, dass einige Probleme
beztiglich Rekursivitgt mindestens so schwer wie Ldiag und damit nicht rekur-
siv sind. Die wichtigsten Beispiele nichtrekursiver Entscheidungsprobleme sind
die universelle Sprache und das Halteproblem. Die universelle Sprache enthglt
alle W6rter, die eine TM M und ein Wort w kodieren und w E L ( M). Das
Halteproblem ist zu entscheiden, ob ftir eine TM M und ein Wort w die TM
M auf w hglt.
Der Satz von Rice besagt, dass jedes nichttriviale Entscheidungsproblem nicht
rekursiv ist. Daher gibt es keine Algorithmen zum Testen von Programmen
auf Korrektheit und Terminierung. Mit der Methode der Reduktion kann man
Beweise der Unentscheidbarkeit auch aut3erhalb der Welt der Probleme fiber
Turingmaschinen f/ihren. Ein Beispiel hierf/ir ist das Post' sche Korrespondenz-
problem.
204 5 Berechenbarkeit
Die Motivation, die Ent schei dbarkei t und Unentscheidbarkeit zu studieren,
st ammt urspriinglich von dem bekannt en Mat hemat i ker David Hilbert. An-
fang des 19. J ahr hunder t s formulierte er einen Forschungsplan, dessen Ziel die
Entwicklung eines Formalismus war, in dem man alle mat hemat i schen Pro-
bleme 16sen k6nnte. Kurt G6del [G6d 31] bewies 1931, dass der Hilbert' sche
Pl an nicht realisierbar ist, weil jede mat hemat i sche Theorie, die mi ndest ens die
Prgdikatenlogik erster Stufe enthglt, unent schei dbar ist. Diese fundament al e
Arbeit [GSd 31] fiihrte zur Formalisierung des Begriffs Al gori t hmus und legte
die Grundl age der Theorie der Berechenbarkeit.
Die Unent schei dbarkei t der universellen Sprache hat Turing in [Tur 36] be-
wiesen. In [Ric 53] verSffentliche Rice den nach ihm benannt en Satz. Die Un-
entscheidbarkeit des Post ' schen Korrespondenzprobl ems wurde von Post in
[Pos 46] gezeigt.
Als weiterfiihrende Li t erat ur fiber die el ement aren Grundl agen der Theorie der
Berechenbarkeit hinaus empfehlen wir w~rmst ens die ent sprechenden Kapitel
in [HU 79, HMU 01, Sip 97] .
Wenn man die EE- Redukt i on benut zt , um die Aquivalenz zwischen Proble-
men beztiglich der RekursivitS~t zu definieren, zerf~llt die Menge der nicht-
rekursiven Sprachen in unendlich viele Klassen s i = 1, 2, . . . . Wenn eine
Sprache L i n/ 2i ist, bedeut et dies, dass L nicht entscheidbar bleiben wiirde,
auch wenn wir fiir alle unent schei dbaren Probl eme aus den Klassen s s
s Al gori t hmen hS~tten. Interessanterweise gibt es praktische Probleme, die
in h6here Klassen dieser Hierarchie geh6ren. Fiir eine Vertiefung der Theorie
der Berechenbarkeit empfehlen wir die klassischen B/icher yon Trakht enbrot
[Tra 63] und Rogers [Rog 67] .
K on tr olla u fg a b e n
1. Erkl~ren Sie das Cantor'sche Konzept zum Vergleich der M~chtigkeiten zweier Men-
gen. Warum betrachten wir dieses Konzept als natiirlich?
2. Was ist der Hauptunterschied zwischen endlichen und unendlichen Mengen? (Oder
wie wfirden Sic eine unendliche Menge definieren?)
3. Wann ist eine Menge abz~hlbar? Geben Sie mehrere Beispiele von abz~hlbaren Men-
gen an. Wann ist ein Sprache rekursiv und wann ist sie rekursiv aufz~hlbar?
4. Warum ergibt das kartesische Produkt zweier abzS~hlbarer Mengen eine abzS~hlbare
Menge?
5. Erkl~ren Sie die Diagonalisierungsmethode. Beweisen Sie, dass es Sprachen gibt, die
keine endliche Darstellung haben.
6. Die reellen sowie die rationalen Zahlen liegen auf der Zahlenachse. Beide Zahlenmen-
gen Q und IR haben die Eigenschaft, dass zwischen zwei beliebigen Zahlen unendlich
5.7 Zusammenfassung 205
10.
11.
12.
13.
viele Zahlen aus dieser ent sprechenden Menge liegen. Trot zdem gibt es mehr reelle
Zahlen als rationale Zahlen (IQI < IIRI) 9
Wie ist das mOglich? Was ist der Haupt unt erschi ed zwischen rat i onal en und reellen
Zahlen bez/iglich ihrer Darstellungsm6glichkeiten?
Wann sagen wit, dass eine Sprache L1 auf eine Sprache L2 reduzierbar ist? Wie
wendet man das Konzept der Reduzierbarkeit an, um zu zeigen, dass eine Sprache
nicht rekursiv ist?
Sei f ( x) = c eine konst ant e Funkt i on yon IN nach IN fiir eine Konst ant e c E IN. Bewei-
sen Sie, dass es fiir eine gegebene TM (ein gegebenes Pr ogr amm) nicht entscheidbar
ist, ob sie (es) die Funkt i on f berechnet.
Wie baut man eine Instanz des modifizierten Post ' schen Korrespondenzprobl ems f/it
eine gegebene Turingmaschine?
Um das erste nichtrekursive Probl em zu finden, wendet man iiblicherweise die Dia-
gonalisierungsmethode an. Wie kann man dies ohne die Di agonal i si erungsmet hode
schaffen?
Die Kol mogorov-Kompl exi t gt eines Wortes ist wohl definiert. War um kann man sie
nicht algorithmisch fiir jedes Wort best i mmen?
Beweisen Sie folgende Aussagen.
(i) Wenn man f/ir jede Zahl n E IN die Kol mogorov- Kompl exi t gt K( n) best i mmen
k6nnte, dann w/~re LH E /ZR.
(ii) Falls K( n) f~r jede Zahl n E IN algorithmisch berechenbar ist, dann ist Lu
rekursiv (entscheidbar).
Bet racht en Sie die Sprache
LKol = { ( w,x) I K( w) <_ Nurnrner(x), w, x E {0,1}*}.
Beweisen Sie dass LKol unent schei dbar ist. Ist LKol rekursiv aufzghlbar?
E s g i b t k e i n e n g r S B e r e n S c h a d e n
a l s v e r l o r e n e Z e i t .
Michelangelo
Z:
6 Komplexit itstheorie
6.1 Zielsetzung
Die Theorie der Berechenbarkeit liefert uns Met hoden zur Klassifizierung von
Problemen beziiglich ihrer algorithmischen LSsbarkeit. So ist ein Problem algo-
rithmisch 15sbar, wenn ein Algorithmus zur LSsung dieses Problems existiert,
und ein Problem ist algorithmisch unlSsbar, wenn kein Algorithmus fiir dieses
Problem existiert.
Die KomplexitS~tstheorie ist eine Fort set zung der Theorie der Berechenbarkeit
in dem Sinne, dass sie eine feinere Einteilung der Klasse algorithmisch 15sba-
rer Probleme anstrebt. In den sechziger Jahren, als der Einsatz von Rechnern
zur LSsung von Problemen nicht mehr nur auf ein paar Forschungsinstitute
beschrS~nkt war, stellte man fest, dass alleine die Existenz eines Algorithmus
zur LSsung eines Problems noch keine Garant ie fiir eine erfolgreiche rechnerun-
t erst iit zt e LSsung des Problems ist. Es gab viele praxisrelevante, algorithmisch
1 5 s b a r e P r o b l e m e , f i i r d i e a l l e e n t w o r f e n e n P r o g r a m m e t a g e l a n g a u f g e g e b e n e n
E i n g a b e n o h n e E r f o l g a r b e i t e t e n . I n s o l c h e n F g l l e n s t i i r z t e d e r R e c h n e r a b ,
b e v o r e r z u i r g e n d e i n e m R e s u l t a t k a m . D i e s w a r f d i e F r a g e a u f , o b d i e s e r M i s -
s e r f o l g e i n e F o l g e u n s e r e r U n f ~ i h i g k e i t i s t , e i n e n e f f i z i e n t e n A n s a t z z u r L S s u n g
d e s b e t r a c h t e t e n P r o b l e m s z u f i n d e n , o d e r a b e r , o b e s s i c h u m e i n e i n h ~ r e n t e
E i g e n s c h a f t d e s P r o b l e m s h a n d e l t , d i e k e i n e e f f i z i e n t e a l g o r i t h m i s c h e L S s u n g
d e s P r o b l e m s z u l ~ s s t . D i e s f i i h r t e d a z u , d a s s m a n a n f i n g , d i e S c h w i e r i g k e i t d e r
a l g o r i t h m i s c h 1 6 s b a r e n P r o b l e m e b e z i i g l i c h d e s R e c h e n a u f w a n d e s z u m e s s e n ,
u m s o d i e P r o b l e m e n a c h d e r e n S c h w i e r i g k e i t s g r a d z u k l a s s i f i z i e r e n .
Die KomplexitS~tstheorie ist die Theorie der quant it at iven Gesetze und Gren-
zen der algorithmischen Informationsverarbeitung. Diese Theorie hat auch ei-
ne physikalische Dimension. Zum Beispiel hS~lt man ein 15shares Problem f/ir
,,praktisch unlSsbar", wenn die praktische Ausfiihrung eines Algorithmus zur
6.1 Zielsetzung 207
L6sung des Problems mehr Energie brSouchte, als es im ganzen
versum gibt. Die Hauptziele der Komplexit~ttstheorie sind:
bekannten Uni-
(i) Die Bestimmung der BerechnungskomplexitSoten (ZeitkomplexitSot als die
Anzahl der Rechenoperationen, Speicherplatzkomplexit~t) konkreter Proble-
me .
(ii) Die Spezifikation der Klasse ,,praktisch '~ (effizient) 16sbarer Probleme und
die Entwicklung von Methoden zur Klassifikation der algorithmisch 16sbaren
Probleme in ,,praktisch 16sbare" und ,,praktisch unl6sbare".
(iii) Vergleiche der Ettizienz (der Berechnungsst~rke) yon deterministischen,
nichtdeterministischen und zufallsgesteuerten (randomisierten) Algorithmen.
In unserer ersten Begegnung mit der KomplexitS~tstheorie in diesem Kapitel
beschr~tnken wir uns auf folgende Zielsetzung. In Abschnitt 6.2 lernen wir,
wie man die Komplexit~tsmafie in dem Berechnungsmodell der Turingmaschi-
ne definiert (d.h. wie man die Komplexit~tt misst) und welche Eigenschaften
diese Marie haben. In Abschnitt 6.3 definieren wir die grundlegenden Komple-
xitSotsklassen als Klassen yon Sprachen, die mit der gegebenen KomplexitSot
entscheidbar sind. Hier diskutieren wir auch die Spezifikation der Klasse prak-
tisch 16sbarer Probleme. In Abschnitt 6.4 zeigen wir, wie man die Komple-
xit~t von nichtdeterministischen Berechnungen misst, und wir definieren die
fundamentalen nichtdeterministischen KomplexitS~tsklassen. Abschnitt 6.5 ist
dem Vergleich der Effizienz yon deterministischen und nichtdeterministischen
Berechnungen gewidmet. Dieser Vergleich beriihrt die philosophischen Grund-
lagen der Mathematik. Wir zeigen, dass die Komplexit~t von nichtdetermi-
nistischen Berechnungen der Komplexit~tt des deterministischen Verifizierens
(Korrektheitspriifung) eines gegebenen mat hemat ischen Beweises entspricht,
und dass die deterministische KomplexitSot der KomplexitSot der Herstellung
eines mat hemat ischen Beweises entspricht. Damit ist die Frage, ob nichtdeter-
ministische Algorithmen effizienter als die deterministischen Algorithmen sein
k6nnen, 5,quivalent zu der Frage, ob es einfacher ist, mathematische Beweise
algorithmisch zu verifizieren als sie algorithmisch herzustellen. Abschnitt 6.6
stellt das Konzept der NP-VollstSondigkeit vor, das uns eine Methode zum Be-
weisen gewisser Schwierigkeitsgrade konkreter Probleme beziiglich praktischer
L6sbarkeit liefert.
208
6.2 Komplexit itsmaBe
6 Komplexit~ttstheorie
Zur Definition der Komplexit~tsmafie benutzen wir das Modell der Mehrband-
Turingmaschine. Die Gr~nde daf/ir sind, dass dieses Berechnungsmodell einer-
seits einfach genug ist und andererseits dem grundlegenden Rechnermodell
der von-Neumann-Maschine entspricht. Wie wir spgter sehen werden, ist das
Modell der Mehrband-Turingmaschine f/ir die Komplexit/~tsmessung robust
genug in dem Sinne, dass die fundamentalen Resultate fiber derart definier-
ter Komplexit/~t auch fiir die Komplexit/~t der Ausfiihrung von Programmen
in beliebigen Programmiersprachen g~ltig sind. Damit sind sie insbesondere
von allgemeiner Giiltigkeit fiir die Klassifizierung von Problemen in ,,praktisch
15sbare" und ,, praktisch unlSsbare".
Hier definieren wir zwei grundlegende Komplexit gt smaBe- die Zeitkomplexitgt
und die Speicherplatzkomplexit~t. Die Zeitkomplexitgt einer Berechnung ent-
spricht der Anzahl der elementaren Operationen, die in dieser Berechnung
ausgefiihrt werden. Damit steht sie in linearer Beziehung zu der Energie, die
die Ausf/ihrung der Berechnung auf einem Rechner kosten wtirde. Die Spei-
cherplatzkomplexitgt ist die GrSfie des benutzten Speichers, ausgedrtickt in
der Anzahl der gespeicherten Rechnerw6rter. In den auf Turingmaschinen ha-
sierten Modellen bestimmt das Arbeitsalphabet die Gr6fie des Rechnerwortes,
weil die Symbole des Arbeitsalphabetes genau die erlaubten Inhalte der Rech-
nerw6rter darstellen.
Def i ni t i on 6.1. Sei M eine Mehrband-Turi ngmaschi ne oder TM, die i mmer
hiilt. Sei E das Eingabealphabet von M. Sei x E E* und sei D = C1, C2, . . . , C~
die Berechnung von M auf x. Dann ist die Z ei t kompl exi t ~i t Ti meM( x ) der
Ber echnung von M auf x definiert dutch
Ti meM( x) = k - 1,
d.h. dutch die Anzahl der Berechnungsschri t t e in D.
Die Z ei t kompl exi t ~i t von M ist die Funkt i on TimeM : IN --+ IN, definiert
dutch
Ti me M( n) = ma x { Ti me M( x ) [ x E E~}.
Wir bemerken, dass TimeM(n) fiir jedes n E IN die minimale Zeitkomple-
xitgt ist, mit der M jede Probleminstanz der Lgnge n 16st. Anders ausge-
driickt ist TimeM(n) die ZeitkomplexitS~t der lgngsten Berechnung auf Ein-
gaben der L~tnge n (auf der ,,schwersten" Probleminstanz aus E~). Deswegen
6.2 Komplexitgtsmafie 209
nennt man diese Art der KomplexitS~tsmessung ,,die Kompl exi t gt i m schlech-
t est en Fall". Eine andere MSglichkeit wgre z.B., die durchschnittliche Kom-
plexitS~t auf W6r t er n der LS~nge n zu betrachten. Die zwei Haupt griinde ffir
die Art der Messung aus Definition 6.1 sind folgende. Die Menschen wollen oft
die maximale Sicherheit haben, und die KomplexitS~t im schlechtesten Fall gibt
uns die Garantie, dass jede Eingabe (Probleminstanz) der GrSfie n durch M in
TimeM(n) gelSst wird. Der andere praktische Grund ist, dass die Analyse der
KomplexitS~t eines Algorithmus im schlechtesten Fall meist einfacher ist als ei-
ne KomplexitS~tsanalyse im durchschnittlichen Fall. Wir werden uns deswegen
in diesem Buch auf die KomplexitS~t im schlechtesten Fall beschrS~nken.
Def i ni t i on 6.2. Sei k E I N - {0}. Sei M eine k- Band- Tur i ngmas chi ne, die
i mme r hiilt. Sei
C - (q, x, i, ctl, il, ct2, i 2, . . . , c~k, ik)
mi t 0 <_ i <_ Izl + 1 ~d 0 <_ ij <_ I j l + 1 f i i r j - 1 , . . . , k
eine Konf i gurat i on von M. Die Spei cher pl at z kompl exi t ~i t von C ist 1
Sp a c e M( C ) -- max{lctil I i - 1, . . . , k}.
Sei C1, C2 , . . . , C1 die Berechnung von Ma u f x. Die Sp ei cher p l at z k omp l e-
xi t fi t von M auf x ist
Sp aceM( x ) -- max{ SpaceM( Ci ) l i - 1 , . . . , 1}.
Die Spei cher pl at z kompl exi t ~i t von Mi s t eine Funkt i on Space M 9 IN ~ IN
def i ni ert dut ch
Sp a c e M( n ) - - max{ SpaceM( x) l x E E~}.
Es kSnnte iiberraschen, dass wir die Speicherplatzkomplexit~t einer Konfigura-
tion als die maximale beschriftete LS~nge eines Arbeit sbandes st at t der Summe
der beschrifteten LS~ngen aller ArbeitsbSonder definiert haben. Im Prinzip ist es
egal, welche der beiden M6glichkeiten man zur Definition der Speicherplatz-
komplexitgt verwendet. Lemma 4.2 sagt uns, dass man k B~nder mit einem
Band simulieren kann. Dabei ist die beschriftete LS~nge des Bandes genau das
Maximum der beschrifteten LS~ngen der simulierten BSmder. Diese Beobach-
t ung ffihrt uns zur folgenden Aussage.
1 Man bemerke, dass die Speicherplatzkomplexit~it nicht yon der L~inge des Eingabealphabets
abh~ingt.
210 6 Komplexit~tstheorie
Le mma 6.1. Sei k eine positive ganze Zahl. Fiir j ede k- Band- TM A die ira-
mer hiilt, existiert eine iiquivalente l - Band- TM B, so dass
Space B (n) _< Space A (n).
Der Grund fiir diese Eigenschaft der SpeicherplatzkomplexitS~t ist, dass die
M~chtigkeit des Arbeit salphabet es von M (die Lgnge der Rechnerwortes) kei-
nen Einfluss auf SpaceM(n) hat. Daher ist diese Definition nicht zur Untersu-
chung von Unterschieden in der Gr6fie eines konst ant en multiplikativen Faktors
geeignet.
Le mma 6.2. Sei k eine positive ganze Zahl. Fiir j ede k- Band- TM A existiert
Space B(n) _< SpaceA2 (n) +2.
Beweis. Wir liefern nur die Idee des Beweises. Sei F A das Arbeit salphabet von
A. Wir konstruieren das Arbeit salphabet F B von B, so dass F B alle Symbole
aus F A x F A enthglt. Wenn a, , a2 , . . . , a,~ der Inhalt des / - t en Bandes von A
ist, i E {1, 2, . . . , k}, und der Kopf auf c~j zeigt, enthglt das i-te Band von B
das Wort
falls m gerade ist, und
falls m ungerade ist. Der Kopf des Bandes zeigt auf das Tupel, das cti enth/ilt 2,
und in dem Z ust and speichert B, auf welches der zwei Symbole in dem Tupel
der Kopf auf dem /-ten Band von A zeigt. Offensichtlich ist es fiir B kein
Problem, die Schritte von A einen nach dem anderen zu simulieren, und die
Speicherplatzkomplexitgt von B ist h6chstens 1 + [SpaceA(n)/2 ] . D
Durch iterative Anwendung von Lemma 6.2 ist es m6glich, fiir jede Kon-
st ant e k und jede Mehrband-Turingmaschine M eine 5~quivalente Mehrband-
Turingmaschine zu bauen, die eine k-real kleinere SpeicherplatzkomplexitS~t als
M hat.
2Dies ist (~{~+1), falls i ungerade, und (~71), falls i gerade ist.
6.2 Komplexitgtsmage 211
Die Situation bei der ZeitkomplexitS~t ist 5~hnlich. Bei der Messung geht die
Gr6t3e des Arbeit salphabet es auch nicht ein. Transitionen fiber m~chtigen A1-
phabet en entsprechen aber zweifellos komplizierteren Operat ionen als Tran-
sitionen fiber kleineren Alphabeten. Dies ffihrt auch zu der M6glichkeit, die
Arbeit yon Mehrband-Turingmaschinen um einen konst ant en Faktor zu be-
schleunigen, wie es in der folgenden Aufgabe formuliert wird.
Aufgabe 6.1. Beweisen Sie die folgende Behauptung:
Sei M eine Mehrband-Turingmaschine, die immer hglt. Dann existiert eine zu M gquivalente
Mehrband-Turingmaschine A mit
TimeA(n) < Ti (~__meM,n, + 2n.
- 2
Die Aussagen des Lemmas 6.2 und der Aufgabe 6.1 zeigen, dass die vorgestell-
te Art der Komplexit~tsmessung relativ grob ist. Fiir unsere Ziele entsteht
dadurch kein Nachteil, weil die Unterschiede zwischen den KomplexitS~tsma-
gen unterschiedlicher Berechnungsmodelle oft sogar gr6ger sind, als man durch
einen konst ant en Faktor ausdrficken kann, und wir sind primgr an Result at en
interessiert, die ffir alle verniinftigen Maschinenmodelle gelten. Deswegen ist
uns das asymptotische Verhalten der Funkt ionen TimeM und Space M wichti-
ger als eine genaue Best immung derer Funktionswerte. Ffir die asymptotische
Analyse yon KomplexitS~tsfunktionen benut zen wir die iibliche f~-, O-, (~- und
o-Notation.
Def i ni t i on 6.3. Fi i r j ede Funkt i on f " IN ~ IR + def i ni eren wi t
{r" IN ~ IR+ [ 3n0 E IN, 3c E IN, so dass
> < f }
Fi i rj ede Funkt i on r E O( f (n)) sagen wit, dass r a s y mp t ot i s c h ni cht schnel -
ler w~ichst als f .
Fi i r j ede Funkt i on g" IN -+ IR + def i ni eren wi r
{s" IN --~ IR + [3n0 C IN, 3d E IN, so dass
1
f i i r alle n > no" s(n) _> ~- g( n) }.
Fi i r j ede Funkt i on s C f ~(g(n)) sagen wit, dass s a s y mp t ot i s c h mi nd e s t e ns
so s chnel l w~ichst wi e g.
212 6 Komplexit~tstheorie
Fiir j ede Funkt i on h" IN ~ IR + def i ni eren wi t
O( h ( n ) ) - {q" IN ~ IR + [ 3c, d, no E IN, so dass f i i r al l e n >_ no "
1
_< _<
= n
Falls g E ~)(h(n)) sagen wir, dass g und h a s y mp t ot i s c h gl e i c h s i nd.
Sei en f u n d g zwei Funkt i onen yon IN nach IR +. Falls
lira f (n) O,
dann sagen wir, dass g a s y mp t ot i s c h s c hne l l e r w~i chs t al s f u n d wi r
sch iben f ( n ) - - o ( g ( n ) ) .
Auf gabe 6.2. Welche der folgenden Aussagen sind korrekt? Begriinden Sie Ihre Antwort.
(i) 2 ~ E 0(2 ~+a) fiir jede positive Konstante a E IN.
(ii) 2 b~ E 0(2 n) fiir jede positive Zonstante b E IN.
(iii) log b n E O(log c n) fiir alle reellen Zahlen b, c > 1.
(iv) ( n+ 1)! E O(n!).
(v) log(n!) c O(n. logn).
Auf gabe 6.3. Beweisen Sie fiir alle Funktionen f u nd g : IN ~ IR +, dass folgende Aussagen
gelten:
(i) f E O(g) und g E O(h) impliziert f E O(h).
(ii) f E O(g) ~=> g E ft(f).
(iii) f c (~(g) e=> g c O( f ) e=~ O( f ) = O( g) .
Bet r acht en wir j et zt die TM M aus Fig. 4.5, die die Spr ache LMitte akzept i er t .
M 15~uft vom l i nken his zum r echt en Rand des Bandes und zuri i ck und bewegt
dabei den l i nken Rand ein Feld nach r echt s und den r echt en Rand ein Feld nach
links. Auf diese Wei se bes t i mmt M das mi t t l er e Feld. Die Z ei t kompl exi t gt von
Ti meM von M ist offensicht lich in O(n2).
Auf gabe 6.4. Bestimmen Sie fiir die TM aus Fig. 4.5 TimeM(n) genau.
Auf gabe 6. 5 . Entwerfen Sie eine 1-Band-Turingmaschine B mit L(B) - - LMitte und Ti me. (n) E
o(~)
Auf gabe 6.6. Analysieren Sie asymptotisch die Zeitkomplexit~t der TM A aus Fig. 4.6,
die die Sprache L7) akzeptiert.
6.2 Komplexitgtsmafie 213
Die 1-Band-Turingmaschine A aus Fig. 4.10 akzept iert die Sprache Lgleich =
{wCpw I w E (Eboo~)*}, indem das Prefix des Eingabewort es his zum # auf das
Arbei t sband kopiert und dann der Inhalt des Arbeit sbandes mit dem Suffix
des Eingabewort es nach dem # verglichen wird. Offensichtlich ist TimeA(n) _<
Aufgabe 6.7. Entwerfen Sie eine 2-Band-Turingmaschine M mit den Eigenschaften L(M) -
n 2
Lgleich, TimeM(n) E 0(lo--Q-~2 ~) und SpaceM(n ) E O(log 2 n).
Bis j et zt haben wir die Z eit komplexit gt und die Speicherplatzkomplexit~t von
Mehrband-Turingmaschinen definiert. Was uns aber primS~r interessiert, ist
die KomplexitS~t von Problemen, um sie nach dieser KomplexitS~t klassifizie-
ren zu k6nnen. Int uit iv wtirde man gerne sagen, dass die ZeitkomplexitS~t
eines Problems U der ZeitkomplexitS~t einer asympt ot isch opt imalen MTM
M (eines opt imalen Algorithmus) fiir U entspricht. Unt er der (asympt ot i-
schen) OptimalitS~t von M versteht man, dass f/Jr jede MTM A, die U 16st,
TimeA(n) E f~(TimeM(n)) gilt (d.h. es existiert keine MTM ffir U, die asym-
ptotisch besser als Mi s t ) . Die Idee wgre also, die KomplexitS~t eines Problems
als die Komplexit gt des ,,besten" Algorit hmus ftir dieses Problem zu bet rach-
ten. Obwohl diese Idee natiirlich und verniinftig aussieht, zeigt folgender Satz,
dass man sie nicht zur Definition der Komplexit gt im Allgemeinen benut zen
kann. Wegen des hohen Schwierigkeitsgrades verzichten wir auf einen Beweis.
Sat z 6.1. Es ezistiert ein Entscheidungsproblem (L, }--]% ool), 80 dass fiir j ede
MTM A, die (L, Ebool) entscheidet, eine MTM t3 existiert, die (L, Ebool) auch
entscheidet, und fiir die gilt
TimeB(n) _< log2(TimeA(n))
fiir unendlich viele n E IN.
Satz 6.1 besagt, dass es Probleme gibt, fiir die man jeden gegebenen Algo-
rit hmus fiir dieses Problem wesentlich verbessern kann 3. Dies bedeut et , dass
fiir solche Probleme keine opt imalen Algorit hmen existieren und man deshalb
fiir diese Probleme die Komplexit~tt nicht in dem oben beschriebenen Sinne
definieren kann. Deswegen spricht man in der KomplexitSotstheorie nur fiber
obere und untere Schranken f/Jr die KomplexitS~t eines Problems im Sinne der
folgenden Definition.
aMan bemerke, dass diese VerbesserungsmSglichkeit nach Satz 6.1 zu einer unendlichen Folge
von Verbesserungen fiihrt.
214 6 Komplexit~tstheorie
Def i ni t i on 6. 4. Sei L eine Sprache. Seinen f und g zwei Funktionen yon IN
nach IR +. Wir sagen, dass O(g(n)) eine o be r e Sc hr anke ffir di e Ze i t ko m-
pl exi t ~i t von L ist, falls eine MTM A existiert, so dass A die Sprache L
entscheidet und TimeA(n) E O(g(n)).
Wir sagen, dass ~( f (n)) eine unt e r e Sc hr anke ffir di e Ze i t kompl e xi t ~ i t
von L ist, falls fiir j ede MTM B, die L entscheidet, TimeB(n) E ~( f ( n) ) .
Eine MTM C heiflt op t i ma l mr L, falls Ti mec( n) E O( f ( n) ) und f ~(f (n))
eine untere Schranke fiir die Zeitkomplexitiit von L i s t .
Die Best i mmung einer oberen Schranke fiir die Z eit komplexit gt eines Problems
ist meistens nicht sehr schwer, weil es hinreichend ist, einen Algorit hmus zur
LSsung des Problems zu finden. Eine nichttriviale untere Schranke fiir die Kom-
plexit~t konkreter Probleme zu beweisen, gehSrt zu den technisch schwierigsten
Aufgaben der Informatik, weil dies einen Beweis der Nichtexistenz eines effi-
zienten Algorit hmus fiir das bet racht et e Problem erfordert. Wie schwer diese
Aufgabe ist, kann man damit illustrieren, dass wir t ausende Probleme ken-
nen, fiir die die besten bekannt en Algorit hmen exponentielle Z eit komplexit gt
beziiglich der Eingabel~nge haben, aber die hSchsten uns bekannt en unt eren
Schranken fiir diese Probleme auf Mehrband-Turingmaschinen nur ~( n) sind.
W i r h a b e n j e t z t d i e M e s s u n g d e r K o m p l e x i t g t f i i r d a s S t u d i u m d e r a b s t r a k -
t e n K o m p l e x i t g t s t h e o r i e v o r g e s t e l l t . A m E n d e d i e s e s A b s c h n i t t e s d i s k u t i e r e n
w i r n o c h d i e A r t e n d e r M e s s u n g d e r K o m p l e x i t g t y o n k o n k r e t e n P r o g r a m m e n
( A l g o r i t h m e n ) . W i r u n t e r s c h e i d e n z w e i f u n d a m e n t a l e A r t e n d e r M e s s u n g - d i e
M e s s u n g m i t u n i f o r m e m K o s t e n m a f i u n d d i e M e s s u n g m i t l o g a r i t h -
m i s c h e m K o s t e n m a f i . D i e M e s s u n g m i t d e m u n i f o r m e n K o s t e n m a l 3 i s t e i n e
g r o b e M e s s u n g . D i e Z e i t k o m p l e x i t g t i s t e i n f a c h d i e A n z a h l d e r d u r c h g e f i i h r t e n
B a s i s o p e r a t i o n e n w i e a r i t h m e t i s c h e O p e r a t i o n e n u n d Z a h l e n v e r g l e i c h e , u n d
d i e $ p e i c h e r p l a t z k o m p l e x i t g t e n t s p r i c h t d e r A n z a h l d e r b e n u t z t e n V a r i a b l e n .
D i e s b e d e u t e t , d a s s d e r P r e i s j e d e r O p e r a t i o n 1 i s t , u n a b h g n g i g v o n d e r G r S I 3 e
d e r O p e r a n d e n . D e r H a u p t v o r t e i l d e r M e s s u n g m i t d e m u n i f o r m e n K o s t e n m a I 3
l i e g t i n i h r e r E i n f a c h h e i t . D i e s e M e s s u n g i s t a u c h a n g e m e s s e n , w e n n i n d e r B e -
r e c h n u n g d i e O p e r a n d e n d i e G r S I 3 e e i n e s R e c h n e r w o r t e s n i c h t f i b e r s c h r e i t e n .
F a l l s a b e r d i e O p e r a n d e n g r S I 3 e w & h r e n d d e r B e r e c h n u n g w g c h s t , e n t s p r i c h t d i e
M e s s u n g n i c h t m e h r d e m r e a l e n R e c h e n a u f w a n d . W i r i l l u s t r i e r e n d i e s a n f o l -
g e n d e m B e i s p i e l . S e i e n a _ > 2 u n d k z w e i p o s i t i v e g a n z e Z a h l e n . D i e A u f g a b e
i s t , a 2 k z u b e s t i m m e n . D i e s k a n n m a n m i t d e m P r o g r a m m
f o r i - - 1 t o k d o a ' - - a . a
6 . 3 Komp l e x i t t i t s k l a s s e n u nd d i e Kl a s s e P 2 1 5
berechnen. Das Programm berechnet tatsS~chlich mit den folgenden k Multi-
plikationen
a 2 " - - a 9 a, a 4 - - a 2 9 a 2, a s - - a 4 9 a 4, . . . , a 2k - - a 2 k - 1 9 a 2 k - 1
den Wert a 2k. Bei der Messung mit uniformem Kostenmafi ist die Speicher-
platzkomplexit~t also 3 und die Zeitkomplexit~t O(k). Wir brauchen aber real
mindestens 2 k Bits, um das Resultat zu speichern und mindestens gt(2 k) Ope-
rationen fiber RechnerwSrtern (Zahlen mit bingrer Darstellung der Lgnge 32
oder 16) fester GrSfie, um die Berechnung auf einem Rechner zu realisieren.
Weil diese Uberlegung fiir jedes k stimmt, bekommen wir einen exponentiel-
len Unterschied zwischen der uniformen Komplexittit und der tatstichlichen
Berechnungskomplexittit.
Wenn die GrSfie der Operanden in den bet racht et en Berechnungen wachsen
kann, benutzt man die Messung mit dem logarithmischen Kostenmafi, die eine
sehr genaue Messung auf der Ebene von Bits ist. Die Kosten einer Operation
misst man als die Summe der Lgngen der bin~iren Darstellungen der in den
Operationen vorkommenden Operanden, und die ZeitkomplexitS~t einer Be-
rechnung ist die Summe der Preise der in der Berechnung durchgefiihrten Ope-
rationen. Die Speicherplatzkomplexittit ist die Summe der Darstellungslgngen
der Inhalte der benutzten Variablen. Die Messung mit logarithmischem Ko-
stenmafi ist immer realistisch, sie kann nur manchmal sehr aufwendig sein.
6.3 Kompl exi t i i t s kl as s en und die Kl asse P
Fiir die Definition yon KomplexitS~tsklassen benutzen wir das Modell der
Mehrband-Turingmaschine. Wir betrachten hier KomplexitS~tsklassen nur als
Sprachklassen, also als Mengen von Entscheidungsproblemen.
Def i ni t i on 6.5. Fiir alle Funkt i onen f , g yon IN nach IR + definieren wir:
TI ME( f )
SPACE( g)
DLOG
P
PSPACE
= {L(B) I B ist eine MTM mi t TimeB(n) E O( f ( n) ) } ,
= {L( A) I A ist eine MTM mi t SpaceA(n ) E O( g( n) ) } ,
= SPACE(log 2 n),
- 0 TIME(nC)'
cEI N
- [..J SPACE(nC),
cEI N
216 6 Kompl exi t ~t st heori e
E X P TI ME =
0 TIME(2~d).
dEIN
Im Folgenden beschSfftigen wir uns mit den grundlegenden Beziehungen zwi-
schen den Komplexit/~tsklassen und den Eigenschaften der ZeitkomplexitS~t
und der SpeicherplatzkomplexitS~t.
Le mma 6.3. Fiir j ede Funkt i on t : IN ~ IR + gilt
TIME(t (n)) C_ SPACE(t(n)).
Bewei s. Jede MTM M, die in der Zeit TimeM(n) arbeitet, kann nicht mehr
ale TimeM(n) Felder eines arbei t sbandes beschriften. Also gilt SpaceM(n ) _<
TimeM(n) fiir jede MTM M. D
Ko r o l l a r 6 . 1 . P c PSPACE
Fiir die anderen Vergleiche brauchen wir den Begriff der konstruierbaren Funk-
tionen. Die Idee dabei ist, Mehrband-Turingmaschinen zu bauen, die auf sich
selbst aufpassen in dem Sinne, dass sie gewisse Komplexit/ttsschranken in kei-
ner ihrer Berechnungen iiberschreiten.
Def i ni t i on 6 . 6 . Ei ne Funkt i on s : I N ~ IN heiflt p l a t z k o n s t r u i e r b a r , falls
eine I - Band- TM M existiert, so dass
_<
(ii) f i i r j ede Eingabe 0 ~, n E IN, generi ert M das Wort 0 s(~) auf sei nem
Arbei t sband und hiilt in qaccept.
Ei ne Funkt i on t : lN ~ IN heiflt z e i t k o n s t r u i e r b a r , falls eine MTM A exi-
stiert, so dass
(ii) f i i r j ede Eingabe 0 ~, n E IN, generi ert A das Wort 0 t(~) auf dem erst en
Arbei t sband und halt in qaccept.
Die meisten gew6hnlichen monotonen Funktionen mit f ( n) _> log 2 (n + 1)
( f ( n) >_ n ) s i n d platzkonstruierbar (zeitkonstruierbar). Z.B. kann eine 1-Band-
TM A die Funktion [log2(n + 1)] wie folgt konstruieren. A liest einmal 0 ~ auf
dem Eingabeband yon links nach rechts und speichert dabei auf dem Arbeits-
band jeweils die binS~re Darstellung der aktuellen Position des Kopfes auf dem
Eingabeband, indem A fiir jede Bewegung um ein Feld nach rechts auf dem
6.3 Komplexittitsklassen und die Klasse P 217
Ei ngabeband zu dem I nhal t des Ar bei t s bandes eine Eins addi ert . Wenn der
Kopf auf dem Ei ngabeband das erst e u Symbol erreicht, dann hat der be-
schrift et e Teil des Ar bei t s bandes die LS~nge [log2(n + 1)]. Wenn man dann alle
Ei nsen auf dem Ar bei t s band dur ch Nullen erset zt , enth~ilt das Ar bei t s band
das Wor t 0 [1~ .
Wi r beobacht en, dass die Benut zung einer 1- Band- TM M in der Definit ion
der Pl at zkonst r ui er bar kei t unwesent l i ch ist, weil j ede MTM mi t der gleichen
Spei cher pl at zkompl exi t ~t dur ch eine 1- Band- TM simuliert wer den kann. Eine
MTM M kann die Funkt i on [ x/ ~] wie folgt konst r ui er en. M versucht auf
einer Ei ngabe 0 i fiir i - 1, 2 , . . . fest zust ellen, ob i 2 _< n < (i + 1) 2. Ffir ein
festes i kann die Uber pr i i f ung wie folgt laufen. Das erst e und das zweite Band
ent hal t en 0 i. Dann bewegt man den Kopf auf dem Ei ngabeband i . i-real nach
rechts, um fest zust ellen, ob i - i > ni s t . Diese i - i Schr i t t e nach recht s auf dem
Ei ngabeband realisiert man wie folgt. Der Kopf auf dem Ei ngabeband und der
Kopf auf dem erst en Band bewegen sich i mmer si mul t an nach rechts, der Kopf
auf dem zweit en Band bleibt st ehen. Wenn der Kopf auf dem er st en Band das
Symbol u erreicht, geht er zuriick an den linken Rand des Bandes und der
Kopf auf dem zweit en Band geht einen Schri t t nach rechts. Dami t wi rd der
Kopf auf dem Ei ngabeband so viele Schr i t t e nach recht s machen, dass es dem
Pr odukt der InhaltslS~ngen der bei den ArbeitsbS~nder ent spri cht .
Auf gabe 6.8. Beschreiben Sie in Form von Diagrammen die zwei oben beschriebenen
Mehrband-Turingmaschinen zur Konstruktion der Funktionen [log2(n + 1)] und [v/-~].
Offensichtlich f unkt i oni er t die Idee der Mul t i pl i kat i on der InhaltslS~ngen von
zwei BS~ndern auch, um zu zeigen, dass die Funkt i on f ( n ) - n q fiir ein belie-
biges q E IN zei t konst r ui er bar ist.
Auf gabe 6.9. Beweisen Sie, dass folgende Funktionen platzkonstruierbar sind:
(i)
(ii)
(iii)
(iv)
[v/~n] q ft~r jede positive ganze Zahl q,
| n2| f~r jede positive ganze Zahl q _> 2,
2 n"
Auf gabe 6.10. Zeigen Sie, dass folgende Funktionen zeitkonstruierbar sind:
(i) n j fiir jedes j E I N- {0},
(ii) c. n fiir j edes c c N - {O},
(iii) 2 ~,
(iv) c ~ fiir jedes c E I N- {0, 1}.
Auf gabe 6.11. Beweisen Sie die folgende Aussage. Wenn s( n) und t ( n) zwei platzkon-
struierbare (zeitkonstruierbare) Funktionen sind, dann ist auch die Funktion t ( n ) . s( n)
platzkonstruierbar (zeitkonstruierbar).
218 6 Komplexit~tstheorie
Das nS~chste Lemma zeigt, dass es fiir jede plat zkonst ruierbare Funkt ion aus-
reicht, eine MTM M mit L ( M) = L mit s(n)-pl at zbeschrgnkt en Berechnungen
auf allen Eingaben aus L zu konstruieren, um die Existenz einer MTM A zu
garantieren, die ebenfalls L akzept iert und auf allen Eingaben (also auch auf
W6r t er n aus L c) die Schranke s(n) ffir die PlatzkomplexitS~t einhSJt.
Le mma 6. 4. Sei s : IN ~ IN eine platzkonstruierbare Funktion. Sei M eine
MTM ~ i t S p ~ c ~ ( ~ ) _< ~(l~l) f ~ ~ZZ~9 ~ n( ~) . D~ ~i ~ti ~t ~i ~ MTM
d mi t n ( d ) = L ( M) und
s p~~( ~) _< ~(~), d.h.
SP~A( Y) ~ ~(lYl) I~Z~alZ~ y ~Zb~ d~m Ei~gab~alphab~t vo~ ~.
Beweis. Sei M eine k- Band- TM ffir ein k E I N- {0} mit SpaceM(x ) _< s(lxl)
fiir alle x E L ( M) . Sei B eine 1-Band-TM, die s konstruiert. Wir konstruieren
eine (k + 1)-Band-TM A, die auf jeder Eingabe x folgendermagen arbeitet.
(i) A int erpret iert x als 0 x und simuliert die Arbeit yon B auf 0 x auf dem
(k + 1)-ten Arbeit sband. Die Simulation endet damit , dass das Wort
0~( x ) auf das (k + 1)-te Band geschrieben wird.
(ii) A schreibt ein spezielles Symbol ~ r FM auf die s(lxl)-t e Position von
allen ArbeitsbS~ndern.
(iii) A simuliert schrittweise die Arbeit yon M auf x mit den ersten k Bs
Falls M versucht, ein Feld rechts yon r auf einem der k ArbeitsbS~ndern
zu bet ret en, beendet A seine Berechnung in qreject- Falls M hS~lt, hS~lt A
auch in einem Z ust and mit derselben Bedeutung.
Offensichtlich ist SpaceA(z ) _< ~(1~1) ffir alle Eingaben z. Wir zeigen jetzt, dass
L( A) = L ( M) .
Falls x e L ( M) , dann gilt SpaceM(x ) _< s(Ixl). Daher simuliert A die ganze
Berechnung von M auf x und endet in qaccept. Also x E L( A) .
Wenn y ~ L ( M) , unterscheiden wir zwei Fglle. Falls SpaceM(Y ) _< ~(lYl), dann
simuliert A die ganze Berechnung von M auf y und akzeptiert dadurch y nicht.
F~lls Sp~o~(y) > ~(lyl), dann bricht A die Simulation der Berechnung von
M auf y in dem augenbl i ck ab, in dem M mehr als ~(lyl) Speicherzellen auf
einem Arbei t sband nut zen m6chte. Nach der Unt erbrechung der Simulation
geht A in den Z ust and qreject fiber, also y ~ L( A) . D
Eine zu Lemma 6.4 analoge Behaupt ung ffir die ZeitkomplexitS~t gibt das fol-
gende Lemma.
6.3 Komplexitgtsklassen und die Klasse P 2 1 9
Le mma 6. 5. Sei t : IN ~ IN eine zeitkonstruierbare Funktion. Sei M eine
MTM mi t TimeM(x) _< t(izl) fiir alle x E L ( M) . Dann existiert ein MTM A
mi t L( A) = L ( M) und
TimeA(n) E O(t (n)).
Auf gabe 6.12. Beweisen Sie Lemma 6.5.
Die obigen Lemmat a zeigen, dass es fiir die Definition der Komplexitgtsklassen
SPACE(s) und TIME(t ) fiir eine platzkonstruierbare Funktion s und eine zeit-
konstruierbare Funkion t unwesentlich ist, ob man Space M und Ti me r einer
TM M als
oder als
SpaceM(n)
TimeM(n)
= max{SpaceM(X) l x E E ~} und
= max{ Ti meM( x) l x E E ~}
SpaceM(n ) = max{SpaceM(X) l x E L ( M) u n d = ~}
TimeM(n) = max{ Ti meM( x) l x E L ( M) u n d = ~}
definiert.
Das ngchste Resultat zeigt eine wichtige Relation zwischen Speicherplatzkom-
plexitgt und Zeitkomplexitgt.
Sat z 6. 2. Fiir j ede platzkonstruierbare Funktion s mi t s(n) >_ log 2 n gilt
SPACE(s(n)) c_ LJ TIME(c~(~))"
cEIN
Beweis. Sei L E SPACE(s(n)). Nach Lemma 6.2 existiert eine 1-Band-TM
V = (Q, ~, 1-', (~, q0, qaccept, qreject), SO dass L = L(_/~f) und Sp&eeM(Tt ) ~ s(7t)
gelten und M immer hglt.
Fiir jede Konfiguration C = (q, w, i , x , j ) von M definieren wir die i nner e
Ko n f i g u r a t i o n v o n C als
In(C) : (q, i, x, j ).
Eine innere Konfiguration enthSJt nur die Teile der Konfiguration, die sich
wghrend einer Berechnung 5mdern k6nnen. Wir haben also den Inhalt w des
Eingabebandes ausgelassen, der wghrend der ganzen Berechnung unvergndert
220 6 Komplexitgtstheorie
bleibt. Unsere Idee ist j et zt zu zeigen, dass es keinen Sinn macht, 15~nger als
die Anzahl aller m6glichen inneren Konfigurationen zu arbeiten, weil eine Be-
rechnung in eine Endlosschleife gerS~t, wenn sie auf einem Wort w zwei gleiche
innere Konfigurationen enthS~lt.
Bet racht en wir j et zt die Mengen InKonf(n) aller m6glichen inneren Konfigu-
rat ionen (q, i, x, j ) der l - Band- TM M auf allen Eingabew6rt ern der LS~nge n.
Dann muss 0 _< i _< n + 1, Izl_ SpaceM(rt) _< s(rt) und 0 _< j _< SpaceM(rt ) _<
s(n) gelten. Daher
IInKonfM(n)[ < 101 + 2) Ir l
__ (m x{2, IQI, Irl}) 4.s(~)
< cS(~)
fiir c - (max{2, IQI, Irl}) ~.
Es ist klar, dass jede Berechnung D = (21, 6'2, 6' 3, . . . yon M auf einem Wort
w mit Iwl- ~, die ]a~ger a]s II~Ko~fM(~)l ist, zwei identische innere Konfi-
gurat ionen In(C~) und In(Cj ) f/Jr i < j entha]t, aus der Definition der inneren
Konfiguration wissen wir aber, dass dann auch die entsprechenden Konfigura-
tionen Ci und Cj identisch sind. Weil M deterministisch ist, ist
D -- C1, . . . , Ci _ I , Ci, Ci +I , . . . , Cj _ I , Ci, Ci +I , . . . , Cj _ I , Ci . . .
eine unendliche Berechnung mit der endlosen Schleife Ci, Ci +l , . . . , Cj. Deswe-
gen hat jede endliche Berechnung von M auf einer Eingabe w h6chstens die
gange IInKonfM(Iw[)[. Folgend der Definition der Speicherplatzklassen sind
alle Berechnungen yon M endlich. Somit arbeit et M in der Zeitkomplexitgt
c ~(~) . D
Im Folgenden zeigen wir, dass Satz 6.2 auch dann gilt, wenn man den s(n)-
plat zbeschrgnkt en Turingmaschinen unendliche Berechnungen erlauben wiirde.
Unter dieser Lockerung der Voraussetzungen bedeut et unsere Beobacht ung ins-
besondere, dass jede akzeptierende Berechnung auf einer Eingabe der LS~nge n
h6chstens [InKonfM(n)[ lang ist.
Jet zt beschreiben wir eine 3-Band-TM A mit L ( A) - L(M) und TimeA(n) E
O(k ~(~)) fiir eine Konst ant e k. Fiir jede Eingabe w arbeit et A wie folgt.
(i) A simuliert die Konst rukt i on von s und schreibt 0 ~( ~ ) auf das erste
Arbeit sband.
{Weil eine TM B, die s konstruiert, h6chstens s(lw[) Felder des Arbeits-
bandes benut zt , existiert eine Konst ant e d, so dass TimeB(n) _< d ~(~)
6.3 KomplexitSotsklassen und die Klasse P 221
(ii)
(iii)
gilt. Dami t generiert A das Wort 0 ~(" ) auch in der Zeit d~(').}
A schreibt 0 ~('~') auf das zweite Band in c ~( ~ ) Schrit t en (dabei wird das
dri t t e Ar bei t sband als Hilfsspeicher benut zt ) .
A simuliert die Arbeit von M auf w Schrit t fiir Schrit t auf dem erst en
Ar bei t sband. F/Jr j eden simuliert en Schritt 15scht A eine 0 auf dem zwei-
t en Band. Falls alle Nullen auf dem zweiten Band gel6scht worden sind
und die Berechnung von M auf w nicht endet, dann hSolt A in qreject.
Falls M in hachst ens c ~( ~ ) Schrit t en seine Berechnung auf w beendet ,
dann endet A ent sprechend in qaccept oder qreject.
Wi r haben schon bemerkt , dass die Berechnungsphasen (i) und (ii) von A in
O(d ~(~)) bzw. O(c ~(~)) Zeit durchfiihrbar sind. Die Phase (iii) von A lauft
offensichtlich in Zeit O(c ~(~ )), also Ti mea( n) E O( ( max{c, d})~(~)).
Falls x E L( M) , dann hat die Berechnung yon i F/ auf x h6chst ens die LS~nge
c ~(x) und dami t akzept iert A nach erfolgreicher Simulat ion der Berechnung yon
M auf x das Wort x auch. Wenn x ~ L( M) , dann wird x yon A offensichtlich
verworfen.
Kor ol l a r 6. 2. DLOG c P und PSPACE c EXPTI ME.
Nach Korollar 6.1 und 6.2 erhal t en wir die folgende f undament al e Hierarchie
von det erminist ischen KomplexitS~tsklassen.
D LOG c P c PSPACE c EXPTI ME.
Zu den f undament al st en Resul t at en der KomplexitSotstheorie geh6ren die fol-
genden HierachiesSotze. Die Beweise dieser SSotze basieren auf einer komplizier-
t en Anwendung der Diagonalisierungsmet hode, und wir verzichten deshalb auf
die Beweise in dieser Einfiihrung.
Sat z 6. 3. * Seien s l und s2 zwei Funktionen von IN nach IN mit folgenden
Eigenschaften:
(ii)
82(n) > log 2 n,
S2 ist platzkonstruierbar und
=
Dann gilt SPACE(s~) ~ SPACE(s2).
Sat z 6. 4. * Seien tl und t2 zwei Funktionen von IN nach IN mit folgenden
Eigenschaften:
222 6 Kompl exi t ~t st heor i e
(i) t2 ist zei t konst rui erbar und
(ii) t l ( n) . log2(tl(n)) - o(t 2(n)).
Dann gilt TIME(t1) c TIME(t2).
Die Hierarchiesgtze zeigen, dass es beziiglich der Komplexitgt beliebig schwere
Probleme gibt. Z.B. gibt es Probleme, die nicht in TIME(2 ~) liegen (d.h. es
existiert keine TM, die das Problem effizienter als in der Zeit 2 ~ 16sen kann).
Dass man dabei auf die Grenze des physikalisch Machbaren st6fJt, zeigt die
Tabelle 6.1, die das Wachst um der Funktionen 10n, 2n 2, n 3, 2 ~ und n! fiir die
Eingabelgngen 10, 50, 100 und 300 zeigt. Wenn die Zahlen zu grog sind, geben
wir nur die Anzahl der Ziffern ihrer Dezimaldarstellung an.
Tab. 6.1
n
f(n)
10n
2n 2
7t 3
2 n
n!
10 50 100 300
100 500 1000 3000
200 5000 20000 180000
1000 125000 1000000 27000000
1024 16 Ziffern 31 Ziffern 91 Ziffern
3, 6. 106 65 Ziffern 158 Ziffern 615 Ziffern
Setzen wir voraus, dass unser Rechner 106 Operat ionen in einer Sekunde
durchfiihrt. Dann braucht ein Algorithmus A mit TimeA(n) = n 3 27 Sekun-
den fiir die grSfite Eingabelgnge 300. Wenn TimeA(n) = 2 ~, dann braucht A
schon fiir die Eingabel~nge n = 50 mehr als 30 J ahre und fiir n = 100 mehr
als 3.1016 Jahre. Die gesch~tzte Anzahl der abgelaufenen Sekunden seit dem
Urknall ist eine Zahl mit 21 Dezimalziffern. Wenn man diese physikalische Kon-
st ant e als die Grenze fiir die Zeit praktisch realisierbarer Berechnungen ansieht,
dann sind die Algorithmen mit der Zeitkomplexitgt 2 ~ und n! nicht praktisch
durchfiihrbar fiir realistische Eingabel~ngen. Keine lineare Beschleunigung der
Rechner durch neue Technologien kann daran etwas ~ndern, weil die exponen-
tiell wachsenden Funktionen ihren Funktionswert bei jeder Verlgngerung der
Eingabel~nge um ein einziges Bit vervielfachen.
So wurde klar, dass die Probleme, die nicht unt erhalb yon TIME(2 ~) liegen,
nicht praktisch 15sbar sind. Auf diese Weise ent st and die fundament ale Ziel-
setzung der Komplexit~tstheorie, die Klasse der praktisch 15sbaren Probleme
zu spezifizieren und Techniken zur Klassifikation der Probleme in praktisch
15sbare und praktisch unlSsbare zu entwickeln. Im Folgenden nennen wir einen
Algorithmus A mit TimeA(n) C O( n ~) fiir eine Konst ant e c einen polynomi-
ellen Algorithmus.
6.3 Komplexittitsklassen und die Klasse P 223
In den sechziger Jahren haben sich die Informatiker auf folgende Spezifikation 4
geeinigt.
Ein Problem ist praktisch 15sbar genau dann wenn ein polynomiel-
ler Algorithmus zu seiner LSsung existiert. Die Klasse P ist die
Klasse der praktisch entscheidbaren Problerne.
Z u dieser Entscheidung fiihrten im Wesentlichen folgende zwei Griinde.
1. Der erste Grund basiert mehr oder weniger auf einer praktischen Erfah-
rung. Dass die Probleme, fiir die kein polynomieller Algorithmus existiert, als
praktisch unl6sbare Probleme spezifiziert werden sollen, ist aus Tabelle 6.1 er-
sichtlich. Aber ein Algorithmus mit der polynomiellen Zeitkomplexit~it n 1~176176
ist fiir realistische Eingabegr6fien noch weniger praktisch anwendbar als einer
mit der Zeitkomplexit~t 2 ~. Darf man also ein Problem, fiir das der beste Algo-
rithmus in der Zeit n 1~176176 lguft, als praktisch 16sbar einordnen? Die Erfahrung
auf dem Gebiet des Algorithmenentwurfs zeigt aber, dass solche Probleme in
der Praxis nicht auftreten. Wenn man fiir ein Problem einen Algorithmus A
mit TimeA(n) C O(n ~) fiir ein grofies c gefunden hat, dann gelingt es fast im-
mer, einen anderen al gor i t hmus Bmi t TimeB(n) E O(~t6), meistens sogar mit
TimeB(n) E O(n3), zu finden. Deswegen ist die Klasse P aus praktischer Sicht
nicht zu grog, und die Probleme aus P werden als praktisch 16sbar angesehen.
2. Der zweite Grund ist theoretischer Natur. Die Definition einer wichtigen
Klasse wie die der praktisch 16sbaren Probleme muss robust in dem Sinne sein,
dass sie unabh~ngig von dem in der Definition benut zt en Rechnermodell ist.
Es darf nicht passieren, dass ein Problem aus Sicht der Programmiersprache
JAVA praktisch 16sbar ist, aber aus Sicht der Mehrband-Turingmaschinen
nicht. Dies wgre der Fall, wenn man versuchen wiirde, die Klasse praktisch
16sbarer Probleme als solche mit einer oberen Schranke von O(n 6) fiir die Zeit-
komplexit~t zu definieren. Aber der Begriff der Polynomialzeit-Berechnungen
und so auch der der Klasse P ist robust genug. Die Klasse der in polynomieller
Zeit 16sbaren Probleme ist die gleiche fiir jedes bekannt e Berechnungsmodell
zur Symbolmanipulat ion mit einem realistischen ZeitkomplexitS~tsmafi. For-
real driickt man das dutch den Begriff der Polynomialzeit-Reduzierbarkeit
zwischen Berechnungsmodellen aus. Ein Be r e c hnu ngs mod e l l J I ist auf
ei n Be r e c hnu ngs mod e l l 73 p ol y nomi a l z e i t - r e d u z i e r b a r , falls ein Poly-
nora p existiert, so dass fiir jeden Algorithmus A E A ein Algorithmus B E
B existiert, der das gleiche Problem wie A 16st und fiir den TimeB(n) E
4Diese Spezifikation wird heut zut age nicht mehr in genau dieser Form akzeptiert. Dieses
Thema werden wir aber ausfiihrlicher im n~tchsten Kapitel besprechen.
224 6 Komplexitgtstheorie
O( p( Ti meA( n) ) ) gilt. Aus der Erfahrung mit Beweisen von Behaupt ungen wie
,,A ist auf B polynomialzeit-reduzierbar" wissen wir, dass p nie schneller wach-
sen muss als n 3. Als Beispiel k6nnen wir die Modelle der Turingmaschinen und
der Mehrband-Turingmaschinen bet racht en. Offensichtlich sind Turingmaschi-
nen polynomialzeit-reduzierbar auf Mehrband-Turingmaschinen und es reicht
p ( n) = n z u wa hl e n (Lemma 4.1). Die Simulation in Lemma 4.2 zeigt, dass
Mehrband-Turingmaschinen auf Turingmaschinen polynomialzeit-reduzierbar
sind, und wir ~berlassen die genaue Analyse dem Leser.
Aufgabe 6.13. Analysieren Sie die Simulation aus dem Beweis des Lemmas 4.2 um fol-
gende Aussage zu beweisen.
Fiir jede MTM A mit TimeA (n) _> n existiert eine gquivalente TM B, so dass
TimeB(n) C O((TimeA(n))2).
6.4 Ni chtdetermi ni sti sche Komplexit itsmaBe
Die nichtdeterministischen Turingmaschinen (Algorithmen) k6nnen viele 5 un-
terschiedliche Berechnungen auf einer Eingabe machen. Diese k6nnen alle sehr
unterschiedliche Komplexit gt en haben. Was ist dann die Komplexit gt der Ar-
beit einer nichtdeterministischen Maschine (eines nichtdeterministischen Algo-
rithmus) M auf einer Eingabe w? Wir bet racht en bei nichtdeterministischen
Berechnungsmodellen die optimistische Ansicht, die besagt, dass eine nicht-
deterministische Maschine immer die beste MSglichkeit aus einer best ehenden
Auswahl wghlt. Die ,,beste Wahl" bedeut et nicht nur die richtige Wahl, die zu
dem richtigen Result at ftihrt, sondern auch die effizienteste Wahl, die mit mi-
nimaler Komplexit gt zu dem richtigen Result at ftihrt. Deswegen definiert man
die nichtdeterministische Komplexit gt einer Maschine M auf einer Eingabe x
als die Komplexit gt der effizientesten Berechnung yon M auf x mit dem rich-
tigen Resultat. Im Falle der Sprachenerkennung (der Entscheidungsprobleme)
bet racht et man nur die Komplexit gt von Berechnungen auf WSrt ern, die in
der Sprache liegen.
Def i ni t i on 6. 7. Sei M eine NTM oder eine nichtdeterministische MTM. Sei
x E L ( M) c_ E*. Die Z ei t kompl exi t ~i t von m auf x, Ti me M( x ) , ist die
5Sogar unendlich (aber aufzghlbar) viele.
6.4 Nichtdeterministische Komplexit~tsmage 225
Liinge der kiirzesten akzeptierenden Berechnung von M auf x. Die Z ei t k om-
pl exi t ~i t von M ist die Funktion Ti meM" IN --+ IN, definiert dutch
Ti me M( n) -- max{Ti meM( x) i x E L ( M) n E~}.
Sei C - CI ~ C2 ~ . . . ~ Cm eine akzeptierende Berechnung von M auf x. Sei
SpaceM(C~ ) die Speicherplatzkomplexitgt der Konfiguration C~. Wi t definie-
Fe n
S p a c e M( C) - - max { Spac e M( Ci ) I i - 1, 2 , . . . ,
Die Sp ei cher p l at z k omp l ex i t ~i t von M au f x ist
Sp a c e M( x ) -- mi n{SpaceM( C ) C ist eine akzeptierende
Berechnung yon M auf x. } .
Die Sp ei cher p l at z k omp l ex i t ~i t von Mi s t die Funktion Space M 9 IN --+ IN
definiert dutch
Sp a c e M( n ) -- max{SpaceM(z) I z E L ( M) n E~}.
Def i ni t i on 6. 8. Fiir alle Funktionen f , g" IN ~ IR + definieren wi t
NTIME( f )
NSPACE(g)
NLOG
NP
NPSPACE
= { L ( M) I M ist eine nichtdeterministische MTM
mi t Ti meM( n) E O( f ( n) ) } ,
= { L ( M) I M ist eine nichtdeterministische MTM
mi t SpaceM(n ) r O(g(n))} ,
= NSPACE(l og 2 n),
- U NTIME(nC)' und
cEIN
- U NSPACE(n~)"
cr
Zuerst zeigen wir analog zu Lemma 6.3 und Satz 6.2 die Relat ion zwischen der
Z eit komplexit ~t und der Speicherplat zkomplexit ~t yon nicht det erminist ischen
Turingmaschinen.
Le mma 6. 6. Fiir alle Funktionen t und s mi t s(n) >_ log 2 n gilt
(i) NTI ME( t ) c_ NSPACE(t )
226 6 Kompl exi t ~t st heori e
(ii) NSPACE(s)c_ U NTIME(c~(~))
cEIN
Beweis. Wir beweisen zuerst (i) und dann (ii).
(i) Sei L E NTIME(t ). Dann existiert eine nichtdeterministische MTM M mit
L ( M) - L und TimeM(n) <_ d. t(n) fiir eine Konst ant e d und alle geniigend
grogen n. Dies bedeut et , dass ftir jedes gentigend lange x E L ( M) eine akzep-
tierende Berechnung Cx yon M auf x yon h6chstens der Ltinge d' t(lxl) existiert.
Weil in d. t(n) Schritten h6chstens d. t(n) Felder eines Arbeit sbandes besucht
werden, ist SpaceM(Cx ) <_ d. t(l~l). Damit ist aber SpaceM(n ) <_ d. t(n) fiir
alle geniigend grogen n, also L E NSPACE(t).
(ii) Sei L E NSPACE(s). Dann existiert eine nichtdeterministische MTM A
mit L - L ( M) und SpaceA(x ) _< d. ~(1~1) fiir eine Konst ant e d und alle
geniigend langen WSrt er x E L( A) - L. Dies bedeut et , dass fiir jedes geniigend
lange x E L( A) eine akzeptierende Berechnung Cx mit SpaceA(Cx ) <_ d. ~(1~1)
existiert. Sei Cx die kiirzeste akzeptierende Berechnung von A auf x mit dieser
Eigenschaft. Mit dem gleichen Argument wie im Beweis von Satz 6.2 erhalt en
wir, dass es eine Konst ant e k gibt, so dass die Lgnge von Cx hSchstens
iinKonfA(ixl)l _< ka.~( x )
fiir alle geniigend langen x E L( A) ist. Wenn die L~inge von Cx grSt3er als
IInKonfA(Ixl)l wa r e , dann existierten i, j E I N- {0}, i r j , so dass
G - - C1, C2 , . . . , Ci _ I , Ci , Ci + I , . . . , Cj , Cj + I , . . . , Cm
und Ci und Cj gleiche Konfigurationen w/iren. Dann ist aber die Berechnung
Clx - - C1, C2, . . . , Ci _ I , Ci , Cj q- 1, . . . , Cm
auch eine akzeptierende Berechnung von A auf x. Das ist ein Widerspruch zur
Annahme, dass C~ die kfirzeste akzeptierende Berechnung yon A auf x ist.
Weil A fiir alle geniigend langen W6rt er x E L( A) akzeptierende Berechnungen
von h6chstens der Lgnge
kd ( x ) = x )
fiir Konst ant en k und d hat, ist TimeA(n) E O(c ~(~)) ftir c -- k d und somit
L E NTIME(c~(~)).
Au f ga b e 6. 14. Sei M eine nicht det erminist ische MTM mit Ti meM(n) _< t ( n) fiir eine
zeit konst ruierbare Funkt i on t. Beweisen Sie die Exist enz einer nicht det erminist ischen MTM
6.4 Nichtdeterministische Komplexitgtsmat3e 227
A, so dass L ( A) - L ( M) und eine Konst ant e d existiert, so dass fiir jede Eingabe w C E*
alle Berechnungen von A auf w h6chstens die Lange d. t(Iwl) haben.
Der folgende Satz zeigt die grundlegende Relation zwischen deterministischen
und nichtdeterministischen Komplexit~tsmaf3en.
Sat z 6.5. Fi i r j ede Funkt i on t " IN ~ IR + und j ede zei t konst rui erbare und
pl at zkonst rui erbare Funkt i on s" IN ~ IN mi t s( n) >_ log 2 n gilt
TIME(t ) c_ NTIME(t ),
SPACE(t) c NSPACE(t), und
NTIME(s(n)) c_ SPACE(s(n))c_ U TIME(c~(~)) 9
c6lN
Bewei s. Die Behauptungen (i) und (ii) sind offensichtlich giiltig, weil jede
MTM auch eine nichtdeterministische MTM ist.
Die Relation SPACE(s(n)) c_ Uc ~ TIME(c~(~)) wurde in Satz 6.2 bewiesen.
Um (iii) zu beweisen, reicht es, NTIME(s(n)) C_ SPACE(s(n)) zu zeigen.
Sei g E NTIME(s(n)). Also gibt es eine nichtdeterministische MBand-TM
M - (Q, E, F, ~M, q0, qaccept, qreject) mit L -- L ( M) und TimeM(n) E O( s ( n) ) .
Sei
- ~M - max{l M(U)l I U- (q, a, b l , . . . , bk) E Q x ( ~ U {~, $}) X F k}
die obere Schranke fiir die Anzahl der m6glichen Aktionen von M aus ei-
her Konfiguration. Sei TM,~ der Berechnungsbaum yon M auf einer Eingabe
z E E*. Wenn die nichtdeterministischen Entscheidungen yon M auf jedem
Argument mit 1, 2, . . . , r nummeriert werden, dann kann man jeder Kante von
TM,~ die entsprechende Nummer zuordnen (Fig. 6.1). Wenn man dann eine
Berechnung der Lgnge 1 als eine Folge von Kanten (start einer Folge von Kno-
ten) betrachtet, kann man jeder Berechnung C der Lttnge 1 eindeutig ein Wort
z = Zl Z2. . . z l mit zi E {1, 2, . . . , r} zuordnen. Ftir eine gegebene Eingabe z
von M, bestimmt z.B. die Folge 1,3,1,4 eindeutig den Prefix einer Berechnung,
bei der M im ersten Schritt die erste Wahl trifft, im zweiten die dritte, im drit-
ten die erste und im vierten Schritt die vierte Wahl. Wenn es z.B. im vierten
Schritt nur drei MSglichkeiten gab, entspricht die Folge 1,3,1,4 keiner Berech-
nung und wird als inkonsistent betrachtet. Dasselbe gilt, wenn die Berechnung
nach 1,3,1 beendet ist und kein vierter Schritt existiert.
Ohne EinschrS~nkung der Allgemeinheit (Aufgabe 6.14) setzen wir voraus, dass
eine Konstante d existiert, so dass alle Berechnungen von M auf einer Eingabe
228
Fig. 6.1
6 Komplexitgtstheorie
1 2 1 1 1
/j i)
w h6chstens die Lgnge d. ~(Iwl) haben. Somit benut zt keine Berechnung von
M auf w mehr als d. ~(Iwl) Speicherplgtze.
Jet zt beschreiben wir eine (k + 2)-Band-TM A, die alle Berechnungen yon M
yon hSchstens der Lgnge IInKonf~(n)l simuliert. Ftir jedes w E E* arbeit et A
wie folgt.
(i)
(ii)
(iii)
A schreibt 0 s( ~ ) auf das (k + 2)-te Band.
A schreibt 0 ds( ~ ) auf das (k + 1)-te Band und 16scht dabei den Inhalt
des (k + 2)-ten Bandes.
A generiert eins nach dem anderen alle W6r t er z E {1, 2 , . . . , rM}* yon
hSch~ton~ dor La~go ~. ~(1~1) ~uf dora ( k+ 2) - t o~ B~ d . ~ar jodo~ ~ ~imu-
l i ert A auf den ersten k Arbeit sbgndern die entsprechende Berechnung
(falls eine solche existiert) yon der nichtdeterministischen k- Band- TM
M auf w. Falls M in irgendeiner dieser simulierten Berechnungen seinen
akzept ierenden Z ust and qaccept erreicht, dann akzeptiert A die Eingabe
w. Falls in keiner Berechnung von M auf wd e r Z ust and qaccept erreicht
wird, verwirff Ad a s Wort w.
Offensichtlich ist L( A) = L ( M) , weil M keine lgngeren Berechnungen als d.
s(n) hat, und damit iiberpriift A im Fall des Verwerfens alle Berechnungen von
M auf der Eingabe. Spacer ( n) _< d. s(n) gilt, weil Spacer ( n) _< Ti meM( n) .
Somit iiberschreitet A auf den ersten k Arbeit sbgndern, die zur Simulation von
6.4 Nichtdeterministische KomplexitS~tsmafie 229
M benut zt werden, hie die SpeicherplatzkomplexitS~t SpaceM(n ) <_ d. s(n). Das
(k + 1)-te Band benut zt genau d. s(n) Felder ftir 0 a~( ~ ). Weil auch das (k + 2)-
te Band wS~hrend der Simulation ein Wort aus {1, 2 , . . . , r}* yon h6chstens der
LS~nge d. s(n) enthalt, gilt SpaceA(n ) <_ d. s(n). D
Korol l ar 6.3. NP C PSPACE.
Auf gabe 6. 15. Analysieren Sie die Zeitkomplexit~t der (k+2)-Band-TM A aus dem Beweis
des Satzes 6.5.
Wir kennen keine effizientere allgemeine deterministische Simulation von nicht-
deterministischen Algorithmen, als syst emat isch alle Berechnungen eines gege-
benen nichtdeterministischen Algorit hmus zu simulieren 6. Dies fiihrt dann aber
beim Ubergang von Nicht det erminismus zu Det erminismus zum exponentiel-
len Wachst um der Zeitkomplexitgt. So ist es in Satz 6.5, und wir beobacht en
dies auch bei der Tiefensuche-basierten Simulation in Satz 4.2.
Auf gabe 6.16. Analysieren Sie die Zeitkomplexit~t der deterministischen Simulation einer
NTM aus Satz 4.2.
Der n~chste Satz gibt die beste bekannt e zeiteffiziente deterministische Simu-
lation von nicht det erminist ischem Speicherplatz.
Sat z 6.6.* Fiir j ede platzkonstruierbare Funktion s, s(n) >_ log 2 n, gilt
NSPACE(s(n)) C_ 0 TIME(c~(~))"
cEIN
Beweis. Sei M eine nichtdeterministische MTM mit L ( M) - L und
SpaceM(n ) E O(s(n)). Ohne EinschrS~nkung der Allgemeinheit setzen wir Fol-
gendes voraus:
(i) Es existiert eine Konst ant e d, so dass fiir jede Eingabe w alle Berech-
nungen von M auf w hSchstens die Speicherplatzkomplexit~t d. s(n)
haben.
(ii) Fiir jede Eingabe w E L ( M) hat M nur eine akzeptierende Konfigu-
r at i on (qaccept, w, 0, ) ~, . . . , )~, 0), d.h. bevor M in qaccept iibergeht, 15scht
M die Inhalt e aller ArbeitsbS~nder und stellt alle K6pfe auf das linke
Randsymbol r
6Heutzutage glauben die meisten Forscher nicht an die Existenz einer wesentlich effizienteren
Simulation nichtdeterministischer Algorithmen, abet die Nichtexistenz solcher Simulations-
methoden wurde noch nicht bewiesen.
230 6 Komplexit~tstheorie
Nach (i) wissen wir, dass es eine Konst ant e c gibt, so dass man ftir jede Eingabe
w die Anzahl unterschiedlicher Konfigurationen mit w auf dem Eingabeband
durch
IInKonf(Iwl)l _< c~( ~ )
beschrtinken kann. Diese Konfigurationen kann man als Co, C1, . . . , ClInKonf(Iwl) I
in der kanonischen Ordnung numerieren. Wir konstruieren j et zt eine MTM A
mit L(A) = L.
Fiir eine Eingabe w arbeit et A wie folgt:
(i)
(ii)
A konstruiert die Adj azenzmat rix M( w) des gerichteten Graphen G(w),
dessert Knot en die IInKonf(Iwl)l vielen verschiedenen Konfigurationen
yon Berechnungen yon M auf w entsprechen, und in dem zwei Knot en
Ci und Cj genau dann durch eine gerichtete Kant e yon Ci nach Cj ver-
bunden sind, wenn die Konfiguration Cj in einem Schritt von M aus Ci
erreichbar ist.
Sei Ck die einzige akzeptierende Konfiguration yon M auf w. Sei Co
die Anfangskonfiguration von M auf w. Offensichtlich akzeptiert M das
Wort w genau dann, wenn ein Weg yon Co nach Ck in G(w) existiert.
Die MTM A iiberprtift, ob ein Weg yon Co nach Ck in G(w) existiert.
Falls ja, akzeptiert A die Eingabe w, sonst verwirft A die Eingabe w.
Offensichtlich gilt L(A) = L( M) . Wir analysieren j et zt die Zeitkomplexit~it
yon A. Um M( w) zu konstruieren, muss man
IInKonf(Iwl)l- IInKonf( wl)l < ca~( ~ ). ca.~(~ ) < c2a~( ~ )
Elemente mij der Mat rix M( w) bestimmen. Um mij zu bestimmen,
Ci und Cj generieren. Eine Konfiguration kann in der Zeit
mUSS ma n
d. s(Iwl) . InKonf(Iwl) I _< c 2d~(~)
generiert werden. Ob Cj aus Ci in einem Schritt von M erreichbar ist, kann
man in der Zeit 2d. ~(1~1) bestimmen. So kann A den ersten Teil (i) der
Berechnung in der Zeit
c2d.s(w) . (2c2d.s(w) Jr- 2d. 8( wl ) ) ~ c12ds(w)
durchfiihren. Die Best immung der Existenz eines Weges von Co nach C~ in
G(w) geht in polynomieller Zeit beziiglich der Kontenzahl IInKonf(Iwl)l. au f
6.5 Die Klasse NP und Beweisverifikation 231
einer MTM kann man diese Aufgabe in O(lInKonf(Iwl)l 4) Schri t t en realisieren.
Weil
(cd.s( w ) ) 4 _ c4 d.s( w )
ist es offensichtlich, dass Ti men( n) E O((c12d)s(n)).
Ko r o l l a r 6. 4. NLOG c P und NPSPACE c EXPTI ME.
Eine ein bisschen anspruchsvollere Suche 7 in dem Gr aph G(w) aller pot ent iell
m6glichen Konfi gurat i onen auf w f/ihrt zu folgendem Resul t at .
S at z 6. 7. * S at z v o n S a v i t c h
Sei s mi t s(n) > log 2 n eine platzkonstruierbare Funktion. Dann
NSPACE( s ( n) ) C_ SPACE( s( n) 2) .
Ko r o l l a r 6. 5. PSPACE = NPSPACE
Von keiner der oben abgegebenen Si mul at i onen von ni cht det ermi ni st i schen Be-
rechnungen durch det erminist ische Berechnungen weit3 man, ob es die effizi-
ent est e m6gliche Simulat ion ist. Die Z usammenf assung vorgest ellt er Resul t at e
fiihrt zu der sogenannt en f u n d a me n t a l e n Ko mp l e x i t ~ t s k l a s s e n h i e r a r c h i e
de r s e q u e n t i e l l e n Be r e c h n u n g e n ;
D LOG c NLOG c P c NP c PSPACE c EXPTI ME.
Fiir jede yon diesen Inklusionen ist es unbekannt , ob es eine echte Inklusion
ist. Einige echte Inklusionen miissen aber dabei sein, weil D LOG C PSPACE
und P C EXPTI ME direkt e Folgerungen yon Hierarchiesgt zen sind. Die Be-
st i mmung, welche der Inklusionen echt sind, ist seit 30 Jahr en das zent rale
offene Pr obl em der Theoret ischen Informat ik.
6.5 Di e Kl as s e NP und Bewei s veri f i kat i on
In der f undament al en Kompl exi t gt skl assenhi erarchi e konzent riert sich das In-
teresse auf die Rel at i on zwischen P und NP. Das Probl em, ob P = NP oder
tin der man G(w) nie komplett konstruiert, weil dies zu hohen Speicherbedarf verursachen
wiirde.
232 6 Komplexitgtstheorie
P C+ NP gilt, ist das wohl bekannt est e offene Problem der Informat ik und
heut zut age zghlt es auch zu den wichtigsten offenen Problemen der Mat hema-
tik. Ftir dieses grofie Interesse gibt es mehrere Grtinde. Einerseits verbindet
man die polynomielle Zeit mit der praktischen L6sbarkeit. Wir kennen heute
fiber 3000 praktisch interessante Probleme, die in NP liegen, und fiir keines
dieser Probleme ist ein deterministischer polynomieller Algorithmus bekannt.
Wir wiirden gerne wissen, ob diese Probleme auch in P oder in NP- P liegen.
Ein anderer Grund hSongt mit dem fundament alen Begriff des mat hemat ischen
Beweises zusammen. Die Zeitkomplexitgt der deterministischen Berechnungen
entspricht in gewissem Rahmen der Komplexit gt der algorithmischen Herstel-
lung von mat hemat ischen Beweisen, wghrend die Zeitkomplexitgt nichtdeter-
ministischer Berechnungen der Komplexit gt der algorithmischen Beweisverifi-
kation entspricht. So ist der Vergleich von P und NP gquivalent zu der Frage,
ob es einfacher ist, gegebene Beweise zu verifizieren als sie herzustellen. Die
Zielsetzung dieses Abschnittes ist es, den Z usammenhang zwischen der Klasse
NP und der polynomialzeit-beschrgnkten Beweisverifikation zu zeigen.
Skizzieren wir zuerst den Z usammenhang zwischen Berechnungen und Bewei-
sen. Sei C eine akzeptierende Berechnung einer TM M auf einer Eingabe z.
Dann kann C zweifellos auch als ein Beweis der Behaupt ung ,,z C L( M) "
gesehen werden. Analog ist eine verwerfende Berechnungen einer (determini-
stischen) TM M auf einem Wort w ein Beweis der Behaupt ung ,,z ~ L( M) " .
Von klassischen mat hemat ischen Beweisen ist diese Vorstellung nicht weit ent-
fernt. Bet racht en wir L als eine Sprache, die alle korrekten Stitze (Aussagen)
einer mat hemat ischen Theorie enth~ilt. Dann ist der Beweis von ,,z E L( M) "
nichts anderes als der Beweis der Korrekt heit (Giiltigkeit) des Satzes z und
der Beweis yon ,,z ~ L( M) " ist der Beweis der Ungiiltigkeit yon z. Wenn z.B.
L = SAT, wobei
SAT = {z E (}-]logic)* I x kodiert eine erf/illbare Formel in KNF},
ist die Tatsache ,, (I) E SAT" ~iquivalent zu der Behaupt ung ,, (I) ist eine erfiillbare
Formel".
Versuchen wir j et zt den Z usammenhang zwischen nichtdeterministischen Be-
rechnungen und Beweisverifikation herzustellen. Die typische nichtdetermini-
stische Berechnung st art et mit dem Rat en und setzt mit dem Verifizieren des
Gerat enem fort. Das Gerat ene k6nnte ein Beweis von ,,x E L" sein, oder es
kSnnte eine essentielle Information (ein Zertifikat oder ein Zeuge von ,,x E L"
genannt) sein, mit deren Hilfe man den Beweis von ,,x E L" effizient herstel-
len kann. Veranschaulichen wir dies wieder anhand des Erf/illbarkeitsproblems.
Fiir eine Formel (I) fiber n Boole' schen Variablen x l , . . . , x~ rgt eine NTM M
6.5 Die Klasse NP und Beweisverifikation
TM, ~
x 2 : 0 / ~/ ~: 1 x2=0 x2:1
0 0 0 0
Fig. 6.2
233
R a t e n
- 2 ~ B e r e c h n u n g e n
deterministische
Verifikation
in den erst en n Schrit t en die Belegung f f l , . . . , O/n fiir Xl , . . . , X n . Dann berech-
net M den Wahr hei t swer t (I)(C~l,..., c~), um zu verifizieren, ob C~l, . . . , c~ die
Formel (I) wirklich erfiillt (Fig. 6.2). Falls C~l, . . . , c~ die Formel (I) erfiillt, ist
es klar, dass wir den Beweis yon ,,(I) ist erfiillbar" effizient herstellen k6nnen,
wenn uns j emand Ct l , . . . , ct~ kostenlos gibt. Der Beweis ist nichts anderes als
die Auswer t ung yon (I) auf Ct l , . . . , ct~. Deswegen nennen wir C~l, . . . , c~ das
Zertifikat oder den Zeugen fiir die Aussage ,,(I) ist erfiillbar". Die Zeitkom-
plexitS~t von M ist die ZeitkomplexitS~t des Rat ens plus die KomplexitS~t des
Verifizierens. Der wesentliche Aufwand ist dabei dem Verifizieren gewidmet .
Unser Ziel ist j et zt zu zeigen, dass man alle polynomiellen ni cht det ermi ni st -
ischen Tur i ngmaschi nen so umwandel n kann, dass sie am Anfang r at en und
dann das Ger at ene det erminist isch verifizieren. Dadur ch reduziert sich die Zeit-
kompl exi t gt der ni cht det ermi ni st i schen Al gor i t hmen auf die Z eit komplexit ~t
der Beweisverifikation (der Z ert ifikat iiberpriifung).
Def i ni t i on 6. 9. Sei L C_ E* eine Sprache und sei p" IN ~ IN eine Funktion.
Wir sagen, dass eine MTM (ein Algorithmus) A ein p- Ver i f i z i er er fiir L
V(A) - L, A
E* (Ebool)* arbeitet:
( i )
TimeA(w, x) < p([w[) fiir j ede Eingabe (w, x) E E* (}-~% ool)*.
Fiir j edes w E L existiert ein x E (}-~bool)*, 80 das 8 I~1 - p(Iwl)
( w, x) C L( A) (d.h. A akzeptiert ( w, x) ) . Das Wort x nennt man den
Bewei s oder den Z e u ge n der Behauptung w E L.
234 6 Komplexit~tstheorie
(iii) Fiir j edes y ~ L gilt (y, z) ~ L(A) fiir alle z E (Y]bool)*.
Falls p(n) E O(n k) fiir ein k E IN, so sagen wit, dass A ein Pol y nomi al z ei t -
Ver i f i zi er er ist. Wi t definieren die Kl as s e der in Pol ynomi al zei t verifi-
zi erbaren Sprachen als
VP = { V ( A) I A ist ein Polynomialzeit-Verifizierer}.
Man bemerke, dass L(A) und V ( A) unterschiedliche Sprachen fiir einen p-
Verifizierer A sind. Aus Definition 6.9 folgt
V(A) = e r * l es existiert ein x mit Ixl <_ p(Iwl),
so dass (w, x) E L(A) }.
Ein p-Verifizierer A fiir eine Sprache L ist also ein deterministischer Algorith-
mus, der fiir eine Eingabe (w, x) verifiziert, ob x ein Beweis (ein Zeuge) fiir
,,w E L" ist. A verifiziert erfolgreich (w E V ( A) ) , wenn es einen Beweis x fiir
,,w E L" gibt mit I~1 ___ p(Iwl). Die Gleichheit V ( A) = L fordert die Existenz
eines Beweises x fiir ,,w C L" mit Ixl _< p(Iwl) fiir jedes w c L.
Bei spi el 6. 1. Ein O(n2)-Verifizierer A fiir SAT kann wie folgt arbeiten. Fiir
jede Eingabe (w, x) tiberpriift A zuerst, ob w die Kodierung einer Formel (I)~ in
KNF ist. Falls nicht, verwirft A die Eingabe (w, x). Ansonst en berechnet A die
Anzahl nd er in (I)w vorkommenden Variablen und tiberpriift ob die L~nge von
x E {0, 1}* mindestens ni s t . Falls x kiirzer ist als n, verwirft A seine Eingabe.
Falls Ixl _> n, interpretiert A die ersten n Bits von x als eine Belegung der
Variablen in (I)~ und iiberpriift, ob diese Belegung die Formel (P~ erfiillt.
Bei spi el 6. 2. Eine k-Clique eines Graphen G mit n Knoten, k _< n, ist ein
vollstS~ndiger Teilgraph von k Knot en in G. Sei
CLIQUE { x # y l x , y E {0, 1}*, x kodiert einen Graphen G, ,
der eine Nummer (y)-Clique enthglt}.
Ein Polynomialzeit-Verifizierer B fiir CLI QUE arbeitet wie folgt. Ftir jede
Eingabe (w, z) tiberprtift B, ob w = x--/Cy, wobei x die Kodierung eines Gra-
phen Gx und y E (Eboo~)* ist. Falls nicht, verwirft B seine Eingabe. Falls j a
und G, n Knot en Vl , . . . , V n hat, iiberpriift B, ob Nummer( y) <_ n und Izl _>
~log2(n + 1)1. Nummer( y) gelten. Falls nicht, verwirft B seine Eingabe (w, z).
Falls ja, interpretiert B das Pr a f i x y on z der Lgnge ~log2(n + 1)1. Nummer( y)
6.5 Die Klasse NP und Beweisverifikation 235
als eine Kodi er ung yon Nummer(y) Z ahlen aus { 1, 2 , . . . , n}. B verifiziert, ob es
sich um Nummer(y) unt erschiedliche Z ahlen il, i 2, . . . , iNummer(y) handel t und
ob die Knot en vii, vi2,. 9 9 viN . . . . . (~) einen vollst gndigen Gr aphen in Gx bilden.
Falls ja, akzept i er t B die Ei ngabe (w, z), ansonst en verwirft B die Ei ngabe.
Aufgabe 6.17. Beschreiben Sie einen Polynomialzeit-Verifizierer fiir die Sprache
COMPOSI TE- {x c (Ebool)* Nummer(x) ist keine Primzahl }.
Aufgabe 6.18. Beschreiben Sie einen Polynomialzeit-Verifizierer und eine polynomielle
NTM fiir die Sprache HK (das Problem der Hamiltonschen Kreises aus Beispiel 2.4).
Die folgende Behaupt ung zeigt, dass man j ede pol ynomi el l e NTM in eine gqui-
valent e NTM umwandel n kann, die alle ni cht det er mi ni st i schen Ent schei dungen
am Anf ang macht und dann nur die Richt igkeit des Ger at enen verifiziert.
S a t z 6. 8. VP - NP.
Beweis. Wi r beweisen VP - NP dur ch die zwei Inklusionen NP C VP und
VP c NP.
(i) Z uerst zeigen wir NP c_ VP.
Sei L E NP, L G E* fiir ein Al phabet E. Dami t ist L - L(M) fiir eine
polynomielle NTM M mi t Ti meM( n) C O(n k) ffir ein k C IN {0}. Ohne
Ei nschr gnkung der Al l gemei nhei t dfirfen wit vorausset zen, dass M fiir jedes
Ar gument eine Wahl aus h6chst ens zwei M6glichkeit en hat . Wi t beschrei ben
j et zt einen Verifizierer A, der fiir eine Ei ngabe (x, c) E E* x (Eboo~)* wie folgt
arbeit et "
(a) A i nt er pr et i er t c als einen Navi gat or ffir die Si mul at i on der ni cht det er-
mi ni st i schen Ent schei dungen von M. A simuliert schrit t weise die Ar bei t
yon M auf x. Falls M eine Wahl zwischen zwei M6glichkeit en hat , dann
wghl t A die erst e M6glichkeit, falls das ngchst e Bit von c eine 0 ist, und
A ni mmt die zweite M6glichkeit, wenn das ngchst e Bit von c eine 1 ist.
(Dies ist eine St rat egie, um eine Ber echnung von M auf x ei ndeut i g dut ch
ein Wor t zu best i mmen, die ghnlich zu der St r at egi e im Beweis des Sat zes
6.5 ist.)
(b) Falls M noch eine ni cht det er mi ni st i sche Wahl hat , abet schon alle Bit s
von c ver br aucht sind, dann h~lt A und verwirff die Ei ngabe (x, c).
(c) Falls A es schafft, die durch c bes t i mmt e Ber echnung yon M auf x voll-
stSmdig zu simulieren, dann akzept i er t A seine Ei ngabe (x, c) genau dann,
wenn M das Wor t x in der durch c bes t i mmt en Ber echnung akzept i ert .
236 6 Komplexit~tstheorie
Wi r zeigen jetzt, dass A ein Polynomialzeit-Verifizierer mit V ( A) - L ( M) ist.
Falls z E L( M) , dann l~uft die kiirzeste akzeptierende Berechnung C~,x yon
M auf z in der Zeit D~n aber existiert ein Zertifikat (Navigator) c
mit I c _< IC ,xl, die Berechnung C~,x best immt . Weil A jeden Schritt yon
M in einem Schritt simuliert, 15~uft die Berechnung yon A auf (z, c) in der Zeit
Falls x ~ L( M) , existiert keine akzeptierende Berechnung yon M auf x, und
so verwirft A die Eingaben (x, d) fiir alle d E (Eboo~)*.
Dami t ist A ein O(nk)-Verifizierer mit V ( A) - L( M) .
(ii) Wi r zeigen j et zt VP c_ NP.
Sei L E VP, L c_ E* fiir ein Alphabet E. Dann existiert ein Polynomialzeit-
Verifizierer A mit V ( A) - L. Wir bet racht en eine NTM M, die auf jeder
Eing~be x E E* wie folgt arbeitet.
(a) M generiert nichtdeterministisch ein Wort c E (Ebool)*.
(b) M simuliert schrittweise die Arbeit von A auf (x, c).
(c) M akzept iert x genau dann, wenn A seine Eingabe (x, c) akzeptiert.
Offensichtlich ist L ( M) - V ( A) und TimeM(x) _< 2. Ti meA( x, c) ftir jedes
x E L ( M) und einem ktirzestem Zeugen c E (Ebool)* von x E L( M) . Somit
arbeit et M in polynomieller Zeit und es gilt L E NP.
Nach Satz 6.8 ist die Klasse NP die Klasse aller Sprachen L, die ftir jedes
x E L einen in x I polynomiell langen Beweis yon ,,x E L" haben, welchen man
deterministisch in polynomieller Zeit beztiglich Izl verifizieren kann.
6.6 NP-Vollst indigkeit
Im Unterschied zur Theorie der Berechenbarkeit, bei der man fiber gut ausge-
arbeit et e Met hoden zur Klassifizierung der Probleme in algorithmisch 10share
und algorithmisch unlSsbare verftigt, hat man in der Komplexit gt st heorie keine
mat hemat i schen Met hoden zur Klassifizierung konkreter Probleme beztiglich
der prakt ischen LSsbarkeit (der ZugehSrigkeit zu P) gefunden. Es fehlen aus-
reichend starke Techniken, um untere Schranken ftir die KomplexitS~t konkre-
ter Probleme zu beweisen. Wie weit man von einem Beweis einer Aussage,
dass ein konkretes Problem nicht in polynomieller Zeit 16sbar ist, entfernt
ist, zeigt die folgende Tatsache. Die hSchste bekannt e untere Schranke ftir die
Z eit komplexit gt von Mehrband-Turingmaschinen zur L6sung eines konkret en
6.6 NP-VollstSmdigkeit 237
Entscheidungsproblems aus NP ist die triviale untere Schranke s f~(n) (man
kann bisher noch nicht einmal eine untere Schranke gt ( n- l og n) fiir irgendein
Problem aus NP beweisen), obwohl fiir t ausende Probleme aus NP die schnell-
sten bekannt en Algorithmen in exponentieller Zeit laufen. Wir sind also bei
vielen Problemen, yon denen wir glauben, dass f~(2 ~) eine untere Schranke
fiir die ZeitkomplexitS~t ist, nicht imstande, eine h6here Schranke als f~(n) zu
beweisen.
Um diese Liicke zwischen der beweistechnischen Realitgt und dem Gewiinsch-
t en zumindests teilweise zu fiberwinden, iiberlegten die Forscher, ob man eine
Met hodik zur Klassifizierung von Problemen bezfiglich praktischer L6sbar-
keit entwickeln k6nnte, wenn man sich eine zus~tzliche, zwar unbewiesene
aber glaubwtirdige, Annahme erlaubt. Dies fiihrte zu dem Konzept der NP-
Vollstgndigkeit, dass eine solche Klassifizierung von Problemen unter der Vor-
aussetzung P c NP erm6glicht. Das Ziel dieses Abschnittes ist es, dieses Kon-
zept vorzustellen.
Zuerst diskutieren wir die Glaubwfirdigkeit der Annahme P C NP. Den theore-
tischen Hint ergrund fiir diese Annahme haben wir im Abschnit t 6.5 vermittelt.
Man glaubt nicht, dass die Beweisverifizierung den gleichen Schwierigkeitsgrad
wie die Beweiserzeugung hat. Weiterhin sieht man t rot z grofier Miihe keine
andere M6glichkeit, nichtdeterministische Algorithmen deterministisch zu si-
mulieren, als systematisch alle nichtdeterministischen Berechnungen zu fiber-
priifen. Weil aber die nichtdeterministischen BerechnungsbS~ume in ihrer Tiefe
exponentiell viele Berechnungen beinhalt en kannen und die Tiefe des Bau-
rues der ZeitkomplexitS~t entspricht, scheint ein exponentielles Wachst um der
ZeitkomplexitS~t bei einer solchen deterministischen Simulation unvermeidbar.
Ein praktischer Grund fiir die Annahme P c NP basiert auf der 40-j~hri-
gen Erfahrung in der Algorithmik. Wir kennen mehr als 3000 Probleme in NP,
viele davon sehr intensiv untersucht, ftir die die besten bekannt en deterministi-
schen Algorithmen eine exponentielle Komplexit~t haben. Die Algorithmiker
h a l t e n e s n i c h t f i i r s e h r w a h r s c h e i n l i c h , d a s s d i e s e r Z u s t a n d n u r e i n e F o l g e i h -
rer UnfSohigkeit ist, existierende effiziente Algorithmen f/Jr diese Probleme zu
finden.
Wir setzen j et zt P c NP fiir den Rest dieses Abschnittes voraus. Wie kann uns
das helfen, Result at e der Art L ~ P zu zeigen? Die Idee ist, eine Klasse von
schwersten Problemen in NP zu spezifizieren. Die Spezifikation muss so erfol-
gen, dass die Zugeh6rigkeit eines der schwersten Probleme in P aut omat isch
P = NP fordert. Weil wir P ~ NP vorausgesetzt haben, dfirfte dann keines
der schweren Probleme in P sein.
S D i e Z e i t , d i e m a n b r a u c h t , u m i i b e r h a u p t d i e g a n z e E i n g a b e e i n m a l z u l e s e n .
238 6 Komplexit~tstheorie
Ahnlich wie in der Theorie der Berechenbarkeit nutzen wir j et zt den klassischen
mat hemat i schen Ansat z der Redukt ion zur Definition der schwersten Probleme
in NP. Ein Problem L aus NP ist schwer, wenn man jedes Problem aus NP
etIizient auf L reduzieren kann.
De f i ni t i on 6. 10. Seien L1 C_ E~ und L2 C_ E~ zwei Sprachen. Wi t sagen, dass
L1 pol ynomi e l l auf L2 reduzi erbar i st, L1 ~_p L2, falls eine polynomielle
TM (ein polynomieller Algorithmus) A existiert (Fig. 6.3), der fiir j edes Wort
x E E 1. ein Wort A( x) E E 2. berechnet 9, so dass
x E L1 ~ A( x) E L2.
A wird eine pol ynomi e l l e Re dukt i o n von L1 auf L2 genannt.
Wi r sehen, dass man die Redukt ion _<p aus der Redukt ion __~EE durch die
zus~tzliche Forderung der Effizienz der Redukt ion erh~lt (Fig. 6.3). Wieder
bedeut et L1 _<p L2, dass L2 mindestens so schwer (in Bezug auf die LSsbarkeit
in polynomieller Zeit) wie L1 ist.
De f i ni t i on 6. 11. Eine Sprache L i s t NP- s c hwe r , falls fiir alle Sprachen L ~ E
NP gilt L ~ <_p L.
Eine Sprache L ist NP- vol l s t ~i ndi g, falls
(i) L E NP, und
(ii) L ist NP-schwer.
Die Menge der NP-vollstS~ndigen Sprachen bet racht en wir j et zt als die ge-
suchte Teilklasse von schwersten Ent scheidungsproblemen in NP. Die folgende
Behaupt ung zeigt die gewiinschten Eigenschaften der schwersten Probleme in
NP- die leere Schnit t menge zwischen P und der Menge der NP-vollstS~ndigen
Sprachen, falls P C NP (Fig. 6.4).
Le mma 6. 7. Falls L E P und L ist NP-schwer, dann P- NP.
Beweis. Sei L eine NP-schwere Sprache und sei L E P. L E P impliziert die
Existenz einer polynomiellen TM M mit L - L( M) . Wir beweisen, dass fiir
jede Sprache U E NP, U c_ E* ftir ein Alphabet E, eine polynomielle MTM
Au mit L( Au) - U existiert und deshalb U E P.
9Man bemerke, dass A(x) polynomiell in x I ist, weil A in polynomieller Zeit arbeitet.
6.6 NP-VollstSmdigkeit
A
mit polynomieller
TimeA(n)
mit x E L1 e,
A(x) E L2
C
mit L(C) = L2
A(x) E L2
xEL1
A(x) ~ L2
x~L1
Algorithmus B
mit L( B) = L1
239
Fig. 6.3
Fig. 6.4
NP
NP-vollstgndige Sprachen
Da U -<v L fiir jede Sprache U E NP, existiert eine polynomielle TM Bu, so
d&ss
x E U r Bu(X) E L.
240 6 Komplexit~tstheorie
Wir beschreiben j et zt eine polynomielle MTM Au mit L(Au) = U. Fiir jede
Eingabe x E E* arbeit et Au wie folgt.
(i)
(ii)
Au simuliert die Arbeit yon Bu auf x und berechnet Bu(X).
Au simuliert die Arbeit von M auf Bv(X). Au akzeptiert x genau dann,
wenn M das Wort Bv(X) akzeptiert.
Weil x E U r Bv(X) E L, gilt L(Au) = U. Da Timedv(X) = Ti meBv( x) +
TimeM(Bv(X)), IBu(x)I polynomiell in x ist, und die Turingmaschinen Bu und
M in polynomieller Zeit arbeiten, arbeit et auch Au in polynomieller Zeit. D
Wi t haben j et zt die gewiinschte Definition der schwersten Probleme in NP,
vorausgesetzt, dass die Klasse der NP-vollstgndigen Sprachen nicht leer ist. Der
nS~chste Satz zeigt, dass diese Gefahr nicht besteht, well SAT NP-vollstS~ndig
ist.
Die NP-Schwere von SAT sagt aus, class die Ausdrucksstgrke von Boole' schen
Formeln in KNF sehr hoch ist, weil man fiir jede Sprache L E NP die Frage ,,Ist
x in L?" als die Frage, ob eine best i mmt e Formel erfiillbar ist, ausdriicken kann.
Die AusdrucksstSzke von Formeln alleine sollte abet nicht iiberraschend sein,
weil man dut ch Formeln beliebige Texte beschreiben kann, und diese Texte
k6nnen beliebige Obj ekt e wie Sgtze, Beweise, Berechnungen usw. darstellen.
Wi t illustrieren dies j et zt an einem kleinen Beispiel. Wi t wollen eine Boole' sche
Formel in KNF konstruieren, die es ermSglicht, Matrizen der Gr6fie 3 3 fiber
{- 1, 0, 1} zu beschreiben. Sie ist genau dann erfiillbar, wenn die Mat rix in
jeder Zeile und in jeder SpaRe genau eine 1 enthS~lt. Dazu wS~hlen wit uns
fiir alle i , j E {1, 2, 3} und alle k E {- 1, 0, 1} die Variablen xi,j ,k mit deren
Belegung wir dank folgender Bedeut ung der 27 bet racht et en Variablen eine
beliebige 3 x 3 Mat rix A = ( ai j ) i , j =l , 2, 3 fiber {- 1, 0, 1} darstellen k6nnen.
Xi, j , 1 : 1 4=> we nn ai j = 1
Xi, j , 0 : 1 4=~ we nn ai j = 0
Xi , j , - 1 1 4=> we nn ai j = - 1
Damit kann man die Mat rix
1 0 0 /
- 1 0 1
0 1 0
durch die folgende Belegung der 27 Variablen eindeutig bestimmen:
6.6 NP-VollstSmdigkeit 241
Xl,1,1 = 1, Xl,1, 0 = 0, X1,1,-- 1 = 0, Xl,2,1 = 0, Xl,2,0 = 1, Xl , 2, _ 1 = 0,
Xl,3,1 = O, Xl,3,0 = 1, Xl,3,--1 = O, X2,1,1 = O, X2,1,O = O, X2,1,--1 = 1,
x2,2,1 = O, x2,2,o = 1, x2,2,-1 = O, x2,3,1 = 1, x2,3,o = O, x2,3,-1 = O,
X3,1,1 = 0, X3,1, 0 = 1, X3,1,_ 1 = 0, X3,2,1 = 1, x3,2,0 = 0, X3,2,_ 1 = 0,
x3,3,1 = 0, x3,3,o = 1, 2; 3,3,_ 1 = 0.
Wi r bemer ken, dass es auch Bel egungen gibt , die keine Mat r i x darst el l en. Z um
Beispiel ist die Bel egung 2; 1, 1, 1 = 1 = 2;1,1, 0 SO ZI1 i nt er pr et i er en, dass a l l bei de
Wer t e 1 und 0 anni mmt , was nicht zulS~ssig ist. Um dieses auszuschliegen,
konst r ui er en wir zuer st eine Formel, die nur fiir die Bel egungen erfiillt ist, die
eine 3 x 3 Mat r i x fiber { - 1 , 0, 1} bes t i mmen (d. h. , j ede Posi t i on der Mat r i x
ent hal t genau einen Wer t ) . Ft ir alle i, j E {1, 2, 3} gar ant i er t die For mel
(Xi,j , 1 V Xi,j , 0 V Xi , j , _ l ) A
(Xi,j ,1 ~/ Xi,j ,O) A ('Xi,j ,1 ~/ 'Xi,j ,--1) A (Xi,j ,O ~/ Xi,j ,--1)
dass genau eine der Var i abl en xi , j , l , Xi , j , o, Xi , j , _l den Wer t 1 anni mmt 1~ und
so der I nhal t der Posi t i on (i, j ) der Mat r i x ei ndeut i g bes t i mmt ist. Somi t be-
s t i mmt j ede Bel egung, die die For mel
(I)- A F~,~
1<_i,j<_3
erfiillt, ei ndeut i g eine 3 3 Mat r i x fiber { - 1 , 1, 0}.
Ft ir i - 1, 2, 3 gar ant i er t die For mel
(X/,1,1 V Xi,2,1 V Xi,3,1) A
(Xi, I, 1 V ~0i , 2, 1) A (~0i,1,1 V Xi , 3 , 1 ) A (Xi,2,1 V ; ~i,3,1)
dass die i-te Zeile genau eine Eins ent h/ t lt . Anal og gar ant i er t
( Xl , j , 1 V X2,j, 1 V X3, j , 1) A
(; ~l, j , 1 ~/ X2, j , 1) /~ (; ~l, j , 1 ~/ ; ~3,j,1) /~ (X2, j, 1 V ; ~3,j,1)
ftir j -- 1, 2, 3, dass die j -t e Spal t e genau eine Eins ent ht ilt .
1~ elementare Disjunktion Xi,j , 1 V Xi,j , 0 V Xi,j ,_ 1 garantiert, dass mindestens eine der
Variablen wahr ist. Die elementare Disjunktion (zi,j,1 V xi,j,o) garantiert, dass mindestens
eine der Variablen xi,j ,1 und xi,j ,o den Wert 0 annimmt.
242 6 Komplexit~tstheorie
Somit ist
i=1,2,3 j=1,2,3
die gesucht e Boole' sche Formel in KNF.
Aufgabe 6.19. Geben Sie eine Menge von Boole'schen Variablen an, mit der man jede
Situation (Konfiguration) auf einem Schachbrett eindeutig bestimmen kann. Beschreiben Sie
die Konstruktion einer Formel tiber diesen Variablen, die genau dann erfiillt ist, wenn auf
dem Schachbrett genau acht Damen (und keine anderen Figuren) stehen, die sich gegenseitig
nicht bedrohen.
Mit der oben beschr i ebenen St rat egi e kann man Text e auf einem Bl at t Papi er
beschreiben. Das Bl at t kann man sich als eine passende n rn Mat r i x fiber
El ement en aus ETastatur vorstellen. Dann reichen n. m. IETastaturl Boole' sche
Variablen, um dieses Ziel zu realisieren.
Aufgabe 6.20. Bestimmen Sie eine Menge von Variablen, mit denen man jede Textseite
der Gr6fie 33 77 darstellen kann. Beschreiben Sie die Konstruktion einer Formel mit genau
einer erfiillbaren Belegung, die dem Text auf der zweiten SeRe des Buches ,,The Design and
Analysis of Computer Algorithms" von Aho, Hopcroft und Ullman entspricht.
Wi r sehen also, dass wir dur ch Formel n beliebige Text e und somit auch Konfi-
gur at i onen einer TM darst el l en k6nnen. Der Ker n des Beweises des folgenden
Satzes liegt darin, dass wir zus~ttzlich auch inhalt liche semant i sche Z usam-
menh~tnge des Textes, z.B. wie eine Konf i gur at i on in einem Ber echnungsschr i t t
einer TM aus einer ander en Konf i gur at i on erreichbar ist, durch die Erfiillbar-
keit einer Formel ausdriicken k6nnen. Wi cht i g ist dabei noch, dass man solche
Formel n effizient al gori t hmi sch konst r ui er en kann, was auch bedeut et , dass
die Formel nicht zu lang im Bezug auf das Ei ngabewor t der beschr i ebenen
Ber echnung ist.
S a t z 6. 9. * S a t z v on Cook
SAT ist NP-vollstiindig.
Beweis. Im Beispiel 6.1 (siehe auch Fig 6.2) haben wir schon bewiesen, dass
SAT in VP=NP liegt.
Es bleibt zu zeigen, dass alle Sprachen aus NP auf SAT polynomiell r eduzi er bar
sind. Aus der Definit ion der Klasse NP folgt, dass f/Jr j ede Sprache L C NP eine
NTM M mit L ( M) = L und Ti meM( n) E O( n ~) fiir ein c E IN exist iert (d.h.,
6.6 NP-VollstSmdigkeit 243
M ist eine endliche Dar st el l ung von L, die wir als Ei ngabe fiir die folgende
polynomielle Redukt i on benut zen diirfen). Es reicht also zu zeigen:
,,Flit j ede polynomielle NTM M gilt L(M) <_p SAT. "
Sei M - (Q, E, F, ~, q0, qacc~pt, qr ej ect ) e i ne beliebige NTM mi t Ti meM( n) _< p(n)
fiir ein Pol ynom p. Sei Q - {q0, ql , . . . , q s - 1 , q s } , wobei q s - 1 - - qreject und q~ --
qaccept, und sei F - { X1 , . . . , X,~}, X,~ u. Wi r ent werfen eine polynomielle
Redukt i on BM" E* ~ (2logic)*, so dass fiir alle x E E* :
x E L( M ) ~ BM(X) E SAT
Sei w ein beliebiges Wor t aus E*. BM soll eine Formel BM(W) konst rui eren, so
dass
w E L(AJ)4 =~ BM(W)ist erfiillbar.
Das bedeut et , dass wir eine Formel konst r ui er en miissen, die alle M6glichkeit en
der Ar bei t yon M auf w beschreibt . Die Idee ist, die Bedeut ung der Vari abl en so
zu wSohlen, dass eine Beschrei bung einer beliebigen Konf i gur at i on zu ei nem be-
liebigen Z ei t punkt mSglich ist. Wi r wissen, dass SpaceM(IWl) _< TimeM(IWl) _<
P(Iwl) und somit j ede Konf i gur at i on h6chst ens die Lange p( I wl ) + 2 hat 11, was
fiir die gegebene Ei ngabe w eine feste Zahl aus IN ist. Um uns die Beschrei bung
zu vereinfachen, stellen wir j ede Konf i gur at i on
f i i r d _< P( I ~I ) ~
(r Yi-lqYi...Yd)
(0YIY2... Y/ - l q Y/ . . . Y d Y d + l . . . Y p ( w ) )
dar, wobei Yd+l -- Yd+2 . . . = Yp(~) - u. Somit haben alle Konfigurat io-
hen die gleiche Band]ange p(Iwl)+ 1. gm uns die Suche nach einer akzep-
t i er enden Konf i gur at i on zu erleichtern, erweit ern wir d durch (~(qaccept,X) --
(qaccept, X, IV). Dami t bleibt M nach dem Errei chen des akzept i er enden Zu-
s t andes qaccept weit er in qaccept, ohne eine Ander ung vor zunehmen. Um die
Z ugeh6rigkeit von w zu L(M) zu ent scheiden, reicht es dann aus zu t est en, ob
eine der Konf i gur at i onen, die nach p(l l) Schr i t t en von M erreicht wird, den
Zustand qaccept ent hglt .
Die Formel BM(W) wird aus folgenden Vari abl enkl assen ent st ehen:
11Die Konfiguration enth~lt den Inhalt der Bandpositionen 0, . . . , p( w ) und den Zustand.
244 6 Komplexit~tstheorie
9 C( i , j , t) fiir 0 _< i _< p(lwl), 1 <_ j <_ m, o <_ t <_ p(I wl).
Die Bedeut ung yon C(i , j , t) ist wie folgt"
C(i, j, t) - 1 ea Die i-te Posit ion des Bandes yon M enth~ilt das Arbei t ssymbol
Xj zum Z ei t punkt t (nach t Berechnungsschrit t en).
Wi r beobacht en, dass die anz ahl solcher Variablen genau m. ( ( P( I wl ) + 1) 2 E
O( ( p ( I wl ) ) 2) ist.
9 S { k , t ) fiir 0 _< k _< s, 0 _< t _< P(I~I).
Die Bedeut ung der Booie' schen Variable S{k, t) ist"
S{k, t) - 1 r Die NTM M ist im Z ust and qk zum Z ei t punkt t.
Die anz ahl solcher Variablen ist (s + 1). ( p( I wl ) + 1) ~ O( p( l ~l ) ) .
9 H { i , t) fiir 0 <_ i <_ p(I wl), 0 <_ t <_ p( l ~l ) .
Die Bedeut ung yon H{i, t) ist"
H {i , t) - 1 r Der Kopf yon Mi s t auf der / - t en Position des Bandes zum
Z ei t punkt t.
Es gibt genau ( p( l wl ) + 1) 2 E o ( ( p ( l wl ) ) 2) solcher Variablen.
Wi r beobacht en, dass wir durch die Belegung aller Variablen mit Wer t en fiir
ein festes t die Beschreibung einer beliebigen Konfigurat ion bekommen kSnnen.
Z um Beispiel lgsst sich die Konfigurat ion
( X j OX j l . . . xj _i . . . )
b e s c h r e i b e n d u r c h :
C(0, j0, t) - C(1, j l, t} . - - - c<p( l ~l ) , t > - 1 und C( k, l, t> - 0 fiir
alle restlichen Variablen aus dieser Klasse;
H ( i , t ) - 1 und H { j , t ) - 0 ftir alle j E r i;
S( r , t ) - 1 und S(1, t) - 0 fiir alle / E {0, 1 , . . . , s}, ! -r r.
Wenn wir fiir j eden Z ei t punkt t eine Konfigurat ion angeben, haben wir also
die MSglichkeit, eine beliebige Berechnung von p(l l) Schrit t en yon M auf w
durch die passende Belegung der Variablen zu beschreiben. Es ist wichtig, auch
zu beobacht en, dass es Belegungen der bet r acht et en Variablen gibt, die keine
I nt er pr et at i on auf der Ebene von Berechnungen von M auf w haben. So wiirde
z.B. S<I, 3} - S<3, 3) - S<7, 3} - 1 und C<2, 1, 3) - C<2, 2, 3) - 1 bedeut en,
dass M im Z ei t punkt 3 (nach drei Berechnungsschrit t en) gleichzeitig in drei
Z ust / inden ql, q3, q7 ist und die zweite Posit ion des Bandes das Symbol X1
sowie das Symbol X2 enth/ilt. Diese Belegung fiir t - 3 ent spricht also keiner
Konfigurat ion.
Die Si t uat i on kann man sich auch so vorstellen, als ob man ein Bl at t Papier
der Gr6f3e 2) 1) h / ~ t t e and die Belegung der Variablen
6.6 NP-VollstSmdigkeit 245
bestimmen wiirde, welche Buchstaben aufj ede Position (i, j ), 0 <_ i, j <_ p(Iwl),
geschrieben werden. Es kann ein unsinniger Text entstehen, aber es gibt auch
Belegungen, bei denen jede Zeile des Blattes eine Konfiguration beschreibt
und Belegungen, bei denen diese Folge von Konfigurationen einer Berechnung
entspricht. Diese Situation ist in Fig. 6.5 schematisch dargestellt.
Unsere aufgabe ist jetzt, eine Formel B~( w) in KNF fiber den Variablen
e l i , j , t}, SI k , t} und H {i, t} so zu konstruieren, dass gilt
BM(w) ist erfiillbar e=~ es existiert eine akzeptierende Berechnung
von M auf w.
BM konstruiert die Formel BM( X ) = A A B A C A D A E A F A G in KNF in
folgenden sieben Schritten. Um die Konstruktion anschaulich und iibersichtlich
zu machen, beschreiben wir zuerst die Bedeutung der einzelnen Formeln A, B,
C, D, E, Fu nd G.
A: A soil sicherstellen, dass der Kopf zu jedem Zeitpunkt genau auf einer
Position des Bandes steht (d.h., A soll genau dann erfiillbar sein, wenn genau
eine der Variablen H {i, t) den Wert 1 hat fiir alle festen t).
B: Zu jedem Zeitpunkt ist genau ein Arbeitssymbol auf jeder Position des
Bandes.
C: Zu jedem Zeitpunkt ist M in genau einem Zustand.
D: In jedem Schritt von M yon einer Konfiguration zur ngchsten kann nur
das Symbol gegndert werden, auf dem der Lesekopf steht.
E" Die Anderung des Zustandes, die Bewegung des Kopfes und die J~nderung
des Bandinhalts in jedem Schritt muss einer m6glichen Aktion der NTM M
(der Funktion (~) entsprechen.
F: F garantiert, dass die Variablen mit t = 0 genau die Anfangskonfiguration
von M auf w bestimmen.
G: G garantiert, dass die letzte (((p(I wl )+ 1)-te) Konfiguration eine akzeptie-
rende Konfiguration ist.
Wir sehen, dass die Erfiillbarkeit von A A/ ? A C' garantiert, dass unser Blatt
in den Zeilen nur Konfigurationen enth~lt. Der Teil D A E von BM(Z) soll
sicherstellen, dass unser Blatt zusS~tzlich eine Berechnung von M beschreibt.
F garantiert, dass diese Berechnung eine Berechnung von M auf w ist, und G
garantiert, dass diese Berechnung in qaccept endet.
In unserer Konstruktion werden wir after eine Formel von mehreren Variablen
brauchen, die den Wert 1 genau dann annimmt, wenn genau eine der Variablen
246 6 Komplexittitstheorie
Anfangskonfiguration
erste Konfiguration
zweite Konfiguration
drit t e Konfiguration
Zeit
Fig. 6.5
p (Iw l )- t e Konfiguration
0 1 p (l ~l ) + 1
Bandposit ionen (Zustgnde, Kopfpositionen)
den Wert 1 hat. Seien 2 ; 1 , 2 ; 2 , . . . , X n Boole' sche Variablen. Die folgende Formel
in KNF hat die gewiinschte Eigenschaft beziiglich z l, z 2, . . . , z~"
U ( x l , x 2 , . . . , xn ) - ( x I V 92 2 V . . . V X n ) A ( A
l <_i,j <_rt
Der erste Teil der Formel 2; 1 V 2; 2 V. . . V 2; n garantiert, dass mindestens eine
der Variablen z l, z2, . . , z . auf 1 gesetzt werden muss, um U zu erfiillen. Weil
der zweite Teil der Formel die elementare Disjunktion G V ~ fiir alle Paare
i , j E { 1 , . . . , n} , i r j enth~ilt, dtirfen z~ und zj nicht zugleich den Wert 1
annehmen. Daher garant iert der zweite Teil der Formel, dass h6chstens eine
Variable aus {Z l , . . . ,z~} den Wert 1 annehmen daft. Wir bemerken, dass die
LS~nge der Formel U(Zl, Z2, . . . ,zn) quadrat isch in der Anzahl nd e r Variablen
ist.
6.6 NP-VollstSmdigkeit
Jet zt konstruieren wir nacheinander die Formeln A, B, C, D, E, F und G.
(a) Fiir jedes t E {0, 1, 2, . . . , p( I wl ) } definieren wir
247
At - U( H ( O, t } , H ( 1 , t } , . . . , H i p ( I wl ) , t } ) .
At ist nur dann erfiillt, wenn sich der Lesekopf yon M zum Z eit punkt t genau
auf einer Position i E {0, 1, . . . , p(Iwl)} des Bandes befindet. Die Erftillung der
Formel
A- Ao A A~ A . . . A Ap( ~ ) -
A A~
O<_i<_p( w )
garant iert , dass sich der Lesekopf zu j edem Z eit punkt t E {0,1,...,P(I~I)} auf
genau einer Position des Bandes befindet. Die Anzahl der Literale in A ist in
O((p(Iwl))3), weil die Anzahl der Literale in At quadrat isch in p( I wl ) + 1 ist.
(b) Fiir alle i E {0, 1, 2, . . . , p( l wl ) }, t E {0, 1, . . . , p( l wl ) } definieren wir
Bi , t - U( Ci i , 1, t } , C( i , 2, t } , . . . , Ci i , m, t } ) .
] Bi, t ist erftillt, wenn die i-te Position des Bandes nach t Berechnungsschrit t en
von M genau ein Symbol enth~lt. Weil IFI - m eine Konst ant e ist, ist die
Anzahl der Literale in Bi,t in O(1). Die Erfiillung der Formel
A
B - / \
Bi,t
O<_i,t<_p( w )
garant iert , dass alle Positionen des Bandes zu j edem Z eit punkt genau ein Sym-
bol enthalten. Die anzahl der Literale in B ist offensichtlich in
(c) Wir definieren fiir alle t E {0, 1 , . . . , p ( wl ) }
Ct - U( S i O, t } , S ( 1 , t } , . . . , S ( s , t } ) .
Wenn eine Belegung yon S(0, t }, . . . , S(s, t} die Formel C't erfiillt, dann ist M
zum Z eit punkt t in genau einem Zustand. Weft IQI - s + 1 eine Konst ant e ist,
ist die Anzahl der Literale in Ct in O(1). Offensichtlich garant iert uns
C-
0<t<p( ~ )
dass M zu j edem Z eit punkt genau in einem Z ust and ist. Die Anzahl der Literale
in C ist in O( p ( I wl ) ).
(d) Die Formel
D~, j , t - ( C( i , j , t } ~ C( i , j , t 1}) V H ( i , t }
248 6 Kompl exi t ~t st heor i e
mr 0 g p(l ~l ), 1 _< j _< m, 0 _< t _< p(l l)- 1 sagt aus, dass ein nicht
gelesenes Symbol nicht geandert werden daft (wenn H (i, t} - O, dann muss
im nSochsten Schritt das Symbol auf der / - t en Position unverS~ndert bleiben).
Offensichtlich kann man Di,j ,t in eine KNF mit O(1) Literalen umwandeln. 12
Die gesuchte Formel ist dann
D -- A Di , j , t
O<_i<_p(lw[)
l <j _~m
O<_t<_p([w[)-i
und D ent halt O((p(lwl)) 2) Literale, d a m eine Konst ant e ist.
(e) Wir bet racht en fiir alle i E {0, 1, 2, . . . , p( I wl ) }, j ~ {1, . . . , , ~}, t
{0, 1, . . . , p( [ w[ ) }, k E {0, 1 , . . . , s } die Formel
Ei,j ,k,t -- C( i , j , t } V H ( i , t ) V S( k, t } V
V( C( i , j ~, t + 1) A S(k~,t + 1) A H (i~,t + 1))
1
wobei 1 fiber alle m6glichen Akt ionen der NTM M fiir das Argument (qk, Xj )
15~uft, mit
(q~, Xj~, z~) e ~(q~, X~), z~ e {L, R, N} und
il -- i + ~(zl), ~(L) - - 1, ~(/~) - 1, ~( N) - 0.
Ei,j ,k, t kann man
t.
bet racht en als die Disj unkt ion folgender vier Bedingungen"
C(i, j , t}, d.h. die i-te Position des Bandes enthS~lt nicht Xj zum Z eit punkt
H (i, t}, d.h. der Kopf ist nicht auf der / - t en Position zum Z eit punkt t.
S(k, t } , d.h. M ist nicht im Z ust and qk zum Z eit punkt t.
- Die Anderung der t -t en Konfigurat ion entspricht einer m6glichen Akt ion bei
dem Argument (q~, Xj ) und der Kopfposition i.
Die Idee der Konst rukt i on von Ei,j ,k,t ist j et zt offensichtlich: Wenn keine der
ersten drei Bedingungen erfiillt ist, dann ist (q~, Xj ) das aktuelle Argument
fiir den (t + 1)-ten Schritt und der Kopf ist auf der / - t en Position des Bandes.
In diesem Fall miissen also die Anderungen genau nach der ~-Funktion von M
fiir das Argument (qk, Xj ) vorgenommen werden. Wenn man die l-te m6gliche
Akt ion (qk~, Xj t, zl) beim Argument (q~, Xj ) auswS~hlt, dann muss Xj an der i-
t en Position durch Xj ~ ersetzt werden, der neue Z ust and muss qkt sein, und der
Kopf muss sich entsprechend dem zl bewegen. Ei,j ,~,t beinhalt et O(1) Literale,
12Die Formel x ~-~ y ist ~quivalent zu der Formel (~ V y) A (x V ~). Somit ist D~,j ,t ~-~
( C( i , j , t ) V C( i , j , t + 1) V H ( i , t ) ) A ( C( i , j , t ) V C( i , j , t + 1) V H ( i , t ) ) .
6.6 NP-VollstSmdigkeit 249
da 1 eine Konst ant e ist, und deshalb hat auch die Umwandlung in KNF 0( 1)
Literale. Somit hat die gesuchte Formel
E - A Ei,o,~,t
O<_i,t<_p(lw[)
l <j <r n
0 <k <s
O((p(Iwl)) 2) Literale.
(f) Die Anfangskonfiguration yon M auf w muss auf dem Band Cw haben, der
Kopf muss auf die 0-te Position des Bandes zeigen und M muss im Z ust and
q0 sein. Wenn w = Xj ~Xj ~... Xj , fiir j~ E {1, 2 , . . . , m}, n E IN und X1 = r
dann kann man die Anforderung, dass die Konfiguration zum Z eit punkt 0 die
Anfangskonfiguration yon M auf w ist, wie folgt ausdriicken:
r = S( 0, 0) A H(0, 0} A C(0, 1,0}
a A a A
1 <r <n n+ 1 _< d_<p([ w ])
Die anzahl der Literale in F ist in und F ist in KNF.
(g) Die einfache Formel
c -
garant iert , dass die letzte (p(l~l)-t~) Konfiguration den Z ust and qaccept enth/~lt.
GemSA3 der Konst rukt ion der Formel BM(W) ist es offensichtlich, dass BM(w)
genau dann erfiillbar ist, wenn eine akzeptierende Berechnung von M auf w
existiert. Die Formel BM(W) kann algorithmisch aus den Dat en M, w und
p(Iwl) generiert werden. Die ZeitkomplexitS~t zur Berechnung von BM(W)ist
asympt ot isch in der LS~nge der Darst ellung yon BM(w). Wie wir ausgerechnet
haben, ist die Anzahl der Literale in BM(w)in O((p(Iwl))3). Wenn wir BM(w)
fiber Elogic darstellen, muss jede Variable bin~tr kodiert werden. Weil die An-
zahl der Variablen in O((p(Iwl)) 2) liegt, kann jede Variable durch O(log2(Iwl) )
Bits reprS~sentiert werden. Damit ist die LS~nge von BM(W) und somit die Zeit-
komplexitSot von BM in O((p(Iwl)) a. log2(Iwl) ). Also ist BM eine polynomielle
Redukt ion von L(M) auf SAT. D
Im Beweis von Satz 6.9 haben wir gezeigt, dass alle Sprachen aus NP auf
SAT reduzierbar sind. Dies bedeut et nichts anderes, als dass man jede Instanz
eines Problems aus NP als das Problem der Erfiillbarkeit einer Formel darstel-
len kann. Daraus resultiert die Sichtweise, dass ,,die Sprache der Boole' schen
Formeln" st ark genug ist, um jedes Problem aus NP darzustellen.
250 6 Komplexit~tstheorie
Die NP-VollstSmdigkeit von SAT ist der St ar t punkt 13 zur Klassifizierung der
Entscheidungsprobleme beziiglich ihrer ZugehSrigkeit zu P. Um die NP-Voll-
stSmdigkeit anderer Probleme zu beweisen, benut zen wir die Met hode der Re-
duktion, die auf folgender Beobacht ung basiert.
Le mma 6.8. Seien L1 und L2 zwei Sprachen. Falls L1 <_p L2 und L1 ist NP-
schwer, dann ist auch L2 NP-schwer.
Au f ga b e 6. 21. Beweisen Sie Lemma 6.8.
Im Folgenden benut zen wir Lemma 6.8, um die NP-VollstSmdigkeit einiger
Sprachen aus NP zu beweisen. Unser erstes Ziel ist zu zeigen, dass ,,die Sprache
der Graphen (Relationen)" auch ausdrucksst ark genug ist, um jedes Problem
aus NP darzustellen. Zur Veranschaulichung der Argument at ion werden wir
im Folgenden direkt mit Obj ekt en wie Graphen und Formeln arbeiten, st at t
streng formal fiber die Kodierungen yon Graphen und Formeln zu sprechen.
Somit gilt
SAT
3SAT
CLIQUE
VC
= {(I) I (I) ist eine erfiillbare Formel in KNF},
= {(I) I (I) ist eine erfiillbare Formel in 3KNF},
= {(G, k) l G ist ein ungerichteter Graph,
der eine k-Clique enthglt}, und
= {(G, k) l G ist ein ungerichteter Graph mit einer
Knot eniiberdeckung der MS~chtigkeit
h6chstens k},
wobei eine Knot eniiberdeckung eines Graphen G - ( V ~ E ) j e d e Menge von
Knot en U c_ V ist, so dass jede Kant e aus E mindestens einen Endpunkt in
U hat.
Sei q) eine Formel und sei F eine Belegung der Variablen yon q). Im Folgenden
bezeichnen wir durch p((I)) den Wahrheit swert yon (I) bei der Belegung ~. Also
ist (I) erfiillbar genau dann, wenn eine Belegung ~ mit p((I)) - 1 existiert.
Le mma 6. 9. SAT <p CLIQUE.
13SAT spielt also in der KomplexitStstheorie eine 5hnliche Rolle wie Ldiag in der Theorie
der Berechenbarkeit.
6.6 NP-VollstSmdigkeit 251
Bewei s. Sei 9 - F1 A F2 A . . . A F,~ ei ne F ormel in KNF , F i - ( l i l V li2 V . . . V
l i ~) , ki E IN - { 0 } ftir i - 1, 2 , . . . , m.
Wi r kons t rui eren ei ne Ei ngabe ( G, k) des Cl i que npr obl e ms , so dass
E SAT e=~ ( G, k) E CLI Q UE.
Wi r s et zen
]~ - - ? Tt
G -- (V, n ) , wobei
v - { [ i , J ] l 1 _< i _< m, 1 _< j _< k~}, d. h. wi r ne hme n ei nen Kno t e n fiir j edes
Auf t r e t e n ei nes Li t eral s in ~ ,
E - { { [ i , j ] , [ r, s ] } I ftir alle [i, j ] , [r ,s] E V , mi t i r r und l~j r l ~}, d. h.
ei ne Kant e { u, v} verbi ndet nur Kno t e n aus unt ers c hi edl i c hen Kl aus el n,
vor aus ge s e t z t das Li t eral von u ist ni cht di e Ne g at i o n des Li t eral s von v.
Be t r ac ht e n wi r di e f ol gende F ormel
(I) - - ( X 1 V x 2 ) A ( x I V x 2 V x 3 ) A ( X l V x 3 ) A x 2 .
Dg nn ist k - 4 und der Gr aph ist in F i g. 6. 6 dgrges t el l t .
/
/
I
I
\ \
/
[3, ' 1] I\
\ X 1
\
F1
/ - - . .
, 1 ' ~ [ 2, 1
~ ~ Xl -.
I
r
s
[4 1] )
i I _ _
", [3, 2] ,
\ . . . X3
\
m
X 2 \
\
[2, 3] ',
x3 /
F3
Fig. 6.6
252 6 Komplexitgtstheorie
Es ist Mar, dass (G, k) durch einen pol ynomi el l en Al gor i t hmus aus (I) konst ru-
iert werden kann.
Wi r zeigen j et zt ,
ist erfiillbar e, G enthiilt eine Clique der GrSfle k - m. (6 . 1 )
Die Idee des Beweises ist folgende. Die Lit erale lio und l ~ sind in G verbun-
den, wenn beide aus unt erschiedlichen Kl ausel n kommen (i ~r r) und beide
gleichzeitig den Wer t 1 annehmen k6nnen. Somit ent spri cht eine Clique in G
der Bel egungen von Vari abl en von (I), die die Lit erale der Knot en der Clique
erfiillen (zu 1 auswert en). Z.B. bes t i mmt die Clique {[1, 1], [2, 1], [3, 2], [4, 1]}
in Fig. 6.6 die Bel egung Xl = 1, xa = 1 und g2 = 1 (x2 = 0).
Wi r beweisen die Aquivalenz (6.1) durch die zwei Impl i kat i onen.
(i) , , ~"" Sei (I) eine erfiillbare Formel. Dann exist iert eine Bel egung p, so dass
p((I)) - 1. Es gilt p(F~) - 1 fiir alle i E {1, . . . , m}. Also exist iert fiir j edes
i E { 1 , . . . , m} ein Index (~i E { 1 , . . . , k i } , so dass 9 ~( 1 ~) - 1. Wi r behaupt en,
dass die Knot enmenge {[i, ct~][ 1 _< i _< m} einen vol l st gndi gen Tei l gr aphen
von G bildet.
Es ist Mar, dass [1, c~1], [2, a2], . . . , Ira, c~,~] aus unt erschiedlichen Kl ausel n
sind.
Die Gleichheit l ~ - l j ~ fiir irgendwelche i, j , i r j , impliziert co( l ~) r cv(lj ~)
fiir j ede Bel egung co, und deshal b ist p ( l ~) - p(li~j ) - 1 nicht m6glich. Also
_
ist l ~ r l j ~ fiir alle i , j E {1, . . . , m}, i r j , und {[i,a~], [j,c~/]}} E E fiir
alle i , j E {1, . . . , m} , i r j . Somit ist {[i,c~] [ 1 _< i _< m} eine Clique der
Gr6fie m.
(ii) ,, ~" " Sei Q eine Clique von G mi t k - m Knot en. Weil zwei Knot en durch
eine Kant e in G nur dann ver bunden sind, wenn sie zwei Li t eral en aus unt er-
schiedlichen Kl ausel n ent sprechen, exist ieren C~l, c~2, . . . , c~,~, c~v E {1, 2 , . . . , k; }
fiir p - 1 , . . . , m, so dass {[1, al], [2, c~2], . . . , [m,c~,~]} die Knot en von Q sind.
Folgend der Kons t r ukt i on yon G exist iert eine Bel egung p der Vari abl en yon
(I), so dass P(/ I~I) - 9~(12~) " " 9~(1,~,~) - 1. Das impliziert direkt
p ( F1 ) - 9~(F2) " " 9~(F,~) - 1 und so erfiillt p die Formel (I).
Le mma 6. 10. CLI QUE ---v VC.
Beweis. Sei G - (17, E) und k eine Ei ngabe des Cl i que- Pr obl ems. Wi r kon-
st r ui er en eine Ei ngabe (G, m) des Ver t ex- Cover - Pr obl ems wie folgt"
6.6 NP-VollstSmdigkeit 253
-Ivl-k
G - (If, E), wobei E - {{v, u} l u, v E If, v r u, {u, v} } E}.
Fig. 6.7 zeigt die Konst rukt ion des Graphen G aus einem gegebenen Graphen
G. Es ist klar, dass man diese Konst rukt ion in linearer Zeit realisieren kann.
Vl Vl
V5 V2
V4 V3
G
V5
i I ~\
v 4 \ v 3 /
G
V2
Fig. 6.7
Um ,, (G, k) E CLIQUE 4=~ (G, Iwl- k) c v c " ~ beweisen, reicht es zu zeigen
S C V ist eine Clique in G r V - S ist eine Knoteniiberdeckun9 in G.
In Fig. 6.7 sehen wir, dass die Clique {Vl, V2, V5} von G die Knoteniiberdeckung
{v3, v4} in G bestimmt. Wir beweisen diese Behaupt ung durch zwei Implika-
tionen.
(i) ,, =~"" Sei Sei ne Clique in G. Also gibt es keine Kant e zwischen den Knot en
aus S in G. Daher ist jede Kant e aus G adjazent zu mindestens einem Knot en
in V- S. Also ist V- S eine Knot eniiberdeckung in G.
(ii) ,,4 ="" Sei C c_ V eine Knot eniiberdeckung in G. Der Definition der Kno-
tentiberdeckung folgend ist jede Kant e von G adjazent zu mindestens einem
Knot en aus C. Also gibt es keine Kant e {u, v} in E fiir u, v E V- C. Deswegen
gilt {u, v} E E fiir alle u, v E V- C, u r v. Somit ist V- C eine Clique in G.
Das folgende Result at zeigt, dass das SAT-Problem schwer bleibt, auch wenn
man sich auf eine Teilklasse yon Formeln beschrS~nkt. Wir sagen, dass eine
Formel in 3KNF ist, falls sie in KNF ist und jede Klausel hSchstens aus
254 6 Komplexit~tstheorie
drei Li t er al en best eht . Das 3SAT- Pr obl em ist zu best i mmen, ob eine For-
reel in 3KNF erfiillbar ist. Im Fol genden bet r acht en wir eine Bel egung p von
Bool e' schen Vari abl en aus einer Menge X = {Xl , . . . , x~} als eine Abbi l dung
~: X ~ {0, 1}. Sei Y = { y l , . . . ,y~} eine Menge Boole' scher Variablen. Wi r
sagen, dass cd: X U Y ~ {0, 1} eine Er we i t e r u ng v on ~a: X ~ {0, 1} ist,
far x .
Le mma 6 . 1 1 . SAT <p 3SAT.
Beweis. Sei F - F1 A F2 A . . . A F,~ eine Formel in KNF fiber einer Menge
yon Bool e' schen Var i abl en {Xl, . . . , x~}. Wi r konst r ui er en eine Formel C' in
3KNF (alle Kl ausel n ent hal t en hSchst ens 3 Lit erale), so dass
Fi s t erfiillbar ( F E SAT) <=~ C' ist erf/illbar (C' E 3SAT).
Die pol ynomi el l e Redukt i on fiihren wir fiir j ede der Kl ausel n F1 , . . . , F,~ einzeln
wie folgt durch:
Falls Fi weniger als 4 Lit erale ent h~l t , dann set zen wir Ci - Fi. Sei Fi =
Zl V z2 V- - - V zk mi t k > 4, zi E {x1, ~1, 9 9 - , x ~, ~} .
Wi r konst r ui er en Ci fiber Var i abl en {Xl, ' ' ' , Xn, Yi,1, Yi , 2, . . . , Yi,/~-3}, wobei
Yi,1, Yi , 2, . . . , Yi,k-3 neue Var i abl en sind, die bei der Kons t r ukt i on yon Cj mi t
j -r i nicht benut zt wur den.
G ( z l V z2 V Y~,I) A (Yi, 1 V Z 3 V Yi, 2) A (Yi, 2 V z4 V Yi3 )
A. . . A (Yi,~-4 V zk-2 V Yi,k-3) A (Yi,k-3 V Zk-1 V Zk).
Z.B. fiir Fi - - Xl V 2; 3 V x2 V 2; 7 V x9 e r ha l t e n wi r
C' i - - ( x l V x3 V Yi,1) A (Yi,1 V x2 V Yi, 2) A (Yi, 2 V x7 V x9).
Um zu zeigen, dass F - F1 A. . . A F,~ genau dann erfiillbar ist, wenn C =
C1 A. . . A C,~ erfiillbar ist, reicht es, die folgende Behaupt ung zu beweisen.
existiert eine Erwei t erung p' von qp auf {Xl, . . . , x~, yi,1, 9 9 9 Yi,k-3},
die C~ erfiillt.
6.6 NP-VollstSmdigkeit 255
(i) ,,~"" Sei p eine Bel egung der Var i abl en in {Xl, x 2 , . . . , Xn} , SO dass p( Fi ) -
1. Also exi st i er t ein j E { 1 , . . . , k } mi t ~(zj ) - 1. Wi r nehmen ~' " { Xl , . . . , x ~,
yi , 1, . . . , yi , k- 3} ~ {0, 1}, so dass
(a) ~( x l ) - p' (xl) fiir l - 1 , . . . , n,
(b) p' (yi, 1) . . . . p'(yi,j -2) - 1 und
- . . . - - 0 .
Weil p' (zj ) - 1, ist die ( j - 1)-t e Kl ausel von C~ erfiillt. ~'(y~,~) - 1 gar ant i er t
die Er f i i l l ung der r - t en Kl ausel yon C~ fiir r - 1 , . . . , j - 2. ~'(y~,~) - 0 (d. h.
y~,~ - 1) gar ant i er t die Er f i i l l ung der (s + 1) - t en Kl ausel von C~ fiir s -
j - 1, j , . . . , k - 3. Dami t erfiillt p~ alle k - 2 Kl aus el n von Ci.
(ii) ,,~"" Sei ~ eine Bel egung, so dass ~(F~) - 0. Wi r bewei sen, dass keine
Er wei t er ung p' von p exi st i er t , so dass p' ( Ci ) - 1. p( Fi ) - 0 i mpl i zi er t p( z l ) -
p( z2) - . . . p( zk) - 0. Also mug man, um die er st e Kl ausel zu erfiillen, fiir Yi,1
den Wer t 1 ei nset zen. Dann ist p'(y~,~) - 0 und p' (yi, 2) mug 1 sein, um die
zwei t e Kl ausel zu erfiillen. Auf diese Wei se b e k omme n wi r P'(Yi,1) - P'(Yi,2) -
. . . . P~(Yi,k-a) - 1, um diese er s t en k - 3 Kl aus el n zu erfiillen. Dann ist
aber P' (Y~,k-a) - 0, und weil p(zk_~) - p( zk) - 0, bl ei bt die l et zt e Kl ausel
unerfiillt .
Auf gabe 6.22. Beweisen Sie folgende polynomielle Reduktionen.
(i) VC <p CLIQUE.
(ii) 3SAT _<p VC.
Das Konz ept der NP- Vol l s t gndi gkei t ent wi ckel t e sich zu der Bas i s met hode zur
Kl assi f i zi er ung der Schwi er i gkei t yon al gor i t hmi s chen Pr obl emen. Wi r kennen
heut e mehr als 3000 NP-vollstS~ndige Pr obl eme. Das vor gest el l t e Konz ept der
NP- Vol l s t gndi gkei t f unkt i oni er t aber nur fiir Ent s chei dungs pr obl eme. I m Fol-
genden wollen wir dieses Konz ept so modi f i zi er en, dass es auch zur Klassi-
f i zi er ung von Opt i mi er ungs pr obl eme geei gnet ist. Daz u br auchen wir zuer st
Kl assen von Opt i mi er ungs pr obl emen, die 5~hnliche Bedeut ung wie die Kl assen
P und NP f/Jr Ent s chei dungs pr obl eme haben. Wi r begi nnen mi t der Kl asse
NPO als Anal ogi e zur Kl asse NP fiir Opt i mi er ungs pr obl eme.
De f i ni t i on 6. 12. NPO ist die Klasse der Optimierungsprobleme, wobei
U - (Ez, Eo, L, 34 , cost, goal) E NPO,
falls folgende Bedingungen erfiillt sind:
256 6 Komplexittitstheorie
(iii)
L EP
{Es kann effizient verifiziert werden, ob ein x E E* I eine zuliissige Eingabe
ist.},
es existiert ein Pol ynom Pu, so dass
(a) fiir j edes x e L und j edes y e M( x ) , lyl-< pu(l xl )
{Die GrSfle j eder zuliissigen Ldsung ist polynomiell in der Einga-
begrSfle.},
(b) es ezistiert ein polynomieller Algorithmus A, der fiir j edes y E E* o
und j edes z E L mi t lYl < Pu(Izl) entscheidet, ob y E A//(z) oder
nicht.
die Funktion cost kann man in polynomieller Zeit berechnen.
Wir sehen, dass ein Opt imierungsproblem U in NPO ist, falls
1. man ellizient iiberpriifen kann, ob ein gegebenes Wort ein Problemfall (eine
Instanz) von U ist,
2. die Gr6fie der L6sungen polynomiell in der Gr6fie der Eingabe (des Pro-
blemfalls) ist und man in polynomieller Zeit verifizieren kann, ob ein y eine
zulS.ssige L6sung fiir einen gegebenen Problemfall ist, und
3. man die Kost en der zul~issigen L6sung etiizient berechnen kann.
Der Bedingung (ii.b) folgend sehen wir die Analogie zwischen NPO und VP.
Das konzeptuell Wichtigste ist aber, dass die Bedingungen (i), (ii) und (iii)
nattirlich sind, weft sie die Schwierigkeit yon U auf den Bereich der Optimie-
rung einschrS.nken und damit die Einordnung der praktischen L6sbarkeit yon
U unabhS.ngig machen yon solchen Ent scheidungsproblemen wie, ob eine Ein-
gabe eine Inst anz von U reprtisentiert oder ob y eine zulgssige L6sung fiir z
ist. Damit liegt der Schwierigkeitsgrad von Problemen in NPO eindeutig in der
Suche nach einer opt imalen L6sung in der Menge aller zulgssigen L6sungen.
Die folgende Begriindung zeigt, dass MAX-SAT in NPO liegt.
1. Man kann effizient entscheiden, ob ein x E Elogic eine Boole' sche Formel in
KNF kodiert.
2. Fiir jedes x hat jede Belegung c~ E {0, 1}* der Variablen der Formel q)x die
Eigenschaft Ictl < Ixl, und man kann in linearer Zeit verifizieren, ob Ic~l gleich
der Anzahl der Variablen in ~x ist.
3. Ftir jede gegebene Belegung a der Variablen von ~x kann man in linea-
rer Zeit bez/iglich IxI die Anzahl der erfiillten Klauseln berechnen und so die
Kosten der zulgssigen L6sung a bestimmen.
6.6 NP-VollstSmdigkeit 257
Bet racht en wir jetzt folgende Optimierungsprobleme. Das Problem des maxi-
malen Schnittes, MAX- CUT, ist, ftir einen Graphen G = (V, E) einen ma-
ximalen Schnitt zu finden. Ein Schnitt von G = (V, E) ist jedes Paar (V1, V2)
mit V1 U V2 = V und V1 A V2 = 0. Der Preis eines Schnittes (V1, V2) yon G ist
die Anzahl der Kant en zwischen V1 und V2, d.h.
Das Problem der minimalen Knotenfiberdeckung, MI N- VC, ist, ftir einen
Graphen G eine minimale Knotentiberdeckung (vertex cover) zu finden.
Aufgabe 6.23. Geben Sie formale Definitionen der Optimierungsprobleme MAX-CUT und
MIN-VC an und zeigen Sie, dass beide in NPO liegen.
Die folgende Definition definiert auf nattirliche Weise die Klasse PO von Opti-
mierungsproblemen, die die gleiche Bedeut ung wie die Klasse P fiir Entschei-
dungsprobleme hat.
Def i ni t i on 6. 13. PO ist die Klasse von Optimierungsproblemen U = (EI,
Eo, L, Ad, cost, goal), so dass
U E NPO und
es existiert ein polynomieller Algorithmus A, so dass fiir j edes x E L,
A( x) eine optimale LSsung fiir x ist.
Die Definition der NP-Schwierigkeit eines Opt imierungsproblems erhalten wir
j et zt durch geschickte Redukt ion zu einem NP-schweren Entscheidungspro-
blem.
Def i ni t i on 6. 14. Sei U = (EI, E0, L, A/l, cost, goal) ein Optimierungsproblem
aus NPO. Die Schwel l enwer t - Spr ache ffir U ist
L ang U = {(x, a ) E L x E~ool ] Opt u( x) <_ Nummer ( a) } ,
falls goal = Mi ni mum, und
L ang U : {(x, a ) E L E~ool I Opt u( x) >_ Nummer ( a) } ,
falls goal = Maxi mum.
Wir sagen, dass U NP- s c hwe r ist, falls Lang U NP-schwer ist.
258 6 Komplexit~tstheorie
Zuerst zeigen wir, dass das in Definition 6.14 vorgestellte Konzept der NP-
Schwierigkeit fiir Opt imierungsprobleme zum Beweisen von Aussagen der Form
U ~ PO unter der Voraussetzung P ~ NP geeignet ist.
Le mma 6. 12. Falls ein Optimierungsproblem U E PO, dann Lang U E P.
Beweis. Falls U E PO, dann existiert ein polynomieller Algorithmus A, der
fiir jedes x E L eine optimale LSsung fiir x berechnet und damit Optu(x)
bestimmt. Also kann man A benutzen, um Langu zu entscheiden. D
Sat z 6. 10. Sei U E NPO. Falls U NP-schwer ist und P r NP, dann U ~ PO.
Beweis. Wir beweisen Satz 6.10 indirekt. Angenommen U E PO. Lemma 6.12
folgend gilt Lang U E P. Weil U NP-schwer ist, ist auch Lang U NP-schwer.
Somit ist Lang U eine NP-schwere Sprache in P, was P = NP fordert. D
Die folgenden Beispiele zeigen, dass die Definition 6.14 eine einfache Met hode
zum Beweisen der NP-Schwierigkeit von Opt imierungsproblemen bietet.
Le mma 6. 13. MAX-SAT ist NP-schwer.
Beweis. Es reicht zu zeigen, dass LangMAX_SA T NP-schwer ist. Wir zeigen
SAT _<p LangMAX-SAT. Sei x E L die Kodierung einer Formel (I)x mit rn Klau-
seln. Wir nehmen ( x, m) als Eingabe ftir das Entscheidungsproblem
(LangMAX_SAT, E*). Es ist klar, dass
(z, rn) E LangMax_sa T e, ~ ist erfiillbar.
Das Problem der maximalen Clique, MAX-CL, ist, fiir einen gegebenen Gra-
phen eine maximale Clique in G zu finden.
Le mma 6. 14. MAX-CL ist NP-schwer.
Beweis. Man bemerke, dass CLIQUE = LangMAX_CL. Da CLIQUE NP-schwer
ist, sind wir fertig. D
Aufgabe 6.24. Beweisen Sie, dass MAX-CUT und MIN-VC NP-schwer sind.
6 . 7 Z u s a m m e n f a s s u n g
6.7 Zusammenfassung
2 5 9
Das Hauptziel der Komplexit/itstheorie ist die Klassifikation der algorithmi-
schen Probleme beziiglich der Menge der Rechnerressourcen, die ben6tigt wer-
den, um die Probleme zu 16sen. Dabei erforscht man quantitative Gesetze
der Informationsverarbeitung und die Grenze der praktischen algorithmischen
L6sbarkeit.
Die wichtigsten Komplexit/itsmafie sind die ZeitkomplexitS~t und die Speicher-
platzkomplexitS~t. Das Basismodell eines Rechners ist in der abstrakten Kom-
plexit~ttstheorie die Mehrband-Turingmaschine. Die Komplexit~tt einer MTM
(eines Algorithmus) betrachtet man als eine Funktion f der Eingabel~tnge
n, wobei f(n) die maximale Komplexit/~t tiber alle Berechnungen auf Ein-
gaben der Lgnge n ist. Diese Komplexitgtsmessung nennt man die Messung
im schlechtesten Fall. Es existieren algorithmisch 16sbare Probleme yon be-
liebig hohem Schwierigkeitsgrad. Algorithmen von exponentieller Zeitkomple-
xitgt hglt man nicht fiir praktisch durchftihrbar.
Die praktische L6sbarkeit von Problemen wird mit der polynomiellen Zeitkom-
plexitgt verbunden. Die Klasse P ist die Menge aller Entscheidungsprobleme,
die man mit Algorithmen in polynomieller Zeit lasen kann. Die Definition der
Klasse P ist robust in dem Sinne, dass sie unabhgngig vonder Wahl des Rech-
nermodells ist.
Die ZeitkomplexitS~t der Arbeit einer nichtdeterministischen MTM M auf ei-
ner Eingabe w ist die Lgnge der kiirzesten korrekten Berechnung von M auf
w. Die typische Arbeit eines nichtdeterministischen Algorithmus besteht aus
nichtdeterministischem Rat en und nachfolgender deterministischer Verifikati-
on des Geratenen. Die Klasse NP ist die Klasse aller Sprachen, die nichtde-
terministisch in polynomieller Zeit entscheidbar sind. Die Frage, ob P eine
echte Teilmenge von NP ist, ist wahrscheinlich die bekannteste bisher unbe-
antwortete Frage in der Theoretischen Informatik. Die Klasse NP enthglt viele
praktisch interessante Probleme, von denen man nicht weiss, ob sie in P lie-
gen. Man kann zeigen, dass die Frage, ob P ungleich NP ist,/~quivalent zu der
Frage ist, ob es schwerer ist, mathematische Beweise algorithmisch zu finden
als gegebene Beweise algorithmisch zu verifizieren.
Es ist uns nicht gelungen, Beweistechniken fiir untere Schranken der Zeit-
komplexitgt konkreter Probleme zu entwickeln. Damit fehlt uns die methodo-
logische Grundlage zur Klassifikation der Probleme in praktisch 16share und
praktisch unl6sbare. Das Konzept der NP-VollstS~ndigkeit erm6glicht uns aber,
Resultate der Art L ~ P unter der zusgtzlichen Voraussetzung P ~ NP zu zei-
260 6 Komplexittitstheorie
gen. Die NP-vollstS~ndigen Pr obl eme sind die schwerst en Pr obl eme in NP in
dem Sinne, dass, wenn nur eines von ihnen in P w~tre, P = NP gelt en miisste.
Die Hierarchies~ttze wur den bei Har t mani s, St ear ns und Lewis [HS 65, HSL 65]
bewiesen. Die Begriffe der pol ynomi el l en Redukt i on und der NP-Vollst~tndig-
keit gehen auf die ar bei t en yon Cook [Coo 71] und Kar p [Kar 72] zuriick. Das
klassische Buch yon Gar ey und Johnson [GJ 79] bi et et eine det ailliert e Dar-
st ellung der Theori e der NP-Vollst gndigkeit . Her vor r agende Pr~t sent at ionen
des Themas , , Prakt i sche LSsbarkeit " kann man bei Lewis und Papadi mi t r i ou
[LP 78] und St ockmayer und Chandr a [SC 79] finden.
Es gibt mehr er e gut e Biicher, die sich mit KomplexitS~tstheorie beschSfftigen.
Eine exzellente Ei nfi i hrung in die KomplexitS~tstheorie kann man in Lehr-
biichern yon Hopcroft und Ul l man [HU 79] und Sipser [Sip 97] finden. Eine
ausfiihrliche Dar st el l ung der Kompl exi t ~t st heor i e bi et en Bovet und Crescenzi
[Be 94], Papadi mi t r i ou [Pap 94] und Balc~zar, Dfaz, und Gabar r d [BDG 88,
B DG 90]. Von der deut schspr achi gen Li t er at ur empfehlen wir wSzmst ens das
Lehr buch yon Reischuk [Rei 90].
Kontrollaufgaben
1. Wie definiert man die Komplexit~it eines Algorithmus (einer TM) im schlechtesten
Fall? Warum benutzt man am h~ufigsten diese Art der Komplexit~itsmessung?
2. Die ZeitkomplexitS~t einer Turingmaschine kann man immer dutch einen konstan-
ten Faktor beschleunigen, wenn ihre Zeitkomplexit/it superlinear ist. Dies ist tiber-
raschend und kann unnatiirlich erscheinen. Hat dieses P h~inomen eine nattirliche
Erkltirung? Warum hat man diese ,Schwtiche" des Turingmaschinenmodells in der
Komplexittttstheorie akzeptiert?
3. Definieren Sie die O, ft und (9 Notation und erkl~iren Sie, warum man sich oft nur
mit einer asymptotischen Analyse zufrieden gibt.
4. Sei p(n) ein Polynom vom Grad d. Beweisen Sie, dass p(n) E 0 (n d) gilt. Gilt auch
c e
5. Wit haben gelernt, die Komplexittit von Algorithmen (Turingmaschinen) zu messen.
Jetzt mSchten wit die Komplexit~t von algorithmischen Problemen bestimmen. Wie
gehen wir vor? Warum kann man nicht einfach sagen, dass die Komplexit~it eines
Problems die Komplexit~it des optimalen Algorithmus ftir dieses Problem ist?
6. Bei der Messung der Komplexit~it von Algorithmen (Programmen) benutzt man zwei
unterschiedliche Arten der Messung - die Messung mit dem uniformen Kostenmafi
und die mit dem logarithmischen Kostenmafi. Diskutieren Sie die Vor- und Nachteile
dieser Marie.
7. Welche sind die fundamentalen KomplexitS~tsklassen und wie werden die definiert?
8. Wozu ist das Konzept der Konstruierbarkeit von Funktionen ntitzlich?
9. Was fiir Beziehungen gelten zwischen Speicherplatzkomplexit~tsklassen und Zeitkom-
plexit~itsklassen?
6 . 7 Z u s a m m e n f a s s u n g 261
10. Wie definiert man nicht det erminist ische KomplexitS~tsklassen? Was fiir eine Rolle
spielen dabei die zeit- und pl at zkonst r ui er bar en Funkt i onen?
11. Welche Simulat ionen von nicht det erminist ischer Zeitkomplexittit dut ch det erminist i-
sche Zeitkomplexittit kennen Sie? Formulieren Sie die Resul t at e als Beziehungen zwi-
schen Komplexit t it sklassen und geben Sie eine detaillierte Beschreibung und Analyse
der Simulat ionst echniken.
12. Welche Griinde fiihrten dazu, dass man die Klasse P der in polynomieller Zeit 16sba-
ren Ent schei dungsprobl eme mit der Klasse der , , praktisch" 16sbaren Pr obl eme iden-
tifiziert? War um hat man nicht beispielsweise die Klasse TI ME (n 6) gew~ihlt?
13. Erklttren Sie die zwei unt erschiedlichen M6glichkeiten, die Klasse NP zu definieren.
Wie htingt die nicht det erminist ische Zeitkomplexittit mit der det erminist ischen Kom-
plexit gt der algorit hmischen Beweisverifikation zusammen?
14. Kann man die Klasse NTI ME (2 n) durch die Verifizierer beschreiben, die in der Zeit
O (2 n) arbeit en? Zur Begriindung Ihrer Ant wort fiihren Sie einen det ailliert en Beweis.
15. Geben Sie Polynomialzeit-Verifizierer fiir alle NP-vollst gndigen Sprachen, die Sie ken-
n e n .
16. Beschreiben Sie das Konzept der polynomiellen Redukt ion. Was sind die Ahnlichkei-
t en und die Unt erschiede zur Redukt i on in der Berechenbarkeit ?
17. Geben Sie eine Menge von Boole' schen Variablen an, mit der man alle Sit uat ionen
auf einem Schachbret t beschreiben kann, in der sich nur Tiirme auf dem Schachbret t
befinden. Beschreiben Sie die Konst r ukt i on einer Formel fiber diesen Variablen, die
genau dann erfiillt sind, wenn auf dem Schachbret t genau 8 Tiirme stehen, die sich
gegenseitig nicht bedrohen.
18. Sei kSAT das Erfiillungsproblem fiir Klauseln in kKNF, k E IN (eine Formel in KNF
ist in kKNF, wenn alle Klauseln h6chst ens aus k Lit eralen best ehen).
Beweisen Sie folgende polynomielle Redukt i onen.
(i) SAT <p 4SAT,
(ii) 5SAT _<p CLIQUE,
(iii) CLI QUE _<p 4SAT,
(iv) 4SAT _<p 3SAT,
( v ) 5 S A T < p V C ,
( v i ) V C < p S A T .
1 9 . E r k l / i r e n S i e , w i e m a n d a s K o n z e p t d e r N P - S c h w e r e a u f O p t i m i e r u n g s p r o b l e m e f i b e -
t r a g e n k a n n .
2 0 . B e w e i s e n S i e d i e f o l g e n d e B e h a u p t u n g .
$ e i U e i n N P - s c h w e r e s O p t i m i e r u n g s p r o b l e m . F a l l s U i n p o l y n o m i e l l e r Z e i t i D s b a r i s t ,
d a n n g i l t P = N P .
Wenn euch ein Wissenschaftler sagt:
,Dies ist das Ende,
hier kann man nichts mehr machen",
dann ist er kein Wissenschaftler.
L. Goul
i
7 Al gori t hmi k fi i r schwere Pr obl e me
7.1 Zi elsetzung
Die Komplexitgtstheorie liefert uns die Met hoden zur Klassifikation der al-
gorithmischen Probleme bezfiglich ihrer Komplexitgt. Die Algorithmentheorie
ist dem Ent wurf von effizienten Algorithmen zur L6sung konkreter Probleme
gewidmet. In diesem Kapitel wollen wit uns mit dem Ent wurf yon Algorithmen
fiir schwere (z.B. NP-schwere) Probleme beschgRigen. Das mag etwas fiberra-
schend klingen, weil nach der in Kapitel 6 vorgestellten Komplexitgtstheorie
der Versuch, ein NP-schweres Probl em zu 16sen, an die Grenze des physika-
lisch Machbaren st/Sf3t. Z.B. wiirde ein Algorithmus mit der Zeitkomplexitgt
2 ~ flit eine Eingabe der LS~nge 100 mehr Zeit brauchen, als das Universum
alt ist. Auf der anderen SeRe sind viele schwere Probleme von einer enormen
Wichtigkeit fiir die tggliche Praxis, und deshalb suchen Informatiker seit fiber
30 Jahren nach einer M6glichkeit, schwere Probleme in praktischen Anwen-
dungen doch zu bearbeiten. Die Hauptidee dabei ist, ein schweres Probl em
(lurch eine (nach M6glichkeit kleine) Modifikation oder eine Abschwgchung
der Anforderungen in ein effizient 16sbares Probl em umzuwandeln. Die wahre
Kunst der Algorithmik besteht darin, dass man die M6glichkeiten untersucht,
wie man (lurch minimale (fiir die Praxis akzeptable) Anderungen der Problem-
spezifikation oder der Anforderungen an die Probleml6sung einen gewaltigen
Sprung machen kann, und zwar von einer physikalisch nicht machbaren Be-
rechnungskomplexitgt zu einer Angelegenheit yon wenigen Minuten auf einem
St andard-PC. Um solche Effekte, die zur L6sung gegebener Probleme in der
Praxis f~hren k6nnen, zu erzielen, kann man folgende Konzepte oder deren
Kombi nat i onen benutzen.
Schwere Probleminstanzen im Gegensatz zu typischen Probleminstanzen.
Wi r messen die Zeitkomplexit~t als Komplexit~t im schlechtesten Fall~ was
7.1 Zi e l s e t z ung 263
bedeutet, dass die KomplexitS~t Time(n) die KomplexitS~t der Berechnungen
auf den schwersten Probleminstanzen der Gr6f3e ni s t . Es ist aber oft so, dass
die schwersten Probleminstanzen so unnatiirlich sind, dass sie als Aufgaben-
stellungen in der Praxis gar nicht vorkommen. Deswegen ist es sinnvoll, die
Analyse der ProblemkomplexitS~t in dem Sinne zu verfeinern, dass man die
Probleminstanzen nach ihrem Schwierigkeitsgrad klassifiziert. Eine erfolgrei-
che Klassifizierung k6nnte zur Spezifikation einer grogen Teilmenge von ettizi-
ent 16sbaren Probleminstanzen f~hren. Falls die in einer Anwendung typischen
Eingaben zu einer solchen Probleminstanzklasse geh6ren, ist das Problem in
dieser Anwendung gel6st.
Ezponentielle Algorithmen.
Man versucht nicht mehr, einen polynomiellen Algorithmus zu entwerfen, son-
dern einen Algorithmus mit einer exponentiellen Zeitkomplexit~t. Die Idee
dabei ist, dass einige exponentielle Funktionen ftir realistische Eingabegr6t3en
nicht so grot3e Werte annehmen. Tab. 7.1 zeigt anschaulich, dass (1.2) ~ Rech-
neroperationen fiir n = 100 oder 10. 2v~ Operationen f~r n = 300 in ein paar
Sekunden durchf/ihrbar sind.
Ta b. 7.1
Ko mp l e x i t ~t n = 10 n = 50 n = 100 n = 300
Tt
2~
( 1. 2) ~
1 0 . 2 v/-~
1024 16 Zi f f er n 31 Zi f f er n 91 Zi f f er n
32 ~ 33 9 106 16 Zi f f er n 46 Zi f f er n
6 ~ 9100 ~ 83- 106 24 Zi f f er n
89 ~ 1345 10240 ~ 1 . 6 4. 1 0 6
Abschwiichung der Anforderungen.
Man kann die Anforderung, mit Sicherheit fiir jede Eingabe das richtige Resul-
t at zu berechnen, auf unterschiedliche Art und Weise abschwS~chen. Typische
ReprS~sentanten dieses Ansatzes sind randomisierte Algorithmen und Appro-
ximationsalgorithmen. Bei randomisierten Algorithmen tauscht man die de-
terministische Steuerung durch eine Zufallssteuerung aus. Dadurch kSnnen
mit einer beschrS~nkten Wahrscheinlichkeit falsche Resultate berechnet wer-
den. Wenn die Fehlerwahrscheinlichkeit nicht grSt3er als 10 -9 ist, dann weicht
die ZuverlS~ssigkeit solcher randomisierten Algorithmen von der eines korrek-
ten deterministischen Algorithmus' nicht allzu sehr ab. Die Approximationsal-
gorithmen benutzt man zur L6sung von Optimierungsproblemen. Anst at t zu
fordern, eine optimale L6sung zu errechnen, geht man zu der Forderung fiber,
eine L6sung zu errechnen, deren Kosten (Qualits~t) sich nicht allzu sehr yon der
optimalen LSsung unterscheiden. Beide dieser AnsS~tze kSnnen einen Sprung
von exponentieller zu polynomieller Komplexitgt ermSglichen.
264 7 Algorithmik fiir schwere Probleme
Die Zielsetzung dieses Kapitels ist es, einige dieser Konzepte ansatzweise vor-
zustellen. Im Abschnitt 7.2 stellen wir die pseudopolynomiellen Algorithmen
vor, die einen speziellen Ansatz zur Spezifikation einer Teilklasse von effizient
16sbaren Probl emi nst anzen darstellen und so als eine Met hode zur Realisierung
des ersten Ansatzes gelten. Das Konzept der Approxi mat i onsal gori t hmen wird
in Abschnitt 7.3 vorgestellt. In Abschnitt 7.4 prS~sentieren wir die lokalen A1-
gorithmen, die MSglichkeiten fiir die Realisierung aller drei oben vorgestellten
Konzepte bieten. Die lokale Suche ist die Basis fiir mehrere Heuristiken. In Ab-
schnitt 7.5 erklS~ren wir die Heuristik des Simulated Annealing, die auf einer
Analogie zu einem physikalischen Vorgang basiert. Dem Konzept der Rando-
misierung wird wegen seiner Wichtigkeit ein eigenes Kapitel 8 gewidmet.
7.2 Pseudopolynomi elle Algori thmen
In diesem Abschnitt bet racht en wir eine spezielle Klasse von Problemen, de-
ren Probl emi nst anzen man als Folge yon Zahlen interpretieren kann. Solche
Probleme nennen wir Za h l p r o b l e me und praktisch ist es so, dass wir jedes
Probl em mit Ei ngaben aus {0, 1, r mit unbeschrgnkter Anzahl von Sym-
bolen ~ in den zulgssigen Ei ngaben als ein Zahlproblem verstehen k6nnen.
Sei
x = x l # x 2 C P. . . r x i E {0, 1}* fiir i = 1, 2 , . . . , n
ein Wort fiber {0, 1, r Wir interpretieren x als folgenden Vektor
I n t ( x ) = ( N u mme r ( X l ) , N u mme r ( x 2 ) , . . . , N u mme r ( X n ) )
von n natiirlichen Zahlen. Jedes graphentheoretische Probl em 1, deren Problem-
instanzen man durch die Adj azenzmat ri x repr~tsentieren kann, ist ein Zahlpro-
blem, weil man jede Adj azenzmat ri x als eine Folge von Nullen und Einsen
darstellen kann. Das TSP ist ein Zahlproblem, wobei die Zahlenfolge die Ko-
sten der einzelnen Kant en reprgsentiert.
Wi r definieren fiir jedes x = XlCPX2~... r mit xi E {0, 1}* f/Jr i = 1, 2, . . . , n,
Ma x I n t ( x ) = ma x { N u mme r ( x i ) l i = 1, 2 , . . . , n} .
1Wie das Problem der Knotentiberdeckung oder das CLIQUE-Problem.
7.2 Pseudopolynomielle Algorithmen 265
Die Haupt i dee des Konzeptes der pseudopolynomiellen Al gori t hmen ist die
Suche nach Algorithmen, die ettizient auf solchen Ei ngaben x sind, bei denen
MaxInt (x) nicht wesentlich gr6fier ist als IxI . Weil eine Zahl Nummer( y) ex-
ponentiell gr6fier ist als die Lb~nge ihrer binbzen Darst el l ung y, handel t es sich
um eine echte Einschrb~nkung.
De f i ni t i on 7.1. Sei bt ein Zahlproblem und sei A ein Algorithmus, derbt 15st.
Wi t sagen, dass A ein p s e u d o p o l y n o mi e l l e r Al g o r i t h mu s ffir U ist, falls
ein Polynom p mit zwei Variablen existiert, so dass
TimeA(x) E O(P(lx I, Maxl nt ( x) ) )
fiir alle Pwbl emi nst anzen x von H.
Wi r bemerken gleich, dass fiir Probl emi nst anzen x mit Maxl nt ( x) _< h(l l) fiir
ein Pol ynom h die Zei t kompl exi t at TimeA(x) polynomiell in Izl ist.
De f i ni t i on 7.2. Sei H ein Zahlproblem und sei h eine Funktion von IN nach
IN. Das h- we r t be s c hr ~i nkt e Te i l p r o b l e m von U, We r t ( h ) - U, ist das Pro-
blem, das man aus H dutch die Einschriinkung der Menge der zuliissigen Ein-
gaben auf die Klasse der Probleminstanzen x mit MaxInt (x) _< h(l l) ~h~zt.
Die nb~chste Behaupt ung zeigt, dass man auf diese Weise grofie Klassen von
leichten Probl emi nst anzen eines schweren Probl ems spezifizieren kann.
Sat z 7. 1. Sei H ein Zahlproblem und sei A ein pseudopolynomieller Algorith-
runs fiir H. Dann existiert fiir jedes Polynom h ein polynomieller Algorithmus
fiir das Problem Wert (h)-H. 2
Beweis. Weil A ein pseudopolynomieller Al gori t hmus fiir H ist, existiert ein
Pol ynom p mit zwei Variablen, so dass
TimeA(x) E O( p( lxl) , MaxInt (x))
fiir jede Probl emi nst anz x yon/1/. Weil hei ne polynomielle Funkt i on ist, exi-
stiert eine Konst ant e c, so dass MaxInt (x) E O(IxI ~) ffir alle Probl emi nst anzen
x von Wert (h)-H. Dami t ist TimeA(x) E O(P(Ix I, Ixlc)) und somit ist A ein
polynomieller Al gori t hmus fiir Wert (h)-H. D
2Falls /1/ ein Entscheidungsproblem ist, bedeutet das, dass Wert(h)-H c P. Falls /1/ ein
Optimierungsproblem ist, bedeutet das, dass Wert(h)-H E PO.
266 7 Al gor i t hmi k fiir schwer e Pr o b l e me
Wir zeigen die Anwendung dieses Konzeptes fiir die L6sung des Rucksack-
Problems, welches das folgende NP-schwere Optimierungsproblem ist.
Eingabe: 2n + 1 positive ganze Zahlen Wl, w2, . . . , wn, c1, . . . , Cn, b ftir ein n E
{0}.
{Diese Zahlen reprgsentieren n Objekte, wobei wi dass Gewicht des/ - t en
Objektes und ci der Nutzen des/ - t en Objektes fiir i = 1, 2, . . . , ni st . Die
Zahl b ist eine obere Schranke fiir das Gewicht eines Rucksacks, in den
man einige Objekte einpacken kann.}
Zuliissige LSsungen: Fiir jedes I = ( Wl , w2 , . . . , Wn, C1 , . . . , Cn, b) ist
M(I)- {
TC_ { 1 , . . . , n } ~ -~ wi _ < b} .
i ET
{Eine zulS~ssige L6sung kann jede Teilmenge der Menge aller n Objekte
sein, deren Gesamtgewicht die erlaubte Gewichtskapazit~t des Rucksacks
b nicht iiberschreitet.}
Kosten: Fiir alle Eingaben I und alle T C_ A//(I), ist
i ET
Ci.
{Die Kosten einer zul~ssigen L6sung T sind der Gesamt nut zen der Ob-
jekte, die in den Rucksack eingepackt worden sind.}
Ziel: Maximum.
Wir m6chten jetzt einen pseudopolynomiellen Algorithmus fiir das Rucksack-
Problem mit der Methode der dynamischen Programmi erung entwerfen. Wir
wollen die L6sung einer Probleminstanz I = (Wl, w2, . . . , w~, c1, . . . , c~, b) so
berechnen, dass wir mit der Teilinstanz I1 = (Wl, Cl, b) anfangen und fiber
/r i - - ( Wl , W2 , . . . , Wi , C 1 , . . . , Ci, b)
fiir i - 2, 3, . . . , n his zu I - I~ kommen. Genauer, wir wollen fiir jede Instanz
Ii und jedes k E {0, 1, 2, . . . , E~=I cj} ein Tripel
{
6 0 , 1 , 2 , . . . , cj
j =l
{ 0 , 1 , 2 , , b}
bestimmen, wobei Wi,k das minimale Gewicht ist, bei dem man den Nutzen k
fiir die Instanz Ii erhalten kann. Die Menge T~,k C_ {1, . . . , i} ist die Menge yon
7.2 Pseudopol ynomi el l e Al gori t hmen 267
Indizes, die genau den Nutzen k bei dem Gesamtgewicht Wi,~ definiert, d.h.
) [ , c i - k und ) [ , w i - W ,k .
j ETi,k j ETi,k
Wir bemerken, dass mehrere Indexmengen den gleichen Nutzen k und das
gleiche Gewicht Wi , k bestimmen k6nnen. In solchen FS~llen wS~hlen wir beliebig
eine aus, urn die Erreichbarkeit yon (k, Wi,k) zu dokumentieren. Andererseits
kann es vorkommen, dass ein Gesamtnutzen k in Ii nicht erreichbar ist. In die-
sere Fall wird kein Tripel fiir k hergestellt. Im Folgenden bezeichnet TRI P LEi
die Menge aller Tripel f~r Ii . Bemerke, dass
i
ITRIPLE I < + 1.
j =l
Ein wichtiger Punkt ist, dass man TRIPLEi +I aus TRIPLE/ in der Zeit
O(TRIPLEi ) berechnen kann. Urn TRIPLEi +I zu berechnen, berechnet man
zuerst
SET/+I TRIPLE~ O {(k + Ci+l, Wi , k + Wi + l , ri , k U { i Jr- 1}) I
(k, W~,k, T~,k)E TRIPLE~ und W~,k + W~+l _< b}
durch das zusgtzliche Einpacken des (i + 1)-ten Objektes zu jedem Tripel in
TRIPLEi , falls dabei das Gewicht b nicht iiberschritten wird. TRIPLEi +I ist
dann eine Teilmenge yon SETi+I, bei der man fiir jeden erreichbaren Nutzen
k ein Tripel aus SETi+I mit minimalem Gewicht f/Jr den Nutzen k genom-
men hat. Offensichtlich bestimmt das Tripel mit dem maximalen Nutzen in
TRIPLE~ eine optimale L6sung der Probleminstanz I~. Somit kann man den
entworfenen Algorithmus wie folgt darstellen.
Al gori t hmus DP R
f__/iTtgabe: Z = (Wl, w2 , . . . , Wn, C1 , . . . , Cn, b) ~ ( IN - {0}) 2nq-1 fiir eine positive
ganze Zahl n.
Phase 1. TRI PLE( I ) = {(0, 0, 0)} O {(Cl, Wl, {1})} I falls Wl _< b}.
Phase 2. f o r i =l t o n - l d o
begi n SET( / + 1) : = TRI PLE( i ) ;
f or jedes (k, w, T) E TRI PLE( i ) do
b e g i n i f w + wi + 1 ~ b t h e n
SET( / + 1 ) : : SET( / + 1)
U { ( / { -Jr- 6 i + 1 , w qL Wi + l ' T U { i + 1 } ) } ;
268 7 Algorithmik fiir schwere Probleme
e n d
Bestimme TRI PLE( / + 1) als eine Teilmenge yon SET( / + 1),
die fiir jeden erreichbaren Nutzen in SET(/ + 1) genau ein
Tripel enthS~lt, und zwar ein Tripel mit dem minimalen
Gewicht ffir den Nutzen k.
e n d
Phase 3. Berechne
c ' - max{k e {1, 2, . . . ,
Ausgabe: Die Indexmenge T
n
ci} I (k, w, T) E TRI PLE( n) }.
i =1
, so dass (c, w, T) E TRI PLE( n) .
Wir illustrieren die Arbeit des Algorithmus' DPR an folgender Probl emi nst anz
I - (Wl , W2, . . . , ws, c l , . . . , c s , b), wobei
Wl - 23 w2 - 15 W 3 - - 15 W4- - 3 3 w5- 32
Cl - 33 c2 - 23 C 3 - - 11 C4 - - 35 c5 - 11
und b - 65. Offensichtlich ist 1 1 - - (23, 33, 65) und die einzig erreichbaren
Nutzen sind 0 und 33. Dami t gilt
TRIPLE~ - {(0, 0, 0), (33, 23, {1})}.
/2 - (23, 15, 33, 23, 65) und die einzig erreichbaren Nutzwerte fi i r/ 2 sind 0, 23,
33 und 56. Somit erh~ilt man
TRIPLE2 - {(0, 0, 0), (23, 15, {2}), (33, 23, {1}), (56, 38, {1, 2})}.
Es ist /3 = (23, 15, 15, 33, 23, 11, 65). Das Einpacken des dri t t en Objektes ist
fiir jedes Tripel aus TRIPLE2 mSglich und bei jedem neuen Tripel erhalten
wir dabei einen neuen Nutzwert. Dami t hat TRIPLE3 die doppelte Mgchtigkeit
wie TRIPLE2 (d.h. SET3 = TRIPLE3) und
TRIPLE3 {(0, 0, 0), (11, 15, {3}), (23, 15, {2}),
(33, 23, {1}), (34, 30, {2, 3}), (44, 38, {1, 3}),
(s6, 38, {1, 2}), (67, s3, {1, 2, 3})}.
Ffir die Tripel (44, 38, {1, 3}), (56, 38, {1, 2}) und (67, 53, {1, 2, 3}) aus
TRIPLE3 kann man das vierte Obj ekt in den Rucksack nicht mehr einpacken
und so erhalten wir
7.2 Pseudopolynomielle Algorithmen 269
TRIPLE4 TRIPLEa O {(35, 33, {4}), (46, 48, (3, 4}),
(58, 48, {2, 4}), (68, 56, {1, 4}), (69, 63, {2, 3, 4})}.
Am Ende erhalten wir fiir die Instanz I =/ 5
TRIPLE5 {(0, 0, 0), (11, 15, {3}), (22, 47, {3, 5}),
(23, 15, {2}), (33, 23, {1}), (34, 30, {2, 3}),
(35, 33, {4}), (44, 38, {1, 3}), (45, 62, {2, 3, 5}),
(46, 48, {3, 4}), (56, 38, {1, 2}), (58, 48, {2, 4}),
(67, 53, {1, 2, 3}), (68, 56, {1, 4}), (69, 63, {2, 3, 4})}.
Damit ist {2, 3, 4} die optimale L6sung fiir I, weil (69, 63, {2, 3, 4}) ein Tripel
mit dem maximalem Nutzwert 69 in TRIPLE5 ist.
Aufgabe 7.1. Simulieren Sie die Arbeit des Algorithmus DPR fiir die Probleminstanz
(1, 3, 5, 6, 7, 4, 8, 5, 9) des Rucksack-Problems.
Im Folgenden analysieren wir die ZeitkomplexitS~t des Algorithmus DPR.
Sat z 7.2. Fiir jede Instanz I des Rucksack-Problems ist
TimeDpa(I) E O(lII 2. MaxInt(I))
und damit ist DPR ein pseudopolynomieller Algorithmus fiir das Rucksackpro-
blem.
Beweis. Die Zeitkomplexit5t der ersten Phase ist in 0(1). Fiir die Pro-
bleminstanz I = ( Wl , W2, . . . , w~, cl , . . . , c~, b) berechnet DPR n - 1 Mengen
TRI PLE( / + 1). Die Berechnung yon TRI PLE( / + 1) aus TRIPLE(i ) kann man
in der Zeit O(ITRIPLE(i + 1)1 ) durchfiihren. Weil
n
ITRIPLE(i + 1)1 _< ~ cj _< n. MaxInt(I)
j =l
fiir j e d e s i C {0, I , . . . , n } , l i e g t d i e g e s a m t e Z e i t k o m p l e x i t ~ t d e r z w e i t e n P h a s e
in O( n 2. MaxInt(I)).
270 7 Algorithmik fiir schwere Probleme
Die ZeitkomplexitS~t der dri t t en Phase liegt in O( n. MaxInt (I)), weil man da
ein Maximum aus h6chstens n- Ma xl nt ( I ) Werten bestimmt. Weil n _< I I ,
WimeDpa(I) E o(1II MaxInt (I)).
Wir bemerken, dass pseudopolynomielle Algorithmen in der Praxis sehr er-
folgreich sein diirften. Oft sind Gewichte und Nutzen Zahlen aus einem festen
Intervall und damit unabhS~ngig yon der Anzahl der Paramet er der Problemin-
stanz. Damit k6nnen die pseudopolynomiellen Algorithmen auf typischen in
der Praxis auftretenden Probleminstanzen schnell die L6sung liefern. Das In-
teresse aus der Praxis fiir den Entwurf yon pseudopolynomiellen Algorithmen
stellt uns eine neue Klassifizierungsfrage. F/Jr welche NP-schweren Probleme
existieren pseudopolynomielle Algorithmen und fiir welche gibt es keine? Wir
suchen nach einer Methode, mit der man zeigen k6nnte, dass ein Zahlproblem
so schwer ist, dass bei der Voraussetzung P ~r NP kein polynomieller Algo-
rithmus fiir Probleminstanzen mit kleinen Zahlen existiert. Das Konzept der
NP-VollstS~ndigkeit funktioniert auch fiir diese Anwendung.
Def i ni t i on 7.3. Ein Zahlproblem bt heiflt s t a r k NP- s c hwe r , falls ein Poly-
nora p existiert, so dass Wert(p)-N NP-schwer ist.
Die folgende Behaupt ung zeigt, dass die starke NP-Schwierigkeit das gesuchte
Konzept fiir Beweise der Nichtexistenz von pseudopolynomiellen Algorithmen
liefert.
Sat z 7.3. Sei bt ein stark NP-schweres Zahlpvoblern. Falls P r NP gilt, dann
ezistiert kein pseudopolynomieller Algorithmus fiir ld.
Beweis. Weil b/ stark NP-schwer ist, existiert ein Polynom p, so dass das
Problem Wert(p)-b/NP-schwer ist. Angenommen, es gibt einen pseudopolyno-
miellen Algorithmus fiir b/. Nach Satz 7.1 impliziert die Existenz eines pseudo-
polynomiellen Algorithmus fiir b/die Existenz eines polynomiellen Algorithmus
fiir Wert (h)-b/ ft i r jedes Polynom h. Aber das bedeutet, dass wir einen polyno-
miellen Algorithmus fiir das NP-schwere Problem Wert (p)-b/ haben und somit
P = NP gilt. Dies ist ein Widerspruch zur Annahme P r NP. D
Wir k6nnen also wieder die Methode der Reduktion anwenden, um die Nicht-
existenz eines pseudopolynomiellen Algorithmus fiir ein gegebenes Problem zu
zeigen. Im Folgenden illustrieren wir die Anwendung der starken NP-Schwierig-
keit, indem wir zeigen, dass TSP stark NP-schwer ist. Wir benutzen dabei die
7.3 Approximationsalgorithmen 271
bekannte Tatsache, dass das Entscheidungsproblem des Hamiltonschen Kreises
(HK) NP-vollstgndig ist. Das Probl em HK ist zu entscheiden, ob ein gegebener
Graph einen Hamiltonschen Kreis (einen Kreis, der durch jeden Knot en des
Graphen genau einmal ftihrt) besitzt.
Le mma 7.1. Das TSP ist stark NP-schwer.
Beweis. Weil HK NP-schwer ist, reicht es
HK <_p Langwert(p)-TSP
fiir das Polynom p( n) - n zu zeigen.
Sei G- (V, E) eine Eingabe von HK. Sei I VI - n fiir eine positive ganze Zahl
n. Wir konstruieren einen gewichteten vollstS~ndigen Graphen (K~, c) mit K~ =
(V, Evon) wie folgt. Evon - {{u, v} l u, v E V, u -r v} und die Gewichtsfunktion
C' Evon ~ {1, 2} ist definiert durch
c ( e ) - i falls c EE, und
c ( e ) - 2 falls c @E.
Wir bemerken, dass G einen Hamiltonschen Kreis genau dann enthS~lt, wenn
die Kosten der optimalen L6sung ftir (Am, c) genau n betragen, d.h. wenn
( ( K~ , c), n) E Langwert(p)-TSP gilt. Dami t entscheidet jeder Algorithmus, der
LartgWert(p)_TS P entscheidet, auch das Probl em des Hamiltonschen Kreises. D
Aufgabe 7.2. Betrachten Sie die folgende Verallgemeinerung des Knoteniiberdeckungspro-
blems. Gegeben ist ein Graph G - (V, E) mit Gewichten aus IN fiir jeden Knoten aus V.
Die Kosten einer Uberdeckung S c_ V sind die Summe der Gewichte der Knoten in S.
Das gewichtete Uberdeckungsproblem ist ein Minimierungsproblem, in dem man eine ko-
stengiinstige Uberdeckung sucht. Beweisen Sie, dass das gewichtete {)berdeckungsproblem
stark NP-schwer ist.
7.3 Approxi mati onsalgori thmen
In diesem Abschnitt stellen wir das Konzept der Approxi mat i onsal gori t hmen
zur L6sung schwerer Opt i mi erungsprobl eme vor. Die Idee ist, den Sprung yon
exponentieller ZeitkomplexitS~t zu polynomieller Zeitkomplexit/~t durch die Ab-
schwS~chung der Anforderungen zu erreichen. St at t der Berechnung einer op-
timalen L6sung fordern wir nur die Berechnung einer fast optimalen L6sung.
Was der Begriff ,,fast optimal" bedeut et , legt die folgende Definition fest.
272 7 Algorithmik fiir schwere Probleme
De f i ni t i on 7. 4. Sei N = (EI, Eo, L, M, cost, goal) ein Optimierungsproblem.
Wir sagen, dass A ein zul ~s s i ger Al g o r i t h mu s ffir /,4 ist, falls fiir jedes
x E L die Ausgabe A( x ) der Berechnung von A auf x eine zuliissige LSsung
(d.h. e
Sei A ein zulgssiger Algorithmus fiir ld. Fiir jedes x E L definieren wi t die
Ap p r o x i ma t i o n s g f i t e Gi i t e A( x) von A a u f x dutch
{ cos t ( A( x ) ) Opt s ( x) }
Gi i t e A( x) - m a x O p t u ( x ) ' cost ( A( x ) ) '
wobei Opt u( x ) die Kosten einer optimalen LSsung fiir die Instanz x von bt
sind.
Fiir jede positive Zahl 6 >
a l g o r i t h mu s f i b/ , 4 ist, falls
1 sagen wit, dass A ein 6 - Ap p r o x i ma t i o n s -
GiiteA(x) _< 6
fiir jedes x E L.
Wi r illustrieren das Konzept der Appr oxi mat i onsal gor i t hmen zuerst fiir das
Probl em der mi ni mal en Knot eni i berdeckung. Die Idee ist, effizient ein maxi-
males Mat chi ng 3 in dem gegebenen Gr aphen zu finden und dann die zu diesem
Mat chi ng i nzi dent en Knot en als eine Knot eni i berdeckung auszugeben.
Al g o r i t h mu s VCA
Eingabe: Ein Gr aph G- (V, E).
Phase 1. C "- 0;
{Wghr end der Berechnung gilt C c_ V und am Ende der Berechnung
ent hgl t C eine Knot eni i berdeckung fiir G.}
A.-0;
{Wghr end der Berechnung gilt A c_ E und am Ende der Berechnung ist
A ein maxi mal es Mat chi ng. }
E ' "- E;
{ W g h r e n d d e r B e r e c h n u n g e n t h g l t E ' C E g e n a u d i e K a n t e n , d i e y o n
d e m a k t ue ]]e n C n o c h n i ch t i i b e r d e ck t w e r d e n . A m E n d e d e r B e r e c h n u n g
gilt E' - 0.}
3Ein Matching in G - (V, E) ist eine Menge M C_ E von Kanten, so dass keine zwei Kanten
aus M mit dem gleichen Knoten inzident sind. Ein Matching M ist maximal, falls fiir jedes
e E E - M die Menge M O {e} kein Matching in Gist.
7.3 Approximationsalgorithmen 273
Phase 2. whi l e E ~ ~ 0 do
be gi n nehme eine beliebige Kant e {u, v} aus E~;
C := Cu{ u, v } ;
A: = AU { { u , v } } ;
E ~ := E ~- {alle Kant en inzident zu u oder v};
end
Ausgabe: C
Bet r acht en wir einen m6glichen Lauf des Al gori t hmus VCA auf dem Gr aphen
aus Fig. 7.1(a). Sei {b, c} die erste Kant e, die VCA gew~hlt hat . Dann wird C =
{b, c}, A - {{b, c}} und E' - E - {{b, a}, {b, c}, {c, e}, {c, d}} (Fig. 7.1(b)).
Wenn die zweite Wahl einer Kant e aus E' auf {e, f } f ai r (Fig. 7.1(c)), dann
C- {b, c, e, f }, A- {{b,c}, {e, f }} und E' - {{d, h}, {d, g}, {h, g}}. Wenn
man in der l et zt en Wahl {d, g} auswahl t , dann erhal t man C - {b, c, e, f, d, g},
A- {{b, c}, {e, f }, {d, g}} und E' - 0 . Dami t ist C eine Knot eni i ber deckung
mi t den Kost en 6. Man bemerke, dass {b, e, d, g} die opt i mal e Knot ent i ber-
deckung ist und dass diese opt i mal e Uberdeckung bei keiner Wahl yon Kant en
yon VCA erreicht werden kann.
(~)
O
(b)
(c) (d)
Fig. 7.1
Aufgabe 7.3. Finden Sie eine Wahl yon Kanten in der zweiten Phase yon VCA, so dass
die resultierende Uberdeckung C alle Knoten von G in Fig. 7.1(a) enth~lt.
Sa t z 7. 4. Der Algorithmus VCA ist ein 2-Approximationsalgorithmus fiir das
MIN-VCP ~d Tim~vc~(C) e O(IEI) f ~ S ~ P~ o b l ~ , ~ t ~ C - (V, E).
274 7 Algorithmik fiir schwere Probleme
Beweis. Die Behaupt ung TimevcA(G) E O(IEI) ist offensichtlich, weil jede
Kant e aus E in VCA genau einmal bet racht et wird. Weil am Ende der Berech-
nung E' = 0 gilt, berechnet VCA eine Knot ent i berdeckung in G (d.h. VCA ist
ein zulgssiger Al gori t hmus fiir MIN-VCP).
Um GiitevcA(G) _< 2 fiir jeden Gr aph G zu beweisen, bemerken wir, dass ICI =
2. IAI und A ein Mat chi ng in G ist. Um IAI Kant en des Mat chi ngs A zu iiber-
decken, muss man mi ndest ens IAI Knot en wghlen. Weil A c E, ist die Mgchtig-
keit jeder Knot eni i berdeckung in G mindestens IAI, d.h. OptMIN_Vcp(G) _> IAI.
Daher
IC I 2. A I < 2.
OptMiN_VC P(G) OptMiN_VC P(G) --
Aufgabe 7.4. Konstruieren Sie fiir jedes n c IN-{0} einen zusammenh/ingenden Graphen
G~, so dass die optimale Knoteniiberdeckung die M/ichtigkeit n hat und der Algorithmus
VCA eine Uberdeckung mit der M~chtigkeit 2n konstruieren kann.
Ob eine Approxi mat i onsgi Re von 2 hinreichend ist, h/~ngt von der konkret en
Anwendung ab. Meistens versucht man eine viel kleinere Approxi mat i onsgi i t e
zu erreichen, was aber oft viel anspruchsvollere algorithmische Ideen erfordert.
Andererseits misst man die Approxi mat i onsgt i t e als die Approxi mat i onsgi i t e
im schlechtesten Fall, deshalb kann ein 2-Approxi mat i onsal gori t hmus auf prak-
tisch relevanten Ei ngaben viel besser laufen als mit der Approxi mat i onsgi i t e
2.
Es gibt Opt i mi erungsprobl eme, die fiir das Konzept der Approxi mat i on zu
schwer sind, in dem Sinne, dass (P r NP vorausgesetzt) keine polynomiellen
d-Approxi mat i onsal gori t hmen (ftir d > 1) ftir solche Probl eme existieren. In
Abschni t t 7.2 haben wir gezeigt, dass TSP zu schwer ftir das Konzept der
pseudopolynomiellen Al gori t hmen ist. Im Folgenden zeigen wir, dass TSP auch
mit dem Konzept der Approxi mat i on nicht zu bewS~ltigen ist.
Le mma 7. 2. F al l s P r NP gilt, dann existiert fiir jedes d > 1 kein polynomi-
eller d-Approximationsalgorithmus fiir TSP.
Beweis. Wi r fiihren einen indirekten Beweis. Angenommen, es gibt eine Kon-
st ant e d E I N- {0}, so dass ein polynomieller d-Approxi mat i onsal gori t hmus
A ftir TSP existiert. Wi r zeigen, dass dann ein polynomieller Al gori t hmus B
fiir das NP-vollstS~ndige Probl em des Hami l t onschen Kreises existiert, was der
Annahme P r NP widerspricht.
7.3 Approximationsalgorithmen 275
Der Algorithmus B fiir das Problem des Hamiltonschen Kreises arbeitet fiir
jede Eingabe G = (V, E) wie folgt.
(i)
(ii)
B konstruiert eine Instanz ( Kv , c) des TSP, wobei
Kv - ( V, E' ) , mit E' - { { u, v } l u, v E V, u =/= v} ,
c ( e ) = l , falls e EE, und
c ( e ) - ( d 1 ) . I VI + 2 , falls e ~E.
B simuliert die Arbeit von A auf der Eingabe (K v, c). Falls das Resultat
von A ein Hamiltonscher Kreis mit Kosten genau IvI ist, akzeptiert B
seine Eingabe G. Sonst verwirft A die Eingabe G.
Die Konstruktion der Instanz (K v, c) kann B in der Zeit O(IVI 2) durchfiihren.
Die zweite Phase yon B 15~uft in polynomieller Zeit, weil A in polynomieller
Zeit arbeitet und die Graphen G und KIv I die gleiche Gr6fie haben.
Wir miissen noch zeigen, dass B wirklich das Problem des Hamiltonschen
Kreises entscheidet. Wir bemerken Folgendes.
(i)
(ii)
Wenn G einen Hamiltonschen Kreis enthS~lt, dann enthS~lt KIv I einen
Hamiltonschen Kreis mit den Kosten IVl, d.h. OptTsp(Klvl, c ) = IVl.
Jeder Hamiltonsche Kreis in KIvI, der mindestens eine Kante aus E' - E
enthglt, hat mindestens die Kosten
I VI - 1 + ( d - 1). IVl Jr 2 = d. IVl Jr 1 > d. IVl.
Sei G = (V, E) in HK, d.h. OptTsp(Klvl, c) = IVI. Nach (ii) hat jede zulS~ssige
L6sung mit zu Ivl unterschiedlichen Kosten mindestens die Kosten d. Ivl + 1 >
d. Ivl und so muss der d-Approximationsalgorithmus A eine optimale L6sung
mit den Kosten Ivl ausgeben. Daraus folgt, dass B den Graphen G akzeptiert.
Sei G = (V, E) nicht in HK. Damit hat jede zulassige L6sung ffir (KIvI, c)
h6here Kosten als IVl, ~lso cost ( A( Kl vl , c)) > IVl. Deswegen verwirft B den
Graphen G. D
Um TSP mindestens teilweise zu bew~iltigen, kombinieren wir das Konzept
der Approximation mit der Suche nach der Teilmenge der leichten Problem-
instanzen. Wir betrachten jetzt das metrische TSP, A-TSP, dass nur solche
Probleminstanzen des TSP enth~ilt, die die Dreiecksungleichung erfiillen (s.
Beispiel 2.6). Die Dreiecksungleichung ist eine natiirliche Einschr~nkung, die
in mehreren Anwendungsszenarien eingehalten wird. Wir zeigen jetzt einen
polynomiellen 2-Approximationsalgorithmus fiir A-TSP.
276
Al g o r i t hmus SB
7 Algorithmik fiir schwere Probleme
Eingabe: Ei n vollstSmdiger Gr aph G = (V, E) mi t einer Kost enf unkt i on c :
E ~ IN +, die die Drei ecksungl ei chung
_< +
fiir alle paarwei se unt erschi edl i chen Knot en u, v, w E V erffillt.
Phase 1. SB ber echnet einen mi ni mal en Spannbaum 4 T von G bezfiglich c.
Phase 2. Wghl e einen bel i ebi gen Knot en v aus V. Fi i hre eine Ti efensuche von
v in T aus und nummer i er e die Knot en in der Reihenfolge, in der sie
besucht worden sind. Sei H die Knot enfol ge, die dieser Nummer i er ung
ent spri cht .
Ausgabe: Der Hami l t onsche Kreis H = H, v.
Wi r i l l ust ri eren die Ar bei t des Al gor i t hmus SB auf der Pr obl emi ns t anz G
aus Fig. 7. 2(a). Ei n mi ni mal er Spannbaum T = ({Vl, v2, v3, v4, vs}, {{Vl, v3},
{Vl, vs}, {v2, v3}, {v3, v4}} in Gi s t in Fig. 7.2(b) dargest el l t . Fig. 7.2(c) zeigt
die Ti efensuche yon v3 aus in T. Wi r bemer ken, dass bei der Ti efensuche j ede
Kant e yon T genau zwei mal dur chl auf en wird. Diese Ti efensuche det er mi ni er t
die Knot enfol ge H = v3, v4, Vl, vs, v2 und so ist H = v3, v4, Vl, vs, v2, v3 die
a us ga be des Al gor i t hmus SB (Fig. 7. 2(d)). Die Kost en yon H sind 2 + 3 +
2 + 3 + 1 = 11. Ei ne opt i mal e L6sung ist v3, Vx, vs, v4, v2, v3 mi t den Kost en
1 + 2 + 2 + 2 + 1 =8 (Fig. 7.2(e)).
Sat z 7. 5. Der Algorithmus
algorithmus fiir A- TSP.
SB ist ein polynomieller 2-Approximations-
Beweis. Anal ysi eren wir zuerst die ZeitkomplexitS~t von SB. Ei n mi ni mal er
Spannbaum eines Gr aphen G = (V, E) kann in der Zeit Or i El ) ber echnet
werden. Die Ti efensuche in ei nem Ba um T = (V, E' ) lguft in der Zeit O(IVl).
Somi t ist Ti mesB( G) E o(IEI), d.h. SB ar bei t et in l i nearer Zeit.
Jet zt bewei sen wir, dass die Appr oxi mat i onsgt i t e von SB h6chst ens 2 ist. Sei
Hopt ein opt i mal er Hami l t onscher Kreis mi t cost(Hopt) - Optzx_Tsp(G) ffir
eine Pr obl emi nst anz I -- ((V, E) , c). Sei H die a us ga be SB( I ) des a l gor i t hmus
SB fiir die Ei ngabe I. Sei T - (V, E ~) der mi ni mal e Spannbaum, den SB in
4Ein Spannbaum eines Graphen (7 - (V, E) ist ein Baum T - (V, E' ) mit E' G E. Die
Kosten yon T sind die Summe der Kosten aller Kanten in E ~.
7.3 Approxi mati onsalgori thmen
V2
1 2
V3
V4 2 V5
Vl
V5
(c)
V2
V2
V3 1
V4
(b)
Fi g. 7.2
~ Vl
V5
V2
1
V3
V4 V5
(d)
1
V4 2 V5
Vl
277
der ersten Phase konstrui ert. Zuerst bemerken wi r, dass
c EE ~
(7.1)
wei l di e Entfernung ei ner Kant e a u s Ho p t i n ei nem Spannbaum resulti ert und
T ei n mi ni mal er Spannbaum i st.
Sei W der Weg, der der Ti efensuche i n T entspri cht. W geht genau zwei mal
durch j ede Kant e yon T (ei nmal i n j eder Ri chtung). Wenn cost(W) di e Summe
aller Kant en des Weges W i st, dann gi lt
(7.2)
278 7 Algorithmik fiir schwere Probleme
Di e Gl ei chungen ( 7. 1 ) u n d ( 7. 2) i mpl i z i e r e n
cost(W) < 2. cost(Hopt). (7. 3)
Wi r bemerken, dass man H aus W erhal t en kann, i ndem man einige Teilwe-
ge u, Vl , . . . , vk, v in W dur ch die Ka n t e {u, v} ( mi t de m di r ekt en Weg u, v)
er s et zt 5. Di eses Er s e t z e n kann ma n schr i t t wei se dur ch die ei nf ache Op e r a t i o n
des Er s et zens yon Tei l wegen yon drei Kn o t e n u, w, v dur ch den Weg u, v real i -
si eren. Di ese ei nf ache Op e r a t i o n er h6ht aber die Kos t e n des Weges ni cht , weil
da nk der Dr ei ecks ungl ei chung
_< +
Des wegen
o t(H) < o t(W) (7. 4)
Di e Ungl ei chungen ( 7. 3 ) u n d ( 7. 4) l i e f e r n z u s a mme n
cost(H) < cost( W) < 2. cost(Hopt)
und so
SB( I ) cost(H)
= < 2 .
Optzx_TSP ( I ) cost(Hopt)
A u f g a b e 7.5. Finden Sie fiir jedes n 9 I N - {0, 1,2} eine Kostenfunktion cs fiir den
vollst/indigen Graphen Ks mit n Knoten, so dass cn den Kanten von Ks mindestens zwei
unterschiedliche Werte zuordnet und der Algorithmus SB immer eine optimale L6sung aus-
rechnet.
A u f g a b e 7 . 6 . *
Eigenschaft
Finden Sie fiir jede ganze Zahl n _> 4 eine Instanz Is des A-TSP mit der
S B ( L ) > 2 ~ - 2
Optzx_TSp(I~ ) -- n + 1
5Dies geschieht genau dann, wenn vx, . . . , vk schon vor u besucht worden sind, aber v noch
nicht besucht wurde.
7.4 Lokale Suche 279
7. 4 L o kal e Su e h e
Lok~le Suche ist eine Technik fiir den Al gori t hmenent wurf flit Opt i mi erungs-
probleme. Die Idee dieser Technik ist es, fiir die gegebene Eing~be x eine
zulgssige LSsung a aus A//(x) auszurechnen und d~nn schrittweise durch kleine
(lok~le) ~_nderungen von a zu einer besseren zul~ssigen LSsung zu gel~ngen.
Was der Begriff ,,kleine Anderungen" bedeut et , wird durch den Begriff der
Nachbarschaft definiert.
De f i ni t i on 7.5. Sei / 4 = (EI, Eo, L, AA, cost, goal) ein Optimierungsproblem.
Fiir jedes x E L ist eine Na c h b a r s c h a f t i n , ~d( x) eine Funktion fx :
(ii)
(iii)
E f x ( a) fiir jedes a e M(x),
{ Ei ne LSsung a ist i mmer in der Nachbarschaft yon a. }
f~ll~ 9 ~ f x(~) f ~ ~, 9 ~ M ( ~) , d~ i~t ~ ~ fx(/~ ), ~ d
{ Wenn/ 3 in der Nachbarschaft von a liegt, dann liegt auch a in der
Nachbarschaft von /3.}
fiir alle a, / 3 E AA( x) existieren eine positive Zahl k und 71, 72, . . . , % E
.hA(x), so dass
"~1 e L( OL), ~/i+1 e L ( ' Ti ) f ~ r i = 1 , . . . , k - i , und ~ E f x ( % ) .
{ Fl i t alle zuliissigen LSsungen a und /3 ist es mSglich, von c~ zu /3 iiber
die Nachbarschaftsrelation zu gelangen.}
Falls a E fx(/ 3) sagen wit, dass c~ und /3 Na c h b a r n (bzgl. f x ) in AA( x) sin&
Die Menge f ~ ( ~ ) wird die Na c h b a r s c h a f t von c~ i n , ~d( x) genannt.
Eine zuliissige LSsung a E AA( x) heiflt ein l okal es Op t i mu m ffir x bezf i g-
l i ch der Na c h b a r s c h a f t f ~ , falls
~o~t(~) = go~l{~o~t(9) l Z e fx(~ )} .
Sei fiir jedes x E L die Funktion fx eine Nachbarschaft in A/t ( x) . Die Funktion
f - U ( { x } M( x))- ~ U ~( M( x))
x EL x EL
definiert dutch
f ( *, ~) = fx( ~ )
280 7 Algorithmik fiir schwere Probleme
fi i r alle z E L und alle c~ E Ad( z ) ist eine Na c h b a r s c h a f t ffir U.
I n d e r A n w e n d u n g b e s t i m m t m a n d i e Na c h b a r s c h a f t d u r c h s o g e n a n n t e l o k a l e
T r a n s f o r m a t i o n e n . D e r B e g r i f f , , l o k a l " i s t d a b e i w i c h t i g , w e i l e r (l i e B e d e u -
t u n g h a t , d a s s m a n n u r e i n e k l e i n e A n d e r u n g d e r S p e z i f i k a t i o n y o n ct d u r c h
e i n e l o k a l e T r a n s f o r m a t i o n e r l a u b t . E i n e l o k a l e T r a n s f o r m a t i o n f / J r M A X - S A T
k a n n z . B . d i e I n v e r t i e r u n g e i n e s B i t s i n d e r B e l e g u n g s e i n . D a n n e n t h / ~ i t d i e
Na c h b a r s c h a f t e i n e r L 6 s u n g c~ d i e L 6 s u n g ct s e l b s t u n d a l l e L 6 s u n g e n , d i e m a n
d u r c h d i e a u s g e w S ~ h l t e l o k a l e T r a n s f o r m a t i o n e r h a l t e n k a n n . F i i r e i n e F o r m e l
(I) von fiinf Vari abl en ist dann
{01100, 11100, 00100, 01000, 01110, 01101}
die Nachbar schaf t von ct - 01100 beziiglich der lokalen Tr ansf or mat i on der
Bi t i nvert i erung.
Aufgabe 7.7. Beweisen Sie, dass die Nachbarschaft fiir MAX-SAT, die durch die lokale
Transformation der Bitinvertierung bestimmt wird, die Definition 7.5 erfiillt.
Fiir das TSP kann man folgende Nachbar schaf t , 2- Exchange genannt , bet r ach-
t en (Fig. 7.3). Wi r ent fernen zwei beliebige Kant en { a, b} und { c, d} mi t
I{a, b, c, d}l = 4 aus ei nem Hami l t onschen Kreis, der die Knot en a, b, c, d in
dieser Rei henfol ge besucht und fiigen s t at t dessen die Kant en {a, d} und {b, c}
hinzu. Wi r beobacht en, dass wir dadur ch einen neuen Hami l t onschen Kreis
er hal t en und dass man die Kant en {a, b} und {c, d} durch keine ander en Kan-
t en als {a, d} und {b, c} aust auschen kann, um einen Hami l t onschen Kreis zu
erhal t en.
a b a b
c d c d
Fig. 7.3
Aufgabe 7.8. Erfiillt 2-Exchange die Bedingungen der Definition 7.5? Begriinden Sie Ihre
Behauptung.
Aufgabe 7.9. Sei H ein Hamiltonscher Kreis in einem Graphen G. Entfernen Sie beliebige
drei Kanten {a, b}, {c, d} und {e, f} mit I{a, b, c, d, e, f}l - 6 aus H. Zeichnen Sie alle
unterschiedlichen Tripel von Kanten, deren Hinzuftigen zu H wieder zu einem Hamiltonschen
Kreis in G fiihrt. Wie viele M6glichkeiten gibt es bei der Entfernung von k Kanten, die ein
Matching bilden, fiir k > 3?
7.4 Lokale Suche 281
Die lokale Suche bez/iglich der NachbarschaR ist nichts anderes als eine itera-
tive Bewegung von einer L6sung zu einer besseren, benachbart en L6sung bis
man eine zulS~ssige L6sung/ 3 erreicht, in dessen Nachbarschaff keine bessere
L6sung als ,3 existiert. Das Schema der lokalen Suche kann man also wie folgt
formulieren.
Das Sc he ma der l okal en Suche bezi i gl i ch ei ner Na c hba r s c ha f t f
LS( f )
Eingabe: Eine Instanz x eines Optimierungsproblems b/.
Phase 1. Berechne eine zul~ssige L6sung c~ E A/t(x)
Phase 2. whi l e a ist kein lokales Opt i mum beziiglich fx do
begi n
finde ein/3 E fx(C~), so dass
cost(fl) < cost(c~) falls b/ ei n Minimierungsproblem ist und
cost(~3) > cost(a) falls b/ ei n Maximierungsproblem ist;
Ct : : /~
end
Ausgabe: o~
Wir bemerken, dass LS(f) immer ein lokales Opt i mum beziiglich der Nachbar-
schaR f liefert. Falls alle lokalen Opt i ma auch globale Opt i ma sind, garantiert
die lokale Suche die L6sung des Optimierungsproblems. Dies ist der Fall bei
dem Optimierungsproblem des minimalen Spannbaumes, wenn die Nachbar-
schaff durch den Austausch einer Kante best i mmt wird.
Wenn sich die Kosten der lokalen Opt i ma nicht zu sehr von den Kosten der
optimalen L6sungen unterscheiden, kann die lokale Suche zum Entwurf eines
Approximationsalgorithmus fiihren. Dies ist der Fall bei dem Problem des
maximalen Schnittes MAX-CUT. Gegeben sei ein Graph G = (If, E). Jedes
Paar (V1, V2) mit V10 V2 = V und V1 A V2 = 0 ist ein Schnitt von G. Der Preis
des Schnittes (1/1, V2) ist die Anzahl der Kant en zwischen den Knoten aus V1
und V2, d.h.
o t((Vl, G) : IE n Vl,
Das Ziel ist die Maximierung. Wir betrachten lokale Transformationen, die
einen Knoten aus einer Seite auf die andere Seite schieben. Der auf lokaler
Suche basierte Algorithmus kann wie folgt beschrieben werden.
282 7 Algorithmik fiir schwere Probleme
Al g o r i t h mu s LS- CUT
Ei ngabe: Ein Gr aph G = (V, E).
Phase 1. S = 0.
{WS~hrend der Berechnung bet r acht en wir den Schni t t (S, V- S). Am
Anfang ist der Schni t t (0, V). }
Phase 2. whi l e ein Knot en v E V existiert, so dass
c o s t (S U { v} , V - ( S U { v } ) ) > c o s t (S , V - S ), o d e r
cos t ( S - {v}, (V - S) U {v}) > cost ( S, V - S) gilt do
be gi n
nehme v und bringe es auf die andere Seite des Schni t t es;
end
At t sgabe: ( S, V - S) .
Sa t z 7. 6. LS- CUT i st ei n 2 - Appr oz i mat i ons al gor i t hmus f i i r MAX- CUT.
Bewei s. Es ist offensichtlich, dass der Al gor i t hmus LS- CUT eine zulS~ssige
L6sung ffir MAX- CUT ausgibt. Es bleibt zu zeigen, dass GiiteLs-CuT(G) _< 2
fiir j eden Gr aph G = (V, E). Sei (] /'1, }/2) die Ausgabe yon LS-CUT. Weil
(YI, Y2) ein lokales Maxi mum beziiglich des Aust auschs eines Knot ens ist, hat
jeder Knot en v E Y1 (Y2) mi ndest ens so viele Kant en zu Knot en in Y2 (Y1)
wie die Anzahl der Kant en zwischen v und Knot en aus Y1 (Y2) ist. Dami t ist
mi ndest ens die Ua~fte aller Kant en im Schni t t (Y1, Y2). Weil OptMIN_CuT(G )
nicht grat3er als IEI sein kann, ist GtiteLs-CuT(G) _< 2. D
Aufgabe 7.10. Beweisen Sie, dass LS-CUT ein polynomieller Algorithmus ist.
Aufgabe 7.11. Betrachten Sie das Problem des gewichteten maximales
Schnittes, MAX-GEW-CUT, das eine Verallgemeinerung von MAX-CUT ist. Eine Eingabe
yon MAX-GEW-CUT ist ein Graph G = (V, E) und eine Kostenfunktion c: E --~ IN, die
jeder Kante e ihre Kosten c(e) zuordnet. Die Kosten eines Schnittes sind die Summe der
Kosten der Kanten des Schnittes. Das Ziel ist, eine L6sung mit maximalen Kosten zu finden.
Offensichtlich ist MAX-GEW-CUT ein Zahlproblem. Entwerfen Sie einen Algorithmus mit
lokaler Suche, der einen pseudopolynomiellen 2-Approximationsalgorithmus darstellt.
Die Al gori t hmen, die auf lokaler Suche basieren, nennt man lokale Al gori t h-
men. Die lokalen Al gor i t hmen sind mehr oder weniger durch die Wahl der
Nachbarschaft best i mmt . Die einzigen noch freien Par amet er in dem Schema
der lokalen Suche sind die St rat egi e nach der Suche der besseren Nachbar n
und die Ent schei dung, ob man die erste gefundene bessere L6sung als neue
L6sung ni mmt oder ob man unbedi ngt die best e L6sung in der Nachbarschaft
best i mmen m6chte.
7.4 Lokale Suche 283
Angenommen P ~ NP, dann gibt es offensichtlich keine polynomiellen lokalen
Algorithmen fiir NP-schwere Optimierungsprobleme. Wir bemerken, dass die
ZeitkomplexitS~t eines lokalen Algorithmus als
(die Zeit der Suche in der Nachbarschaft)
(die Anzahl der iterativen Verbesserungen)
abgeschS~tzt werden kann. Wir sind jetzt an folgender Frage interessiert.
Fiir welche NP-schweren Optimierungsprobleme existiert eine Nach-
barschaft F polynomieller GrSfle, so dass LS( f ) i mmer eine opti-
male LSsung liefert?
Dies bedeutet, dass wir bereit sind, eine im schlechtesten Fall m6gliche expo-
nentielle Anzahl yon Verbesserungsiterationen in Kauf zu nehmen, falls jede
Iteration in polynomieller Zeit l~uft und die Konvergenz zu einer optimalen
L6sung gesichert ist. Die Idee dabei ist, dass die Vergr6fierung der Nachbar-
schaften auf der einen SeRe die Wahrscheinlichkeit verkleinert, an ein schwa-
ches lokales Opt i mum zu gelangen, auf der anderen SeRe aber die Zeitkomple-
xit~t einer Verbesserungsiteration erh6ht. Die Frage ist, ob eine Nachbarschaft
von vernfinftiger Gr6fie existiert, so dass jedes lokale Opt i mum auch ein glo-
bales Opt i mum ist. Diese Fragestellung wird wie folgt formalisiert.
Def i ni t i on 7.6. Sei N = (EI, Eo, L, All, cost, goal) ein Optimierungsproblem
und s e i f eine Nachbarschaft fiir bt. Eine Nachbarschaft f heiflt echt , falls fiir
jedes x E L jedes lokale Optimum fiir x beziiglich fx eine optimale LSsung fiir
x ist.
Eine Nachbarschaft f heiflt pol ynomi e l l unt e r s uc hba r , falls ein polynomi-
eller Algorithmus existiert, der fiir jedes x E L und jedes c~ E Ad( x) eine der
besten LSsungen aus fx ( a) finder.
Unsere Frage kann man jetzt wie folgt formulieren:
Fiir welche Optimierungsprobleme existieren echte polynomiell un-
tersuchbare Nachbarschaften ?
Das bekannteste positive Beispiel ist der Simplex-Algorithmus ffir das Problem
der linearen Programmierung. Er basiert auf der Existenz einer echten poly-
nomiell untersuchbaren Nachbarschaft, aber er kann auf einigen Problemin-
stanzen exponentielle Zeitkomplexitgt beanspruchen, weil eine exponentielle
Anzahl von Verbesserungsiterationen m6glich ist.
284 7 Algorithmik fiir schwere Probleme
Au f g a b e 7. 12. Sei k-Exchange die Nachbarschaft fiir TSP, in de r k Kant en ausgetauscht
werden k6nnen. Wie mS~chtig ist die Nachbarschaft k- Exchangea( H ) eines Hamiltonschen
Kreises H, wenn G n Knot en hat?
Au f g a b e 7. 13. * Beweisen Sie, dass ftir jede
k-Exchange keine echte Nachbarschaft fiir TSP ist.
Konst ant e k c I N- {0}
Unsere Zielsetzung ist jetzt, eine Methode vorzustellen, mit der man die Nicht-
existenz einer echten polynomiell untersuchbaren Nachbarschaft fiir Optimie-
rungsprobleme beweisen kann. Wie wir sehen werden, kann das Konzept der
starken NP-Schwierigkeit auch hier erfolgreich angewendet werden.
Def i ni t i on 7.7. Sei b / = (EI, Eo, L, All, cost, goal) ein Optimierungsproblem,
das ein Zahlproblem ist ( Zahloptimierungsproblem) . Wi t sagen, dass bt ko-
s t enbes chr ~i nkt ist, falls fiir jede Inst anz x mi t Int(x) = ( i l , i 2, . . . , G) ,
ij E IN fiir j = 1, 2 , . . . , n gilt
{
n}
1 , 2 , . . . , ~- ~i j
j =l
fiir jede zuliissige LSsung ct E Ad( x ) .
Wir bemerken, dass fast jedes bekannte Zahloptimierungsproblem kostenbe-
schr~tnkt ist und so die Forderung der Kostenbeschr~tnkung keine grof3e Ein-
schrS~nkung der Anwendbarkeit folgender Methode bedeutet.
Sat z 7.7. Sei bt E NPO ein kostenbeschriinktes Zahloptimierungsproblem.
Falls P ~ NP gilt und bt stark NP- schwer ist, dann existiert keine echte poly-
nomi el l untersuchbare Nachbarschaft fiir bt.
Beweis. Wir fiihren einen indirekten Beweis. Angenommen, b/ besitzt eine
echte polynomiell untersuchbare Nachbarschaft f. Dann kann man fiir jede
Eingabe x in einer polynomiellen Zeit p(l l) einen Iterationsschritt yon LS(fx)
durchfiihren. Weil b/ E NPO ist, kann man dann die StartlSsung auch in
polynomieller Zeit finden. In jeder Verbesserungsiteration verbessert man die
Kosten der aktuellen zulS~ssigen L6sung mindestens um 1, weil die Kosten der
L6sungen eines kostenbeschr~tnkten Zahlproblems nur ganze Zahlen sind. Da
die Kosten der LSsungen aus dem Intervall von I bi s EjEInt(x)J -< n. MaxInt (x)
sind, gibt es hSchstens Izl. MaxInt (x) Verbesserungsiterationen. Damit ist die
Gesamtlaufzeit des LS(f) in
O(p(Ix]) . Ixl . MaxInt (x)).
7.5 Simulated Annealing 285
Weil f eine echte Nachbarschaft ist, garantiert LS(f) eine optimale L6sung fiir
z. Damit ist LS(f) ein pseudopolynomieller Algorithmus ftir b/. Weil b/ s t ar k
NP-schwer ist, widerspricht dies der Annahme P r NP. D
In Kapitel 6 haben wir bewiesen, dass TSP und MAX-CL stark NP-schwer
sind. Wir bemerken, dass beide Probleme kostenbeschrS~nkte Zahloptimierungs-
probleme sind. Damit besitzen diese Optimierungsprobleme keine echte poly-
nomiell untersuchbare Nachbarschaft. Fiir das TSP kann man sogar beweisen,
1
dass es keine echte Nachbarschaft der exponentiellen Gr6fie 2 ~ besitzt.
7.5 Si mulated Anneali ng
In diesem Abschnitt stellen wir Simulated Annealing (simulierte Abkiihlung)
als eine Heuristik zur L6sung schwerer Probleme vor. Der Begriff Heuristik
bezeichnet hier eine Entwurfstechnik fiir Algorithmen, die keine L6sung yon
hoher Qualits~t (guter Approximation) in verniinftiger Zeit fiir jede Eingabe
garantieren. Dies bedeutet, dass wir bei Heuristiken viel mehr von unseren An-
forderungen abgeben als in allen bisher vorgestellten Methoden. Die Hoffnung
ist dabei, dass die heuristischen Algorithmen fiir die typischen anwendungsrele-
vanten Probleminstanzen verniinftige Resultate in kurzer Zeit liefern. Trotz der
Unsicherheit beziiglich der Laufzeit und der L6sungsqualitS~t sind die Heuristi-
ken bei den Anwendern sehr beliebt, weil sie gewisse, nicht zu unterschgtzen-
de Vorteile haben. Sie sind meistens einfach und schnell zu implementieren
und zu testen, so dass die Herstellung eines heuristischen Algorithmus viel
kostengiinstiger ist als der Entwurf eines spezialisierten, auf das Problem zu-
geschnittenen Algorithmus. Zweitens sind Heuristiken robust, was bedeutet
dass sie fiir eine breite Klasse von Problemen erfolgreich arbeiten, obwohl die-
se Probleme ziemlich unterschiedliche kombinatorische St rukt uren haben. Dies
bedeutet, dass eine Anderung der Problemspezifikation in dem Prozess des A1-
gorithmenentwurfs kein Problem darstellt, weil h6chstens ein paar Paramet er
des heuristischen Algorithmus zu 5~ndern sind. Fiir den Entwurf eines problem-
zugeschnittenen Optimierungsalgorithmus bedeutet eine Anderung der Aufga-
benspezifikation oft eine solche Anderung der kombinatorischen Struktur, dass
man mit dem Entwurf von vorne beginnen muss.
Wenn man die lokale Suche auf ein schweres Problem anwendet, bei dem man
das Verhalten des lokalen Algorithmus nicht bestimmen kann, dann kann man
lokale Suche auch als eine Heuristik betrachten. Sie hat auch die Eigenschaft
der Robustheit, weil man sie praktisch auf jedes Optimierungsproblem anwen-
286 7 Algorithmik fiir schwere Probl eme
den kann. Die gr6t3te SchwS~che der lokalen Suche ist, dass sie in einem lokalen
Opt i mum endet, egal wie gut oder schlecht dieses lokale Opt i mum ist. Wir
wollen jetzt die Methode der lokalen Suche verbessern, indem wir die Fallen
der lokalen Opt i ma aufheben. Dabei lassen wir uns durch die physikalische
Optimierung yon MetallzustS~nden in der Thermodynami k inspirieren.
Der optimale Zustand eines Metalls entspricht der optimalen Kristallstruktur,
wobei alle Bindungen zwischen den elementaren Teilchen gleich stark sind.
Wenn einige Bindungen durch Belastung wesentlich schwgcher und andere
stgrker werden, besteht Bruchgefahr und das Metall ist in einem schlechten
Zustand. Der optimale Zustand entspricht also dem Zustand mit minimaler
Energie. Die Optimierungsprozedur besteht aus folgenden zwei Phasen.
Phase 1. Dem Metall wird yon aufien durch ein ,,heifies Bad" Energie zu-
gefiihrt. Dadurch schwS~chen sich fast alle Bindungen und ein chaosS~hn-
licher Zustand entsteht.
Phase 2. Das Metall wird langsam abgekiihlt, bis es einen optimalen Zustand
mit minimaler Energie erreicht.
Diesen Optimierungsprozess kann man mit folgendem Algorithmus auf einem
Rechner simulieren. Wir bezeichnen mit E(s) die Energie des Metallzustandes
s. Sei CB die Boltzmann-Konstante.
Metropoli s- Algori thmus
Eingabe: Ein Zustand s des Metalls mit der Energie E(s).
Phase 1. Bestimme die Anfangst emperat ur T des heif3en Bades.
Phase 2. Generiere einen Zustand q aus s durch eine zuf~tllige kleine
Anderung (z.B. eine Positions~tnderung eines Elementar-
teilchens)
i f E( q ) _< E( 8) t h e n 8 : - - q
{akzeptiere q als neuen Zustand}
e l s e akzeptiere q als neuen Zustand mit der Wahrscheinlichkeit
_ E(q)-E(~)
prob(s ~ q) = e r ;
{d.h. bleibe im Zustand s mit der Wahrscheinlichkeit
1 - prob(s --+ q)}
Phase 3: Verkleinere T passend.
i f T ist nicht sehr nahe bei 0 t hen got o Phase 9;
e l s e o ut p ut (s );
7.5 Simulated Annealing 287
Zuerst beobachten wir die starke Ahnlichkeit zwischen der lokalen Suche und
dem Metropolis-Algorithmus. Der Metropolis-Algorithmus besteht aus Iterati-
onsschritten, und in einem Iterationsschritt wird ein neuer Kandi dat fiir einen
aktuellen Zustand durch eine lokale Transformation bestimmt. Die wesentli-
chen Unterschiede sind folgende.
(i) Der Metropolis-Algorithmus darf mit gewisser Wahrscheinlichkeit auch in
einen schlechteren Zustand mit hoher Energie iibergehen und dadurch m6gliche
lokale Minima iiberwinden.
(ii) Nicht die lokale Optimalit~t, sondern der Wert von T entscheidet fiber die
Terminierung des Metropolis-Algorithmus.
Die Wahrscheinlichkeit prob(s ~ q) folgt den Gesetzen der Thermodynami k,
die besagen, dass die Wahrscheinlichkeit einer Verschlechterung (eines Ener-
giewachstums) um einen Wert AE
- - AE
prob(AE) - ecB r
ist. Diese Wahrscheinlichkeit hat zwei wichtige EigenschaRen.
(a) Die Wahrscheinlichkeit prob(s ~ q) verkleinert sich mit wachsendem
E( q ) - E(s), d.h. starke Verschlechterungen sind weniger wahrscheinlich als
schwgchere, und
(b) die Wahrscheinlichkeit prob(s ~ q) wachst mit T, d.h. starke Verschlechte-
rungen (Uberwindung yon tiefen lokalen Minima) sind am Anfang bei grof3em
T wahrscheinlicher als bei kleinem T.
Ein wichtiger Punkt ist, dass die MSglichkeit, die lokalen Minima durch Ver-
schlechterung zu iiberwinden, notwendig fiir das Erreichen des Opt i mums ist.
Um den Metropolis-Algorithmus zur LSsung von kombinatorischen Optimie-
rungsproblemen einzusetzen, reicht es aus, die folgende Beziehung zwischen
den Begriffen der Thermodynami k und den Bergriffen der kombinatorischen
Optimierung festzustellen.
Menge der SystemzustS~nde ~ Menge der zulS~ssigen L6sungen
Energie eines Zustandes = Preis einer zulgssigen LSsung
ein optimaler Zustand = eine optimale LSsung
Temperat ur = ein Programmparamet er
Sei b/ - (Ez, Eo, L, Ad, cost, Minimum) ein Optimierungsproblem mit einer
Nachbarschaft f. Dann kann man die Simulation des Metropolis-Algorithmus
wie folgt beschreiben.
288
Si mu l a t e d An n e a l i n g bezi i gl i ch f
SA(I)
7 Algorithmik fiir schwere Probleme
Eingabe: Eine Probl emi nst anz x E L.
Phase 1. Berechne eine zulS~ssige L6sung a E 34(x).
W ~ h l e e i n e A n f a n g s t e m p e r a t u r T .
W ~ h l e e i n e R e d u k t i o n s f u n k t i o n 9, a b h ~ n g i g y o n T u n d d e r A n z a h l d e r
I t e r a t i o n e n I .
P h a s e 2 . I : = 0 ;
w h i l e T > 0 ( o d e r T i s t n i c h t z u n a h a n 0 ) d o
b e g i n
w ~ t h l e z uf ~ t l l i g e i n f l a u s f ~ ( a ) ;
i f cost(/ 3) <_ cost ( a) t h e n a := ,3;
e l s e
b e g i n
generiere zufS] lig eine Zahl r aus dem Intervall [0, 1] ;
cost(~)-cost(c~)
i f r < e - T
Ausgabe: oz.
e n d
I - - I + 1 ;
T " - g( T, I ) ;
end
end
t h e n a " -- , ~ ;
Bei einer ,,vernfinftigen" Nachbarschaft und passender Wahl von T und g kann
man beweisen, dass SA(f) das Opt i mum erreicht. Das Probl em ist aber, dass
man die Anzahl der dazu hinreichenden It erat i onen nicht einschrS~nken kann.
Selbst Versuche, eine Approximationsgfite nach einer gewissen Anzahl yon
Operat i onen zu garantieren, ffihrten dazu, dass man eine viel gr6t3ere An-
zahl an It erat i onen als IM( )I fiir eine solche Garant i e brS~uchte. Trot zdem
gibt es viele Anwendungen, bei denen Simulated Annealing akzeptable L6sun-
gen liefert und deswegen wird es hS~ufig eingesetzt. Die positive Seite ist auch,
dass die Wahl der Paramet er T und g bei dem Benutzer liegt, und so kann er
alleine fiber PrioritS~ten im Bezug auf den Tradeoff zwischen Laufzeiten und
L6sungsqualitgt entscheiden.
7.6 Z u s a m m e n f a s s u n g
7.6 Zusammenfassung
289
Der Algorithmenentwurf ist fiir die L6sung schwerer Probleme entscheidend,
weil die qualitativen Spriinge in der Anforderung (von exponentieller zu po-
lynomieller Komplexit~t) auf die Rechnerressourcen nicht durch die Verbesse-
rung der Rechnertechnologie zu erreichen sind. Um ei~ziente Algorithmen fiir
schwere Probleme zu erhalten, muss man etwas auf der Ebene der Anforde-
rungen bezahlen. Entweder reduzieren wir die Menge der zul~ssigen Eingaben
(d.h. wir 16sen das Problem nicht in seiner allgemeinen formalen Darstellung),
oder wir verzichten auf die Sicherheit, immer die richtige oder optimale L6sung
zu bekommen. Die Kunst der Algorithmik liegt darin, grofie Gewinne auf der
SeRe der Ei~izienz durch kleine Nachl~sse in der Problemformulierung zu be-
wirken.
Pseudopolynomielle Algorithmen laufen in polynomieller Zeit auf Problemin-
stanzen von Zahlproblemen, bei denen die Zahlen eine polynomielle Gr6~e in
der Eingabel~nge haben. Einen pseudopolynomiellen Algorithmus kann man
fiir das Rucksackproblem entwerfen. Das Konzept der NP-Vollst~ndigkeit ist
auch hier hilfreich, um die Nichtexistenz von pseudopolynomiellen Algorith-
men unter der Annahme P r NP fiir gewisse Probleme zu beweisen.
Approximationsalgorithmen sind Algorithmen fiir Optimierungsprobleme, die
eine zul~ssige L6sung liefern, deren Kosten sich nicht zu viel von den Ko-
sten der optimalen L6sung unterscheiden. Fiir das metrische TSP, MAX-VC
und MAX-CUT kann man polynomielle Approximationsalgorithmen entwer-
fen. Fiir das allgemeine TSP gibt es keinen polynomiellen Approximationsal-
gorithmus mit einer konstanten Approximationsgiite, falls P r NP.
Die lokalen Algorithmen fiir ein Optimierungsproblem st art en mit einer zul~ssi-
gen L6sung und versuchen durch kleine Anderungen (lokale Transformationen)
der L6sungsspezifikation iterativ zu einer besseren L6sung zu gelangen. Lokale
Algorithmen enden immer in einem lokalen Opt i mum beziiglich der erlaubten
lokalen Transformationen. Die Kosten der lokalen Opt i ma k6nnen sich wesent-
lich von den optimalen Kosten unterscheiden. Simulated Annealing ist eine
Heuristik, die auf der lokalen Suche aufbaut und das Verlassen der lokalen
Opt i ma erm6glicht. Simulated Annealing ist robust und einfach zu implemen-
tieren und wird deswegen oft in der Praxis angewendet.
Die Konzepte der pseudopolynomiellen Algorithmen fiir Zahlprobleme und der
starken NP-Schwierigkeit sind Garey und Johnson [GJ 79] zu verdanken. Der
pseudopolynomielle Algorithmus fiir das Rucksackproblem wurde yon Ibar-
ra und Kim [IK 74] entworfen. Der erste Approximationsalgorithmus wurde
290 7 Algorithmik fiir schwere Probleme
yon Graham [Gra 66] entworfen. Die ersten lokalen Algorithmen wurden yon
Bock [Boc 58] und Croes [Cro 58] entworfen. Das Konzept der echten poly-
nomiell untersuchbaren NachbarschaR wurde yon Papadimitriou und Steig-
litz [PS 82] eingeftihrt. Der Metropolis-Algorithmus ftir die Simulation der
Abktihlung wurde yon Metropolis, A.W und M.N. Rosenbluth, A.M. und E.
Teller [MRR + 53] entdeckt. Die MSglichkeit, diesen Algorithmus in der kom-
binatorischen Optimierung anzuwenden, kam yon Cern3~ [(~er 85] und Kirkpa-
trick, Gellat und Vecchi [KGV 83] .
Eine systematische Ubersicht fiber Methoden zur LSsung schwerer Probleme
ist in [Hro 01] gegeben. Zum weiteren Lesen empfehlen wir noch wgrmstens Pa-
padimitriou und Steiglitz [PS 82] , Cormen, Leiserson und Rivest [CLR 90] und
SchSning [Sch 01] . Zum Thema Approximationsalgorithmen sind reichhaltige
Quellen Ausiello, Crescenzi, Gambosi, Kann, Marchetti-Spaccamela und Prot-
asi [ACG + 99] , Hochbaum [Hoe 97] , Mayr, PrSmel und Steger IMPS 98] und
Vazirani [Vaz 01] .
Kontrollaufgaben
1. Die meisten bekannt en NP-schweren Probleme sind interessant fiir die Praxis. Welche
grunds~tzlichen Ans~tze zur LSsung von Instanzen von schweren Probl emen gibt es?
2. Erkl~ren Sie das Konzept von pseudopolynomiellen Algorithmen und illustrieren Sie
es durch Anwendung auf das einfache Rucksack-Problem. Beim einfachen Rucksack-
Probl em sind die Kosten und das Gewicht fiir jedes Obj ekt gleich (d.h. das Gewicht
entspricht dem Nutzen). Vereinfachen Sie den pseudopolynomiellen Algorithmus fiir
das allgemeine Rucksack-Problem, um einen pseudopolynomiellen Algorithmus flit
das einfache Rucksack-Problem zu erhalten.
Fiihrt diese Vereinfachung auch zu einer geringeren Zeitkomplexit~t?
3. Gibt es eine Methode, die bei der Voraussetzung P 7~ NP die Nichtexistenz eines
pseudopolynomiellen Algorithmus fiir ein Zahlenproblem beweisen kann?
4. Erkl~ren Sie das Konzept von Approximationsalgorithmen. Wie misst man die Giite
eines Approximationsalgorithmus?
5. Entwerfen Sie einen Greedy Algorithmus fiir das einfache Rucksack-Problem (siehe
Aufgabe Kontrollaufgabe 2). Zeigen Sie, dass der entworfene Algorithmus ein poly-
nomieller 2-Approximationsalgorithmus ist.
6. Erkl~ren Sie das Konzept der lokalen Suche. Schlagen Sie fiir alle hier bet racht et en
NP-schweren Optimierungsprobleme ein paar Nachbarschaften vor. Fiir welche Pro-
bleme kann man die lokale Suche erfolgreich (effizient und mit Garantie eine gute
LSsung zu finden) anwenden?
7. Warm ist eine Nachbarschaft echt und polynomiell durchsuchbar? Hilft und das Kon-
zept der starken NP-Schwierigkeit zu zeigen, dass gewisse Optimierungsprobleme zu
schwer fiir die lokale Suche sind?
8. Was ist die gemeinsame Grundlage und der wesentliche Unterschied zwischen loka-
ler Suche und Simulated Annealing? Was garant i ert Simulated Annealing und was
7 . 6 Z u s a m m e n f a s s u n g 291
gar ant i er t diese Met hode nicht? Mit welcher Wahrscheinlichkeit akzept i ert man eine
Verschlechterung und was sind die wichtigsten Ei genschaft en dieses Wahrscheinlich-
kei t skri t eri ums?
Das Gewebe dieser Welt ist aus
Notwendigkeit und Zufall gebildet;
Die Vernunft des Menschen stellt sich zwischen beide
und weifi sie zu beherrschen;
Sie behandelt das Notwendige als den Grund ihres Daseins;
Das Zufgllige weifi sie zu lenken, zu leiten und zu nutzen, ...
J. W. von Goethe
8 Randomisierung
8.1 Zielsetzung
Der Begriff Zufall ist einer der f undament al st en und meist di skut i ert en Be-
griffe der Wissenschaft. Die grundl egende Frage ist, ob der Zufall obj ekt i v
existiert oder ob wir diesen Begriff nur benut zen, um Ereignisse mi t unbe-
kannt er Gesetzm~fiigkeit zu erklgren und zu modellieren. Dari i ber st rei t en die
Wissenschaftler seit der Antike. Demokri t meinte, dass
das Zufiillige das Ni cht erkannt e ist,
und dass die Nat ur in ihrer Grundl age det ermi ni ert ist.
Dami t mei nt e Demokri t , dass in der Welt Or dnung herrscht und dass diese
Or dnung durch ei ndeut i ge Gesetze best i mmt ist. Epi kur wi dersprach Demokri t
mi t folgender Meinung:
,,Der Zuf al l ist objektiv,
er ist die eigentliche Nat ur der Erschei nung.
Die Religion und die Physi k vor dem 20. Jahr hunder t baut en auf der kausal-
det ermi ni st i schen Auffassung auf. Int eressant ist zu bemerken, dass auch Al-
bert Ei nst ei n die Benut zung des Begriffs Zufall nur als Kennzei chnung des
noch nicht vollst~ndigen Wissens zuliefi und an die Existenz einfacher und
klarer det ermi ni st i scher Nat urgeset ze glaubte. Die Ent wi ckl ung der Wissen-
schaR (insbesondere der Physi k und der Biologie) im 20. Jahr hunder t fiihrte
eher zu der Epi kur' schen Wel t anschauung. Die experi ment el l e Physi k best~itig-
te die Theori e der Quant enmechani k, die auf Zufallereignissen aufgebaut ist.
8.1 Zielsetzung 293
In der Evolutionsbiologie zweifelt man heute nicht an der These, dass ohne
zuf~llige Mut at i onen der DNA die Evolution nicht stattgefunden h~tte. Am
besten formulierte der ungarische Mathematiker Alfred R6nyi eine moderne,
iiberwiegend akzeptierte Ansicht der Rolle des Zufalls:
,,Es gibt kei nen Widerspruch zwischen Kausalitiit und dem Zufall.
In der Welt herrscht der Zufall, und eben deshalb gibt es in der Welt
Ordnung und Gesetz, die sich in den Massen yon zufiilligen Ereig-
nissen, den Gesetzen der Wahrscheinlichkeit entsprechend, entfal-
ten.
Fiir uns Informatiker ist wichtig zu begreifen, dass es sich oft lohnt, st at t
vollst~ndig deterministischer Systeme und Algorithmen zufallsgesteuerte (ran-
domisierte) Systeme und Algorithmen zu entwerfen und zu implementieren.
Dabei geht es um nichts anderes, als vonder Nat ur zu lernen. Es scheint eine
Tatsache zu sein, dass die Natur immer den einfachsten und etIizientesten Weg
geht und dass ein solcher Weg durch die Zufallssteuerung bestimmt wird. Die
Praxis best~tigt diese Ansicht. In vielen Anwendungen k6nnen einfache zufalls-
gesteuerte Systeme und Algorithmen das Gewiinschte etIizient und zuverl~ssig
leisten, obwohl jedes vollstgndig deterministische System fiir diesen Zweck so
komplex und inetIizient wgre, dass jeder Versuch, es zu bauen, praktisch sinn-
los wgre. Dies ist auch der Grund dafiir, dass man heutzutage die Klasse der
praktisch 16sbaren Probleme nicht mehr mit der deterministisch polynomiel-
len Zeit, sondern eher mit zufallsgesteuerten (randomisierten) polynomiellen
Algorithmen verkniipft.
Die Zielsetzung dieses Kapitels ist nicht, die Grundlage des Entwurfs von
randomisierten Algorithmen und der KomplexitS~tstheorie der randomisierten
Berechnung zu prgsentieren, weil dazu zu viele Vorkenntnisse aus der Wahr-
scheinlichkeitstheorie, der Komplexitgtstheorie und der Zahlentheorie notwen-
dig wS~ren. Wir ziehen es vor, anhand dreier Beispiele das Konzept der Zufalls-
steuerung zu veranschaulichen und dadurch auch ansatzweise ein etwas tieferes
Verstgndnis fiir die iiberlegene Stgrke der Zufallssteuerung der deterministi-
schen Steuerung gegeniiber zu gewinnen.
Dieses Kapitel ist wie folgt aufgebaut. In Abschnitt 8.2 prS~sentieren wir ei-
nige elementare Grundlagen der Wahrscheinlichkeitstheorie. In Abschnitt 8.3
entwerfen wir ein randomisiertes Kommunikationsprotokoll zum Vergleich der
Inhalte zweier grofier Datenbanken, das unvergleichbar effizienter als jedes de-
terministische Kommunikationsprotokoll fiir diese Aufgabe ist. In Abschnitt
8.4 nutzen wir das vorgestellte Kommunikationsprotokoll, um die Methode
der h~ufigen Zeugen als ein Paradi gma fiir den Entwurf von zufallsgesteuerten
294 8 Randomisierung
Algorithmen zu erklSzen. Wir wenden noch einmal diese Methode an, um einen
effizienten randomisierten Algorithmus ftir den Pri mzahl t est zu entwickeln. Da-
bei zS~hlt der Pri mzahl t est zu den wichtigsten Entscheidungsproblemen in der
Praxis und wir kennen keinen effizienten Algorithmus, der den Pri mzahl t est
deterministisch entscheiden kann. In Abschnitt 8.5 stellen wir die Methode der
Fingerabdriicke als eine spezielle Variante der Methode der hS~ufigen Zeugen
vor. Wir wenden diese Methode an, um effizient die Aquivalenz von zwei Po-
lynomen zu entscheiden. Wie iiblich beenden wir das Kapitel mit einer kurzen
Zusammenfassung.
8. 2 El e me nt ar e Wahr s c he i nl i c hke i t s t he or i e
Wenn ein Ereignis (eine Erscheinung) eine unumgS~ngliche Folge eines anderen
Ereignisses ist, dann sprechen wir yon KausalitS~t oder Determinismus. Wie
wir schon in der Einleitung bemerkt haben, gibt es auch andere als v611ig
bestimmte, eindeutige Ereignisse. Die Wahrscheinlichkeitstheorie wurde ent-
wickelt, um Situationen und Experimente mit mehrdeutigen Ergebnissen zu
modellieren und zu untersuchen. Einfache Beispiele solcher Experimente sind
der Miinzwurf und das Wiirfeln. Es gibt hier keine M6glichkeit, das Ergebnis
vorherzusagen, und deswegen sprechen wir yon zuf ~l l i gen Er ei gni s s en. In
der Modellierung eines Wahrscheinlichkeitsexperimentes betrachten wir also
alle mSglichen Ergebnisse des Experimentes, die wir e l e me nt a r e Er ei gni s -
se nennen. Aus der philosophischen Sicht ist es wichtig, dass die elementaren
Ereignisse als atomare Ergebnisse zu betrachten sind. Atomar bedeutet, dass
man ein elementares Ereignis nicht als eine Kollektion yon noch einfacheren
Ergebnissen betrachten kann, und sich somit zwei elementare Ereignisse ge-
genseitig ausschliefien. Beim Miinzwurf sind die elementaren Ereignisse ,,Kopf"
und ,,Zahl" und beim Wiirfeln sind die elementaren Ereignisse die Zahlen ,, 1",
,,2", ,,3", ,,4", ,,5" und ,,6". Ein Er ei gni s definiert man dann als eine Teilmenge
der Menge der elementaren Ereignisse. Z.B. ist {2, 4, 6} das Ereignis, dass beim
Wiirfeln eine gerade Zahl f~tllt. Weil elementare Ereignisse auch als Ereignisse
bet racht et werden, stellt man sie, um konsistent zu bleiben, als einelementige
Mengen dar.
Im Folgenden betrachten wir nur Experimente mit einer endlichen Menge S
yon elementaren Ereignissen, was die Anschaulichkeit der folgenden Defini-
tion erh6ht. Wir m6chten jetzt eine sinnvolle Theorie entwickeln, die jeder
Erscheinung E C_ S eine Wahrscheinlichkeit zuordnet. Dass diese Aufgabe gar
nicht so einfach ist, dokumentiert die Tatsache, dass man seit der Begriindung
8.2 Elementare Wahrscheinlichkeitstheorie 2 9 5
d e r W a h r s c h e i n l i c h k e i t s t h e o r i e i n d e n W e r k e n v o n P a s c a l , F e r m a t u n d H u y -
g e n s i n d e r M i t t e d e s 1 7 . J a h r h u n d e r t s f a s t 3 0 0 J a h r e g e b r a u c h t h a t , b i s e i n e
a l l g e m e i n a k z e p t i e r t e a x i o m a t i s c h e D e f i n i t i o n d e r W a h r s c h e i n l i c h k e i t y o n K o l -
m o g o r o v v o r g e s c h l a g e n w u r d e . U n s e r e E i n s c h r / ~ n k u n g d e r E n d l i c h k e i t y o n S
h i l f t u n s , d i e t e c h n i s c h e n S c h w i e r i g k e i t e n s o l c h e r a l l g e m e i n e n D e f i n i t i o n e n z u
v e r m e i d e n . D i e I d e e i s t , d i e W a h r s c h e i n l i c h k e i t e i n e s E r e i g n i s s e s a l s
das Verhiiltnis der Summe der Wahrscheinlichkeiten der
giinstigen (darin enthaltenen) elementaren Ereignisse zu der
Summe der Wahrscheinlichkeiten aller mSglichen elementaren
Ereignisse
(8.1)
zu sehen. Durch diese Festlegung normiert man die Wahrscheinlichkeitswerte
in dem Sinne, dass die Wahrscheinlichkeit 1 der Sicherheit und die Wahrschein-
lichkeit 0 einem unm6glichen Ereignis entspricht. Ein anderer zentraler Punkt
ist, dass die Wahrscheinlichkeiten der elementaren Ereignisse die Wahrschein-
lichkeiten aller Ereignisse eindeutig bestimmen. Bei symmetrischen Experi-
menten wie dem Wiirfeln will man allen elementaren Ereignissen die gleiche
Wahrscheinlichkeit zuordnen. Sei Wahr(E) die Wahrscheinlichkeit des Ereig-
hisses E. Weil in unserem Modell als Resultat des Experimentes ein elemen-
tares Ereignis auftreten muss, setzt man Wahr(S) = 1 fiir die Menge S aller
elementaren Ereignisse. Dann haben wir beim Wiirfeln
Wahr({2, 4, 6}) = Wahr({2}) + Wahr({4}) + Wahr({6})
Wahr(S)
= Wahr({2}) + Wahr ( {4}) + Wahr({6})
1 1 1 1
6+ +6 2'
d.h., die Wahrscheinlichkeit, eine gerade Zahl zu werfen, ist genau 1/2. Nach
dem Wahrscheinlichkeitskonzept (8.1) erhalten wir fiir alle disjunkten Ereig-
nisse X und Y
Wahr ( X U Y)
Wahr ( X) + Wahr(Y)
Wahr(S)
Wahr ( X) + Wahr(Y).
Diese Uberlegungen fiihren zu der folgenden axiomatischen Definition der
Wahrscheinlichkeit.
296 8 Randomisierung
Def i ni t i on 8. 1. gel S die Menge aller el ement aren Ereignisse eines Wahr-
scheinlichkeitsexperimentes. Ei ne Wa hr s c he i nl i c hke i t s ve r t e i l ung auf S ist
jede Funkt i on Wahr" 79(S) --+ [0, 1], die folgende Bedi ngungen erfiillt:
Wahr({x}) _> 0 f i i r jedes elementare Ereignis x,
Wa h r ( S) - 1, und
W hr(X o Y) - W hr(X) + W hr(Y) X, Y c_ S
X N Y - O.
Wa h r ( X) nennt man die Wa hr s c he i nl i c hke i t des Er ei gni s s es X . Das
Paar ( S, Wa hr ) wird als ein Wa h r s c h e i n l i c h k e i t s r a u m bezeichnet. Falls
Wahr({x}) = Wahr({y}) f i i r alle x, y E S, nennt man Wahr die uni f or me
Wa hr s c he i nl i c hke i t s ve r t e i l ung (oder Gl ei chver t ei l ung) auf S.
Auf gabe 8.1. Beweisen Sie, dass folgende Eigenschaften ftir jeden Wahrscheinlichkeits-
raum (S, Wahr) immer gelten:
(i)
(ii)
(iii)
(iv)
(v)
Wahr(0) - 0,
Wa h r ( S- X) - 1 - Wahr(X) fiir jedes X C_ S,
ftir alle X, Y c_ S mit X c_ Y gilt Wahr(X) _< Wahr(Y),
Wahr(X 0 Y) - Wahr(X) + Wahr(Y) - Wahr(X N Y)
_< Wahr(X) + Wahr(Y) fiir alle X, Y c_ S,
Wa h r ( X) - }--]xeX Wahr(z) ftir alle X G S.
Wir bemerken, dass alle Eigenschaften aus Aufgabe 8.1 unserer Zielsetzung und
damit der informellen Definition (8.1) entsprechen. Somit entspricht die Addi-
tion der Wahrscheinlichkeiten unserer intuitiven Vorstellung, dass die Wahr-
scheinlichkeit, dass irgendeines von mehreren unvereinbaren Ereignissen ein-
t ri t t , gleich der Summe der Wahrscheinlichkeiten der bet racht et en Ereignisse
ist.
Was entspricht der Multiplikation zweier Wahrscheinlichkeiten? Betrachten wir
zwei Wahrscheinlichkeitsexperimente, die in dem Sinne unabhS~ngig sind, dass
kein Resultat eines Experimentes einen Einfluss auf das Resultat des anderen
Experimentes hat. Ein Beispiel dafiir ist, zweimal zu wtirfeln. Egal, ob wir auf
einmal mit zwei Wiirfeln spielen oder ob wir zweimal denselben Wiirfel rollen
lassen, die Resultate beeinflussen sich nicht gegenseitig. Z.B. hat eine 3 beim
ersten Wurf keinen Einfluss auf das Ergebnis des zweiten Wurfs. Wir wissen,
1 fiir beide Experimente und fiir alle i E {1 2 6}. Be- dass Wahr(i) - g , , . . . ,
trachten wir jetzt die Zusammensetzung beider Zufallsexperimente (W(irfeln)
als ein Zufallsexperiment. Die Menge der elementaren Ereignisse ist hier
8.2 Elementare Wahrscheinlichkeitstheorie 297
wobei fiir ein elementares Ereignis { (i, j ) } der Index i das Ergebnis des ersten
Wurfs und j das des zweiten ist. Wie soll jetzt korrekterweise die Wahrschein-
lichkeitsverteilung Wahr2 auf $2 aus ({1, 2, . . . , 6}, Wahr) best i mmt werden?
Wir bauen auf der Intuition auf, dass die Wahrscheinlichkeit des Eintretens
yon zwei vollstS~ndig unabhS~ngigen Ereignissen gleich dem Pr odukt der Wahr-
scheinlichkeiten dieser Ereignisse ist und dami t
1 1 1
Wahr2({(i, j )}) - Wahr ( {i }) . Wahr ( {j }) - ~. ~ = 36
fiir alle i, j C {1, 2, . . . , 6}. 0berpri i fen wir die Korrektheit dieser Uberlegung.
Die Menge $2 bei nhal t et genau 36 elementare Ereignisse, die alle gleich wahr-
scheinlich sind. Dami t ist tatsachlich Wa h r 2 ( { ( i , j ) } ) - 1 fiir alle ( i , j ) E $ 2 .
Aufgabe 8.2. Sei k c IN- {0}. Sei (S, Prob) ein Wahrscheinlichkeitsraum, wobei Prob eine
uniforme Wahrscheinlichkeitsverteilung (Gleichverteilung) fiber S = {0, 1, 2, . . . , 2 k - 1} ist.
Erzeugen Sie (S, Prob) durch k-fachen Miinzwurf.
Es bleibt zu klgren, wie man die Wahrscheinlichkeitstheorie anwendet, um zu-
fallsgesteuerte (randomisierte) Algorithmen zu entwerfen und zu analysieren.
Dazu benut zt man zwei verschiedene MSglichkeiten. Die erste MSglichkeit ist,
mit dem Modell der NTM mit endlichen Berechnungen zu st art en und jeden
nichtdeterministischen Schritt als ein Zufallsexperiment zu betrachten. Dies
bedeut et , dass man bei einer Wahl aus k MSglichkeiten jeder MSglichkeit die
1 zuordnet Dann best i mmt man die Wahrscheinlichkeit ei- Wahrscheinlichkeit ;
ner Berechnung als das Pr odukt der Wahrscheinlichkeiten aller zufglligen Ent-
scheidungen dieser Berechnung. Sei SA,x die Menge aller Berechnungen einer
NTM (eines nichtdeterministischen Programms) A auf einer Eingabe x. Wenn
man jeder Berechnung 6' aus SA,x die oben beschriebene Wahrscheinlichkeit
Wahr(C) zuordnet, dann ist (Sa,x, Wahr) ein Wahrscheinlichkeitraum.
Aufgabe 8.3. Beweisen Sie, dass (SA,x, Wahr) ein Wahrscheinlichkeitsraum ist.
Die Summe der Wahrscheinlichkeiten der Berechnungen aus SA,x mit einer
falschen Ausgabe A ( x) fiir die Eingabe x ist dann die Fe hl e r wa hr s c he i n-
l i chkei t des Algorithmus A auf der Eingabe x, Fehl er A( x) . Die Fehl er -
wa hr s c he i nl i c hke i t des Al g o r i t h mu s A definiert man als eine Funkt i on
Fehlera :IN ~ IN wie folgt.
Fe hl e r A( n) = max{ Fehl er A ( x) l lxl = ~ } .
298 8 Randomisierung
Auger den Fehlerwahrscheinlichkeiten kann man z.B. auch untersuchen, wie
grog die Wahrscheinlichkeit ist, dass eine Berechnung aus h6chstens t(n) Schrit-
ten besteht (d.h., wie grog die Summe der Wahrscheinlichkeiten der Berech-
nungen ist, die kiirzer als t(n) sind).
Die andere M6glichkeit, die randomisierten Algorithmen zu definieren, ist ein-
fach, einen randomisierten Algorithmus als eine Wahrscheinlichkeitsverteilung
fiber einer Menge deterministischer Algorithmen zu betrachten. Dies entspricht
der Vorstellung, dass man einem deterministischen Algorithmus (einer TM) A
eine Folge von Zufallsbits (ein zusgtzliches Band mit einer Zufallsfolge) als
zusgtzliche Eingabe gibt. Jede Folge von Zufallsbits best i mmt eindeutig eine
deterministische Berechnung von A auf der gegebenen Eingabe x. Die Zufalls-
folgen als elementare Ereignisse zu betrachten, entspricht also der Betrachtung
der Berechnungen aus SA,, als elementare Ereignisse. Gew6hnlicherweise ha-
ben alle Zufallsfolgen die gleiche Wahrscheinlichkeit, und somit handelt es sich
um die uniforme Wahrscheinlichkeitsverteilung fiber der Menge aller Berech-
nungen aus SA,,. Die Beispiele randomisierter Algorithmen in den ngchsten
zwei Abschnitten bauen auf diesem Modell der randomisierten Algorithmen
auf. Die Folgen von zufglligen Bits interpretiert man in diesen Beispielen als
eine zufgllige Zahl, die dann die Berechnung und somit das Resultat der Be-
rechnung beeinflusst.
8.3 Ein randomisiertes Kommunikationsprotokoll
Die Zielsetzung dieses Abschnittes ist zu zeigen, dass randomisierte Algorith-
men wesentlich effizienter als bestm6gliche deterministische Algorithmen sein
k6nnen. Betrachten wit die folgende Aufgabenstellung. Wi t haben zwei Rech-
n e t -/~I und ! ~II. Urspr/inglich erhalten diese eine Dat enbank mit gleichem In-
halt. Mit der Zeit hat sich der Inhalt dynamisch ge~ndert, abet wit haben
versucht, die gleichen Anderungen auf beiden Rechnern zu machen, um idea-
lerweise die gleiche Dat enbank auf beiden Rechnern zu erhalten. Nach einer
gewissen Zeit wollen wit nun iiberpriifen, ob RI und ! ~II wirklich noch die
gleichen Daten haben. Im Allgemeinen bezeichnen wit dutch n die Gr/St3e der
Dat enbank in Bits. Konkret betrachten wir ein grofies n = 1016, was bei Gen-
datenbanken eine realistische Gr6fie sein diirfte. Unser Ziel ist es, einen Kom-
munikationsalgorithmus (ein Protokoll) zu entwerfen, der feststellt, ob die In-
har e der Datenbanken v o n -/~I und ! ~II unterschiedlich oder gleich sind. Die
KomplexitS~t des Kommunikationsalgorithmus messen wir in der Anzahl der
ausgetauschten Bits zwischen RI und/~II. Man kann beweisen, dass jedes deter-
8.3 Ein randomisiertes Kommunikationsprotokoll 299
mi ni st i sche Prot okol l fiir diese Auf gabe einen Aust ausch von n Bi t s zwischen
RI und RII nicht ver mei den kann. Also exi st i ert kein Prot okol l , das h6chst ens
n - 1 Kommuni kat i ons bi t s benut zen darf und diese Auf gabe zuverlS~ssig 16st.
Wenn man bei der Dat enmenge mi t n = 1016 noch si cherst el l en sollte, dass
alle Kommuni kat i ons bi t s korrekt ankommen, wiirde ma n auf den Versuch, die
Auf gabe auf diese Weise zu 16sen, wahrschei nl i ch verzi cht en.
Die L6sung in dieser Si t uat i on bi et et folgendes zufal l sgest euert es Prot okol l . Es
basi ert auf dem Pr i mzahl sat z (Sat z 2.3).
/ i ~- (/ ~I, / ~I I ) ( Ei n z u f a l l s g e s t e u e r t e s Ko mmu n i k a t i o n s p r o t o k o l l )
A usgangssituation: //~I hat n Bi t s z = Xl . . . 2;n, t~ii hat n Bi t s y = y l . . . Yn-
Phase 1: RI wS~hlt zufS~llig mi t einer uni f or men Wahr schei nl i chkei t sver t ei l ung
p a l s eine yon den Prim (n 2) ~ n 2 / l n n 2 Pr i mzahl en kleiner gleich n 2
/
Phase 2: RI ber echnet die Zahl s = Nummer(z) rood p und schickt die bi n~re
Dar st el l ung von s und p zu/ ~II.
Phase 3: Nach dem Empf ang von s und p ber echnet /~II die Zahl
q= Nummer(y) rood p.
Falls q ~ s, dann gi bt -/~II die Ausgabe , , ungleich".
Falls q = s, dann gi bt -/~II die Ausgabe ,,gleich".
Jet zt anal ysi eren wir die Ar bei t von R- ( / ~I , / ~I I ) - Zuerst bes t i mmen wir die
KomplexitS~t, gemessen als die Anzahl der Kommuni kat i onsbi t s, und dann aria-
lysieren wir die ZuverlS~ssigkeit (Fehl erwahrschei nl i chkei t ) yon R- (RI, RII).
Die einzige Kommuni kat i on best eht dari n, dass RI die Zahl en s und p an RII
schickt. Weil s _< p < n 2 gilt, ist die LS~nge der bi n~ren Nachri cht 2. [log 2 n 2] _<
4. [log 2 hi . F/Jr n - 1016 sind dies h6chst ens 4 . 1 6 . [log 2 10] - 256 Bits. Es
ist also eine sehr kurze Nachri cht , die man probl eml os zuverl S~ssi g/ i bert ragen
kaIlI1.
Bei der Anal yse der Fehl erwahrschei nl i chkei t unt er schei den wir zwei M6glich-
kei t en beztiglich der t at s~chl i chen Rel at i on zwischen z und y.
(i) Sei z - y. Dann gilt
Nummer(z) rood p - Nummer(y) rood p
fiir alle Pr i mzahl en p. Also gi bt -~II die Ant wor t ,,gleich" mi t Sicherheit. In
di esem Fall ist also die Fehl erwahrschei nl i chkei t O.
300 8 Randomisierung
(ii) Sei x ~ y. Wi r bekommen eine falsche Ant wor t ,,gleich" nur dann, wenn
/:~I eine zufgllige Pr i mzahl p gewghl t hat , die die Ei genschaft hat , dass
z - N u mme r ( x ) r o o d p - N u mme r ( y ) r o o d p
gilt. In ander er For m geschri eben:
N u mme r ( x ) - x ' . p + z und N u mme r ( y ) - y' . p + z
fiir i rgendwel che nat i i rl i che Zahl en x' und y' .
Dar aus folgt, dass
also dass p die Z a h l I N u mme r ( x ) - N u mme r ( y ) l teilt.
Also gi bt unser Prot okol l R = (RI, RII) eine falsche Ant wor t nur, wenn die
gewS~hlte Pr i mzahl p die Z a h l l N u mme r ( x ) - N u mme r ( y ) l teilt. Wi r wis-
sen, dass p aus P r i m ( n 2 ) Pr i mzahl en aus {2, 3 , . . . , n 2} mi t uni f or mer Wahr -
schei nl i chkei t svert ei l ung gewghl t wurde. Es ist also hilfreich fest zust el l en, wie
viele yon diesen P r i m ( n 2 ) ~ n 2 / l n n 2 Pr i mzahl en die Z a h l l N u mme r ( x ) -
N u mme r ( y ) l t ei l en k6nnen. Weil die bin/~re L/~nge von x und y gleich n ist,
gilt
- I - < 2
Sei w - pl~ il~ i2 p2 . . . pk~ i k wobei pl < p2 < "' " < p~ Pr i mzahl en und i l , i2, . . . , ik
posi t i ve ganze Zahl en sind. Wi r wissen, dass j ede Zahl eine solche ei ndeut i ge
Fakt or i si er ung besi t zt . Unser Ziel ist zu beweisen, dass k _< n - 1 . Wi r bewei sen
es i ndi rekt . Angenommen, k > n.
Dann ist
~ . i 1~ . i 2 i k I t ! 2 n .
w- p i p 2 . . . Pk > p l p 2 . . . p~ > 1 . 2 " 3 . . . . . n - >
Das wi derspri cht aber der bekannt en Tat sache, dass w < 2 ~. Also kann w
h6chst ens n - 1 unt erschi edl i che Pr i mf akt or en haben. Weil j ede Pr i mzahl aus
{2, 3 , . . . , n 2} die gleiche Wahrschei nl i chkei t hat , gewS~hlt zu werden, ist die
Wahrschei nl i chkei t , ein p zu wghl en, das w teilt, h6chst ens
n 1 n 1 in n 2
P r i m (n2 ) <- n2 // l n n 2 < - n
fiir geni i gend grot3e n.
Also ist die Fehl erwahrschei nl i chkei t yon _/~ fiir unt erschi edl i che I nhal t e x und
y hSchst ens an~ 1012
, was fiir n - h6chst ens 0 , 2 7 7 . 1 0 - 1 ~ ist.
8.3 Ein randomisiertes Kommunikationsprotokoll 301
So eine kleine Fehlerwahrscheinlichkeit ist kein ernst haft es Risiko, aber nehmen
wir an, dass j emand sich noch eine kleinere Fehlerwahrscheinlichkeit wtinscht.
Dann kann man das Protokoll (]~I, ]~II) 10-real mit 10 unabhS~ngigen Wahl en
einer Pri mzahl wie folgt laufen lassen.
Prot okol l R10
A n f a n g s s i t u a t i o n : /~I hat n Bits x = Xl . . . x~ und/ ~II hat n Bits y = Yl . . . Y~.
Phase 1: RI w~hlt zufgllig mit uniformer Wahrscheinlichkeitsverteilung zehn
Pri mzahl en pl, p2, 9 9 pl0 aus {2, 3 , . . . , n2}.
Phase 2: /~I berechnet si = N u mme r (x) rood pi ftir i = 1 , 2 , . . . , 10 und
schickt die bingren Darst el l ungen von Pl, P2, . . . , Pl0, Sl, s 2, . . . , Sl0 zu/~II.
Phase 3: Nach dem Empfang von Pl , P2, . . . , Pl 0, Sl, s 2, . . . , Sl0 berechnet RII
qi = N u mme r ( y ) rood pi fiir i = 1, 2 , . . . , 10.
Falls ein i E {1, 2 , . . . , 10} existiert, so dass qi ~ si, dann gibt /~II die
Ausgabe ,,ungleich".
Falls qj = sj fiir alle j E { 1, 2, . . . , 10}, dann gibt /~II die Ausgabe
,,gleich".
Wi r bemerken, dass die Kommunikationskomplexit~tt von Rio zehnmal gr6fier
ist als die Komplexit~tt von R. In unserem Fall n = 1012 sind dies aber
h6chstens 1600 Bits, was kein technisches Probl em darstellt. Wie 5~ndert sich
aber die Fehlerwahrscheinlichkeit? Falls x = y, wird Rio wieder keinen Fehler
machen und gibt die richtige Ant wort ,,gleich" mit Sicherheit.
Falls x y! y wird Rio eine falsche Ant wort nur liefern, wenn alle 10 zuf~tllig
gew~hlten Pri mzahl en zu den h6chstens n - 1 Pri mzahl en, die [ N u mme r ( x ) -
Nu mme r ( y ) ] teilen, geh6ren.
Weil die 10 Pri mzahl en in 10 unabhgngi gen Experi ment en gew~hlt worden
sind, ist die Fehlerwahrscheinlichkeit h6chstens
(n-lprim(n 2) ) 1~ ( l n n 2 ) l ~ 21~176 1~
Fiir n -- 1012 ist dies h6chstens 0, 259. 10 -105. Wenn wir bedenken, dass die
Anzahl der Mikrosekunden seit dem Urknall bis zum heutigen Tag eine 24-
stellige Zahl ist und die Anzahl yon Prot onen im bekannt en Universum eine
79-stellige Zahl ist, kann man eine Fehlerwahrscheinlichkeit unt er 10 -105 leich-
t en Herzens in Kauf nehmen. Auch wenn ein deterministisches Protokoll mit
Kommunikationskomplexit~tt 1012 Bits prakt i sch realisierbar wSre, ist es klar,
302 8 Randomisierung
dass ma n aus Kos t engr i i nden das zuf al l sgest euer t e Pr ot okol l i mpl ement i er en
wiirde.
Die Kons t r ukt i on yon -R10 aus _R gi bt uns eine wi cht i ge Ei nsi cht . Wi r kSnnen
die Fehl er wahr schei nl i chkei t von zuf al l sgest euer t en Al gor i t hmen dur ch mehr -
l aches Dur chl auf en des Al gor i t hmus nach unt en driicken. Bei ei ni gen Algo-
r i t hmen, wie bei unser em Pr ot okol l , rei chen weni ge Wi eder hol ungen fiir ei nen
ext r emen Ri i ckgang der Fehl erwahrschei nl i chkei t .
Auf gabe 8.4. Betrachten Sie das Protokoll Rk, k E I N- {0}, das auf der zuf~lligen Wahl
yon k Primzahlen aus {2, 3, . . . , n 2 } basiert. Wie entwickelt sich die Fehlerwahrscheinlichkeit
yon Rk mit wachsendem k?
Auf gabe 8.5. Ein anderer Ansatz, um die Fehlerwahrscheinlichkeit nach unten zu driicken,
ist, das Protokoll R in ein Protokoll Q~, r E I N- {0, 1, 2} umzu~ndern. Q~ arbeitet genau
wie R, nur am Anfang w~hlt Q~ zuf~llig eine Primzahl aus der Menge {2, 3, . . . , n ~} statt
aus {2, 3, . . . , n2}. Bestimmen Sie die Komplexit~tt und die Fehlerwahrscheinlichkeit von Q~
fiir jedes r _> 2.
Auf gabe 8.6. Sei (~ > 1 eine positive ganze Zahl. Entwerfen Sie ein randomisiertes Proto-
koll, das den Vergleich von zwei Datenbanken der GrSf3e n mit einer Fehlerwahrscheinlichkeit
von hSchstens 1/5 realisiert. Welcher der beiden Ans~tze aus den Aufgaben 8.4 und 8.5 ist
effzienter beziiglich der Kommunikationskomplexit~t? Lohnt es sich mehr, mehrere kleine
Primzahlen oder eher eine (potentiell) grSfiere Primzahl zufSJlig zu w~hlen?
8.4 Di e Met hode der h iufigen Zeugen
und der randomi si erte Pri mzahl test
In di esem Abs chni t t wol l en wir zuerst nach den Gr i i nden suchen, wa r um unser
zuf al l sgest euer t es Pr ot okol l _R unver gl ei chbar effizienter ist, als j edes det er mi -
ni st i sche Pr ot okol l fiir die gest el l t e Auf gabe sein kann. Das Pr ot okol l _R haben
wir dur ch eine einfache Anwendung der s ogenannt en Met hode von hgufi gen
Zeugen gewonnen. Wi r st el l en diese Met hode j et zt vor.
I m Al l gemei nen bet r acht et ma n ein Ent s chei dungs pr obl em, bei dem ma n ent -
schei den soll, ob eine gegebene Ei ngabe eine gewisse Ei genschaf t hat oder
nicht. Set zen wir noch voraus, dass wir kei nen effizienten det er mi ni st i schen
Al gor i t hmus fiir die Auf gabe gef unden haben (oder sogar, dass kein etfizienter
Al gor i t hmus fiir die Auf gabe exi st i ert ). Bei einer Anwendung der Met hode der
hgufi gen Zeugen fgngt ma n j et zt mi t der Suche nach einer passenden Defi ni t i on
yon Zeugen an. Ei n Zeuge (vgl. Defi ni t i on 6.9) sollte eine Zus at zi nf or mat i on
8.4 Die Methode der h/~ufigen Zeugen und der randomisierte Primzahltest 303
zur Eingabe sein, mit deren Hilfe man e f f i z i e n t deterministisch beweisen kann,
dass die Eingabe die gewiinschte Eigenschaft hat (oder dass die Eingabe die
Eigenschaft nicht hat). In unserem Beispiel war eine Pri mzahl p der Zeuge fiir
den Unterschied zwischen x und y (d.h. Zeuge yon x ~ y), falls
Nummer(x) rood p =/= Nummer(y) rood p.
Wenn man also ein solches p geschenkt bekommt, kann man effizient den Fakt
,,x ist unterschiedlich von y" beweisen. In der Realitgt k6nnen wir auf ein
solches Geschenk nicht hoffen und schlimmer noch, wir k6nnen uns den Zeu-
gen nicht alleine effizient deterministisch ausrechnen (sonst hgt t en wir einen
effizienten deterministischen Algorithmus fiir die Aufgabe). Um einen effizi-
enten randomisierten Algorithmus zu entwerfen, brauchen wir fiir jede Einga-
be eine Menge von Zeugenkandidaten, von denen ausreichend viele wirklich
Zeugen sind. In unserem Beispiel sind Kandi dat en f/ir Zeugen alle ungefghr
n2 /i nn 2 Pri mzahl en kleiner gleich n 2. Von diesen Kandi dat en sind minde-
stens ~2 _ ( n - 1) Zeugen und somit ist die Wahrscheinlichkeit, einen Zeugen
aus der Kandi dat enmenge zufgllig zu ziehen, mindestens
~2 ( n - l ) > 1
In n 2 i n ?%2
?%2
I n n 2 /1"
Das ist sehr gfinstig, weil dieser Wert sehr nahe an 1 ist. Aber auch wenn die
Wahrscheinlichkeit, einen Zeugen zu ziehen, nur 1/2 wgre, sind die Zeugen
noch immer ausreichend hgufig. Es reicht in diesem Fall aus, einfach mehrere
Zufallsversuche zu machen. Dadurch wgchst die Wahrscheinlichkeit schnell,
in mindestens einem der Versuche einen Zeugen zu bekommen, was ftir uns
hinreichend ist.
Jet zt kann man noch fragen, wie es m6glich ist, dass wir einen Zeugen nicht
deterministisch schnell finden k6nnen, wenn es so vi de zwischen den Zeugen-
kandi dat en gibt. Eine M6glichkeit wS~re doch, systematisch der Reihe nach
alle Kandi dat en auf eine so geschickte Weise durchzuprobieren, dass man nach
kurzer Zeit einen Zeugen findet. Das Problem ist aber, dass fiir jede Eingabe
die Zeugen anders zwischen den Zeugenkandi dat en verteilt sein k6nnen. Wenn
man sich also auf eine Durchsuchungsstrategie festlegt, k6nnte man immer
Ei ngaben finden, bei denen die Strategie versagt.
Bet racht en wir unser Beispiel. Hier kann man sogar beweisen, dass keine Stra-
tegie existiert, die effizient einen Zeugen fiir jede Eingabe (x, y) findet. Um dies
zu veranschaulichen, nehmen wir die einfache Strategie, die die Pri mzahl en ei-
304 8 Randomisierung
ne nach der anderen beginnend mit der kleinsten ausprobiert. Es ist klar, dass
sp~testens nach n Proben ein Zeuge gefunden werden muss, weil h6chstens
n - 1 Nicht-Zeugen zwischen den Kandi dat en sind. Leider bedeut en n Proben
eine KommunikationskomplexitS~t von n . 4. log 2 n, was wir uns nicht leisten
k6nnen. War um haben wir nicht immer die M6glichkeit, nach ein paar Proben
einen Zeugen zu finden? Weil unsere Strategie bei folgenden Ei ngaben (z, y)
n
mit N u mme r ( z ) - N u mme r ( y ) - P l " P2 . . . . . P k , wobei k 2(log~)2 und
Pl < P2"' " < Pk die kleinsten Pri mzahl en sind, k + 1 Proben braucht, um
einen Zeugen zu finden. Man kann sich leicht vorstellen, dass man bei jeder
anderen Aufz~hlung der Pri mzahl en spezifische Ei ngaben findet, fiir die viele
Proben notwendig werden, um einen Zeugen zu finden.
Die Met hode der h~ufigen Zeugen ist eine erfolgreiche starke Met hode zum
Ent wurf von zufallsgesteuerten Algorithmen. Der effiziente zufallsgesteuerte
Pri mzahl t est basiert auf dieser Methode, und der Pri mzahl t est geh6rt zu den
wichtigsten algorithmischen Aufgaben von grofier praktischer Bedeutung. Die
best en bekannt en deterministischen Al gori t hmen wiirden fiir das Testen grofier
Zahlen, die in der Krypt ographi e verwendet werden, nicht in Milliarden von
Jahren fertig. Zu erklS~ren, wie man hier die Zeugen definiert, ist eine zu kom-
plexe Aufgabe fiir diese Einfiihrung und daher ist unsere Zielsetzung viel be-
scheidener. Wi r zeigen nur, wie man den randomi si ert en Pri mzahl t est fiir un-
gerade Zahlen n mit ungeradem - ~ effizient machen kann.
Zuerst klgren wir, was bei den zahlentheoretischen Probl emen effizient bedeu-
tet. Fiir eine Zahl n ist die Eingabegr6f3e [log2(n + 1)]. Ein polynomieller
Algorithmus fiir den Pri mzahl t est fiir n muss also eine polynomielle Laufzeit
beziiglich [log2(n + 1)] haben. In der Praxis t est en wir Zahlen von mehreren
Hundert en von Ziffern (z.B. log2 n ~ 500) und deswegen kann man sich eine
exponentielle Kompl exi t gt in log 2 n nicht leisten. Somit ist der naive determi-
nistische Algorithmus, der iiberpriift, ob eine der Zahlen aus {2, 3 , . . . , [x/~J }
die gegebene Zahl n teilt, yon exponentieller Kompl exi t gt (mindestens x/~ =
l o g 2 rt
2--w-). Bei diesem Einsatz ist ein Zeuge der Tatsache ,,p ist keine Pri mzahl "
jede natiirliche Zahl rn > 1, rn ~ p, die p teilt. Solche Zeugen 1 sind aber im
Allgemeinen nicht hgufig. Wenn n = p . q fiir zwei Pri mzahl en p und q, dann hat
n nur zwei Zeugen p und q in der Kandi dat enmenge der Mgchtigkeit f~(x/-n).
Deswegen muss man versuchen, Zeugen auf eine neue Art zu bestimmen.
1Die auf der klassischen Definition von Primzahlen basieren.
8.4 Die Methode der h/~ufigen Zeugen und der randomisierte Primzahltest 305
S a t z 8 . 1 . S a t z v o n F e r ma t
Fi i r j ede Pr i mz a h l p und j ede nat i i rl i che Zahl a mi t ggT( a, p ) = 1 gilt
a p - 1 rood p = 1.
Bewei s . In dem Beweis nut zen wir die Tat sache, dass j ede Zahl eine ei ndeut i ge
Zerl egung in Pr i mzahl f akt or en hat . Weil p eine Pr i mzahl ist, gilt
c . d mo d p = 0 < = > c mo d p = 0 o d e r d mo d p = 0 (s.2)
fiir alle nat i i rl i chen Zahl en c und d.
Sei a eine beliebige Zahl mi t ggT( a, p) = 1. Bet r acht en wir die Zahl en
r r t l = 1 . a, m2 = 2 . a , . . . , r r t p_l = ( p - 1 ) . a .
Wi r behaupt en, dass
m~ mo d p Cm~ mo d p
fiir alle u, v E { 1 , . . . , p - 1} mi t u r v. Wi r bewei sen dies i ndi rekt .
Angenommen
rn~ mo d p = r n ~ mo d p
fiir i rgendwel che u, v E { 1 , . . . , p - 1}, u > v. Dann t ei l t p die Zahl
- = -
Das ist aber nicht m6glich, weil u - v < p und nach der Vor ausset zung des
Sat zes ggT( a, p) = 1 ist. Somi t
[ {r r t l rood p, m2 rood p, . . . , rrtp_l rood p}[ = p - 1.
Jet zt behaupt en wir, dass keine der Zahl en rni rood p eine 0 ist. Falls
rn~ mo d p = ( u . a ) mo d p = 0
fiir ein u gel t en wiirde, dann wgre nach (8.2)
u mo d p = 0 o d e r a mo d p = 0 .
306 8 Randomisierung
Die Pr i mzahl p kann aber keine der Zahlen u und a teilen, weil u < p und
ggT( a, p ) = 1. Somit gilt
{ml modp, m2 mo d p , . . . , mp _ l mo d p } = { 1 , 2 , . . . , p - 1 } . (8.3)
Bet r acht en wir j et zt die Zahl
~ ~1 " ~2 . . . . . ~p - 1 -
Der Definition yon mi folgend ist
m- - l . a . 2 . a . . . . . ( p - 1 ) . a - - l . 2 . . . . . ( p - 1 ) . a p-1. (8.4)
Aus (8.3) erhal t en wir
m mo d p = l - 2 . . . . . ( p - l ) modp. (8.5)
Die Gl ei chungen (8.4) und ( 8. 5) i mpl i zi er en
1 . 2 . . . . . ( p - 1 ) . a p-1 mo d p - l . 2 . . . . . ( p - l ) modp,
d.h.
a ; -1 mo d p = l .
Eine Verfeinerung des Fermat schen Satzes ist die folgende Behaupt ung
,,p ist eine Pri mzahl " e=~
p- - 1
a ~ mo d p C{ 1 , p - 1 }
fiir alle a E { 1 , . . . , p - 1}.
Diese Behaupt ung liefert eine neue Definition von Pri mzahl en. Nach dieser
Definition kommen als Zeugen fiir die Tat sache ,,n ist keine Pri mzahl " die
n- - 1
Zahl en a in Frage, fiir die a ~ rood n ~ {1, n - 1} gilt. Der folgende Satz
besagt , dass solche Zeugen f~r gewisse Zahl en n hi nrei chend hSoufig sind.
Sa t z 8. 2. Fi i r j ede ungerade nat i i rl i che Zahl n mi t ungeradem ~__A1
n rood 4 = 3) gilt
d.h.
f al l s n eine Pr i mzahl ist, dann
n - - 1
a ~ mo d n E{ 1 , n - 1 } f i i r a l l e a E{ 1 , . . . , n - 1 } und
8.4 Die Methode der hS~ufigen Zeugen und der randomisierte Primzahltest 307
f a l l s n k e i n e P r i mz a h l i st , d a n n
n - - 1
a 2 mo d n ~ {1, n 1}
f i i r mi n d e s t e n s e i n e Hi i l f t e d e r Z a h l e n a aus { 1 , . . . , n - 1} .
Auf gabe 8.7.* Beweisen Sie Satz 8.2.
Somi t haben wir fiir Zahl en rn, die keine Pr i mzahl en sind, und fiir die
1
rn rood 4 - 3 gilt die Wahrschei nl i chkei t ~, in ei nem Zufal l sversuch ei nen
Zeugen i hrer Ni cht zugeh6ri gkei t zu den Pr i mzahl en zu wS~hlen. Um mi t dieser
Defi ni t i on von Zeugen defi ni t i v ei nver st anden zu sein, mi i ssen wir noch fest-
n - - 1
stellen, dass a 2 rood n effizient zu ber echnen ist. Wi r k6nnen uns nat i i rl i ch
ni cht leisten, ~- ~- mal mi t a zu mul t i pl i zi eren, weil dann die Anzahl der Oper a-
t i onen exponent i el l in ~log2 nl w~tre. Wenn wir a b rood p zu ber echnen haben
und b - 2 k gilt, dann kann dies mi t der Met hode des wi eder hol t en Quadr i er ens
mi t k Mul t i pl i kat i onen wie folgt ber echnet werden"
a 2 mod p
a 4 mod p
a s mod p
- a . a mo d p ,
- (a 2 mo d p ) - ( a 2 mo d p ) mo d p ,
- ( a 4 mo d p ) . ( a 4 mo d p ) mo d p ,
a 2k mo d p - (a 2k-1 modp) 2 mo d p .
Im Al l gemei nen sei b - E i k = _ l b i 9 2 i - 1 (d.h. b - Nl t l T t l T t e f ( b k b k _ l . . . bl) ) flir ein
k E IN - {0} und b~ E {0, 1} fiir i - 1 , . . . , k. Dann ist offensichtlich
a b a h i ' 2 0 a b 2 . 2 1 a b 3 . 2 2 2 k -
_ . . . . . . a b k . 1.
Um a b mod p zu berechnen, ber echnet ma n zuerst alle Zahl en ai - a 2~ mod p
dur ch wi ederhol t es Quadr i er en. Danach mul t i pl i zi ert ma n rood p alle Zahl en
ai, fiir die bi - 1 gilt. Die Anwendung dieses Ansat zes fiir die Ber echnung
n - - I
yon a ~ rood n fiir ein a E { 1 , . . . , n - 1} bedeut et , dass ma n wS~hrend der
ganzen Ber echnung nur mi t Zahl en aus {0, 1 , . . . , n - 1} ar bei t et , also mi t
Zahl en der binS~ren LS~nge [log 2 hi . Offensichtlich ist die Anzahl der Mul t i pl i -
kat i onen solcher Zahl en hier kleiner als 2. [log 2 ~-~] E O(l og 2 n). Nach dem
l ogar i t hmi schen Kost enmat 3 ist die gesamt e KomplexitS~t der Ber echnung von
a ~ 1 ( mo d n ) in O((l og2n)2). Dami t er hal t en wir fol genden r andomi si er t en
Al gor i t hmus fiir den Pr i mzahl t est .
308 8 Randomisierung
So l ova y- S t r a s s e n- Al g o r i t h mu s
Eingabe: Ei ne unger ade Zahl n mi t unge r a de m n-1
2 "
Phas e 1. Wghl e zufgllig bezfiglich der uni f or men Wahr schei nl i chkei t sver t ei -
l ung ein a E { 1 , 2 , . . . , n - 1}.
9 n ~l
Phas e 2 Ber echne x " - a (rood n).
Phas e 3. i f x E {1, n - 1} t h e n o u t p u t ( , , Pr i mzahl ") ;
e l s e o u t p u t (,,keine Pr i mz a hl " ) ;
Anal ysi er en wir die Fehl er wahr schei nl i chkei t dieses r andomi s i er t en Pr i mzahl -
t est s. Falls n eine Pr i mzahl ist, gilt nach (i) von Sat z 8.2, dass
n - - 1
a 2 ( mo d n ) E {1, n - 1}
fiir alle a E { 1 , . . . , n - 1} und somi t ist die Aus gabe des Al gor i t hmus i mmer
, , Pr i mzahl " (d. h. die Fehl er wahr schei nl i chkei t ist gleich 0).
Falls n kei ne Pr i mzahl ist, ist die Wahr schei nl i chkei t , dass a kein Zeuge dieser
1 Da mi t ist die Fehl er wahr schei n- Tat s ache ist, nach (ii) des Sat zes 8.2 gleich ~.
1 Diese Fehl er wahr schei nl i chkei t ist offensichtlich zu lichkeit in di esem Fall 7.
grog, aber wenn wir s t at t eines a zwanzi g Zahl en a l , . . . , a20 unabhS~ngig aus
n - - 1
{ 1, n - 1} wS~hlen und die Ant wor t , , Pr i mzahl " nur geben, wenn ai ~ rood n E
{ 1, n - 1} fiir alle i E { 1 , . . . , 20}, dann ist die Fehl er wahr schei nl i chkei t kl ei ner
als 10 -6.
Auf gabe 8.8. Sei k c IN, k _> 2. Wie weit kann man die Fehlerwahrscheinlichkeit des
Solovay-Strassen-Algorithmus reduzieren, wenn man statt einem Versuch einen Zeugen zu
finden, k unabh~ngige Versuche macht? Begrtinden Sie Ihre Antwort.
8.5 Di e Met hode der Fi ngerabdri i cke und
oo 9
die Aqulvalenz von zwei Pol ynomen
In Abs chni t t 8.3 haben wir die Met hode der hSoufigen Zeugen benut zt , um
zwei grofie Zahl en Nummer(x) und Nu mme r ( y ) mi t t el s eines r andomi s i er t en
Kommuni kat i ons pr ot okol l s zu vergl ei chen. Die dor t vor gest el l t e spezielle An-
wendung der Met hode der hSoufigen Zeugen nennt ma n auch die Me t hods der
Fi nger abdr i i cke, die ma n al l gemei n wie folgt dar st el l en kann.
8.5 Die Methode der Fingerabdriicke und die Aquivalenz von zwei Polynomen 309
Sc h e ma der Me t h o d e der Fi nge r a bdr f i c ke
Aufgabe" Entscheide die Aquivalenz (ira gegebenen Sinne) yon zwei Obj ekt en
O1 und 02, deren genaue Darstellung sehr umfangreich ist.
Phase 1: Sei M eine ,,geeignete" Menge von Abbi l dungen von vollstS~ndigen
Darstellungen bet racht et er Obj ekt e in partielle Darstellungen dieser Ob-
jekte.
WS~hle zufS~llig eine Abbildung h aus M.
Phase 2: Berechne h(O1) und h(02).
h(@) nennt man den Fi n g e r a b d r u c k yon Oi fiir i = 1, 2.
Phase 3: i f h(O1) = h(O2) t h e n o u t p u t ,,O1 und O2 sind/~quivalent" ;
e l s e out put ,,O1 und O2 sind nicht 5~quivalent" ;
In unserem Beispiel in Abschnitt 8.3 war en O1 und 02 zwei grofie Zahlen von
n Bits (n = 1012). Die Menge M war
{hv I hp(m) - m rood p fiir alle rn E IN, p ist eine Primzahl, p _< n2}.
Fiir die zuftillig gewahlte Pri mzahl p waren hp(O1) = O1 rood p und hp(O2) =
02 rood p die Fingerabdriicke yon O1 und 02.
Der Kernpunkt der Met hode ist, dass hp(@) im Vergleich zu Oi eine wesentlich
kiirzere Darstellung hat, und dadurch der Vergleich von hp(O1) und hp(02)
wesentlich einfacher ist als der Vergleich yon O1 und 02. Das kann man aber
nur dadurch erreichen, dass hp(Oi) keine vollsttindige Beschreibung von @ ist.
Also muss man dass Risiko einer fehlerhaften Entscheidung in Kauf nehmen.
Der Rest der Grundidee basiert auf dem Prinzip der Met hode der hgufigen
Zeugen. Die Menge M ist die Menge der Kandi dat en fiir einen Zeugen der
Nicht-Aquivalenz yon O1 und 02. Wenn fiir jedes Paar yon unterschiedlichen
Obj ekt en O1 und 02 in M zahlreiche 2 Zeugen von O1 -r 02 vorhanden sind,
kann man die Fehlerwahrscheinlichkeit beliebig nach unt en drticken. Die Kunst
der Anwendung der Met hode der Fingerabdrticke best eht in der geeigneten
Wahl der Menge M. Einerseits sollen die Fingerabdriicke so kurz wie m6glich
sein, um einen effizienten Vergleich zu erm6glichen. Andererseits sollen sie so
viele Informationen wie m6glich fiber die abgebildeten Obj ekt e ent hal t en a, um
die Wahrscheinlichkeit des Verlustes des Unterschiedes zwischen O1 und 02 in
den Fingerabdriicken h(O1) und h(O2) gering zu halten. Somit muss bei der
Wahl yon M immer der Tradeoff zwischen dem Grad der ,,Komprimierung"
2bez~glich ]M]
3Daher kommt auch der Name der Methode, weil bei Menschen Fingerabdriicke als eine fast
eindeutige Identifikation gelten.
310 8 Randomisierung
yon O zu h(O) und der Fehlerwahrscheinlichkeit im Auge behal t en werden. In
unserer Anwendung dieser Met hode in Abschnitt 8.3 gelang es uns, mit zu 0
strebender Fehlerwahrscheinlichkeit einen exponentiellen Sprung zwischen der
Darstellung yon O und h(O), n/~mlich Ih(o)l ~ O(~og2 Iol ), zu schafeen.
Im Folgenden wollen wir ein Aquivalenzproblem betrachten, fiir das kein (de-
terministischer) polynomieller Algorithmus bekannt ist, und das man effizient
randomisiert mit der Met hode der Fingerabdriicke 15sen kann. Das Probl em
ist das Aquivalenzproblem von zwei Polynomen von mehreren Variablen fiber
einem endlichen KSrper 77 v. Zwei Polynome P~ ( x~, . . . , x~) und P2 (x~ ,..., xn)
heigen gquivalent fiber 7/v, falls ftir alle (c~, , . . . , c~) E (7/v) ~
P~ ( c ~, . . . , c~) - P2( ( ~, . . . , c~) (rood p).
F/Jr dieses Aquivalenzproblem ist kein polynomieller Algorithmus bekannt. Es
kann j emand widersprechen, dass so ein Vergleich doch einfach ist; es reicht
aus, nur die Koeffizienten bei gleichen Termen zu vergleichen. Zwei Polynome
sind genau dann gleich, wenn die Koeffizienten bei allen Termen gleich sind.
Die Schwierigkeit des Aquivalenztests liegt aber darin, dass fiir einen solchen
einfachen Vergleich beide Polynome in der Normalform vorliegen mtissen. Die
Normalform eines Polynoms yon n Variablen Xl, x2, . . . , x~ und Grad 4 d ist
d d d
i1=0 i2=0 in= O
9 . ; ~
Die Polynome ftir unseren )~quivalenztest dtirfen aber in einer beliebigen Form,
wie z.B.
P ( X l , x2 , x3, x4, x5, x6) - (Xl + x2) 10. (x3 - x4) 7. (x5 + x6) 20
eingegeben werden. Wenn wir uns an die binomische Formel
. 1
k=0
n - k
9 X 2
erinnern, wird uns Mar, dass P( xl , x2, x3, X4, X5, X6) genau 10 9 7 9 20 -- 1400
Terme (mit Koeffizienten ungleich 0) hat. Also kann eine Normalform eines Po-
lynoms exponentiell lgnger sein als seine eingegebene Darstellung und somit
4Der Grad eines Polynoms von mehreren Variablen ist das Maximum der Grade der einzelnen
Variablen.
8.5 Die Methode der Fingerabdriicke und die Aquivalenz von zwei Polynomen 311
kann man die Normalform im Allgemeinen nicht in polynomieller Zeit erzeu-
gen. Wir miissen versuchen, die Polynome ohne Erzeugung der Normalform zu
vergleichen. Wir wghlen dazu eine sehr einfache Strategie. F~r zwei Polynome
Pl ( x l , . . . , x ~ ) und P2 ( xl , . . . , xn) , ist ein c~ = (c~1,..., cu~) E (7/p) ~ ein Zeuge
von
~Pl(Xl~...~Xn) ~ /92(Xl~...~Xn)"
w e n n
Pl(O~l,..., O~n) Inod p r P2(Ogl,...~ Ogn) Inod p.
In der Sprache der Met hode der Fingerabdriicke ist
der Fi ngerabdruck yon P1. Dami t ist der folgende einfache randomisierte A1-
gorithmus bestimmt:
Algorithmus AQP
Eingabe: Eine Pri mzahl p und zwei Polynome P1 und P2 fiber n Variablen
Xl , . . . , x~, n E IN {0}, und vom Grad h6chstens d, d E IN.
Phase 1" Wghle zufgllig 5 ein c ~- ( c ~, . . . , c~) E (77p) ~.
Phase 2: Berechne die Fingerabdrticke
h (5) = )rood p,
Phase 3: i f h2(P~) = h2(P2) t hen out put ,,Pl = P2 ";
e l s e out put ,,P1 ~ 1'2";
Untersuchen wir jetzt die Fehlerwahrscheinlichkeit yon dem Algorithmus AQP.
Falls P1 und P2 gquivalent fiber 77p sind, dann gilt
- ( mo d p )
fiir alle (c~, c~2,..., c~) E (7/v)~. Somit ist die Fehlerwahrscheinlichkeit ffir die
Ei ngaben P1, P2 mit P1 = P2 gleich 0.
Seinen P1 und P2 zwei Polynome, die nicht/~quivalent sind. Wir zeigen jetzt,
dass die Fehlerwahrscheinlichkeit kleiner als 1/2 ist, wenn p > 2 nd ist. Die
5bezfiglich der Gleichverteilung fiber (77p) n
312 8 Randomisierung
Frage
/ 91(X1, --. , Xn) - - P2(Xl, . . - ,Xn)
ist gquivMent z u der Frage
Q( Xl , . . . , Xn) -- P1 (xl , . . . , Xn) -- P2( Xl , . . . , Xn) - - O.
Das heit3t, wenn P1 und P2 nicht gquivalent sind, dann ist das Pol ynom Q nicht
identisch zu 0. Unser Ziel ist j et zt zu zeigen, dass die Anzahl der Nullstellen
eines Polynomes Q ~ 0 yon n Variablen und Grad d beschrS~nkt ist. Dadurch
gibt es geniigend viele Zeugen c~ E (77p) ~ mit Q( a) ~ 0 (mod p) (d.h. mit
Pl ( a) ~ P2(c~) (rood p)). Wi r fangen mit dem bekannt en Satz fiber die anzahl
von Nullstellen fiir Polynome mit einer Variablen an.
Sat z 8. 3. Sei d E IN und sei P( x ) ein Pol ynom ei ner Variablen x vom Grad
d iiber ei nem beliebigen KSrper. Dann ist ent weder P( x ) iiberall gleich 0 oder
P hat hSchst ens d Wurzel n (Nul l st el l en).
Bewei s. Wi r beweisen den Satz mit Indukt i on beziiglich d.
(i)
(ii)
Sei d - 0. Dann ist P( x ) - c fiir eine Konst ant e c. Falls c ~ 0, dann hat
P( x ) keine Nullstelle.
Sei die Behaupt ung des Satzes giiltig fiir d - 1, d > 1. Wi r beweisen sie
fiir d. Sei P( x ) ~ 0 und sei a eine Nullstelle von P. Dann ist
e ( . ) - ( . - a ) . e ' ( . )
P(x)
wobei P' ( x) (x-~) ein Pol ynom vom Grad d - 1 ist. Mit der Induktions-
annahme hat P' ( x) h6chstens d - 1 Nullstellen. Somit hat P( x ) h6chstens
d Nullstellen.
Jet zt sind wir bereit den Beweis zu ftihren, dass es geniigend viele Zeugen
(Nichtnullstellen von Q( x l , . . . ,x~) = Pl ( Xl , . . . , x ~ ) - P 2 ( X l , . . . , x ~ ) ) d e r Nicht-
5quivMenz yon unterschiedlichen P1 und P2 fiber ;r/p f/Jr eine geniigend grofie
Pri mzahl p gibt.
Sat z 8. 4. Sei p eine Pri mzahl , und sei en n, d E I N - {0}. Sei Q( x l , . . . , x~ )
0 ein Pol ynom iiber 7/p mi t n Variablen x l , . . . , x~ , wobei j ede Variable in Q
hSchst ens Grad d hat. Dann hat Q hSchst ens n . d. pn-1 Nul l st el l en.
8.5 Die Methode der Fingerabdriicke und die Aquivalenz von zwei Polynomen 313
Be we i s . Wi r beweisen den Satz per I ndukt i on beziiglich der Anzahl n der
Variablen.
(i)
(ii)
Sei n = 1. Nach Satz 8.3 hat Q(Xl) h6chstens d : n . d . pn- 1 (ffir n = 1)
Nullstellen.
Sei die I ndukt i onsannahme giiltig ftir n - 1, n E I N- {0}. Wi r beweisen
sie ftir n. Wi r k6nnen Q als
Q( Xl , X2 , . . . , x n ) = Q0(X2, . . - x n ) -~- Xl " QI ( X2 , . . - , Xn ) -~ -. . .
d
i
i=0
fiir irgendwelche Pol ynome
. . . ,
ausdrticken.
Falls Q(Ctl, ct 2, . . . , ct~) = 0 ( modp) fiir ein ct = ( Ct l , . . . , ct~) E (Z/p) ~,
dann gilt entweder
(a) @( c t 2 , . . . , c t ~) - 0 ( modp) ftir alle i = 0, 1 , . . . , d , oder
(b) es existiert ein j E {0, 1 , . . . , d } mi t Qi (c~2, . . . , ct~) ~ 0 ( modp)
und c~1 ist eine Nullstelle des Pol ynoms
Q( Xl ) = Q0( ~2, . . . OLn) -~- Xl " Q l ( O ~ 2 , . . . , O ~ n ) - ~- . - -
+
in einer Vari abl en X l.
Wi r zghlen j et zt get rennt die Anzahl der Nullstellen im Falle (a) und
(b).
(b)
Weil Q( x l , . . . , Xn) ~ O, existiert eine Zahl k E {0, 1 , . . . , d}, so dass
Q~ ( x 2 , . . . , x ~ ) ~ O. Nach der I ndukt i onsannahme ist die anzahl der
Nullstellen yon Qk hSchstens ( n - 1 ) . d . p ~ -2 . Dann gibt es aber hSchstens
( n - 1). d. p~-2 El ement e ~- (c~2, . . . , c~) E (7/p) ~-1, so dass @( ~) -
0 ( modp) fiir alle i E {0, 1, 2 , . . . , d}. Weft der Wert ~1 VOI1 X 1 kei-
hen Einfluss auf die Bedi ngung (a) hat und somit frei w~ihlbar ist, gibt
es hSchstens p . ( n - 1) . d. p~-2 = ( n - 1) . d . p~- i El ement e ~ =
(c~1, ct 2, . . . , c~) E (Z/p) ~, die die Eigenschaft (a) haben.
Weil Q(Xl) ~ 0, hat Q nach Satz 8.3 h6chst ens d Nullstellen (d.h.
h6chst ens d Wert e O~ 1 E 7/p mi t Q(C~l) - 0 ( mod p)). Deswegen gibt es
h6chst ens d . p ~ -1 Wert e ct - (C~l, ct 2, . . . , ct~) C (Z/p) ~, die die Bedi ngung
(b) erfiillen.
314 8 Randomisierung
Zusammenfassend hat Q( Xl , . . . , Xn) h6chstens
(n - 1) 9 d . pn-1 q_ d . pn-1 _ 7t . d . pn-1
Nullstellen. D
Kor ol l a r 8. 1. 9 ei p eine Pri mzahl , und seien n , d E IN {0}. Fiir jedes
Pol ynom Q( Xl , . . . , x~ ) ~ 0 iiber 7/p vom Grad hSchst ens d gibt es mi ndest ens
1
n . d ) .p~
Zeugen yon Q O.
Beweis. Die Anzahl der Elemente in (77p) ~ ist genau p~ und nach Satz 8.4
sind h6chstens n. d. p ~ -1 davon keine Zeugen. Somit ist die Anzahl der Zeugen
mindestens
p ~ _ n . d . p ~ _ l _ ( 1 n . d ) . p ~ . p
Damit ist die Wahrscheinlichkeit des Ziehens eines Zeugen aus p~ Elementen
von (77p) ~ mindestens
1 p
r t . d )
F~r p > 2 rid ist diese Wahrscheinlichkeit gr6i3er als 1/2. Durch wiederholtes
zuf~lliges Ziehen aus (77p) ~ kann man die Wahrscheinlichkeit, dass mindestens
ein Zeuge fiir Q ~ 0 (d.h. fiir PI ( Zl , . . . ,z~) ~ P2( Zl , . . . , z~)) gefunden wird,
beliebig nah an 1 bringen.
Fiir mehrere Anwendungen des Algorithmus AQP ist es wichtig, dass die Prim-
zahl p frei wS~hlbar ist. Dieser Freiheitsgrad kommt dadurch zustande, dass man
das Aquivalenzproblem fiir einige Objekte auf den Vergleich yon zwei Polyno-
men reduzieren kann, ohne dabei Bedingungen an den K6rper, fiber dem die
Polynome verglichen werden sollen, zu stellen.
8.6 Zus ammenf as s ung 315
8.6 Zusammenfassung
Einen randomisierten (zufallsgesteuerten) Algorithmus kann man als einen
nichtdeterministischen Algorithmus mit zugeordneten Wahrscheinlichkeiten fiir
die Verzweigung der Berechnungen oder als eine Wahrscheinlichkeitsverteilung
fiber deterministischen Algorithmen betrachten. Die Zufallssteuerung ist das
inhS~rente Prinzip von Naturprozessen, das sich dutch Einfachheit und Effizi-
enz auszeichnet. Nicht anders ist es in der Algorithmik, wo man dutch einfache
randomisierte Algorithmen Probleme viel effizienter als mit den besten deter-
ministischen Algorithmen 16sen kann.
Am Beispiel des Entwurfs eines Kommunikationsprotokolls fiir den Vergleich
der Inhalte von zwei Datenbanken haben wir gesehen, dass Randomisierung
exponentiell effzienter als Determinismus sein kann. Die Grundidee des Ent-
wurfs eines effizienten randomisierten Protokolls basierte auf der Methode der
hgufigen Zeugen. Ein Zeuge ist eine Zusatzinformation zur Eingabe, mit de-
ren Hilfe man das Resultat effizient berechnen kann, obwohl kein effzienter
LSsungsansatz ohne einen Zeugen mSglich (oder bekannt) ist. Ftir die erfolgrei-
che Anwendung der Methode der hSoufigen Zeugen ist es wichtig, dass man fiir
jede Eingabe (Probleminstanz) eine Menge yon Zeugenkandidaten bestimmen
kann und dass ein grof3er Anteil der Kandi dat en Zeugen sind. Einen Zeugen
kann man dann einfach durch (wiederholtes) zufglliges Ziehen aus der Menge
der Zeugenkandidaten mit groiJer Wahrscheinlichkeit gewinnen. Der Grund,
warum man durch systematisches deterministisches Durchsuchen der Menge
der Zeugenkandidaten einen Zeugen nicht effizient finden kann, liegt darin,
dass die Zeugen in der Kandidatenmenge regellos verteilt sind. Bei diesem
,,chaotischen" St rukt ur der Kandi dat enmenge riskiert jeder deterministische
Suchalgorithmus zu viele Fehlversuche bei der Suche nach einem Zeugen. Die
Kunst diese Methode anzuwenden liegt in einer geeigneten Definition von Zeu-
gen. Wi t haben gezeigt, wie man Zeugen definieren kann, um einen effizienten
randomisierten Primzahltest fiir ungerade Zahlen n mit ungeradem (~-1)
2 ZU
entwickeln. Fiir den Primzahltest kann man unsere Definition yon Zeugen so
weiter entwickeln, dass man effzient den Primzahltest fiir alle natiirlichen Zah-
len durchfiihren kann.
Ein Spezialfall der Methode der hS~ufigen Zeugen ist die Methode der Finger-
abdriicke fiir die L6sung von Aquivalenzproblemen. Die Idee ist, komplexen
Objekten mit umfangreicher Darstellung durch eine zufS~llige Abbildung soge-
nannte Fingerabdrticke (kurze partielle Darstellungen) zuzuordnen, und so den
Aquivalenztest auf den etIizient durchfiihrbaren Vergleich der Fingerabdriicke
zu reduzieren. Die zufgllig ausgesuchten Abbildungen spielen in diesem Fall die
316 8 Randomisierung
Rolle der Zeugen. Auf diese Weise kann man einen effizienten randomisierten
Test fiir die Aquivalenz von zwei Polynomen entwickeln. Fiir diesen Aquiva-
lenztest ist kein (deterministischer) polynomieller Algorithmus bekannt, und
es gibt rnehrere weitere Aquivalenztests, die sich effizient zu den Vergleich von
zwei Polynomen reduzieren lassen.
Eine ausfiihrliche Ubersicht fiber randomisierte Algorithmen kann man in dem
Buch [MR 95] von Motwani und Raghavan finden, dass aber fiir Anf~nger auf-
grund des technischen Schwierigkeitsgrades eher ungeeignet ist. Eine Einfiih-
rung in das Gebiet des Entwurfes von randomisierten Algorithmen ist im Ka-
pitel 5 von [Hro 01] gegeben. Eine ausfiihrliche Darstellung der Methoden fiir
den Ent wurf von zufallsgesteuerten Systemen, die durch viele anschauliche Bei-
spiele t ransparent gemacht werden, ist in [Hro 04] zu finden. Mehr fiber die
zufallsgesteuerten Kommunikationsprotokolle kann man in [Hro 97] erfahren.
Eine anschaulich pr~sentierte Anwendung des randomisierten Aquivalenztests
von zwei Polynomen f/Jr den semantischen Vergleich von zwei Dat enst rukt u-
ren zur ReprS~sentierung yon Boole' schen Funktionen findet man in [Sip 97].
Eine eindrucksvolle Ubersicht fiber die Konzepte im Bereich des Entwurfs yon
randomisierten Algorithmen hat Karp in [Kar 91] zusammengestellt.
Kontrollaufgaben
1. Um Zufallsexperimente zu modellieren fiihrten wir den Begriff des Wahrscheinlich-
keitsraums ein. Ein Wahrscheinlichkeitsraum ist gegeben durch die Menge S aller
mSglichen Ergebnisse (Endresultate, elementare Ereignisse) des Experi ment s und
dutch die Wahrscheinlichkeitsverteilung fiber S, die jedem Ergebnis (elementaren Er-
eignis) seine Wahrscheinlichkeit zuordnet. Die Wahrscheinlichkeit eines elementaren
Ereignisse ist der erwart et e Anteil der Versuche, die mit diesem elementaren Er-
eignis enden. Welche Konsequenzen hat diese Bedeut ung der Wahrscheinlichkeit ffir
die Best i mmung der Wahrscheinlichkeiten beliebiger Ereignisse, falls S endlich (oder
abz~hlbar) ist?
2. Modellieren Sie das Experi ment des ffinffachen Mtinzwurfs. Wie hoch ist die Wahr-
scheinlichkeit, dass die Anzahl der gefallenen KSpfe und die Anzahl der gefallenen
Zahlen sich h6chstens um 1 unterscheidet?
3. Wie modelliert man randomisierte Algorithmen? Was entspricht hier einem Wahr-
scheinlichkeitsraum?
4. Bert acht en Sie folgende Aufgabe. Zwei Rechner haben jeweils ein Wort mit einer
L~inge von 18 Bits gespeichert und sollen feststellen, ob die WSrt er gleich sind. Sie be-
nutzen dazu das zufallsgesteuerte Kommunikationsprotokoll R. Aus wievielen Prim-
zahlen wird zuf~llig eine gew~hlt? K6nnen sie alle auflisten? Wieviele Bits werden
kommuniziert und wie grog ist die Fehlerwahrscheinlichkeit? Lohnt es sich hier das
Protokoll R10 anzuwenden?
5. Analysieren Sie die Komplexitgt und die Fehlerwahrscheinlichkeit einer Modifikation
d e s P r o t o k o l l s R , i n d e m R s t a t t a u s P R I M ( n 2 ) a u s d e r M e n g e P R I M ( ~ n 3 / 2 j ) e i n e
8.6 Zus ammenf as s ung 317
Pr i mzahl zufSJlig w~hl t . Wi e ~nder t sich die Fehl er wahr schei nl i chkei t , wenn man die
Pr i mzahl aus PRI M ( n. ( l nn) 2) oder aus PRI M (100. n - l n n ) w~hl t ?
Er kl ~r en Sie die Gr undi dee der Met hode der hgufi gen Zeugen. Wi e kann man diese
Met hode zum Ent wur f eines r andomi s i er t en Al gor i t hmus ffir den Pr i mzahl t es t an-
wenden?
Erkl Szen Sie die Gr undi dee der Met hode der Fi nger abdr i i cke. Wi e kann man diese
Met hode zum Vergleich von zwei Pol ynomen anwenden?
Bet r acht en wir das r andomi s i er t e Pr ot okol l zum Vergl ei ch von zwei n- Bi t St ri ngs
a = a l . . . a ~ und b = b l . . . b n , ai , bi E {0, 1} ffir i = 1 , . . . , n . Sei p eine Pr i mzahl .
Wi t bet r acht en die Pol ynome
n n
Pa(X)- Z a(x)- Z
i = 1 i = 1
fiber 7/p. Offensichtlich si nd a und b genau dann gleich, wenn Pa ( z ) und Pb( z ) iden-
t i sch sind. Nut zen Sie diese Tat sache und den Al gor i t hmus AQP um ein neues zu-
f al l gest euer t es Pr ot okol l fiir den Vergl ei ch von a und b zu ent werfen. Wi e beei nfl usst
die Wahl von p die Fehl er wahr schei nl i chkei t und die Kommuni kat i onskompl exi t ~t t ?
Gi bt es eine Wahl von p, so dass das neue Pr ot okol l ,,effizienter" als R eine kl ei ne
Fehl er wahr schei nl i chkei t gar ant i er t ?
Ihre Idee ist echt wahnsinnig.
Die Grundfrage ist, ob sie wahnsinnig genug ist,
um wahrhaftig sein zu k6nnen.
N. Bohr
9 Kommuni kati on und Kryptographi e
9.1 Zielsetzung
Im 20. Jahrhundert hat sich die theoretische Informatik iiberwiegend der Un-
tersuchung der sequentiellen Rechnermodelle gewidmet, die der Vorstellung
von Neumanns entsprechen. Was sollten die zukiinftigen Kernprobleme der
Informatik sein? Die Vernetzung der Rechner konfrontiert den Nutzer nicht
mehr nur mit einem einzelnen Rechner, sondern mit einer untibersichtlichen
vernetzten Welt von vielen asynchronen und unvorhersehbaren Aktivit~ten.
Das Verstgndnis vom Rechnen in der vernetzten Welt ist derzeit nicht sehr tief
und seine Entwicklung wird eine der Hauptaufgaben der Informatik sein. Die
Vielfalt der Forschungsfragen, die im Zusammenhang mit verteiltem Rechnen,
Kooperation und Kommunikation zwischen Rechnern, Prozessen und Men-
schen gestellt worden sind, kann man in dieser beschrgnkten Ubersicht gar
nicht vorstellen. Die Probleme, bezogen auf den Entwurf und die Analyse von
effizienten Kommunikationsalgorithmen (Protokollen) und auf den Entwurf
von leistungsfghigen Netzen, sind stark von den zug~nglichen Technologien
abh~ngig. Diese Technologien entwickelten sich schnell von klassischen Telefon-
verbindungen his hin zu optischen Netzen, und jede Technologie ist an anderen
Problemen und Fragestellungen interessiert. Weil wir keine M6glichkeit sehen,
eine kurze, verstS~ndliche Ubersicht fiber dieses Thema zu geben, beschrS~nken
wir uns hier auf ein Beispiel eines Netzentwurfes und konzentrieren uns mehr
auf das Gebiet der Kryptographie, das sich mit der sicheren Kommunikation
in Netzen beschgftigt.
Unsere erste Zielsetzung ist, den Leser mit einigen grundlegenden Konzepten
und Ideen aus dem Gebiet der Kryptologie bekannt zu machen. Dabei halten
wir auch die gerade Linie der kontinuierlichen Entwicklung der informatik-
bezogenen Konzepte in diesem Buch ein, weil die wesentlichen Fortschritte
der Kryptographie auf den in den vorhergehenden Kapiteln vorgestellten Kon-
9.2 Klassische Kryptosysteme 319
zepten der KomplexitS~tstheorie, Algorithmik und Randomisierung aufbauen.
Aut3 erdem ist gerade die Kryptographie das Gebiet, das his zu einem gewis-
sen Grad kontraintuitive Resultate bereitstellt und dadurch auf eindrucksvolle
Weise M6glichkeiten er6ffnet, von denen die meisten Anwender nicht zu trS~um-
en wagten.
Die Organisation dieses Kapitels ist wie folgt gestaltet. Abschnitt 9.2 ist ei-
ner informellen Vorstellung der klassischen Kryptosysteme gewidmet. Der Ab-
schnitt 9.3 stellt das Konzept der Public-Key-Kryptosysteme vor und illu-
striert es anhand des RSA-Kryptosystems. In Abschnit 9.4 wenden wir das
Konzept der Public-Key-Kryptosysteme an, um zwei Protokolle fiir digitale
Unterschriften zu entwerfen. In Abschnitt 9.5 lernen wir interaktive Protokolle
und Zero-Knowledge-Beweissysteme kennen, mit denen man etIizient Beweise
verifizieren kann, ohne sie zu lesen. Abschnitt 9.6 pr~sentiert den Entwurf eines
Kommunikationsnetzes.
9.2 Klassische Krypt osyst eme
Kryptologie bezeichnet urspriinglich die Lehre der Geheimsprachen. Innerhalb
der Kryptologie unterscheidet man zwischen der Kryptographie, der Wissen-
schaft, Kryptosysteme zu entwickeln, und der Kryptoanalyse, der Kunst, diese
zu brechen. Hier beschSfftigen wir uns nur mit der Kryptographie. Das betrach-
tete Szenario ist in Fig. 9.1 dargestellt.
Schltissel
Klar- 1 Krypto-
text-I Verschliisselung I te~t .
Schliissel
1 Klar-
Entschliisselung t e x t
~ a n a ~
Fig. 9.1
Eine Person, genannt Sender , will eine geheime Nachricht einer anderen Per-
son, genannt Empf i i nger , zuschicken. Die geheime Nachricht ist in Form eines
Textes dargestellt und wir nennen diesen Text Kl ar t ext . Um zu verhindern,
dass ein Unbefugter, der auf irgendeinem Weg in den Besitz der Nachricht
gelangt, den geheimen Inhalt lesen kann, schickt man die Nachricht in einer
chiffrierten (verschliisselten) Form. Die Art der Chiffrierung (Verschliisselung)
320 9 Kommunikation und Kryptographie
ist ein gemeinsames Geheimnis des Senders und des EmpfS~ngers, und die Ver-
schlfisselung wird mit Hilfe eines sogenannten SchHi ssel s durchgeffihrt. Der
verschliisselte Klartext heifit Kr ypt ot e x t . Nach dem Empfang wird der Kryp-
totext entschliisselt, und das Ergebnis der Entschliisselung ist der urspriingli-
che Klartext.
Formal ist ein Krypt osyst em ein Tripel (/C, A, $), wobei/C die Menge aller er-
laubten Klartexte, A die Menge aller m6glichen Krypt ot ext e und $ die Menge
der Schliissel ist. Oft ist/C - 2 ~ fiir ein m E IN und ein Alphabet 2, d.h., dass
man den zu verschliisselnden Text in B16cke der Lgnge m auReilt und jeden
Block einzeln verschliisselt. In diesem Fall ist auch A - I ~k fiir ein k E IN
und ein Alphabet F. Jeder Schliissel c~ E $ bestimmt eindeutig eine injektive
Funktion E~ von/ C nach A. Die Verschliisselung entspricht also der Berech-
nung yon E~(z) fiir einen Klartext z E/ C und die Entschliisselung entspricht
der Berechnung von E21 (c) fiir einen Krypt ot ext c E A. Die inverse Funktion
E~ 1 zu der Funktion E~ bezeichnet man gew6hnlich mit D~.
Die Anforderungen an ein Krypt osyst em sind"
(i) Die Funktion E~ und D~ sollen effizient berechenbar sein, und
(ii) ohne c~ zu kennen ist es unm6glich oder zumindest im komplexitS~tstheo-
retischen Sinne schwer, aus einem gegebenen Krypt ot ext E~(z) den Klartext
z zu berechnen.
Wahrscheinlich ist CAESAR das einfachste Kryptosystem. Seien die Klartexte
W6rt er fiber dem lateinischen Alphabet mit 26 Buchstaben. Die Menge der
Schliissel $ ist {0, 1, 2, . . . , 25}. Fiir einen gegebenen Schliissel k E $ ersetzt
man bei der Verschliisselung jeden Buchstaben des Klartextes durch einen
Buchstaben, der in der alphabetischen Ordnung um k Positionen weiter hinten
liegt. Am Ende des Alphabets geht man zyklisch wieder zum Anfang. So erhS~lt
man f/ir k = 3 und den Klartext
KRYPTOGRAPHIEISTFASZINIEREND
den Krypt ot ext
NUBSWRJUDSKLHLVWIDVCLQLHUHQG.
Dieses Krypt osyst em ist aber leicht zu brechen. Wenn man weifi, dass es sich
um CAESAR handelt, reicht es aus, alle 26 m6glichen Schliissel durchzu-
probieren. Schwerer kann man es dem Kryptoanalytiker machen, indem man
Schliissel aus {0, 1 , . . . , 26} ~ fiir ein m E I N- {0} betrachtet. Fiir einen sol-
9.3 Public-Key-Kryptosysteme und RSA 321
chen Schliissel (~ = al , a2, . . . , (~,~ zerteilt man den Klartext in Bl6cke der
L~nge rn und ersetzt den/ - t en Buchstaben jedes Blocks durch den Buchsta-
ben, der in der alphabetischen Ordnung um ai Positionen weiter hinten liegt.
Falls a = 3, 1, 6, dann erhS~lt man fiir den Klartext
K R Y P T 0 G R A P H I E
3 1 6 3 1 6 3 1 6 3 1 6 3
den Krypt ot ext
N S E S U U J S G S I 0 H.
Dieses Kryptosystem kann man auch brechen, wenn man z.B. die Kenntnis der
H~ufigkeit des Auftretens der Buchstaben in konkreten natiirlichen Alphabe-
ten einsetzt. Es existieren aber auch klassische Kryptosysteme, die sehr schnell
arbeiten und die man mit dem heutigen Wissen nicht brechen kann. Der Nach-
teil der klassischen Kryptosysteme liegt darin, dass sie auf einem gemeinsamen
Geheimnis von Sender und Empfgnger basieren. Die Kenntnis des Verschliisse-
lungsmechanismus impliziert direkt auch die Kenntnis des Entschliisselungs-
mechanismus (hS~ufig sind die Schl/issel f/Jr beide Verfahren gleich). Das bedeu-
tet, dass der Sender und der Empf~nger sich zuerst auf einen festen Schliissel
einigen miissen, ohne fiber ein Kryptosystem zur sicheren Kommunikation zu
verfiigen. Wie man dieses Problem 16sen kann, ist das Thema des nS~chsten
Abschnitts.
9.3 Publ i c-Key-Krypt osyst eme und RSA
Die in Abschnitt 9.2 vorgestellten klassischen Kryptosysteme nennt man auch
symmetrische Kryptosysteme, weil man mit Kenntnis des Verschltisselungs-
verfahrens (Entschliisselungsverfahrens) einfach die Entschliisselungsprozedur
(Verschliisselungsprozedur) ableiten kann. Damit sind Sender und EmpfS~nger
gleichwertig und teilen sich den Schliissel als ein gemeinsames Geheimnis. Au-
tier dem bereits erwS~hnten Problem der Realisierung einer sicheren Einigung
auf einen gemeinsamen Schliissel hat das System noch eine andere SchwS~che.
Wenn man ein Kommunikationssystem hat, in dem sich mehrere Teilnehmer
den gleichen Schliissel teilen, reicht ein VerrS~ter, und die Sicherheit der gesam-
ten Kommunikation bricht zusammen. Eine revolutionS~re Idee zur Uberwin-
dung dieses Problems basiert auf einer komplexitgtstheoretischen Uberlegung.
322 9 Kommunikation und Kryptographie
Ftir die Verschliisselung sucht man eine sogenannte Ei nwe g- Funkt i on f, die
folgende Eigenschaften haben soll:
(i) f ist effizient berechenbar,
(ii) f - 1 ist nicht effizient berechenbar, und
(iii) f - 1 ist effizient berechenbar, falls man eine geheime Information kennt
(in Analogie zu Zeugen und Zertifikaten in Kapitel 6 und 8).
Wenn man eine solche Einweg-Funktion f hSotte, k6nnte der EmpfS~nger f
ver6ffentlichen, und die Sender k6nnten f zur Verschliisselung der Nachrichten
benutzen. Trotz der Ver6ffentlichung von f (z.B. in einem Telefonbuch) sichert
uns die Eigenschaft (ii), dass niemand die Krypt ot ext e entschliisseln kann. Nur
der Empfgnger, der als einziger eine geheime zusgtzliche Information fiber f
besitzt, kann die Krypt ot ext e entschliisseln. Kryptosysteme, die auf diesem
Prinzip basieren, nennt man Publ i c - Ke y- Kr ypt os ys t e me (Kryptosysteme
mit einem 6ffentlichen Schliissel).
Die Frage ist, ob solche Einweg-Funktionen iiberhaupt existieren. Man k6nnte
sogar meinen, dass die Antwort nein sein sollte, weil die drei Eigenschaften (i),
(ii) und (iii) fiir eine Funktion f zusammen unnatiirlich aussehen. Dass die
Idee doch nicht so abwegig ist, zeigt das folgende Beispiel.
Tab. 9.1
K
R
Y
P
T
O
R
A
P
H
I
E
Name Telefonnummer
Knuth 001 281 43 7529 46
Rivest 001 73 41 1 020745
Yao 001 273 459 1 223 3
Papadimitriou 00372453008122
Thomas 0049 241 773 8429
Ogden 0001 273 9 226541
Rabin 000483 27450028
Adleman 001 73 555248001
Papadimitriou 00372453008122
Hop croft 0001 3 7824423 58
Ibarra 001 243 2701 009 8
Edmonds 00183274553211
Betrachten wir die folgende Verschliisselung. Jeder Buchstabe wird einzeln
durch eine Folge von 14 Dezimalziffern verschliisselt. Fiir jeden Buchstaben
wSohlt man nichtdeterministisch aus irgendeinem Telefonbuch einen Namen,
der mit diesem Buchstaben anfS~ngt, und die entsprechende Telefonnummer
nimmt man in den Krypt ot ext auf. Falls die Nummer weniger als 14 Ziffern
9.3 Public-Key-Kryptosysteme und RSA 323
h a t , s e t z t m a n a n d e n A n f a n g e n t s p r e c h e n d v i e l e N u l l e n . T a b . 9 . 1 e n t h S ~ i t
e i n e T a b e l l e , d i e z e i g t , w i e m a n a u f d i e s e W e i s e d a s W o r t K r y p t o g r a p h i e v e r -
s c h l i i s s e l n k a n n . V o r a u s g e s e t z t , d a s s a l l e a u i 3 e r d e m E m p f / ~ n g e r n u r k l a s s i s c h e
T e l e f o n b i i c h e r h a b e n , d i e n a c h d e m N a m e n s o r t i e r t s i n ( l , i s t e s e i n e s e h r a u f -
w e n d i g e A u f g a b e , d i e T e l e f o n n u m m e r i n d e m T e l e f o n b u c h z u f i n d e n , u m d e n
d e r N u m m e r z u g e h 6 r i g e n N a m e n z u e r f a h r e n 1 . N u r d e r E m p f S ~ n g e r , d e r e i n
n a c h T e l e f o n n u m m e r n s o r t i e r t e s W e l t t e l e f o n b u c h b e s i t z t , k a n n e f f i z i e n t d e n
K r y p t o t e x t e n t s c h l i i s s e l n .
Das vorgestellte Beispiel ist nur eine Ideenillustration und wir wollen es nicht
ernsthaft als ein Krypt osyst em in Bet racht ziehen. Bevor wir aber einen ernst-
haften Ent wurf eines Krypt osyst ems mit 5ffentlichen Schl/isseln vorstellen, ge-
ben wir eine formale Definition einer Einweg-Funktion.
Def i ni t i on 9 . 1 . Se i e n E und F zwei Al phabet e. Ei ne Funk t i on f " E* ~ F*
hei f l t Ei nwe g- Funkt i on, f al l s si e f ol gende Ei ge ns c haf t e n hat.
( i i )
Es exi s t i er en Ko n s t a n t e n c und d a u s IN - {0}, so dass f i i r alle x E E*,
! . I x I <_ If ( x ) <_ d . x .
{ Da s bedeut et nut , dass I/(x)l in linearer Rel at i on st ehen.}
Di e Funk t i on f k ann ma n i n pol y nomi e l l e r Ze i t berechnen.
Fi i r j e de n r a n d o mi s i e r t e n pol y nomi e l l e n Al g o r i t h mu s A und j edes k E
I N- { 0} exi s t i er t ei ne Ko n s t a n t e hA, k , 8o dass f i i r j edes n >_ nA,k und ei n
zuf i i l l i g aus ges ucht es w e E ~ die Wahr s c he i nl i c hk e i t 2, dass A( f ( w) ) -
w, kl ei ner als n - k ist.
{ Di e s e Be di ngung si chert , dass pol y nomi e l l viele unabhi i ngi g wi ederhol t e
Li i uf e ei nes r a n d o mi s i e r t e n pol y nomi e l l e n Al g o r i t h mu s ni cht z ur Berech-
hung yon f - 1 mi t k o n s t a n t e r Fe hl e r wahr s c he i nl i c hk e i t f i i hr en k d n n e n . }
Bisher hat man von keiner Funkt i on bewiesen, dass sie eine Einweg-Funktion
ist. Dies hS~ngt hauptsS~chlich mit dem Schwierigkeitsgrad von Beweisen un-
terer Schranken in der Komplexit~tstheorie zusammen. Trot zdem kennt man
einige plausible Kandi dat en. Ein Kandi dat ist das Potenzieren modulo einer
natiirlichen Zahl n, das man, wie in Kapitel 8 gezeigt wurde, effizient berech-
nen kann. Die inverse Funkt i on ist der diskrete Logari t hmus (das AuflSsen der
Gleichung a x rood n = b nach der Unbekannt en x), fiir deren Berechnung kein
1Man kSnnte auch auf die Idee kommen, die Telefonnummer einfach anzurufen. Abgesehen
von den Kosten ffir die Anrufe kann man sich auch schnell in einem Experiment davon
fiberzeugen, dass dieser Weg keinen einfachen Erfolg garantiert.
2Die Wahrscheinlichkeit betrachtet man fiber zuf~llige Entscheidungen von A sowie tiber die
zuf/~llige Wahl von w.
324 9 Kommunikation und Kryptographie
effizienter (randomi si ert er) Al gori t hmus bekannt ist. Ein anderer Kandi dat f/Jr
eine Ei nweg-Funkt i on ist die Mul t i pl i kat i on von zwei Zahlen, die offensichtlich
effizient berechenbar ist. Die inverse Funkt i on ist die Fakt ori si erung, fiir die
kein etfizienter Al gori t hmus bekannt ist. Auf der Schwierigkeit der Fakt ori -
sierung basi ert das folgende Publ i c- Key- Kr ypt osyst em RSA, dass nach seinen
Erfi ndern Rivest, Shami r und Adl eman benannt wurde. Sei ggT(a, b) fiir zwei
Zahl en a, b E IN der grSt3 te gemei nsame Teiler yon a und b.
Der Empf~nger best i mmt die Verschliisselung und die Ent schl t i ssel ung durch
folgende Berechnung. Er generiert zufgllig zwei grot3e Pr i mzahl en a p und q und
berechnet 4
n =p . q und g( n) = ( p- 1 ) - ( q- 1).
Dangch w~hlt er ein groi3es d > 1, so dgss
ggT(d, p( n) ) = 1 (9 .1 )
gilt und berechnet die Zahl e, 1 < e < ~(n), so dass
e. d mod ~(n) = 1. ( 9.2)
Die Zahl en n und e bilden den 5ffentlichen Schliissel und die Zahl en p, q, ~( n)
und d bleiben das Gehei mni s des EmpfSongers. Bei der Chiffrierung bet r acht en
wir Kl ar t ext als eine Dezi mal zahl , die kleiner als n ist. Wenn der Kl ar t ext
15~nger ist oder anders dargest el l t wird, wandel t man ihn zuerst i nj ekt i v in eine
Folge yon Dezi mal zahl en der LS~nge [log10 n 1 - 1 um und dann verschltisselt
man die Dezi mal zahl en der LS~nge ~lOgl0 n 1 - 1 einzeln. F/Jr eine Zahl w E
{0, 1 , . . . , n - 1} ist die Verschl i i ssel ungsfunkt i on
E~,~(w) = w ~ mod n.
Fiir einen Kr ypt ot ext c ist die Ent schl i i ssel ungsfunkt i on
Dd,~(c) -- c d modn.
Wi e wir schon in Kapi t el 8 gezeigt haben, sind E~,~ und Da,~ durch die Met hode
des wi ederhol t en Quadri erens etIizient berechenbar. Dank des r andomi si er t en
Pr i mzahl t est s aus Abschni t t 8.4 kann man auch zufgllige Pr i mzahl en effizient
3Grot3 bedeutet mehrere hundert Bits lang.
4Hierbei ist ~ die sogenannte Euler'sche Funktion. Fiir jede Zahl n ist ~(n) die Anzahl von
Zahlen a E IN, so dass ggT(a, n) = 1 und a < n.
9.3 Public-Key-Kryptosysteme und RSA 325
generieren. Die Zahl en d und e kann man mi t Hilfe des Eukl i di schen Algo-
r i t hmus ebenfalls effizient ber echnen 5 und somi t ist die gesamt e Schliisselbe-
r echnung des EmpfSmgers effizient durchfi i hrbar. Man kennt keinen effizienten
(randomi si ert en) Al gori t hmus, der aus der Kennt ni s yon e und ne i ne der Zah-
len d, p, q oder p( n) ber echnen kann. Die Kennt ni s einer dieser vier gehei men
Zahl en reicht al l erdi ngs aus, um alle rest l i chen effizient zu berechnen. Genauso
kennt man kei nen effizienten Al gori t hmus, der aus E~,~(x), e und n (ohne d zu
kennen) den Kl ar t ext x best i mmen kann.
Jet zt wollen wir zeigen, dass RSA wirklich funkt i oni ert , d.h., dass
Da,~ (E~,~ (w)) = w
fiir alle w < n. Dazu benut zen wir den Eul er' schen Satz, der eine Verallgemei-
ner ung des Fer mat ' schen Sat zes ist.
S a t z 9 . 1 . S a t z v o n Eu l e r
Se i e n w u n d n z wei pos i t i ve nat i i r l i che Zahl e n mi t ggT( w, n) = 1, u n d sei
p ( n ) die Eu l e r ' s c h e Zahl y on n ( p ( n ) = I{a E { 1 , 2, . . . , n} l ggT( a , n) = 1}1 ).
Da n n gi l t
w ~(~) modn=l .
Der Eul er' sche Sat z ist eine Fol gerung aus Resul t at en der Gr uppent heor i e,
die besagen, dass die Or dnung jedes El ement es die Or dnung der Gr uppe teilt,
und dass die zyklische Gr uppe ( Z/ / ( n) ) * modul o n die Or dnung ~( n) h~t.
Nach der Defi ni t i on der Or dnung von El ement en einer Gr uppe gilt ftir jedes
w E ( Z / ( n ) ) * mi t einer Or dnung k
w k mod n = 1.
Weil p( n) = k. b ftir eine posi t i ve nat i i rl i che Zahl b, er hal t en wir
w ~(~) rood n w kb rood n
(w k modn) b modn
(1 ) b modn- 1 .
5Genauer: d wird als eine grot3e Zahl zufgllig gewghlt. Dann wird getestet, ob d teilerfremd
mit ~(n) ist. Falls nicht, wghlt man ein neues d. Da es hinreichend viele zu ~(n) teilerfremde
Zahlen gibt, wird d schnell gefunden. Die Zahl e wird automatisch durch den Euklidischen
Algotithmus zum Testen von ggT(d, ~(n)) = 1 mitbestimmt.
326 9 Kommunikation und Kryptographie
Auf gabe 9 .1 . Fiihren Sie einen alternativen Beweis des Euler' schen Satzes, indem Sie den
Beweis des Fermat' schen Satzes aus dem Abschnitt 8.4 verMlgemeinern. Das heii3t, beweisen
Sie Folgendes.
Seien xl, x2, . . . , x~(n) E {1, 2, . . . , n - 1} alle Zahlen b mit der Eigenschaft ggT(b, n) = 1.
Dann ist fiir jedes a c {1, 2, . . . , n- 1},
(axl mod n, ax2 mod n , . . . , axe(n) mod n)
eine Permutation yon Xl , X2 , . . . ,X~(n).
J et zt si nd wi r ber ei t , die Kor r e kt he i t von RSA zu bewei sen.
Sa t z 9 . 2. Se i e n p, q, n, e u n d d wi e i n RSA b e s t i mmt .
n a t i i r l i c h e n Z a h l e n w k l e i n e r als n
Da n n gi l t f i i r al l e
Da, ~(E~, n(w)) - w ~d rood n - w.
Be we i s . Nach der Wa hl von d und e bezi i gl i ch (9 .1 ) und (9 .2) gi l t
(9 .3 )
fiir ei n j E I N- {0}. Wi r mi i ssen al so bewei sen, dass
w i~(~)+1 r ood n - w (9 .4)
fiir alle w < n. Wi r unt er s chei den drei M6gl i chkei t en bezi i gl i ch der Rel at i on
zwi schen p, q und w.
(i) Ke i n e de r Pr i mz a h l e n p, q t e i l t w.
We nn p und q die Zahl w ni cht t ei l en und w < p . q , da nn
g g T( p , q, = 1
und da mi t si nd die Vor a us s e t z unge n der Eul er ' s chen Sat zes fiir n =p . q und
w erffillt. Da he r ist
w ~(~) modn=l
und
w i~(~) r ood n - 1. (9 .5)
We nn ma n bei de Sei t en von (9 .5) mi t w mul t i pl i zi er t , erhSJt ma n die ange-
s t r ebt e Gl ei chung (9 . 4).
9.4 Digitale Unterschriften 327
(ii) Ei n e der Pr i mz a h l e n p u n d q t ei l t w, u n d die ander e t ei l t w ni cht .
O.B.d.A. setzen wir voraus, dass p die Zahl w teilt und dann q die Zahl w nicht
teilt. Aus dem Satz von Fermat folgt w q-1 rood q - 1, wa s w ( q- 1 ) ( p- 1 ) rood q -
1 impliziert, d.h.
w ~(~) modq- 1
und somit
W j ~( n) rood q- 1.
Weil p die Zahl w teilt, gilt (9 .6) auch modulo n - p . q , d.h.
w j~(~) rood n- 1.
(9 .6)
Durch Multiplizieren mit w erreicht man auch hier das gewiinschte Ergebnis.
(iii) Be i de Zahl e n p u n d q t ei l en w.
Diese M6glichkeit kann nicht auftreten, weil p und q Primzahlen sind und
p . q > w .
Die Public-Key-Kryptosysteme haben viele Vorteile gegenfiber den symmetri-
schen Kryptosystemen, weil sie uns die Herstellung von sicheren Kommuni-
kationsprotokollen fiir unterschiedliche Aufgaben ermSglichen (wie z.B. digi-
tale Unterschriften), die man mit symmetrischen Krypt osyst emen nicht 15sen
kOnnte. Die klassischen symmetrischen Kryptosysteme haben aber auch einen
wesentlichen Vorteil gegeniiber den Public-Key-Kryptosystemen. Insbesonde-
re auch aufgrund der Hardwarerealisierung sind sie in der Praxis oft 1 00-real
schneller als Public-Key-Verfahren. Das fiihrt meistens dazu, dass man ein
Public-Key-Kryptosystem nur zum Austausch eines Schliissels fiir ein sym-
metrisches Krypt osyst em verwendet und den Rest der Kommunikation mit
symmetrischen Kryptosystemen realisiert.
9.4 Digitale Unterschriften
Um eine einfache Anwendung der Public-Key-Kryptosysteme zu zeigen, stel-
len wir zwei einfache Protokolle fiir digitale (elektronische) Unterschriften vor.
Handschriftliche Unterschriften sind juristisch gesehen eine Art Echtheitsga-
rantie. In der digitalen Kommunikation kann man aber keine handschriftlichen
Unterschriften leisten. Aufierdem hS~tte man gerne noch fS~lschungssicherere
Unterschriften, als es die handschriftlichen sind.
328 9 Kommunikation und Kryptographie
Bet racht en wir folgendes Szenario. Ein Kunde K will der Bank B eine Echt-
hei t sgarant i e fiir eine {Jberweisung von seinem Konto geben, oder ein anderes
Dokument fiir die Bank unterschreiben. Wi r stellen folgende nattirliche Forde-
rungen an Kommuni kat i onsprot okol l e fiir solche digitalen Unterschriften.
(i)
(ii)
B muss vonder Echtheit der Unterschrift von/ s iiberzeugt werden. So-
wohl B als auch K miissen vor einem Dri t t en (Fglscher) F geschiitzt
werden, der sich als K gegen/iber B ausgeben m6chte.
K sollte vor solchen Aktivit/~ten von B geschfitzt werden, bei denen B
behaupt et , ein unterschriebenes Dokument von K zu haben, obwohl K
dieses Dokument nicht unterschrieben hat (d.h. B darf es nicht erlernen
k6nnen, die Unterschrift yon K zu fglschen).
Aufgabe 9 .2. Entwerfen Sie ein Kommunikationsprotokoll fiir digitale Unterschriften, dass
auf einem klassischen Kryptosystem basiert und die Erfiillung der Forderung (i) garantiert.
Die Eigenschaft (ii) ist schwerer als (i) zu erffillen, weil sie auf den ersten Blick
kont rai nt ui t i v aussieht. Einerseits soll B vonde r Echtheit der Unterschrift
von K fiberzeugt werden, und ffir die Uberprfifung muss er etwas fiber die
Generi erung (Erzeugung) der Unterschrift wissen. Andererseits darf B nicht
zu viel fiber die Art, wie K unterschreibt, wissen, weil sonst B die Unterschrift
von K nachmachen k6nnte.
Die folgende einfache L6sung bietet das Konzept der Publ i c-Key-Krypt osys-
teme.
Der Kunde K hat ein Publ i c-Key-Krypt osyst em mit der Verschliisselungsfunk-
tion E~ und der Entschlfisselungsfunktion D~:. Die Bank B kennt die 6ffent-
liche Verschliisselungsfunktion EK. Dann kann K wie folgt eine Unterschrift
leisten. K ni mmt das Dokument w und schickt (w, DK(w)) an B. B iiberprfift
dann mit dem Test ,,w = EK(DK(w))" die Echtheit der Unterschrift. Weil kein
anderer auger K die Nachricht DK(w) berechnen kann, ist B von der Echtheit
der Unterschrift (w, DK(w)) /iberzeugt. Dami t ist die Forderung (i )erf/ i l l t .
Weil der Schliissel EK 6ffentlich ist, hat auch B noch zusgtzlich die M6glich-
keit, jeden Dri t t en 6 mit dem Paar (w, Dk(w)) iiberzeugen zu k6nnen, dass K
das Dokument w unterschrieben hat. Die Forderung (ii) ist auch erfiillt, weil
die Kennt ni s von (w, Dk(w)) B nicht helfen kann, ein anderes Dokument u mit
D~c(u) zu unterschreiben.
Aufgabe 9 .3 . Das vorgestellte Protokoll hglt das Dokument w nicht geheim. Jeder, der
lauscht, kann w lernen. Stellen wir also die folgende zus/~tzliche Bedingung.
6der E/( kennt und mit Sicherheit weiI3, dasses der 6ffentliche Schliissel von K ist
9.4 Digitale Unterschriften 329
(iii) Kein Dritter, der die Kommunikation zwischen B und K belauscht, darf den Inhalt
des unterschriebenen Dokumentes erfahren.
Entwerfen Sie ein Kommunikationsprotokoll, das alle drei Bedingungen (i), (ii) und (iii)
erfiillt.
Bet racht en wir jetzt eine kompliziertere Version von digitalen Unterschriften,
die man das Aut he nt i z i t ~i t s pr obl e m nennt. Hier braucht man kein Doku-
ment zu unterschreiben, sondern man muss nur den anderen von seiner eigenen
Ident i t gt fiberzeugen. Die Forderungen an ein Kommuni kat i onsprot okol l fiir
die Authentifizierung sind wie folgt:
(i' ) genau wie (i)
(ii' ) K sollte von solchen Akt i vi t gt en von B geschiitzt werden, bei denen B
sich gegenfiber einem Dri t t en als K ausgeben m6chte r.
Unser Kommuni kat i onsprot okol l ist nicht fiir das Aut hent i zi t gt sprobl em ge-
eignet. B lernt die Unterschrift (w, DK( w) ) i n dieser elektronischen Kommu-
nikation und kann sich in der Kommuni kat i on mit einem Dri t t en mit dieser
Unterschrift als K ausgeben. Es gibt Situationen, in denen so etwas sehr un-
erwiinscht ist. Auf3 erdem kann i rgendj emand der Kommuni kat i on lauschen und
dabei auch das Paar (w, DK(w)) lernen. Er kann dann ebenfalls mit der 6ffentli-
chen Verschliisselungfunktion E~: die Echtheit der Unterschrift iiberpriifen und
sich dann als K ausgeben.
Die L6sung des Aut hent i zi t gt sprobl ems findet man in der Einbeziehung zwei-
er Publ i c-Key-Krypt osyst eme. K besitzt das bereits erwghnt e Krypt osyst em
(DK, EK) und B hat ein anderes Publ i c-Key-Krypt osyst em(DB, EB). Die Ver-
schliisselungfunktionen EK und EB sind 6ffentlich, und dami t auch sowohl K
als auch B bekannt. Die Funkt i on DK ist alas Geheimnis von K und die Funk-
tion DB ist das Geheimnis von B. K leistet seine Unterschrift entsprechend
dem folgenden Protokoll.
r Also ist (ii') ghnlich zu (ii), weil es eine Forderung gegen potentielle F/ilschung der Unter-
schrift yon K durch B ist.
330 9 Kommunikation und Kryptographie
9 B wS~hlt zufS~llig eine Zahl w und schickt E~c(w) an K.
9 K dur h
K berechnet c = EB(D~c(w)) und schickt es an B.
9 B iiberpriift, ob w = EK(DB(c)) = EK(DB(EB(DK(w)))).
Es ist offensichtlich, dass/ ? vonder Echtheit der Unterschrift von/ ( iiberzeugt
ist. K ist der Einzige, der D~: kennt und somit der Einzige, der aus E~c(w)
die Zahl w bestimmen kann, und so die Nachricht D~c(w) und somit auch
Die Nachricht EK(w) kann niemand auger K entschltisseln und die Nach-
richt EB(DK(w)) kann niemand auger /? entschltisseln. Deswegen kann kein
Lauscher F die Unterschrift (w, EB(D~c(w)))lernen und deren Echtheit tiber-
prtifen. Damit ist die Bedingung (i) erftillt.
/? lernt in dieser Kommunikation die Unterschrift (w, EB(D~c(w))). Durch meh-
rere Auftr~ge von K kann/ 3 mehrere solche Paare kennenlernen. Das hilft ihm
aber nicht dabei, sich als K auszugeben. Wenn man in dem ganzen Netz unter
diesem Protokoll arbeitet, wird jeder Dritte C' zuerst E~c(u) an B, der sich als
K ausgibt, schicken. Weil B kein D~: besitzt, kann er u nicht bestimmen. B
kann hgchstens f/Jr alle gespeicherten Paare (w, EB(D~c(w))) den Wert E~c(w)
berechnen und mit E~c(u) vergleichen. Falls E~c(w)= E~c(u)ist, hat B Gltick
gehabt und kann sich als K ausgeben. Weil aber ~t zufS~llig als eine Zahl yon
mehreren hundert Dezimalziffern gewS~hlt wurde, ist die Wahrscheinlichkeit
des Erfolges yon B auch bei einer groBen Unterschriftensammlung kleiner als
1 durch die Anzahl der Protonen im bekannten Universum. Diese Wahrschein-
lichkeit kann man noch geringer halten, indem man regelm~gig die Schltissel
~ndert.8
A u f g a b e 9 . 4 . B e t r a c h t e n S i e d a s A u t h e n t i z i t / R s p r o b l e m , b e i d e m m a n e i n e U n t e r s c h r i f t
l e i s t e t , u m s i c h a l s P e r s o n K a u s z u g e b e n , u n d n i c h t u m e i n D o k u m e n t z u u n t e r s c h r e i b e n .
I n d i e s e m F a l l a r b e i t e t d a s v o r g e s t e l l t e P r o t o k o l l m i t g r o g e r W a h r s c h e i n l i c h k e i t z u v e r l ~ s s i g .
B e w i r k e n S i e d u r c h e i n e k l e i n e A n d e r u n g d i e s e s P r o t o k o l l e s , d a s s d i e W a h r s c h e i n l i c h k e i t ,
d a s s s i c h / 3 a l s K g e g e n i i b e r e i n e m D r i t t e n a u s g e b e n k a n n , g l e i c h 0 i s t . D i e s m u s s u n a b h / ~ n g i g
d a v o n g e l t e n , w i e g r o g d i e L i s t e d e r v o n B g e s a m m e l t e n U n t e r s c h r i f t e n y o n K i s t .
8Es gibt auch bessere Protokolle fiir digitale Unterschriften, deren Vorstellung aber den
Rahmen dieses Lehrbuches sprengen wiirde. Die weiterfiihrende Literatur ist im Abschnitt
9 .7 angegeben.
9.5 Interaktive Beweissysteme und Zero-Knowledge-Beweise
9.5 Interaktive Bewei ssysteme
und Zero-Knowledge-Beweise
331
In Kapitel 6 haben wir gelernt, dass jede Sprache aus NP einen polynomiellen
Verifizierer hat. Dies bedeutet, dass alle Aussagen x E L fiir ein L E NP einen
Beweis polynomieller LS~nge in Ixl haben, und dass dieser Beweis in polyno-
mieller Zeit verifiziert werden kann, d.h., dass beziiglich der Verifikation die
Sprachen aus NP leicht sind. In Kapitel 8 gelangten wir zu der Einsicht, dass
man die praktische LSsbarkeit mit randomisierten polynomiellen Berechnun-
gen statt mit deterministischen polynomiellen Berechnungen verkniipfen sollte.
So entsteht die Frage, f/ir welche Sprachen (Entscheidungsprobleme) man Be-
weise ,,praktisch" verifizieren kann. Um diese Fragestellung zu untersuchen,
betrachten wir folgendes Kommunikationsprotokoll.
Wit haben zwei Tei l nehmer- den B e we i s e r und den Ve r i f i z i e r e r . Der Bewei-
set ist ein Algorithmus (eine TM), der keiner Komplexit~ttseinschr~nkung un-
terliegt. Der Verifizierer ist ein randomisierter polynomieller Algorithmus (eine
randomisierte polynomielle TM). Fiir eine Sprache L erhalten beide Teilneh-
met die gleiche Eingabe x. Der Verifizierer und der Beweiser diirfen kommuni-
zieren, indem sie Nachrichten (WSrter) polynomieller L~nge in IxI austauschen.
Der Beweiser mit unbeschr~nkter Berechnungsst~trke will den Verifizierer yon
der Tatsache , , x E L" tiberzeugen, und zu diesem Zweck darf er auch ltigen
(falsche Aussagen produzieren). Die Aufgabe des Verifizierers ist es, Fragen an
den Beweiser zu stellen, so dass er mit hoher Wahrscheinlichkeit bestimmen
kann, ob der Beweiser einen Beweis von , , x E L" hat oder nicht. Die Anzahl
der Kommunikationsrunden ist hSchstens polynomiell in Ixl und die gesamte
Berechnung des Verifizierers l~iuft in polynomieller Zeit. Der Verifizierer muss
die Kommunikation mit der Entscheidung x E L oder x ~ L beenden. Dieses
Kommunikationsprotokoll zwischen Beweiser und Verifizierer nennt man ein
interaktives Beweissystem.
Def i ni t i on 9 .2. Sei L c E* f i i r ei n Al phabet E. Wi t sagen, dass L ei n in-
t er akt i ves Bewei s s ys t em besi t zt , f al l s ei n Veri f i zi erer ( r a n d o mi s i e r t e r po-
l y nomi e l l e r Al g o r i t h mu s ) V exi st i ert , so dass f i i r alle x E E* gilt:
f al l s x E L, dann exi s t i er t ei n Be we i s e r B, so dass V nach der Ko m-
2
mu n i k a t i o n mi t B das Wor t x mi t der Wahr s c he i nl i c hk e i t gr6f l er als 5
akzept i ert , und
{ We n n x C L, exi s t i er t ei n Bewei s er , der ei nen Be we i s von ,,x C L "
hat, und di es en Be we i s k ann der Veri f i zi erer ef f i z i ent i i berpri i f en.}
332 9 Kommunikation und Kryptographie
(ii) f al l s x ~ L, dann endet f i i r j eden Be we i s e r B die Ko mmu n i k a t i o n zwi-
schen V und B mi t dem Verwerf en von x mi t ei ner Wahr s chei nl i chkei t
2
grSf l er als 5"
{ We n n x ~ L, gibt es kei nen Bewei s von ,,x E L " und so mus s j ede
Strategie, den Veri f i zi erer vom ungi i l t i gen ,,x E L " zu iiberzeugen, mi t
hoher Wahr s chei nl i chkei t ent deckt werden.}
Wi t def i ni eren die Kl asse IP dut ch
I P = { L [ L besitzt ei n i nt erakt i ves Be we i s s y s t e m} .
Die BeschrSmkung der Fehlerwahrscheinlichkeit in Definition 9 .2 ist nicht ent-
scheidend. Nach O(Ixl) unabhS~ngigen Wi ederhol ungen der Kommuni kat i on
eines i nt erakt i ven Beweissystems kann man die Fehlerwahrscheinlichkeit un-
t er 2 - ~ driicken, und so ~tndert die Forderung der richtigen Ausgabe mi t einer
Wahrscheinlichkeit von mi ndest ens 1 - 2-1xl nichts an der Definition der Klasse
IP.
Das folgende Resul t at haben wir schon vorhergesagt .
L e mma 9 . 1 . NP C IP.
Bowel s. Weil NP = VP gilt, existiert fiir jede Sprache L c NP und jedes
x E L ein Zeuge (Beweis, Zertifikat) c von ,,x E L" mi t einer in Ixl polyno-
miellen L~tnge. Ein Beweiser, der c besitzt, schickt einfach c dem Verifizierer,
der in pol ynomi el l er Zeit det ermi ni st i sch mi t Sicherheit die Tat sache ,,x E L"
iiberpriift. Wenn x ~ L, existiert kein Beweis von ,,x E L" und so gibt es keine
MSglichkeit, den det ermi ni st i schen Verifizierer in pol ynomi el l er Zeit in Ixl von
,,x E L" zu tiberzeugen. D
Die Frage ist j et zt , ob es auch i nt erakt i ve Beweissysteme fiir Sprachen gibt,
die auf3 erhalb NP liegen. Wi r bet r acht en folgendes Probl em. Gegeben sind
zwei Gr aphen G1 und G2, und man soll entscheiden, ob G1 und G2 i somorph 9
sind. Das Pr obl em der Grapheni somorphi e ist in NP, weil man den Isomorphis-
mus ni cht det ermi ni st i sch errat en und dann effizient det ermi ni st i sch verifizieren
kann. Von dem kompl ement gr en Pr obl em weir3 man nicht, ob es in NP liegt.
Die Ver mut ung ist eher negativ, weil man nicht gl aubt , dass das ni cht det er-
ministische Rat en fiir die Uberpr/ i fung der Nichtexistenz eines Isomorphi smus
9Zwei Graphen sind isomorph, wenn man die Knoten eines der Graphen so nummerieren
kann, dass man einen Graph bekommt, der identisch mit dem anderen Graphen ist.
9.5 Interaktive Beweissysteme und Zero-Knowledge-Beweise 333
zwischen zwei gegebenen Graphen hilfreich sein k6nnte. Sei
NICHTISO = {(G1 , G2) [ G1 und G2 sind nicht isomorph}.
Wir beschreiben jetzt ein interaktives Beweissystem fiir NICHTISO. Sei (G1,
G2) eine Eingabe hierfiir. Der Verifizierer V iiberpriift zuerst, ob G1 und G2
die gleiche Anzahl yon Kant en und Knoten haben. Falls nicht, akzeptiert V
die Eingabe (G1, G2) mit Sicherheit. Wenn G1 und G2 die gleiche Anzahl yon
Kant en und Knoten haben, wS~hlt V zufgllig ein i E { 1, 2} und eine Permuta-
tion (jl, j 2, . . -, jn) von (1, 2, . . . , n), wobei n die anzahl der Knoten ist, beide
mit uniformer Wahrscheinlichkeitsverteilung. Dann ni mmt V den Graphen Gi
und permutiert seine Knoten entsprechend (j,, j 2, . . . , j~). Den resultierenden
Graphen Gi(jl, j 2, . . . , jn) schickt V zu dem Beweiser B mit der Aufforderung
zu deklarieren, ob Gi ( j l , j 2, ... ,jn) isomorph zu G1 oder zu G2 ist. Wenn G1
und G2 nicht isomorph sind, kann B erkennen (berechnen), dass Gi isomorph
zu Gi(jl, j 2, . . . , j~) ist und schickt die richtige Antwort i zu V. Falls aber G,
und G2 isomorph sind, hat B keine M6glichkeit auszurechnen, welche zufgllige
Zahl i der Verifizierer gezogen hat. Dem Beweiser bleibt nicht anderes iibrig,
als ein j C {1, 2} zu raten und an V zu schicken. Die Wahrscheinlichkeit, dass
1 Falls j -/= i verwirft V die Eingabe. Falls j - i, wiederholt V
j - i i s t 5"
die Kommunikation mit einem neuen zufgllig gewghlten i und mit einer neuen
zufgllig gewghlten Permutation. Wenn danach der Beweiser wieder die rich-
tige Antwort gibt, dann akzeptiert V die Eingabe (G1, G2). Wenn die zweite
Antwort falsch ist, dann verwirft V die Eingabe.
Wir zeigen jetzt, dass das beschriebene Protokoll ein interaktives Beweissys-
tern fiir NICHTISO ist. Falls (G1, G2) E NICHTISO, existiert ein Beweiser,
der zwischen G1 und G2 unterscheiden kann und deswegen gibt er immer die
richtige Antwort. Daher akzeptiert V die Eingabe (G1, G2) mit Sicherheit. Falls
(G,, G2) r NICHTISO, kann kein Beweiser zwischen G, und G2 beziiglich Iso-
morphie unterscheiden. Die Wahrscheinlichkeit, dass der Beweiser t rot zdem
1 1 1 Damit ist die Fehlerwahrschein- zweimal die richtige Antwort rS~t, ist 7. 7 - a.
1
lichkeit in diesem Fall a. Wenn der Verifizierer k Anfragen an B stellen wiirde,
wiirde sich die Fehlerwahrscheinlichkeit auf 2 -k reduzieren.
Wie stark das randomisierte Verifizieren wirklich ist, zeigt das folgende Resul-
tat.
S a t z 9. 3. * S a t z v o n S h a mi r
IP = PSPACE.
334 9 Kommunikation und Kryptographie
Das Bemerkenswert e an diesem Resul t at ist, dass die Aussagen , , x E L " f/Jr
die Sprachen L E PSPACE exponentiell lange Beweise haben diirfen, die man
wegen ihrer L/~nge nicht vollst/~ndig i i bert ragen und lesen kann, und t r ot zdem
kann man deren Exi st enz in pol ynomi el l er Zeit randomi si ert tiberpr~fen. 1~
Als letztes m6cht en wir die Zero-Knowl edge-Bewei ssyst eme bet racht en, die
krypt ographi sche Anwendungen haben. Hier verzichten wir auf die formale
Definition. Die Idee best eht in der zusgtzlichen Forderung an das Beweissy-
stem, dass der Verifizierer in der Kommuni kat i on mi t dem Beweiser nichts
(kein einziges Bit) lernt auger dem, was er sich auch alleine ohne Kommuni ka-
t i on mi t dem Beweiser ausrechnen kann 11. Dies bedeut et unt er anderem, dass
V kein Bit des Beweises, in dessert Besitz sich der Beweiser befindet, erfghrt.
Zero-Knowl edge-Bewei ssyst eme sind von grofier prakt i scher Bedeut ung. Eine
mSgliche Anwendung liegt z.B. in folgender Si t uat i on. Wi r wollen eine Zu-
gangskont rol l e ftir einen Rechner konst rui eren, die nur die Benut zung mi t gtilti-
gem Passwort zul/~sst, aber dabei die Anonymi t gt des Nut zers nicht verletzt.
Dies bedeut et , dass der Benut zer in die Rolle des Beweisers schltipft und ver-
sucht, die Zugangskont rol l e (den Verifizierer) davon zu iiberzeugen, dass er im
Besitz eines Passwort es ist, ohne ein einziges Bit dieses Passwort es zu verrat en.
Eine andere Anwendung ftir Zero-Knowl edge-Bewei ssyst eme ist die Verwen-
dung pri vat er Informat i onen einer anderen Person zur Berechnung, ohne die
Dat en dabei zu lernen. Stellen wir uns vor, dass der Verifizierer einen Funkt i -
onswert f ( x, y) berechnen will und dabei nur den Wert y kennt. Der Beweiser
kennt x und ist bereit, dem Verifizierer zu helfen, aber nur unt er der Bedi ngung,
dass der Verifizierer kein einziges Bit yon x erfghrt. Fiir welche Funkt i onen und
Ent schei dungsprobl eme es Zero-Knowl edge-Bewei ssyst eme gibt, ist eine span-
nende Frage. Es ist ftir uns manchmal iiberraschend, wie viele Probl emst el -
lungen man mi t den Zero-Knowl edge Bewei ssyst emen bewgl t i gen kann. Zum
Beispiel kann man beweisen, dass jede Sprache aus NP ein Zero-Knowledge-
Bewei ssyst em hat. Wegen des Schwierigkeitsgrades und der umfangrei chen
ben6t i gt en Vorkenntnisse verzichten wir auf die Beweise und stellen nur ein
Zero-Knowl edge-Bewei ssyst em fiir den Gr apheni somor phi smus vor.
1~ Tatsache L c PSPACE besagt nur, dass die Beweise von ,,x c L" eine polynomielle
,,Breite" haben, wobei die Breite eines Beweises als die Ltinge der ltingsten Aussagen in einer
Folge gquivalenter Aussagen betrachtet wird.
11Dieses ,,nichts lernen" formalisiert man so, dass man die gesamte Kommunikation zwischen
V und B als einen Wahrscheinlichkeitsraum betrachtet, wobei die Wahrscheinlichkeitsver-
teilung durch die zuftilligen Entscheidungen von V bestimmt wird. Ein interaktives Beweis-
system ist dann Zero-Knowledge, wenn eine randomisierte polynomielle TM M existiert, die
diese Kommunikation mit der gleichen Wahrscheinlichkeitsverteilung generiert.
9.5 Interaktive Beweissysteme und Zero-Knowledge-Beweise 335
Eingabe: (G1, G2) f/Jr B und V. Sei n die Anzahl der Knot en in G1 und G2.
B: Der Beweiser w~thlt zuf~tllig ein i E {1, 2} und eine Permut at i on 7r =
(jl, j 2, . . . , jn) yon (1, 2, . . . , n). Danach wendet er 7c auf G~ an und schickt
den resultierenden Graphen Gi(Tr) an den Verifizierer.
V: Der Verifizierer wS~hlt zufS~llig ein j E { 1, 2} und schickt es an den Beweiser.
Dies entspricht der Anforderung, einen Beweis fiir den Isomorphismus
yon Gi(zr) und Gj zu liefern.
B: Falls G1 und G2 isomorph sind, best i mmt der Beweiser den Isomorphismus
~, so dass Gj(~) = Gi(Tr) und schickt ~ an den Verifizierer.
Falls G1 und G2 nicht isomorph sind und i = j , dann schickt der Beweiser
die Permut at i on ~ = 7r. Sonst (wenn kein Isomorphismus zwischen Gj
und G~(Tr) existiert) schickt der Beweiser ebenfalls ~ = 7r.
V: Der Verifizierer akzeptiert (G1, G2) genau dann, we nn Gj ( 5 ) = Gi(71-).
Analysieren wir zuerst, ob dieses Protokoll ein interaktives Beweissystem ist.
Falls G1 und G2 isomorph sind, kann der Beweiser immer eine Permut at i on 5
finden, so dass Gj(~) = G~(Tr) gilt. Dami t akzeptiert V die Eingabe (G1, G2)
mit Sicherheit (d.h. mit der Fehlerwahrscheinlichkeit 0). Falls G1 und G2 nicht
isomorph sind, kann B ein 5 mit Gj(5) = Gi(Tc) nur dann schicken, wenn i = j.
Die Wahrscheinlichkeit, dass i = j fiir zwei zufS~llige Zahlen i , j E {1 ,2}, ist
genau ~.1 Das k-malige Wiederholen dieses Protokolls, in dem V nur akzeptiert
wenn er k-real die richtige Antwort bekommt, driickt die Fehlerwahrscheinlich-
keit auf 2 -k.
Weil wir die formale Definition yon Zero-Knowledge-Beweissystemen nicht ge-
geben haben, k6nnen wir auch keinen formalen Beweis dieser Eigenschaft eines
Beweissystems fiihren. Trotzdem k6nnen wir intuitiv gut verstehen, warum die-
ses Protokoll ein Zero-Knowledge-Beweissystem ist. 0her den Isomorphismus
zwischen G1 und G2 (sofern einer existiert) wird in der Kommuni kat i on nichts
verraten. Die erste Kommunikationsnachricht Gi(~r) kann man als ein Zufalls-
ereignis betrachten, dass durch die zuf~tllige Wahl von i und ~r best i mmt wird.
Die zweite Nachricht j ist auch eine Zufallszahl und die Permut at i on 5 ist
ebenfalls durch die zufS~llig ausgesuchte Permut at i on 7r best i mmt (5 ist ent-
weder direkt 7r oder eine Anwendung der zufS~lligen Permut at i on 7r auf den
Isomorphismus zwischen G1 und G2). Dami t bildet fiir ein festes (G1, G2) die
Menge aller mSglichen Kommuni kat i onen (G~(Tr), j, 5) zwischen B und V einen
Wahrscheinlichkeitsraum. Man kann zeigen, dass der Verifizierer die Tripel
(G~(Tc),j, 5) auch alleine mit gleicher Wahrscheinlichkeitsverteilung erzeugen
kann. Daher kann der Verifizierer die Arbeit des Beweisers simulieren und so-
mit kann er aus der Kommuni kat i on nichts anderes erfahren, als das, was er
auch alleine berechnen kann.
336
9. 6
9 Kommunikation und Kryptographie
Ent wurf ei nes Kommuni kat i ons ne t z e s
Die Kommunikation zwischen unterschiedlichen Objekten wie Menschen, Rech-
nern, Prozessoren eines Parallelrechners usw. kann man durch unterschiedliche
Verbindungsarten realisieren. Jede Technologie stellt andere MSglichkeiten und
andere Einschrgnkungen dar und deswegen muss man sich bei dem Entwurf von
Telegraphennetzen, festen und drahtlosen Telefonnetzen, optischen Glasfaser-
netzen, parallelen Rechnern usw. jeweils mit anderen Problemen beschS~ftigen.
Eine Vielfalt yon Problemstellungen t ri t t auch bei dem Entwurf yon Kommu-
nikationsstrategien in gegebenen Netzen auf. Diese Vielfalt ist zu grog, um sie
systematisch in einem Abschnitt darzustellen. Deswegen ist unsere Zielsetzung
hier viel bescheidener. Wir wollen die Art der Problemstellung anhand eines
beispielhaften Entwurfes eines festen Verbindungsnetzes illustrieren.
Betrachten wir die folgende Aufgabenstellung. Wir haben 2n Teilnehmer
XO~ Xl ~ 9 9 9 ~ Xn - 1 ~ YO~ Yl , 9 9 9 , Yn - 1
die wir als Knoten eines Netzes darstellen. Wir sollen zwischen den x-Teilneh-
mern x0, Xl , . . . , X~_l und den y-Teilnehmern Y0, Yl , . . . , Y~-I ein Netz bauen,
so dass jederzeit jeder der x-Teilnehmer eine Verbindung fiir ein GesprS~ch
mit einem ausgew~hlten y-Teilnehmer bekommen kann. Das Netz betrach-
tet man als einen Graphen G = (V, E), x0, Xl , . . . , X~_l, Y0, Yl , . . . , Y~-I E V
und die Bereitstellung einer Verbindung yon xi zu yj bedeutet, einen Weg
xi , V l , . . . , v ~, yj zwischen xi und yj in G zu finden, bei dem keine Kante die-
ses Weges fiir GesprS~che zwischen anderen Paaren yon Knoten benutzt wird.
Dies bedeutet, dass jede Kante zu jedem Zeitpunkt nur ausschliefilich fiir ein
einziges Gespr~ch benutzt werden darf.
Die einfachste LSsung wiirde aus jedem Knoten xi eine Verbindung zu jedem
y-Teilnehmer ziehen. Dadurch bekommt man einen vollstgndigen bipartiten
Graphen, wie fiir n = 4 in Fig. 9.2 dargestellt. Diese LSsung ist aber prak-
tisch nicht realisierbar. Erstens hat man n 2 Kant en fiir 2n Teilnehmer, was fiir
n = 10000 die Anzahl der Verbindungsdr~hte auf 100 Millionen wachsen l~sst.
Auger den hohen Herstellungskosten und der hohen Kabelzahl, die das Netz
uniibersichtlich erscheinen lassen, kann man so ein Netz auch aus technologi-
schen Griinden nicht realisieren. Die Anzahl der zu einem Knoten inzidenten
Kant en (der Knotengrad) muss eine Konstante sein, d.h. darf nicht mit der
Anzahl der Teilnehmer wachsen.
Formulieren wir jetzt genauer die Anforderungen an eine mSgliche praktika-
ble LSsung. Jeder Knoten des Netzes darf hSchstens den Grad 4 haben, die
9.6 Entwurf eines Kommunikationsnetzes 337
X0 Xl X2 X3
Yo Yl Y2 Y3
Fig. 9.2
LO(v) ~ ~ v in LLRR
LU(v) RU(v)
LO(v) ~ RO(v)
v in L RRL
LU(v) RU(v)
(b)
Fig. 9.3
Tei l nehmerknot en haben h6chstens den Gr ad 2. Im Fol genden nennen wir die
Knot en, die nicht den Tei l nehmern entsprechen, die Schal t ungsknot en. Die
Schal t ungsknot en sind von der St r ukt ur her alle gleich (Fig 9 .3 ) und sehr ein-
fach. Jeder Schal t ungsknot en v hat genau 4 inzidente Kant en LO(v), LU(v),
I~O(v) und RU(v). Der Knot en v kann in ei nem yon zwei Zust gnden LL_RR
oder LRRL sein. Wenn v in dem LLRR Zust and ist, bedeut et das, dass die
Kant en LO(v) und LU(v) mi t ei nander ver bunden sind, und auch die Kant en
I~O(v) und RU(v) (Fig 9 .3 (a)). Wenn v in dem Zust and LI~_RL ist, liegen
LO(v) und RU(v) auf ei nem gemei nsamen Kommuni kat i onsweg und _RO(v)
verkn/ ipft mi t LU(v) ist ein Teil eines anderen Kommuni kat i onsweges (Fig
9 .3 (b)). Ein x-Tei l nehmerknot en u hat nur zwei Kant en L(u) und R(u) und
er kann sich alleine entscheiden, welche yon diesen bei den er fiir die Kommu-
ni kat i on benut zen will. Dami t hat u auch zwei Zust gnde L und _R beziiglich
der Kant e, die er zur Kommuni kat i on benut zt . Die erl aubt en Kommuni kat i -
onsanforderungen an das Netz sind durch eine Per mut at i on (i0, il, . . . , / n-i)
von (0, 1 , . . . , n - 1) gegeben. Eine Kommuni kat i onsauf gabe (i0, i l , . . . , i~-1 )
338 9 Kommunikation und Kryptographie
bedeutet, dass der x-Teilnehmer xj mit dem y-Teilnehmer Yi~ sprechen will
f~r j = 0, 1 , . . . , n- 1. Wir fordern, dass man ftir jede der n! Permutatio-
nen ( i 0, . . . , in-l) eine solche Zustandszuordnung der Schaltungsknoten finden
kann, dass die n Gesprache (x0, Y~0), (Xl, Y~I),--., (X~-l, Y~-I) simultan statt-
finden k6nnen. Ein Netz mit 2n Teilnehmern, das alle Permut at i onen yon
(0, 1 , . . . , n- 1) realisieren kann, nennt man n- Pe r mut a t i ons ne t z we r k. Im
Prinzip bedeutet dies, dass eine Festlegung von n kantendisjunkten Wegen
zwischen xj und yi~ ffir j = 0, 1 , . . . , n - 1 mSglich ist. Wir bemerken, dass die
Vereinigung von Knoten xi und yi zu einem Knoten fiir i = 0, 1 , . . . , n- 1 zu
einem Telefonnetz fiihrt, in dem beliebige Paare yon Teilnehmern kommuni-
zieren kSnnen.
Als die Kosten eines Permutationsnetzwerkes betrachten wir die Anzahl der
Schaltungsknoten 12 und diese Kosten wollen wir natiirlich minimieren. Der
zweite Parameter, den wir auch in dem Entwurf minimieren wollen, ist die
LS~nge des 15~ngsten Pfades zwischen einem x-Teilnehmer und einem y-Teilneh-
mer. Sch6n wS~re es auch, eine regelmS~t3ige, iiberschaubare Verbindungsstruk-
tur zu erzeugen, insbesondere w/inschenswert wS~re die sogenannte Modula-
ritS~t. ModularitS~t bedeutet, dass man die Netze fiir 2n Teilnehmer als Bau-
steine fiir die Herstellung yon Netzen mit mehr (z.B. mit 4n) Teilnehmern
benutzen kann. Die ModularitS~t verringert offensichtlich die Kosten zukiinfti-
ger Netzwerkerweiterungen und ist damit auch von grot3er Bedeutung.
Das Netz in Fig 9.4 stellt eine preiswerte LSsung fiir die acht Teilnehmer
Xo, Xl , X2, X3, Yo, yl , y2, Y3 dar. Die Anzahl der Schaltungsknoten ist nur 4 und
alle Kommunikationswege zwischen x-Teilnehmern und y-Teilnehmern haben
genau die Lgnge 2. Die Zustgnde der Knoten des 4-Permutationsnetzwerkes in
Fig. 9.4 bestimmen die Realisierung der Permut at i on (3, 0, 2, 1).
Aufgabe 9.5. Beweisen Sie, dass das Netz in Fig. 9.4 eine LSsung unseres Entwurfproblems
darstellt.
Unsere Zielsetzung ist jetzt, ein asymptotisch optimales Netzwerk ftir diese
Kommunikationsaufgabe zu entwerfen. Zuerst zeigen wir, dass jedes Netz fiir
2n Teilnehmer mindestens gt(n log n) Schaltungsknoten haben muss.
Sat z 9 .4. Sei n E I N- {0}. Jedes n - Pe r mu t a t i o n s n e t z we r k hat mi nde s t e ns
f~(n log n) Schal t ungs knot en.
Bewei s. Sei n E I N- {0} und sei Ne t ~ ein n-Permutationsnetzwerk. Wenn man
in Ne t ~ eine Permut at i on realisieren will, muss man eine passende Zuordnung
12und damit auch die Anzahl der Kanten (Verbindungsdr~hte)
9.6 Entwurf eines Kommunikationsnetzes 339
Fig. 9.4
XO Xl X2
( 0 ,0 0 ) 1 I
(1, oo/ I I
( 2, oo) I I ( 2, O l) I ( 2, lO ) I I ( 2, 11) I
Yo Yl Y2
X3
1
I
I
Y3
der Zust gnde fiir die Knot en des Netzes finden. Zwei unt erschi edl i che Per mut a-
t i onen erfordern offensichtlich unt erschi edl i che Zust andszuor dnungen. Dami t
muss die Anzahl der m6gl i chen Zust andszuor dnungen in Net ~ mi ndest ens n!,
also die Anzahl der Per mut at i onen von n El ement en, sein.
Sei m die Anzahl der Schal t ungsknot en in Net ~.
Die Anzahl unt erschi edl i cher Zust andszuor dnungen in Ne t ~ ist genau 2 ~. 2 "~.
Dami t ist
n!
2 ~ 9 2 ~ _> n! ( d.h. 2 ~ _ > 2-~ ) ,
und somit1 3 gilt
. ~ > ~og~(~!) ~ > ~. ~og ~ ~. (1~ r + 1 ) ~ a ( ~ ~og~).
Aufgabe 9 .6. Beweisen Sie, dass jedes n-Permutationsnetzwerk mindestens einen Weg der
L~nge log 2 n zwischen x-Teilnehmern und y-Teilnehmern beinhalten muss.
Um ein n- Per mut at i ons net zwer k einer Gr6fie in O( n l o g n ) zu entwerfen, be-
14
gi nnen wir mi t sogenannt en r - di me ns i ona l e n Sc hme t t e r l i nge n But ~ fiir
jedes r E IN. But ~ - (V~, E~), wobei
nn 2~- - ~.
13Entsprechend der Stirling schen Formel n] ~ 7 "
14butterfly in der englischsprachigen Literatur
340 9 Kommunikation und Kryptographie
{(i, w) l i E {o, 1 , . . . , r}, w E {0, 1}~}, und
{ { (i, w), (i + 1, w) } I i {o, 1 , . . . , r - 1 }} U
{ { ( i , z a y ) , (i + 1, z b y ) } I i E {0, 1 , . . . , r - 1}, z E {0, 1}i,
a, b c {0, 1 }, a- ~ b, y c {0, 1 }~-i-1 }.
Der 2-dimensionale Schmetterling But 2 ist in Fig. 9 .4 dargestellt. Eine an-
schauliche Darstellung yon But ~ legt die (r + 1 ). 2 ~ Knot en von But ~ als eine
Mat ri x von r + 1 Zeilen und 2 ~ Spalten an. Auf der Position (i, j ) der Mat ri x
liegt genau der Knot en (i, w) mi t Nu m m e r ( w ) - j . Eine Kant e liegt zwischen
(i, x) und (i + 1, y) nur dann wenn entweder x - y gilt (die vertikMen Kant en,
die in jeder Spalte yon oben nach unt en laufen), oder wenn sich x und y nur
i m/ - t en Bit unterscheiden (Fig. 9 .4).
Wenn man f/Jr j - 0, 1 , . . . , 2 ~ - 1 dem Teilnehmer xj den Knot en (0, w) mit
Nu mme r ( w) - j und dem Teilnehmer yj den Knot en (r, w' ) mit Nu mme r ( w' )
= j zuordnet, dann enthS~lt But ~ fiir jedes Paar (xa, y~), d, c E {0, 1 , . . . , 2 ~- 1},
folgenden Weg zwischen xa und y~. Seien
Nu mme r ( a o a ~ . . . a~_~) - d und Nu mme r ( b o b ~. . . b~_~) - c
ffir irgendwelche ak, bk E {0, 1} fiir k = 0, 1 , . . . , r - 1. Dami t entspricht der
Knot en (0, aoa~...a~_~) den Teilnehmer Zd und der Knot en (r, bobs .., b~_~)
entspricht dem Teilnehmer y~. Wenn ao = bo gilt, st art et der Weg mit der ver-
tikalen Kant e { (0, aoa~. . , a~_~), (1, aoa~. . , a~_~)}. Wenn ao -r bo, dann ni mmt
man die Kant e {(0, a o a l . . , a~_l), (1, b o a l . . , a~_l)}. Dami t erreicht man nach
dem ersten Zug in beiden F~tllen den Knot en (1, boal . . . a t - l ) . Im Allgemeinen
erreicht der Weg von (0, a~. . . a~_~) nach (r, bobs . . , b~_~) nach k Kantenziigen
den Knot en (k, bob1.., bk- l akak+l ak+2. . , a~) und wird mit der Kant e
{(It, b o b 1. . , b k _ l a k a k +l . . . a r _ l ) , ( I t -Jr- 1, b o b 1. . , b k a k +l . . . at-l)}
fort gesetzt. Dami t sorgt die s-te Kant e fiir die Umst el l ung des s-ten Bits a~
auf das s-te Zielbit b~.
In But ~ kann man also jeden x-Teilnehmer mit einem beliebigen y-Teilnehmer
verbinden. Leider reicht das Netzwerk nicht aus, um eine beliebige Per mut at i on
zu reMisieren. Uber den Knot en
( L J , bobs.., b L / 2 j a L / 2 j . . . a _1)
9.6 Entwurf eines Kommunikationsnetzes 341
ftihren in unserer St rat egi e alle Wege mi t ei nem Zi el knot en aus der Menge
{(r, bob1.., bLr/2JeLr/2J+l . . . er-1)
und mi t ei nem St ar t knot en aus der Menge
ej E {0,1 }
J -- Jr 1 , . . . , 1}
{(0, f o r 1. . , fk~/2JaL~/2J+l...a~-i I ~ {0, 1} ftir i - o, 1 , . . . , L~J}.
Es gibt bis zu 2~ -1 solcher Wege, aber wir diirfen tiber ei nen Knot en h6chst ens
zwei Wege ftihren.
Wi r nut zen j et zt die r - di mensi onal en Schmet t erl i nge als Baust ei ne zum Ent -
wur f eines 2~-Permut at i onsnet zes, das man Be ne g- Ne t z we r k nennt . Das r-
di mensi onal e Bene~-Net zwerk Benes~ erhS~lt man, wenn man zwei r-di mensi o-
nale BuG- Net zwer ke A und B zusammenfi i gt , i ndem man die ent spr echenden
Knot en der r - t en (l et zt en) Zeilen yon A und B mi t ei nander verschmi l zt . Fig.
9 .5 zeigt Benes3. Wi r sehen, dass das Benes~ 2r + 1 Zeilen hat , die erst en
r + 1 Zeilen bi l den ein BuG- Net z und die l et zt en r + 1 Zeilen bi l den auch ein
BnG- Net z. Fig. 9 .7 zeigt eine rekursi ve Defi ni t i on des Benes~- Net zes aus zwei
Benes~_l - Net zen.
Aufgabe 9 .7. Geben Sie fiir jedes r c I N- {0} eine formale Beschreibung von Benes~ als
einen Graphen an.
Sa t z 9 . 5. Fiir jedes r E IN {0} ist Benes~ ein 2~-Permut at i onsnet zwerk.
Beweis. Wi r zeigen, dass man ftir j ede Per mut at i on ( i 0, . . . , i2~-1 ) 2 ~ Wege yon
xj nach yi~ ftir j = 0, 1 , . . . 2 ~ - 1 so w~hl en kann, dass keine Kant e auf mehr
als ei nem Weg liegt und j eder Knot en auf genau ei nem Weg liegt 15. Dami t ist
offensichtlich, dass eine Zust andszuor dnung fiir die Knot en existiert, die die
Kommuni kat i on realisiert, die durch die Per mut at i on ( i 0, . . . , i2~-1 ) best i mmt
ist.
Wi r bewei sen diese Aussage mi t I ndukt i on beziiglich r.
(i)
(ii)
Sei r = 1.
Dann ist (Fig. 9 .6) Be ne s l offensichtlich ein 2- Per mut at i onsnet zwer k. 16
Sei r > 2.
Wi r set zen voraus, dass fiir j ede Per mut at i on yon (0, 1 , . . . , 2 ~-1 - 1) im
15Solche Gruppen von Wegen nennt man paarweise knotendisjunkte Wege.
16Bemerke, dass fiir r = 1 sogar BuG hinreichend ist.
342 9 Kommunikation und Kryptographie
XO Xl X2 X3 X4 X5 X6 X7
Yo Yl Y2 Y3 Y4 Y5 Y6 Y7
Fig. 9.5
Xo Xl
( o, o) ( o, 1)
( i , 0 ) ( 1 , 1 )
( o, o) I I I I ( 2, 1)
YO Yl
Fig. 9.6
9.6 Entwurf eines Kommunikationsnetzes 343
Benes~_l-Netz 2 r - 1 knot endi sj unkt e Wege zwischen den 2 r - 1 x-Teilneh-
mer n und den 2 r - 1 y-Tei l nehmern existieren. Wi r k6nnen j et zt Benes~
als ein Netz ansehen (Fig. 9 .7), das aus zwei Benes~_l-Netzen A und B
und aus zwei ,,ersten Zeilen" yon But~ best eht .
XO Xl X2 r - l - - 1 X2 r - 1 X2r-ld-1 X2 r - 1
Fig. 9.7
~ e ~ t e S r _ 1 ~ e ~ t e S r _ 1
A t3
I
I
YO Yl y2r-1--1 Y2 r - 1 y2r-1 +1 Y2 r - 1
Dank der Indukt i onsvorausset zung ist es hinreichend, eine solche Kom-
muni kat i onsst rat egi e zu finden, dass genau die HSAfte 17 der Wege fiber
den Netzteil Benes~_l A gehen wird, und dass die Kommuni kat i onsauf-
gaben fiir A und B genau zwei Per mut at i onen yon (0, 1 , . . . , 2 r - 1 -- 1 )
entsprechen. Um dieses zu garant i eren, reicht es aus, die Wege in den
erst en und l et zt en Zwischenzeilen yon Benes~ so zu wS~hlen, dass kein
Knot en v in den erst en Zeilen yon A und B (also in der zweiten Zeile
yon BeheSt) auf zwei Wegen liegt (nur eine Kant e zwischen v und der
0-ten Zeile yon Benes~ daft benut zt werden), und dass kein Knot en u
aus der l et zt en Zeile yon A und B auf zwei Wegen liegt (nur eine der
Kant en yon u zu den y-Tei l nehmern daft benut zt werden). Formal kann
man diese Forderung wie folgt ausdriicken:
(1 ) Fiir alle i E {0, 1 , . . . , 2 ~-1 } miissen die zwei Wege von xi und xi+2~-1
unterschiedliche Benes~_l-Netze benut zen (ein Weg muss fiber A
und ein Weg muss fiber B gef/ihrt werden (Fig. 9 . 8(a))).
17also 2 ~- 1 viele
344 9 Kommunikation und Kryptographie
(2) Fiir alle j E {0, 1 , . . . , jr--l} milSSeI1 die zwei Wege nach yj und
yj+2~-i fiber unterschiedliche Be n e s , _ l - Ne t z e gefiihrt werden (Fig.
9 .8 ( a) ) .
Xi
Xi +2r- 1
I
A
t?
P
~o Yj +2 r-1
XO
X2r- 1
0
(b)
Yi2r-1
Yi o+ 2 ~- 1 mod 2 ~
Yi 2r- 1 +2 r - 1
Yio
Fig. 9.8 Eine transponierte Darstellung des Benes~-Netzes.
Im Folgenden zeigen wir, dass man die Wege einfach einen nach dem an-
deren bestimmen kann. Sei (i0, il,..-,i2~-1 ) eine beliebige Permut at i on yon
(0, 1 , . . . , 2 ~- 1). Wir nehmen jetzt die Paare (Xo, Y~o) und (x2~-1, Y~-I) und
legen den Weg von Xo nach Yio fiber A und den Weg von x2~-1 nach yi~_l
fiber B (Fig. 9 .8(b)). Falls l i 2~- 1 - / ol - 2 ~-1, entstehen dabei keine Nach-
folgerforderungen. Falls I @- 1 - iol r 2 ~-~ miissen wir wegen (2) den Weg
9.6 Ent wurf eines Kommunikationsnetzes 345
na c h Yio+2r-1 mod 2 r fiber B und den Weg nach Yi2r_l+2r-1 mod 2 r fiber A leiten
(Fig. 9 .8(b)). Dadurch k6nnen wieder Anforderungen an die Fi i hrung von zwei
Wegen aus den Knot en Xq+2~-i mod 2 ~ und x~+2~-1 mod 2 ~ ftir
i q - - (i2.-1 + 2 r - l ) r ood 2 r ond i s - ( i o + 2 r - l ) r ood 2 r
entstehen. 18
Wir sehen, dass die Fort set zung dieser Strategie i mmer in h6chstens zwei
erfiillbaren Anforderungen auf die Fi i hrung von zwei Wegen resultiert. Ein
Weg muss fiber A und ein Weg muss fiber B gefiihrt werden. Dami t kann
die vorgestellte Strategie erfolgreich die Wege zur Realisierung der gegebenen
Per mut at i on best i mmen. D
Auf ga be 9 .8. Best i mmen Sie die Wege in B e n e s 3, die die Permut at i onen (7 2 1 3 05 64),
(0 1 2 3 7 6 5 4) und (0 71 6 2 5 3 4) realisieren.
Mit dem Satz 9 .5 haben wir unsere Zielsetzung erfiillt. Benes~ ist ein 2 ~-
Permut at i onsnet zwerk mit insgesamt (2r + 1 ). 2 ~ Knot en und r . 2 ~+2 Kan-
ten. 19 Zus~tzlich haben die Bene~-Netzwerke eine regelm~fiige St r ukt ur mit
hohem Grad an ModularitS~t (Fig. 9 .7). Die Ent fernung zwischen beliebigen
x-Tei l nehmern und einem y-Teilnehmer betrS~gt genau 2r und ist daher loga-
ri t hmi sch in der Anzahl der Teilnehmer.
Auf ga be 9 . 9 . * Sei G = (V, E) ein Graph. Ein ba l a nc i e r t e r Schni t t von Gi s t ein Paar
(V1, V2), so dass
(i) V = VI O V2, VI A V2 = O, u n d
( ii) -1_ < ] V1] -] V2] _ < 1.
Die Kosten eines Schnittes (V1, V2) sind
co t( v1, v=) : I E n {{v, I v c pl , c p=}l ,
d.h. die Anzahl der Kant en zwischen V1 und V2. Die Bi s e kt i ons br e i t e von G misst die
Kosten des minimalen balancierten Schnittes. Im Netzwerkdesign wird der Ent wurf yon Net-
zen mit mSglichst grofier Bisektion angestrebt. Eine grofie Bisektion von G garantiert, dass
bei jeder Zerlegung von G in ungef~hr zwei gleich grofie Teile hinreichend viele Kommuni-
kationskan~le zwischen diesen Teilen vorhanden sind. Beweisen Sie, dass Bu t ~ und B e n e s ~
eine Bisektionsbreite in ft(2 ~) haben. 2~
18Falls I((q ~- 2r--1) mod 2 r) - ((s + 2 r - l ) mod 2r)l 7~ 2 r-1 .
1 9 Damit ist die Anzahl der Schaltungsknoten in O( n . log 2 n), wenn n der Anzahl der Teil-
nehmer entspricht.
2~ Bisektionsbreite ist ungefiihr so hoch wie die Anzahl der Teilnehmer, oder anders
ausgedriickt, ist die Bisektionsbreite in f ~( ~) , wobei m die Anzahl der Knot en ist.
346
9.7 Zusammenfassung
9 Kommunikation und Kryptographie
Die Kryptographie beschSfftigt sich mit dem Entwurf yon Kryptosystemen, die
einen sicheren Austausch yon geheimen Informationen ermSglichen. Bei den
klassischen (symmetrischen) Kryptosystemen bestimmt der Schl/issel das Ver-
schlfisselungsverfahren sowie das Entschliisselungsverfahren, und somit ist der
Schliissel das gemeinsame Geheimnis yon Sender und EmpfS~nger. Public-Key-
Kryptosysteme arbeiten mit einem 5ffentlichen Verschliisselungs-Schliissel, weil
dessen Kenntnis keine Hilfe zur Entschliisselung darstellt. Die Public-Key-
Kryptosysteme basieren auf der Idee der Einweg-Funktionen. Eine Einweg-
Funktion ist effzient berechenbar, aber die zugehSrige inverse Funktion ist oh-
ne zusS~tzliches Wissen (ein Geheimnis, das nur der EmpfS~nger besitzt) nicht
etfizient berechenbar. Kandidaten fiir Einweg-Funktionen sind die Multiplikati-
on, deren inverse Funktion die Faktorisierung ist, und die Potenzierung modulo
einer natfirlichen Zahl n, deren inverse Funktion der diskrete Logarithmus ist.
Interaktive Beweissysteme ermSglichen effizient auf randomisierte Weise die
/Jberprfifung der Existenz yon Beweisen. Alle Sprachen in PSPACE haben
interaktive Beweissysteme. Zero-Knowledge-Beweissysteme ermSglichen es, zu
iiberpriifen, ob andere Personen im Besitz eines Beweises (Geheimnisses) sind,
ohne ein einziges Bit des Beweises zu lernen. Alle Sprachen in NP haben Zero-
Knowledge-Beweissysteme.
Die Qualit~t yon Verbindungsnetzen wird auch an der Menge der zu tiber-
tragenden Daten oder der Menge von realisierten Kommunikationsanforde-
rungen in einem kurzen Zeitraum gemessen. Der Entwurf eines Netzes, das
optimal beziiglich gegebener Qualitgtsparameter sein sollte, fiihrt meistens auf
nichttriviale Optimierungsprobleme, die man mit den Methoden der diskreten
Mathematik zu 1 5sen versucht.
Das Konzept der Public-Key-Kryptosysteme wurde erstmals yon Diffie und
Hellman [DH 76] vorgeschlagen. Das bekannte RSA-Kryptosystem ist nach
seinen Erfindern Rivest, Shamir und Adleman [RSA 78] benannt. Die interak-
tiven und Zero-Knowledge-Beweissysteme gehen auf Goldwasser, Micali und
Rackoff [GMR 85] zuriick. Shamir [Sha 92] war der erste, der IP = PSPACE
bewiesen hat.
Das Bene~-Netzwerk hat Bene~ in seinen Arbeiten fiber Telefonnetze [Ben 64,
Ben 65] entworfen. Die Tatsache, dass Bene~-Netzwerke Permutationsnetze
sind, wurde yon Waksman [Wak 68] bewiesen.
Fiir eine anschauliche didaktisch gute Einleitung in die Kryptographie empfeh-
len wir wgrmstens Dells und Knebl [DK 02] und Salomaa [Sal 9 6]. Ausfiihrli-
9.7 Zusammenfassung 347
chere Aus kunf t fiber i nt er akt i ve Sys t eme kann ma n in Lehr bi i cher n von Bovet
und Crescenzi [BC 94] und Si pser [Sip 97] finden. Ausft i hrl i che I nf or mat i onen
t i ber Kommuni ka t i ons pr obl e me in Net zen kann ma n i m her vor r agenden und
. .
umf angr ei chen Lehr buch yon Lei ght on [Lei 92] und in dem Uber si cht sar t i kel
von Hromkovi ~: Klasing~ Moni en und Pei ne [ HKMP 96] finden.
Kontrollaufgaben
.
10.
11.
1. Was ist ein Kryptosystem? Wie kann man den Grad seiner Sicherheit messen?
2. Erkl~ren Sie das Konzept der Einweg-Funktionen. Welche Kandidaten flit Einweg-
Funktionen kennen Sie?
3. Erkl~ren Sie~ wie man ein RSA baut und beweisen Sie die Eindeutigkeit der RSA-
Kodierung.
4. Wie kSnnen Public-Key-Kryptosysteme angewendet werden~ um Protokolle flit digi-
tale Unterschriften zu entwerfen? Warum ist das Authentizit~tsproblem schwerer als
das Problem der digitalen Unterschrift?
5. Erkl~ren Sie das Konzept yon interaktiven Beweissystemen. Wie definiert man ein
Zero-Knowledge-Beweissystem? Wo kSnnen solchc Systeme Anwendungen finden?
6. Warum unterscheiden sich die Beweissysteme flit das Graphenisomorphieproblem und
das Graphennichtisomorphieproblem so stark? Bei welchem dieser zwei Beweissyste-
me ist ein berechnungs-st~rkerer Beweiser gefordert?
7. Was ist ein n-Permutationsnetzwerk? Entwerfen Sie ein 3 -Permutationsnetzwerk und
ein 7-Permutationsnetzwerk.
8. Zeichnen Sie einen 4-dimensionalen Schmetterling. Erkl~ren Sie anschaulich, wie man
aus einem k-dimensionalen Schmetterling einen (k + 1 )-dimensionalen Schmetterling
bauen kann.
Zeichnen Sie Benes2.
Beweisen Sie, dass Benes3 ein 8-Permutationsnetzwerk ist.
Bestimmen Sie die Wege i n, die die Permutationen (4 3 2 1), (4 1 2 3) und (3 1 4 2)
realisieren.
I ch ha be viel von me i ne m Le hr e r gel er nt ,
noch me hr von me i ne n Fr e unde n,
a be r a m me i s t e n von me i ne n Schi i l ern.
Ta l mud
9 J . :
,.X.__J
10 Grammatiken und Chomsky-Hierarchie
10.1 Zielsetzung
Das Thema Grammat i ken gehSrt in die Theorie der formalen Sprachen, die
eines der 5Jtesten Gebiete der Informatik ist. Der Begriff "Grammat i k" liegt
in dem Schni t t punkt zwischen Linguistik und Informatik und wurde sogar auch
in der Evolutionsbiologie zur Wachstumsmodellierung eingesetzt.
Das Konzept von Grammat i ken ist einfach. Unsere bisherigen Berechnungsmo-
delle wie endliche Aut omat en und Turingmaschinen haben wir als Akzeptoren
von Sprachen betrachtet. Diese Modelle sind eine MSglichkeit, unendliche Ob-
jekte wie Sprachen (oder Mengen) auf endliche Weise zu beschreiben. Eine
Maschine A, die eine Sprache L = L(A) akzeptiert, ist eine eindeutige endli-
the Represent at i on der Sprache L. Grammat i ken bieten einen anderen Weg,
unendliche Sprachen auf endliche Weise eindeutig zu beschreiben. Gramma-
tiken sind Mechanismen zur Generierung (Erzeugung) von WSrtern. Fiir die
Menge L aller W6rter, die ein solcher Mechanismus erzeugt, ist der Mechanis-
mus eine Beschreibung yon L. Fiir die Linguisten ist diese Art yon Mechanis-
mus deswegen yon grofier Bedeutung, weil sie auf diese Weise versuchen, die
Mengen yon syntaktisch (grammatisch) korrekten Texten in konkreten natiirli-
chert Sprachen zu beschreiben, und auf diese Weise ein formales Mittel fiir
die Untersuchung und die automatische Ubersetzung yon natiirlichen Spra-
chert gewinnen. Die Bedeut ung in der Informatik beschrS~nkt sich nicht nur auf
die M6glichkeit, iiberschaubar unendliche Objekte zu beschreiben. Sogenannte
kontextfreie Grammat i ken, die eine einfache spezielle Art yon Grammat i ken
darstellen, nut zt man, um Programmi ersprachen darzustellen. So entsprechen
die durch solche Grammat i ken generierten W6rt er syntaktisch korrekten Pro-
grammen in der modellierten Programmiersprache. Dami t ist das Konzept der
kontextfreien Grammat i ken zentral fiir den Compilerbau. Aus der Sicht der
Berechenbarkeit ist es wichtig zu bemerken, dass die Menge der Sprachen, die
10.1 Zielsetzung 349
durch allgemeine Gr ammat i ken erzeugbar sind~ genau der Menge der rekursiv
aufz~thlbaren Sprachen entspricht. Dami t ist das Konzept von Gr ammat i ken
genau so st ark wie das Konzept von Turingmaschinen~ was eine weitere Best~tti-
gung der Church' schen These ist.
Das Kapitel ist wie folgt gegliedert. In Abschni t t 10.2 stellen wir das Konzept
von Gr ammat i ken vor. Die Zielsetzung ist es zu erkl~tren~ wie der Generierungs-
mechanismus von Gr ammat i ken funktioniert und in welche Klassen man die
Menge aller Gr ammat i ken einteilt und warum die Gr ammat i ken klassifiziert
werden.
Abschni t t 10.3 behandel t die einfachste Klasse von Grammatiken~ die soge-
nannt en regul~tren Grammat i ken. Wi r zeigen~ dass diese Gr ammat i ken ge-
nau die Klasse der regul~tren Sprachen generieren und somit in der Beschrei-
bungsst~trke ~quivalent zu den endlichen Aut omat en sind. Zusammen mit dem
Erlernen des Entwurfs von regul~tren Gr ammat i ken sind es die Hauptzielset-
zungen dieses Abschnittes.
Abschni t t 10.4 ist von zentraler Bedeut ung fiir dieses Kapitel. Die Zielset-
zung ist zu zeigen~ dass die kontextfreien Gr ammat i ken eine natiirliche Art
einer nichtdeterministischen Rekursion sind. Auf der Suche nach einem Be-
rechnungsmodell~ das genau die bei kontextfreien Gr ammat i ken generierten
Sprachen akzeptieren kann~ landen wit bei nichtdeterministischen Kellerau-
t omat en. Der Keller ist gerade die Datenstruktur~ die wir in der Informat i k
benutzen, um Rekursion zu modellieren und implementieren. AuBerdem ler-
nen wir hier kontextfreie Gr ammat i ken zu entwerfen, spezielle Normalformen
zu konstruieren und das Pumpi ng Lemma fiir kontextfreie Sprachen, das ein
Inst rument zum Beweisen der Nichtkontextfreiheit einer Sprache darstellt.
In Abschni t t 10.5 beschgftigen wit uns mit den allgemeinen (unbeschrgnkt en)
Gr ammat i ken und mit den sogenannt en kontextsensitiven Grammat i ken. Das
Hauptziel ist, die Aquivalenz zwischen den Konzept en von Gr ammat i ken und
Turi ngmaschi nen zu zeigen und dami t den Gl auben in die Church' sche These
noch zu verstgrken. Weiter bemerken wir, dass das Konzept der kontextsen-
sitiven Gr ammat i ken genau den nichtdeterministischen Turi ngmaschi nen mit
linearem Speicherplatz entspricht.
Dieses Kapitel wurde auf den Wunsch einiger Leser fiir die dri t t e Auflage des
Buches hinzugefiigt. Die Idee war dabei, die Abdeckung des klassischen Stoffs
der Theoretischen Informat i k fiir einen Anfgngerkurs zu garantieren. Dami t
sollte die fiir einige Kollegen zu starke Fokussierung auf die neueren Informa-
tikkonzepte kompensiert werden und das Buch auch fiir klassisch gest al t et e
Grundvorl esungen fiber Theoretische Informat i k als fast vollstgndiges Mate-
350 10 Grammatiken und Chomsky-Hierarchie
rial zur Verftigung stehen. In der Vorlesung kann dieses Kapitel auch schon
direkt nach Kapitel 4 fiber Turi ngmaschi nen eingesetzt werden. Die Teile fiber
regulSxe und kontextfreie Gr ammat i ken sind auch dazu geeignet, direkt nach
Kapitel 3 fiber endliche Aut omat en behandel t zu werden. Bei einer st ark ein-
geschrS~nkten I Nut zung dieses Kapitels empfehlen wir, nur das Konzept der
allgemeinen und der kontextfreien Gr ammat i ken in die Vorlesung aufzuneh-
men, weil gerade die Aquivalenz zu den Turi ngmaschi nen und das Konzept
der Rekursion mit der Anwendung in Compi l erbau die wichtigsten 2 BeitrS~ge
dieses Kapitels sind.
10.2 Das Konzept der Grammat i ken
Die Zielsetzung dieses Kapitels ist, zun/ichst die Gr ammat i ken als ein weiteres
Konzept zur formalen Beschreibung von Sprachen vorzustellen. Bisher haben
wir die Sprachen entweder durch die Beschreibung der Eigenschaften der in der
Sprache ent hal t enen W6r t er oder durch Aut omat en oder Maschinen, die diese
Sprachen erkennen, spezifiziert. In diesem Kapitel wollen wir eine neue forma-
le Beschrei bungsmet hode vorstellen. Diese Met hode basiert auf einem Erzeu-
gungsverfahren. Mechanismen zur Erzeugung von gewissen Obj ekt en werden
in der Mat hemat i k oft zum axiomatischen Definieren yon Objekt kl assen ver-
wendet. Nehmen wir als Beispiel die Definition einer Booleschen Formel fiber
einer Variablenmenge {xi, x2, . . . , x~}:
(i)
(ii)
(iii)
(iv)
Die Konst ant en 0 und 1 und die Variablen Xl , X2 , . . . , X n sind Boolesche
Formeln.
Wenn A eine Boolesche Formel ist, dann ist auch ~A (die Negation yon
A) eine Boolesche Formel.
Wenn A und B Boolesche Formeln sind, dann sind auch
(A V B) und (A A B)
Boolesche Formeln.
Kein Objekt, das sieh nicht dureh die Anwendung der Regeln (i), (ii) und
(iii) erzeugen lgsst, ist eine Boolesche Formel fiber {,1, *2, . . . , , ~}.
1Das Material in diesem Buch iibersteigt die KapazitS~t einer Einftihrungsveranstaltung fiber
Theoretische Informatik. Wenn man sich auch fiir die Vorstellung neuerer Konzepte entschei-
det, muss man auf die Vorstellung einiger Teilbereiche der klassischen Themen verzichten.
2Aus der Sicht der Informatik.
10.2 Das Konzept der Grammatiken 351
Auf die oben beschriebene Weise haben wir eine axi omat i sche Definition yon
Booleschen Formel n fiber der Vari abl enmenge {Xl , . . . , x~} und den logischen
Verkn~pfungen ~, V und A erhalten. Nat~rlich k6nnen wir solche Booleschen
Formel n als W6r t er fiber dem Al phabet {0, 1, x l, x2, . . . , xn,--n, V, A, (, )} be-
t racht en und somit best i mmt der angegebene Erzeugungsmechani smus die
Sprache aller Booleschen Formel n fiber {Xl, x2, . . . , x~} mi t den logischen Ope-
rat i onen der Negation, der Di sj unkt i on und der Konj unkt i on.
Das folgende Beispiel prgsent i ert ein Erzeugungsverfahren ftir eine Sprache
fiber {a, b}, die zu den typischen hier behandel t en Sprachen gehSrt.
Be i s pi e l 10. 1. Wi r bet racht en das folgende Erzeugungsverfahren fiir eine Spra-
che L fiber dem Al phabet {a, b}"
(i)
(ii)
(iii)
AEL.
Falls x E L, dann ist auch a x b E L.
Keine anderen als die durch (i) und (ii) erzeugt en WSr t er gehSren zu L.
Wi r bemerken, dass wir, begi nnend mi t x - A nach (i), durch dreimaliges
Anwenden der Regel (ii) zu dem Wort aab 3 kommen. Die Hypot hese liegt nah,
dass
L- {a~bi l i E I N} .
Wi r beweisen dies durch separat e Beweise fiir beide Inklusionen.
(i)
(ii)
W i t z e i g e n , das s {a~b~ I i E I N} c L.
Wi r beweisen ai b ~ E L ffir alle i E ]N mi t t el s Indukt i on bezfiglich i.
I n d u k t i o n s a n f a n g : Fiir i - 0 haben wir ai b i - a~ ~ - A. Nach der
Regel (i) ist A in L.
I n d u k t i o n s s c h r i t t : Nach der I ndukt i onsannahme ist a i - l b i - 1 in L. Wi r
sollen zeigen, dass auch ai b i E L. Wenn man x gleich a i - l b i - 1 setzt,
folgert die Regel (ii), dass auch a x b - a a i - l b i - l b - ai b ~ in L sein muss.
W i t z e i g e n , das s n c_ {a~b~ ] i E I N} .
Wi r beobachten, dass n nach den Regeln (i) und (ii) nur W6r t er gerader
Lgnge ent hal t en kann. 3 Wi r zeigen mi t t el s Indukt i on bezfiglich i, dass
ffir alle i E IN der St ri ng ai b ~ das einzige Wort der Lgnge 2i in L ist.
I n d u k t i o n s a n f a n g : Sei i - 0. Das Wort a~ ~ - A ist das einzige Wort
der Lgnge 0 in L.
I n d u k t i o n s s c h r i t t : Unt er der I ndukt i onsannahme, dass ffir alle j E
aEin formaler Induktionsbeweis dieser Tatsache ist offensichtlich.
352 10 Grammatiken und Chomsky-Hierarchie
{0, 1 , . . . , i - 1} der St ri ng aJb j das einzige Wort der LS~nge 2j in Li s t ,
folgern wir nach (ii) und (iii), dass a~b ~ das einzige Wor t der Lange 2i in
Li s t . D
Aufgabe 10.1. Sei L wie folgt definiert:
(i)
(ii)
(iii)
(iv)
AEL.
Falls x c L, dann sind auch axb und bxa in L.
Falls x, y C L, dann ist auch x y in L.
Keine anderen W6rter geh6ren zu L als diejenigen, die man dutch die Anwendung der
Regeln (i), (ii) und (iii)erzeugen kann.
Welche Sprache L wird auf diese Weise generiert? Beweisen Sie ihre Behauptung.
Aufgabe 10.2. Geben Sie Erzeugungsmechanismen zur Generierung folgender Sprachen
a n ;
(i) {xabby l x , y E {a, b}*},
(ii) {xly I I xl - lYl und z, y c {0, 1,2}*},
(iii) {x1110 I x c {0, 1}*},
(iv) {x c {0,1}* l lxl0 _> 3}.
Das Konzept der Gr ammat i ken basi ert auf der vorgest el l t en Idee der axio-
mat i schen Definition, ist aber etwas anders umgeset zt . Man bet r acht et zuerst
zwei di sj unkt e Al phabet e ET und EN. Die Symbol e aus ET werden Te r mi n a l -
s y mb o l e genannt und ent sprechen der bi sheri gen Nut zung zur Gest al t ung von
W6r t er n aus der bet r acht et en Sprache. Die Symbole aus EN werden Ni c h t -
t e r mi n a l s y mb o l e (oder kurz Ni c h t t e r mi n a l e ) genannt . Die Ni cht t ermi nal e
spielen die Rolle von Vari abl en und diirfen in den W6r t er n der generi ert en
Sprache nicht auft ret en. Ni cht t ermi nal e oder W6r t er , die Ni cht t er mi nal symbo-
le ent hal t en, diirfen durch andere W6r t er erset zt werden. Wi e und was erset zt
wird, wi rd durch die sogenannt en Regeln (auch Pr o d u k t i o n e n oder Abl e i -
t u n g s r e g e l n genannt ) best i mmt , die den Regel n eines axi omat i schen Syst ems
ent sprechen. Grob bet r acht et , ist eine Gr ammat i k eine Menge von Regeln. Eine
Regel ist zum Beispiel
X ~ a X b .
Diese Regel besagt , dass man jedes Auf t r et en des Ni cht t ermi nal s X durch a X b
erset zen darf. Wenn man zu dieser Regel noch die Regel X ~ A ni mmt , die
das Ni cht t er mi nal X durch das leere Wort A erset zt (also X 16scht), dann kann
man durch diese zwei Regeln, ausgehend yon X, ein beliebiges Wor t aus L =
{ a ~ b ~ l i E IN} erzeugen. Das Konzept yon Gr ammat i ken fordert , dass man bei
der Gener i er ung yon W6r t er n i mmer mi t einem fest gegebenen ausgezei chnet en
Ni cht t er mi nal anfangen muss und die gegebenen Regel n so lange anwendet , bis
10.2 Das Konzept der Grammat i ken 353
das generierte Wort kein Nichtterminalsymbol mehr enthS~lt. Wenn man ein
Wort fiber ET erreicht, ist der Erzeugungsprozess beendet und das generierte
Wort geh6rt in die Menge der durch die Grammat i k erzeugten W6rter.
Fiir den Rest dieses Kapitels legen wir die Nutzung der vorkommenden Sym-
bole lest.
(i)
(ii)
(iii)
(iv)
Ffir die Terminalsymbole nutzen wir die Kleinbuchstaben a, b, c, d, e und
die Ziffern.
Die Grofibuchstaben, vorzugsweise A, B, C, D, X, Y, Z, nutzen wir, um
Nichtterminale zu bezeichnen.
Mit den Kleinbuchstaben u, v, w, x, y und z werden WSrter fiber ET be-
zeichnet.
Die griechischen Buchstaben wie ct, ~ und 7 werden f/Jr beliebige W6rt er
fiber ET U EN verwendet.
Jetzt fiihren wir eine formale Definition einer Grammat i k ein. Ahnlich wie
bei Maschinenmodellen definieren wir zuerst eine St rukt ur (in diesem Fall ein
4-Tupel) und dann ihre Semantik durch die Beschreibung ihrer Dynamik.
De f i n i t i o n 1 0 . 1 .
Ei ne Gra mma t i k G i st ei n ~- Tupel G = (EN, ET, P, S), wobei:
(a) EN i st ei n Al phabet , g e n a n n t N i c h t t e r mi n a l a l p h a b e t oder die
Me n g e d e r N i c h t t e r mi n a l e v o n G. Di e Symbol e aus EN n e n n t
ma n N i c h t t e r mi n a l e .
(b) ET i st ei n Al phabet , g e n a n n t T e r mi n a l a l p h a b e t oder die Me n g e
d e r T e r mi n a l s y mb o l e v o n G. Di e Symbol e aus ET n e n n t ma n
T e r mi n a l s y mb o l e . Es gilt
ENNET = 0.
(c) S E EN hei fl t S t a r t s y mb o l oder S t a r t n i c h t t e r mi n a l .
{ Jede Ge ne ri e rung ei nes Wort e s mus s mi t de m Wort S s t art e n. }
(d) P i st ei ne endl i che Tei l menge von E*ENE* x E* f i i r E = EN 0
ET i st die Me n g e d e r A b l e i t u n g s r e g e l n y o n G. Di e El e me n t e
von P hei fl en Re g e l n oder auch P r o d u k t i o n e n . St art (c~, fl) E P
schrei ben wi r auch
Oz ----+G ~
i n Wort en: c~ k a n n i n G d u t c h ~ e r s e t z t we r d e n .
{ Es i st wi cht i g zu beobachten, dass f i i r alle (c~, fl) E P das Wort
c~ mi n d e s t e n s ei n Ni c ht t e rmi n a l s ymb ol aus Ezv ent hal t en muss, was
dut ch c~ E E*ENE* gefordert wird. Di e Be de ut ung ist, dass i n e i ne m
354 10 Gr a mma t i ke n und Choms ky- Hi er ar chi e
Wor t 7a~z mi t 7, a; E E* ~ d ut c h/ 3 e rs e t z t we rd e n ka n n , wod urc h
das Wor t 7 ~ e n t s t e ht . }
Se i e n 7, 5 E (EN U ET)*. Wi r s age n, das s 5 a u s ~ i n e i n e m Ab l e i -
t u n g s s c h r i t t i n G a b l e i t b a r i s t (od e r das s 7 i n G i n 5 i i bergeht ),
7 ~ G 5,
e x i s t i e re n , so das s
7 = ('J10L(M2 u n d 5 = a21~(.~ 2.
W i t s age n, das s 5 a u s ~ i n G a b l e i t b a r i s t ,
g e n a u d a n n , we n n
(a) e n t we d e r 7 = 5,
(b) ode r e i n n E I N - {0} un d n + 1 WSr t e r ~o, ~1, . . . , ~ E (EN U ET)*
e x i s t i e re n , so das s
7 = ~ o, 5 = ~ un d ~i ~ G ~i+1 f i i r i = O, 1 , 2 , . . . , n - 1.
{ S o mi t i s t ~ *c e i ne re f l e x i ve un d t ra n s i t i ve Hi i l l e von ~ a , we n n ma n
~ a als e i n e Re l a t i on a uf WSr t e r n b e t ra c ht e t . }
E i n e Fol ge von A b l e i t un g s s c hr i t t e n
aJ o :::~ G a31 :::~ G a3 2 :::~ G . . . :::~ G a3 n
(i i i )
he i f l t e i ne A b l e i t u n g i n G.
Fal l s S ~ w f i i r e i n Wor t w E E~ , d a n n s a g e n wi t , das s w y o n G
e r z e u g t wi r d . Di e v o n G e r z e u g t e S p r a c h e i s t
Im Folgenden nutzen wir die Bezeichnung a =~c / 3 ffir eine Ableitung a ~a / 3 ,
die aus genau i Ableitungsschritten besteht.
Bei s pi el 10. 2. Sei G = (EN, ET, P, S), wobei
( i)
( ii)
( iii)
= { s }
= {a, b}
P = { S ~ A, S ~ S S , S ~ a Sb , S ~ b Sa } .
10.2 Das Konzept der Grammat i ken 355
Ein Beispiel einer Abl ei t ung des Wortes baabaabb in G ist
S
~ G
~ G
~ G
S S =~a SaSb ~ a SaSSb ~ a bSaaSSb
baaSSb ~ a baabSaSb ~ a baabaSb
baabaaSbb ~ a baabaabb.
Der erste Abl ei t ungsschri t t entspricht der Anwendung der Regel S ---+ S S
zustande. In dem zweiten Abl ei t ungsschri t t wurde gemS~fi S ---+ aSb das zweite
S von links ersetzt. Die Regel S ~ S S wurde zur Erset zung des zweiten S i m
dri t t en Schritt angewendet. Im vierten Schritt haben wir das erste S von links
nach der Regel S ~ bSa durch bSa ersetzt, und so weiter.
Wi r vermuten, dass
L(G) : Lg~ : { w E {a, b}* l lwla : Iwlb}.
Die Tatsache, dass L(G) nur W6r t er mit einer gleichen Anzahl yon a' s und
b's generieren kann, ist offensichtlich, weil jede Regel die gleiche Anzahl von
a' s und b's erzeugt. Es bleibt also nur zu tiberpriifen, ob in G alle WSrt er mit
gleicher Anzahl von a' s und b's abl ei t bar sind.
Wi r zeigen dies mit Indukt i on bez/iglich der WortlSmge, die f/Jr alle W6r t er in
Lg~ gerade ist.
(i)
(ii)
(ii.1)
Indukt i onsanfang: Sei n = 0. Das Wort A E Lg~ kann man durch die
Regel S --+ A in einem Berechnungsschritt S =~a A erzeugen. Somit gilt
S ~ o A
und A E L(G).
Sei Lg~ N [_]2~-i
i : 1 (Y]T) i ~ L(G) fiir ein n C I N- {0}. Wi r sollen zeigen, dass
alle W6r t er der LS~nge 2n aus Lgr auch in L(G) sind. Formal bedeut et
dies, dass wir f/Jr jedes Wort x aus Lgr N { a , b } 2~ die Existenz einer
Abl ei t ung von x in G begrilnden milssen. Sei x ein beliebiges Wort aus
Lg~ N {a, b} 2~. Wi r unterscheiden 4 FS~lle beziiglich des ersten und des
letzten Symbols yon x.
Sei x : ayb. Weil lyl : 2 n - 2 und lyla : lYlb, existiert nach Induktions-
annahme eine Abl ei t ung
S ~ a y
in G. Somit gibt es folgende Abl ei t ung
S =~a aSb ~*a a y b - x
yon x in G.
356 10 Grammatiken und Chomsky-Hierarchie
(ii.2)
(ii.3)
(ii.4)
Der Fall x = b ya ist anal og zu (ii.1). St at t der Regel S ~ a Sb wendet
ma n die Regel S ~ b Sa i m erst en Abl ei t ungsschr i t t an.
Sei x = a y a . Weil IXla = I Xl b = 7t~ gilt
= lyl = l Y l a + 2
Dami t muss es eine Zerl egung von y
y =u v
geben, so dass
lUlb : lUla-~- 1 und Ivlb = IVla @ 1.
Dami t gilt
x = a u r a , a u E Lg~ und va E Lg~.
Nach der I ndukt i ons a nna hme exi st i eren Abl ei t ungen
S =~a a u u n d S =~ a v a
yon a u und va in G. Dami t er hal t en wir die Abl ei t ung
* a u S =~* S ~ a S S ~ G c a u v a - x
von x in G.
Der Fall x = byb fiir ein y E (ET) 2~-2 kann anal og zu dem Fall (ii.3)
gelSst werden. D
Auf ga be 10.3. Betrachten Sie die folgende Grammat i k G = (EN, ET, P, S), wobei EN =
{S, A, B}, ET = {a, b} und
P ={ S ~ A, S ~ AS B , S ~ B S A, S ~ AB S ,
S ~ S AB , S ~ B AS , S ~ S B A, S ~ SS,
A~ a , B ~ b } .
Welche Sprache wird durch G erzeugt? Begriinden Sie ihre Behauptung.
Wi r beobacht en, dass Gr a mma t i ke n ni cht det er mi ni st i sche Er zeugungsmecha-
ni smen sind. F/Jr den Ni cht det er mi ni smus best ehen zwei Gri i nde. Zuerst dfirfen
mehr er e Regel n exi st i eren, die die gleiche linke Seite haben. Wi r haben die
freie Wahl , eine yon diesen Regel n anzuwenden, falls die linke Seite der Regel
i rgendwo als Tei l wort in dem bi sher abgel ei t et en Wor t vor handen ist. Zwei-
t ens kSnnen mehr er e linke Sei t en yon Regel n als Tei l wSrt er auf t r et en, und es
ist ni cht festgelegt, welches yon den Tei l w6r t er n als erst es erset zt wird. Zum
Beispiel zer st 6r t die Anwendung der Regel a X ~ by i m Wor t a a a X b b die
10.2 Das Konzept der Grammatiken 357
M6gl i chkei t , i m nS~chsten Abl ei t ungsschr i t t die Regel X b ~ X Z anzuwenden,
obwohl diese Regel fiir das Wor t a a a Xb b anwendbar ist.
Be i s pi e l 10. 3. Hier m6cht en wir eine Gr a mma t i k ffir die Sprache
konst rui eren. Wi r bet r acht en die Gr a mma t i k G = ({S, X}, {a, b}, P, S ) mi t 3
Regeln. Mi t der Regel
S ---+ X a X a X a X
gar ant i er en wir, dass genau 3 Symbol e a erzeugt werden. Mi t den Regel n
X --+ A und X ~ b X
erm6gl i chen wir es, aus j edem Ni cht t er mi nal X ein bel i ebi ges Wor t aus {b}*
zu generi eren.
I m Fol genden fiihren wir ei nen for mal en Beweis von L(G) = L3a.
(i)
(ii)
Zuerst zeigen wir L3~ C_ L(G).
Sei x E L3a. Dann ist
x = biab j ab k ab "~
fiir i rgendwel che i, j, k, m E IN. Urn zu zeigen, dass x E L(G), konst rui e-
ren wir eine Abl ei t ung von x in G.
i
S ~ G X a X a X a X ~ c b ~ X a X a X a X ~ c b ~ a X a X a X
~Ja b i a b J X a X a X ~ b i a b J a Xa X ~ b i a b Ja b kXa X
? Y t ?, ]'g ? Tt
~ G biabJab~aX ~ G babJab ab X ~ c biabJab~ab "~.
Wi r zeigen L(G) C_ L3a.
Sei w ein bel i ebi ges Wor t aus L(G). Dies bedeut et , dass eine Abl ei t ung
S ::~G COl : : ~G co2 ::~ . . . :::>G ten = W
von w E {a, b}* in G exi st i ert . Urn w E L3a z u zeigen, bewei sen wir
zuerst mi t t el s I ndukt i on, dass
( { b} * . { x , A} . a) 3 9 { b} * . { X,
fiir alle i = 1 , 2 , . . . , n .
Weil wir aus S s t ar t en und es nur die eine Regel S ---+ X a X a X a X
zur Er s et zung von S gi bt , ist c~1 = X a X a X a X und somi t hat c~1 die
358 10 Grammatiken und Chomsky-Hierarchie
gewiinschte Form.
Sei wi-1 in ({b}*- {X, A}- a ) 3- {b}*- {X, A} fiir ein i _< n. Wi r zeigen,
dass auch c~i die gewtinschte Form hat.
Weil X das einzige Ni cht t ermi nal in c~i-1 ist, wird bei c~i-1 =>G c~i die
Regel X --+ A oder X ~ b X angewendet. Somit gilt
e ({b}*. {x, a}. a) 9 {b}*. {x, a}.
Weil
({b}*. {X, A}. a) a. {b}*. {X, A} N {a,b}* - La~,
erhal t en wir w E Laa. D
Aufgabe 10.4. Entwerfen Sie Grammatiken fiir die folgenden Sprachen:
( i) { a~ C{ 0, 1} * a~1_>2},
(ii) {cz E {a, b}* a~ - z abbay, z, y E {a, b}+},
(iii) {cz E {0, 1}* cz 0 ist gerade}.
Bisher haben wir nur Gr ammat i ken fiir einfache formale Sprachen bet racht et .
Die Li ngui st en versuchen, die Gr ammat i ken zur synt akt i schen Beschreibung
natfirlicher Sprachen zu nutzen. Ffir diesen Zweck bet racht et man die soge-
nannt en synt akt i schen Kat egori en wie {Satz}, {Text}, {Nomen} und {Adjektiv}
als Ni cht t ermi nal symbol e. Beacht en Sie, dass {Nomen} ein Symbol darstellt,
aus dem man ein beliebiges Nomen ableiten kann. Die Termi nal symbol e sind
alle W6r t er aus dem W6rt erbuch. Somit nut zen wir z.B. [Brot] als ein Termi-
nalsymbol, das dem deut schen Wort "Brot" entspricht. Mit Regeln wie
<Text} ~ <Satz><Text>
<Satz} ~ <Subjekt}<Verb}<Objekt}
<Subjekt} ~ <Adjektiv}<Nomen}
<Nomen>- - ~ [Vater]
(Adjektiv} ~ [lieber]
kann man Texte in der Sprache erzeugen.
In der Informat i k benut zt man Gr ammat i ken im Compi l erbau, um synt ak-
tisch korrekte Pr ogr amme einer Pr ogr ammi er spr ache zu beschreiben. Die De-
finition yon Pr ogr ammi er spr achen durch relativ einfache Gr ammat i ken hat die
Konst r ukt i on von effizienten Compi l ern wesentlich vereinfacht. Zum Beispiel
pr~sentieren die folgenden Regeln
10.2 Das Konzept der Grammatiken 359
(Ausdruck} --+
(Ausdruck} --+
(Ausdruck} --+
(Ausdruck} --+
(Ausdruck} --+
(Ausdruck} --+
(Ausdruck} + (Ausdruck}
( Au s d r u c k} - (Ausdruck)
{ a u s d r u c k} , / a u s d r u c k}
(Ausdruck) / (Ausdruck}
({ausdruck})
[id]
das Syst em zur Er zeugung von ar i t hmet i schen Ausdr/icken. Das einzige Nicht-
t er mi nal ist {Ausdruck} und die Termi nal symbol e sind die ar i t hmet i schen Ope-
r at i onen +, - , , , / , die Kl ammer n ( und ) und das Zeichen [id] f/Jr den Ope-
randen.
Aufgabe 10.5. Schreiben Sie eine Ableitung des arithmetischen Ausdruckes (id + id) 9
((id)/(id - id)) durch die Anwendung der oben angegebenen Regeln.
Alle bisher vorgest el l t en Beispiele von Gr ammat i ken haben einfache Regel n
verwendet , bei denen auf der linken Seite i mmer nur ein Ni cht t er mi nal st and.
Es geht aber nicht i mmer so einfach. Regeln wie
a X b c S X --+ Saa, abXba --+ a X Z
sind manchmal nicht zu vermei den, wenn man zum Beispiel eine Berechnung
einer Turi ngmaschi ne nachahmen will. 4
In der Li t er at ur unt erschei det man viele spezielle Gr ammat i kkl assen. Hier be-
t r acht en wir nur vier Basisklassen, die die sogenannt e Chomsky-Hi erarchi e
bilden.
De f i n i t i o n 10. 2. Sei G = (EN, ET, P, S) ei ne Grammat i k.
#
#i)
G heiflt T y p - O- Gr a mma t i k .
{ Typ- O- Grammat i ken st el l en die Kl asse der al l gemei nen, unei ngeschri i nk-
t en Grammat i ke n dar. }
G heiflt k o n t e x t s e n s i t i v e oder T y p - l - Gr a mma t i k , fal l s fi i r alle Paa-
re P
_< 191
4Wie dies geht, zeigen wir im Abschnitt 10.5.
360 10 Grammatiken und Chomsky-Hierarchie
(i i i )
~ )
gilt.
{ Al s o kann ma n kei n Tei l wort c~ dut ch ei n ki i rzeres Tei l wort /3 ers et z en} .
G hei fl t k o n t e x t f r e i oder T y p - 2 - Gr a mma t i k , fal l s f i i r alle Regel n
(~, 9 ) ~ P
c~ E EN und fl E (EN LJ ET)*
gilt.
{ Al s o haben alle Regel n die Form X ---,/3 f i i r ei n Ni c ht t e rmi n a l X } .
G hci fl t r e g ul d r oder T y p - 3 - Gr a mma t i k , fal l s f i i r alle Regel n (c~, ~) E
P
a E EN un d / 3 E E ) . EN U E }
gilt.
{ Di e Regel n ei ner regulgren Gra mma t i k haben die Form X ~ u oder
X ~ u Y f i i r ei n u E E~, X , Y E EN}.
Fi i r i = O, 1, 2, 3 i st ei ne Sprache L v o m Ty p i genau dann, we nn sie von
ei ner Gra mma t i k G vom Typ i erzeugt wird. Di e Fa mi l i e a l l e r S p r a c h e n
v o m Ty p i wi rd mi t s bezei chnet .
Zum Beispiel ist die Gr ammat i k
G3 -- ({S, X}, {a, b}, {S --~ abX, X ~ bX, X ~ a2}, S)
eine regulSxe Gr ammat i k. Die Gr ammat i k
G2 = ({ S, A, B} , {a, b}, { S ~ abbAB, A ~ a, B ~ bA} , S)
ist kontextfrei, aber nicht regulSx, weil S ~ abbAB keine regulSxe Regel ist.
Die restlichen Regeln A ~ a und B ~ bA sind regular. Die Gr ammat i k
Gx : ({S, A}, {a, b}, {S ~ aAb, a A ---+ Sb, A ~ a}, S)
ist kontextsensitiv, aber nicht kontextfrei, weil a A ~ Sb keine kontextfreie
Regel ist. Die Gr ammat i k
Go = ({s, x, z}, {o, 1}, {s -~ x s z , s z -~ 11, x ~ A, o o x
s11, OZl -~ oo}, s)
ist eine Ty p - 0 - Gr a mma t i k , die nicht kontextsensitiv ist, weil sie die soge-
nannt en verkiirzenden Regeln X ~ A und 0Y1 ~ 00 enth~lt.
10.2 Das Konzept der Grammatiken 361
Das Haupt i nt eresse liegt in den Begriffen kontextsensitiv und kontextfrei. Die
Definition 10.2 spiegelt die Klassifikation der Gr ammat i ken nach dem Lingui-
sten Chomsky wieder. Die Kontextfreiheit bedeut et , dass man ein Nichtter-
minal X durch ein Wort a unabhS~ngig davon ersetzen kann, wo sich das X
in dem bisher abgeleiteten Wort befindet und welche Symbole seine Nachbarn
sind. Im Kont rast dazu stehen die kontextsensitiven Regeln, wo das Erset zen
eines Ni cht t ermi nal s von seiner Umgebung abhgngt . Zum Beispiel besagen die
Regeln
a a X -+ a a b Y , b X --+ b, Xb b - - + Za b b
folgendes:
- X kann durch b Y ersetzt werden, falls links von X das Wort a a steht,
- X kann durch A ersetzt werden (gel6scht werden), wenn b links yon X steht
(bemerke, dass diese Regel auch nicht kontextsensitiv ist), und
- X kann durch Za ersetzt werden, wenn das Wort bb rechts von X steht.
Wenn die drei oben geschriebenen Regeln die einzigen Regeln mit X auf der
linken Seite sind, dann bedeut et dies, dass man bei allen anderen "Umgebun-
gen" von X das Ni cht t ermi nal X nicht ersetzen daft. Bei einer Regel wie
a X Zb - ~ S Y b b
ist es natfirlich schwer, fiber die Erset zung eines Ni cht t ermi nal s in einer Um-
gebung zu sprechen. Das ist die bedauerliche Folge des prgsent i ert en Forma-
lismus, den man heute gew6hnlicherweise benut zt . Ursprfinglich war die kon-
textsensitive Gr ammat i k durch Regeln der Form
x, 9) -+
definiert, wobei die Bedeut ung war, dass X durch 7 ersetzt werden daft, wenn
a links und fl rechts yon X stehen. In unserem Formalismus wtirde die Regel
als
geschrieben. Es kann gezeigt werden, dass diese zwei unterschiedlichen Defini-
tionen der kontextsensitiven Ableitungsregel zu der gleichen Klasse der kon-
t ext sensi t i ven Sprachen fiihren.
Der Haupt unt erschi ed zwischen den kontextfreien und regulSzen Gr ammat i ken
ist zun/tchst, dass die rechte Seite einer regul/tren Regel immer h6chstens ein
362 10 Grammatiken und Chomsky-Hierarchie
Nichtterminal enthglt. Dadurch kann es in einer Ableitung nie dazu kommen,
dass ein abgeleitetes Wort aus (EN tO Er)* zwei oder mehrere Nichttermina-
le enthglt. Zweitens daft sich das Nichtterminal auf der rechten Seite einer
regul~tren Regel nur als das letzte Symbol rechts befinden. Damit sind alle
ableitbaren W6rt er einer regulgren Grammat i k von der Form
uX oder u
fiir ein u E E~ und X E EN.
Der wesentlichste Unterschied zwischen kontextsensitiven Grammat i ken und
Typ-0-Grammat i ken ist, dass die kontextsensitiven Grammat i ken keine ver-
k/irzenden Regeln a ~ fl mit Ifll < lal enthalten. Wie wir sehen werden,
spielt dieser Unterschied eine wichtige Rolle. Die allgemeinen Grammat i ken
k6nnen beliebige Speicherinhalte oder Konfigurationen eines Rechners generie-
ren und damit durch Ableitungen beliebige Berechnungen simulieren. Fiir die
Simulation k6nnen sie beliebig viel Speicherplatz verwenden und nach dem die
Berechnung beendet wurde, k6nnten die Typ-0-Grammat i ken die letzte Konfi-
guration der Berechnungssimulation zu der ausgerechneten Ausgabe schrump-
fen lassen. Im Gegensatz dazu k6nnen die kontextsensitiven Grammat i ken nie
W6rt er aus (ENUET)* in der Ableitung verwenden, die lgnger als das erzeugte
Terminalwort sind.
In den folgenden Abschnitten werden wir die Nutzung und die Beschreibungs-
stgrke der eingefiihrten vier Gr ammat i kt ypen untersuchen.
10.3 Regul~ ire Grammat i ken und endli che A ut omat en
Die Zielsetzung dieses Abschnittes ist es, die Abgeschlossenheit der Sprach-
klasse s zu untersuchen und danach zu zeigen, dass /2a genau der Menge
s der regulgren Sprachen entspricht.
Wir beginnen mit einer einfachen Beobachtung.
Le mma 10. 1. /2a enthiilt alle endlichen Sprachen.
Beweis. Sei L = {wl, w2, . . . , wk} eine endliche Sprache fiber einem Alphabet
E. Wir konstruieren eine regulgre Gr ammat i k G wie folgt:
a = ( { s } ~ s~ { s - ~ ~ , s - ~ ~ , . . . ~ s - ~ ~ } ~ s ) .
Offensichtlich gilt L( G) = L.
10.3 Regulg~re Grammatiken und endliche Automaten 363
Aufgabe 10.6. Beweisen Sie im Formalismus der endlichen Automaten, dass 12 (EA) alle
endlichen Sprachen enth/ilt. Gelingt Ihnen auch ein so einfacher Beweis wie in Lemma 10.1?
Wi r sagen, dass eine Sprachklasse 12 a bge s c hl os s e n bezf i gl i ch e i ne r bi n/ i r e n
Op e r a t i o n @ fiber Sprachen ist, falls fiir alle L1, L2 E 12
LI @ L2 E s
gilt.
Wi r sagen, dass eine Sprachkl asse/2 a bge s c hl os s e n bezi i gl i ch e i ne r un/ i r e n
Op e r a t i o n 49 ist, falls fiir jede Sprache L E 12
gilt.
In der Theorie der formalen Sprachen bet racht et man die bin~ren Opera-
t i onen Vereinigung (U), Schnitt (N) und Konkat enat i on (.) und die unS~ren
Operat i onen Kleene' scher St ern (*), Kleene' sches +, Homomorphi smus und
Kompl ement . Der Begriff der Abgeschlossenheit kommt aus der Algebra, wo
gefordert wird, dass alle algebraischen St r ukt ur en (Algebren) wie Hal bgrup-
pen oder K6rper abgeschlossen beziiglich der bet r acht et en Operat i onen sind.
Die Klasse s ist eine ,,nette" Klasse, weil sie bez/iglich der mei st en grund-
legenden Operat i onen abgeschlossen ist. Im Folgenden dokument i eren wir die
Abgeschlossenheit beziiglich einiger Operat i onen, fiir die diese Eigenschaft ins-
besondere leicht fiber das Konzept der Gr ammat i ken zu beweisen ist. Wi r er-
i nnern daran, dass wir im Abschni t t 3.3 die Abgeschlossenheit yon s
beziiglich O, N und Kompl ement bi l dung bewiesen haben.
Le mma 10. 2. s i st abgeschl ossen beziiglich Verei ni gung.
Bewei s. Seien L und L ~ zwei beliebige Sprachen aus s Dann gibt es zwei
regulS~re Gr ammat i ken
(7 - (EN, ET, P, S) und (7' - (E~v , E~, P' S' )
so dass L(G) = L und L(G' ) : L' . Weil die Ni cht t ermi nal e nach Bedarf
umbenannt werden diirfen, nehmen wir ohne Beschr~inkung der Allgemeinheit
an, dass EN A E~v -- 0.
Wi r konst rui eren eine Gr ammat i k
G" - P", s " )
364 10 Grammatiken und Chomsky-Hierarchie
mi t
L ( G " ) - L ( G ) U L ( G ' ) .
Die Idee ist sehr einfach. Wi r nehmen ein neues St ar t s ymbol S" r ENUE~v und
er l auben, es dur ch die St ar t s ymbol e der Gr a mma t i ke n G und G' zu erset zen.
Wenn wir dann P und P' zur neuen Menge der Regel n verei ni gen, er hal t en
wir die gewt i nscht e Gr a mma t i k G". For mal sieht dies fol gender massen aus:
p l l
{ s " } u u
ET U E~, und
_ p u p ' u { s" ' - , s" ' }.
Es bl ei bt zu beweisen, dass L(G") - L(G)U L(G' ) gilt. Wi r zeigen die ent-
spr echenden Inkl usi onen einzeln.
(i)
(ii)
Wi r zeigen L(G) U L(G' ) C_ L(G").
Sei x ein beliebiges Wor t aus L(G)U L(G' ). Ohne Einschr/~nkung der
Al l gemei nhei t nehmen wir an, dass x E L(G). Dann exi st i ert eine Ablei-
t ung
S ~a x
von x in G. Die folgende Abl ei t ung
S" ~a " S ~, , x
ist die Abl ei t ung yon x in G", weil G" alle Regel n yon G besi t zt .
Wi r zeigen L( G") C_ L( G) U L(G' ).
Sei x ein bel i ebi ges Wor t in L(G"). Sei
Sl l :=}G" OZl :=}G" 0~2 :::}G" . . . :::~G" O~n - - X
eine Abl ei t ung yon x in G". Wi r haben nur die Regel n S" ~ S ~ und
S" ~ S mi t der linken Seite S". Deswegen gi bt es nur zwei M6gl i chkei t en
ftir al , ent weder a l = S oder a l = S ~.
Falls a l = S, dann ist
:==}G l/ O~2 :==}G l/ " ' " ==}G" O@t - - X
auch eine Abl ei t ung in G, weil EN N E~v - 0. Somi t ist x in L(G).
Falls OL 1 - - S I, ist diese Abl ei t ung mi t S' s t at t S auch eine Abl ei t ung yon
x in G' und somi t x E L(G' ).
10.3 Regulgre Gr ammat i ken und endliche Aut omat en 365
Le mma 10. 3. /23 i s t abge s c hl os s e n bezi i gl i ch Kon ka t e n a t i on .
Be we i s . Seien L und L' zwei beliebige Sprachen aus s Seien
G - ( EN, ET, P, S ) und G' - ( E~v , E ~ , P ' , S ' )
zwei regulgre Cr a mma t i ke n mi t L( G) - L, L( G' ) - L' und EN Cl E~v -- 0. Wi r
konst rui eren eine Gr a mma t i k
mi t
c " - _ r , " , s")
L( G") - L( G) . L(G' ).
Die Idee der Kons t r ukt i on ist wie folgt: Wi r set zen S" = S und lassen G"
die Abl ei t ungen von G bis zum l et zt en Abl ei t ungsschr i t t nachmachen. Eine
Abl ei t ung endet i mmer durch die Anwendung einer Regel A --+ w, wobei w
ein Ter mi nal wor t (w E E}) ist. Wi r erset zen jede solche Regel A --+ w in G
durch eine neue Regel A --+ wS ' in G". Dadur ch kann in G" Abl ei t ung eines
Wort es aus L( G' ) angeh/~ngt werden, s Eine formal e Kons t r ukt i on yon G" kann
wie folgt beschri eben werden:
r )
rf
S"
E II
EN U ESv ,
ET U E~,
S, u n d
P' U ( P N E N x E~ . EN ) U {A ---+ S 'l A ---+ w r P, w e E~}.
Den Beweis von L( G") -- L( G) . L( G' ) iiberlassen wir dem Leser.
Au f g a b e 10. 7. Vervollstgndigen Sie den Beweis von Lemma 10.3.
Au f g a b e 10. 8. Verwenden Sie die Beweisidee aus Lemma 10.3, um zu zeigen, dass s
abgeschlossen beziiglich des Kleene' schen Sterns ist.
Au f g a b e 10. 9. Konst rui eren Sie eine regulgre Gr ammat i k fiir folgende Sprachen:
(i) { abbx aaaybba I x, y c {a, b, c}*},
(ii) { aabbx I x c {a, b}* und Ixla = 3},
(iii) { x a a b b y I x, y E {a, b}*, Ixylb ist gerade }.
5Und nicht nut das. Es kann in G" kein Wort abgeleitet werden, das nicht einen Suffix aus
G' enth/~lt.
366 10 Gr a mma t i ke n und Choms ky- Hi er ar chi e
Fi i hr en Sie auch die Bewei se um zu zei gen, dass die yon I hnen kons t r ui er t en Gr a mma t i ke n
t at s~chl i ch die Spr ache er zeugen.
Wi r wollen j et zt zeigen, dass s = s indem wir zu jedem endlichen Au-
t omat en eine 5~quivalente regulS~re Gr ammat i k konstruieren und umgekehrt zu
jeder regulSzen Gr ammat i k einen 5~quivalenten endlichen Aut omat en entwer-
fen. Wi r begi nnen mit der einfacheren Richtung.
Sa t z 10. 1. Zu j edem endl i chen A ut omat en A exi st i ert eine regulgre Gramma-
tik G mi t L(A) = L(G).
Beweis. Sei A = (Q, E, 5, q0, F) ein endlicher Aut omat . Wi r konst rui eren eine
regulare Gr ammat i k G = (EN, ET, P, S) mit L(G) = L(A). Die Idee ist, jede
Berechnung von A auf einem Wort durch eine Abl ei t ung dieses Wortes in G
zu simulieren. Der endliche Aut omat liest in j edem Berechnungsschri t t einen
Buchst aben a aus der Ei ngabe und 5~ndert dabei den Zust and. Die Gr ammat i k
G kann diesen Schritt durch einen Abl ei t ungsschri t t simulieren, in dem a er-
zeugt wird. Die ZustS~nde von A werden in dieser Si t uat i on zu den Nichttermi-
nalen von G. Wenn A in einem akzept i erenden Zust and endet, dann akzept i ert
A das gelesene Wort. Also erl auben wir G nur dann zu terminieren, wenn das
aktuelle Ni cht t ermi nal einem akzept i erenden Zust and entspricht. Die formale
Konst rukt i on sieht wie folgt aus:
Y]N z
ET
S =
P =
Q
E
Go
{p ~ aql for alle a E ~, p, q E Q, so dass a(p, a) = q}
Wi r beweisen j et zt L(G) = L(A).
(i) Wi r zeigen L(A) c_ L(G).
Sei x - a l a 2. . , a~ ftir ai E E ein beliebiges Wort in L(A). Sei
( qo, a~a~ . . . a~) ~ ( q~, a~ . . . a~) ~ ( q~, a~ . . . a~) ~ . . .
~A (%-1, a~) ~A (%, A)
eine akzeptierende Berechnung (% E F) yon A auf x.
Weil ~(qi, ai+l) = qi+l die Existenz der Regel qi ~ ai+lqi+l in G impli-
ziert und q~ E F die Regel q~ ~ A in P fordert, erhal t en wir die folgende
10.3 Regul~re Grammatiken und endliche Automaten 367
(ii)
Abl ei t ung yon x in G:
qo ~ a a~q~ ~ a ala2q2 =:~G ala2a3q3 =:~G . . . =:~G
a l . . . a n - l q n - 1 :=~G a l . . . a n - l a n q n =:~G a l . . . a n - l a n .
L( G) c_ L( A) zu zeigen, iiberlassen wir dem Leser.
Aufgabe 10.10. VervollstSmdigen Sie den Beweis des Satzes 10.1.
Aus dem Beweis des Satzes 10.1 sehen wir, dass die Ni cht t ermi nal e bei m Ent -
wurf von regul~ren Gr ammat i ken die gleiche Rolle spielen kannen wie die
Zust gnde bei m Ent wurf von endlichen Aut omat en. In dem Zust and haben
wir i mmer die notwendige Informat i on fiber den bisher gelesenen Prefi x der
Ei ngabe gespeichert. Analog kann das aktuelle Ni cht t ermi nal der TrS~ger der
gleichen Informat i on fiber den bisher erzeugt en Prefi x sein. Wi r illustrieren
dies durch folgendes Beispiel.
Be i s pi e l 10. 4. Im Beispiel 10.3 haben wir fiir die Sprache
L3a = {w E {a, b}* I IWla = 3}
eine Gr ammat i k konst rui ert . Diese Gr ammat i k ist aber nicht regulS~r, weil die
Regel S ~ X a X a X a X dieser Gr ammat i k nicht regulS~r ist. Wi r konst rui eren
eine regul~ire Gr ammat i k
/-Z = ({X0, Xl , 22, 23} , {a, b}, r~ X0) ,
wobei die Bedeut ung des Ni cht t ermi nal s Xi ist, dass bisher i Symbole a erzeugt
worden sind. Um ein beliebiges Wort aus Laa zu generieren, verwenden wir die
Regel
fiir i = 0, 1,2, 3, um jederzeit eine beliebige Anzahl von b's generieren zu
k6nnen. Die Regeln
X 0 -----+ a N 1 , 2 1 -----+ a N 2 , 2 2 ----> a N 3
garant i eren uns, dass die Anzahl der erzeugt en Symbole a durch das Nichtter-
minal Xi gespeichert wird. Mit der Regel
368 10 Grammatiken und Chomsky-Hierarchie
gar ant i er en wir, dass eine Abl ei t ung in H nur dann mi t einem Wort aus {a, b}*
t er mi ni er en kann, wenn genau drei Symbole a generi ert worden sind. Ei n Bei-
spiel einer Abl ei t ung fiir das Wort bbabbbaabbb ist
X o ==~ H bXo ==~ H bbXo ==~ H bbaXl ===>3 H bbabbbXl ==~ H bbabbbaX2
==~H bbabbbaaX3 ~ 3 H bbabbbaabbbX3 ~ H bbabbbaabbb.
Zu zeigen, dass L3 a = L( H) gilt, wi rd dem Leser iiberlassen.
Aufgabe 10.11. Beweisen Sie L3 a = L(H) fiir die Grammatik H aus Beispiel 10.4.
Aufgabe 10.12. Entwerfen Sie regulgxe Grammatiken fiir folgende Sprachen:
(i) {x E {0, 1}* I Ixl0 ist gerade und IXll ist ungerade},
( ii) { x c { 0 , 1 } * I I xl0 ( mo d 3 ) = l } ,
(iii) {x C {a, b}* I IXla > 2 und IXl b (mod 3 ) : 0}~
(iv) {x = y0101z I y, z C {0, 1}*, lYl0 ist gerade, IZll ist ungerade}.
D
Die Idee der Si mul at i on eines endlichen Aut omat en durch eine regul gre Gr am-
mat i k war einfach; die Ni cht t ermi nal e haben als I nfor mat i onst r ~ger die Rolle
der ZustSmde i i bernommen. Diese Idee m6cht en wir auch gerne fiir den Weg
von regulSxen Gr ammat i ken zu endlichen Aut omat en benut zen. Wenn eine
regulSxe Gr ammat i k nur Regeln der Form
X - ~ a und X -~ a Y (10.1)
fiir ein Termi nal symbol a hS~tte, wSxe es m6glich, di rekt einen 5~quivalenten
ni cht det ermi ni st i schen endlichen Aut omat en zu bauen. Fiir die Regel X ~ a Y
wiirde man zum Beispiel Y E 6(X, a) nehmen, und fiir die Regel X ~ a
definiert man qF E 6(X, a) fiir einen akzept i er enden Zust and qF mi t 6(qF, b) =
fiir alle Termi nal symbol e b.
Leider schaffen wir es nicht, die Regeln der Form
X~Y, X~A, X~u Yf i i r l ul _>2
di rekt in die Konst r ukt i on eines NEA umzuset zen. Die Beweisidee, die wir
hier verfolgen, best eht darin, zuerst zu zeigen, dass jede regulSxe Gr ammat i k
in eine ~quivalente regul~re Gr ammat i k, die nur die Regeln der Form (10.1)
hat , t r ansfor mi er t werden kann.
De f i n i t i o n 10. 3. Ei ne reguliire Gra mma t i k G - (EN, ET, P, S) hei fl t nor -
mi e r t , we nn alle Regel n der Gra mma t i k n ur ei ne der f ol ge nde n drei Forme n
haben:
10.3 Regul~re Gr ammat i ken und endliche Aut omat en 369
S ---+ A, wobei S das St art s ymbol ist,
A ~ a f i i r A E EN und a E ET, und
B --+ bC f i i r B, C E EN und b E ET.
Um zu zeigen, dass zu jeder regulgren Gr ammat i k eine/~quivalente normierte
Gr ammat i k existiert, ersetzen wir die unerwiinschten Regelformen eine nach
der anderen.
Zuerst ersetzen wir die Regeln X ~ Y, die wir Ke t t e n r e g e l n nennen.
Le mma 10. 4. Fi i r j ede reguliire Gra mma t i k G exi s t i ert ei ne i i qui val ent e re-
9uliire Gra mma t i k G ~, so dass G ~ kei ne Regel der Form X --+ Y f i i r zwei
Ni c ht t e rmi n a l e X und Y enthiilt.
Bewei s. Sei G = (EN, ET, P, S) eine beliebige regulSxe Grammat i k. Fiir jedes
Nichtterminal A E Ex best i mmen wir die Menge K ( A) der Nichtterminale,
die yon A ausgehend durch die ausschlief31iche Anwendung der Kettenregel
erreicht werden k6nnen. Formal geschrieben,
K( A) = { D r Ex] A :~*G D} .
Die Menge K ( A) kann algorithmisch auf folgende Weise berechnet werden:
Setze
Ko(A)
Ki +I (A)
= { A } und
= K~ ( A) U { B r ENI 3 C r K~(A) so dass C---+ B r P}
ftir i = 0, 1, . . . , I ENI - 2. Dann gilt offensichtlich
CXD
I f ( A) - - I ~ ENI_ 1 (A) - - U I ~i (A)"
i=1
Die Idee der Konst rukt i on yon G' ist, dass man die Ableitungsteile
A ~G A~ ~G A2 ~G. . . ~G A~ ~c c~
in G durch einen Ableitungsschritt
in G' ersetzt. Das kann man erreichen durch das Hinzufiigen der Regel A --+ ct
fiir alle rechten Seiten c~ c E}UE +. EN der Regeln, deren linke Seiten in K( A)
liegen.
370 10 Gr ammat i ken und Chomsky-Hi erarchi e
Die formale Konst rukt i on sieht wie folgt aus" G' - (EN, ET, P' , S), wobei
AEEN
a E ET U ET+EX und } )
3U E K( A) mit C --+ c~
EN EN.
Wir verzichten auf den formalen Beweis der Aquivalenz L(G) - L(G' ). D
Au f g a b e 10. 13. Bet racht en wir die folgende Gr ammat i k
G - - ( { X o , X l , X 2 , X 3 } , { a , b } , P, Xo} )
mit
P - { Xo --+ X1 , Xo --+ X3 , X l -----+ a X l , X l -----+ X o , X l -----+ )~,
X3 ---+ bbX3, X3 ---+ Xo, X3 ---+ X2, X2 ---+ A}.
Verwenden Sie die Konst r ukt i on aus Lemma 10.4, um alle Ket t enregel n von G zu beseitigen.
Als Ngchstes beseitigen wir alle Regeln A + A fiir alle Nichtterminale A, die
nicht gleich dem St art symbol S sind. Wir bemerken, dass S + A nicht entfernt
werden kann, weil dann keine Maglichkeit mehr besteht, das leere Wort aus
der Sprache L(G) zu generieren.
Le mma 10.5. Fi i rj ede regul6re Grammat i k G exi st i ert eine iiquivalente Gram-
mat i k G' , die kei ne Regel A ~ A fi i r ein Ni c ht t e rmi nal A, welches ni cht gleich
dem St art symbol ist, enthiilt.
Bewei s. Sei G- (2N, 2T, P, S) eine beliebige regulgre Grammat i k, die keine
Kettenregeln besitzt, und seien
A1 --+ A, A2 --+ A, . . . , Ak --+ k
alle Regeln in P aus (P~N- {S}) x {A}. Wir konstruieren eine regulgre Gram-
mat i k G' - (EN, ET, P' , S) mit
p'
( P- { A1 ~ A, A2 ~ A, . . . , A~ ~ A})
k
u U{ B B P }
/=1
10.3 Regul~re Grammatiken und endliche Automaten 371
Die Idee der Kons t r ukt i on ist, dass die Regel n B ~ wAi und Ai --~ A eine
Abl ei t ung
B ~ c wA~ ~ G w
in G erm6glichen. Mit dem Ei nfi i hren der Regel B ~ w kann die Gr amma-
t i k G ~ ohne die Regel Ai ~ A diese Abl ei t ung durch einen Abl ei t ungsschr i t t
nachahmen.
Wi r beweisen j et zt , dass L(G) = L(G' ). Wi e iiblich bewei sen wir die ent spre-
chenden Inkl usi onen separat .
(i) Wi r zeigen L(G) C_ L(G' ).
Sei x ein beliebiges Wort aus L(G) und sei
===~G WlB1 =r ~ G W l W 2 B 2 : : : : ~ G . . . : : : : ~ G W l W 2 . . . B n - 2
:::::::} G w l w 2 . . . W n _ 2 W n _ l g n _ 1 :=:F G w l w 2 . . . W n _ 2 W n _ l W n ~ X
mi t w~ E E~ und B~ E EN fiir i -- 1, 2 , . . . , n - 1 eine Abl ei t ung yon x in
G.
Falls w~ -~ A, sind alle Regeln, die in S =~ x benut zt werden 6, in
P- {A1 ~ A, . . . , Ak ~ A} und somi t ist diese Abl ei t ung auch eine
Abl ei t ung in G ~.
Falls w~ = A, war die l et zt e angewandt e Regel in der Abl ei t ung B~_I
A. Dann sieht die Abl ei t ung yon x in G ~ fol gendermassen aus:
::=F G , W1~1 =::F G , . . . =::F G , W l W 2 . . . W n - 2 ~ n - 2
:::::::~ G I W I . . . W n _ 2 W n _ 1 ~ X .
Die erst en n - 2 Abl ei t ungsschr i t t e gleichen den erst en n - 2 Abl ei t ungs-
schr i t t en in (7 und der l et zt e Abl ei t ungsschr i t t wur de durch die Regel
B~_2 ~ w~- i E P~ realisiert. Die Regel B~_2 ~ w~- i ist in P~, weil die
Regel n
(ii)
Bn--2 ~ Wn--lBn--1 und Bn-1 ~ ,~
in P sind.
Wi r zeigen L(G' ) C_ L(G).
Sei x ein beliebiges Wort aus L(G ~) und sei
S :=~*G' Wl D :=~G' W l W 2 - - X
6Bemerken Sie, dass in einer Ableitung einer regulgren Grammatik h6chstens einmal eine
Regel der Form A --~ A angewendet werden kann.
372 10 Grammatiken und Chomsky-Hierarchie
fiir ein D E EN und Wl , W 2 E }-]} eine Abl ei t ung yon x in G' . Der Teil der
Abl ei t ung S ~*a, Wl D benut zt nur Regel n aus P, weil D E EN. Somi t
gilt
S ==~G wl D.
Falls D --+ w 2 E P , d an n gilt au c h w l D ~ G W l W 2 = x.
Falls D ~ w2 ~ P, dann exi st i ert ein Ai E EN so dass
D ~ w2Ai, Ai ~ A E P.
Da nn ist
S =:k G W l D =:kG W l W 2 A i =:kG W l W 2 - - X
eine A b ] e i t u n g v o n x in G.
Aufgabe 10.14. Im Beispiel 10.4 haben wir eine regulgre Grammatik fiir die Sprache L3a
konstruiert. Diese Grammatik enthglt die Regel Xa + I. Beniitzen Sie Lemma 10.5, um
diese Regel zu eliminieren.
Aufgabe 10.15. In der Aufgabe 10.13 haben Sie eine Grammatik ohne Kettenregel kon-
struiert. Diese Grammatik enthglt abet mehrere Regeln der Form X + A. Konstruieren Sie
nach Lemma 10.5 eine gquivalente regulgre Grammatik, die keine solche Regel auger S + A
enthglt.
Jet zt sind wir soweit, dass wir unsere Ha u pt b e h a u pt u n g fiber die For men der
r egul gr en Gr a mma t i ke n formul i eren kSnnen.
Sa t z 10. 2. Zu jeder reguliiren Grammat i k existiert sine iiquivalente normi ert e
regulgre Grammatik.
Beweis. Sei G eine beliebige regul gre Gr a mma t i k. Wenn ma n die Kons t r uk-
t i onen aus Le mma t a 10.4 und 10.5 anwendet , er hal t en wir eine regulSxe Gr am-
mat i k
Go - ( 2N , 2r , Po, s )
mi t fol genden Ei genschaft en"
( i)
(ii)
L( Go ) - L(G) und
Po enthSJt nur Regel n fol gender Formen:
( ii.1) S - - + A,
(ii.2) A~wf i i r e i n Ac Ex u n d wc (ET) +,
(ii.3) B --+ u C ftir B, C E EN und u E (ET) +.
10.3 Regul~ire Gr ammat i ken und endliche Aut omat en 373
Um eine Gr a mma t i k in nor mi er t er For m zu er hal t en, mt i ssen wir die Regel n
A - ~ ~ mi t I ~ 1 > 2 . n d B - ~ ~ C mi t I~1 > 2 d~ r c h R~ g~ l n d~ r F or m
D ~ a und D ~ a X fiir a E ET erset zen. Um unn6t i ge schwer dur chschaubar e
formal e Kons t r ukt i ons bes chr ei bungen zu vermei den, zeigen wir nur, wie ma n
solche Regel n eine nach der ander en erset zen kann. Sei
A ~ W l W 2 . . . Wk.B
eine Regel aus P mi t k _> 2, wi E ET fiir i -- 1 , . . . , k. Wi r nehmen neue 7 Nicht-
t er mi nal s ymbol e A1, A2 , . . . , Ak-1 und erset zen diese Regel dur ch die Regel n
A ~ wl A1 , A1 ~ w2A2, . . . , Ak- 2 ~ W k - l Ak - 1 , Ak - 1 ~ wk B.
Anal og wi rd eine Regel
C------~ Ul U2 . . . u m
mi t m _> 2, ui E ET ftir i - 1 , . . . , m, dur ch die Regel n
C -----+ Ul Cl , Cl ----> ' U, 2( ~2, . . . , Ck - 2 ~ Um- l Cm- 1 , Cm- 1 ---+ Um
erset zt . Bei der Er set zung j eder uner wi i nscht en Regel muss ma n dar auf acht en,
dass i mmer neue Ni cht t er mi nal s ymbol e genommen wer den (also exi st i ert nur
eine Regel mi t Ai auf der linken Seite, und zwar Ai ~ Wi +l Ai +l und Ai wi rd
ni r gendwo ander s ver wendet ). Wenn ma n dies einh~lt, ist es offensichtlich, dass
ma n dadur ch eine zu Go ~iquivalente Gr a mma t i k erzeugt . D
Au f g a b e 10. 16. Bet r acht en wir die Gr ammat i k G aus Aufgabe 10.13. Konst r ui er en Sie
eine zu G ~iquivalente nor mi er t e regul~ire Gr ammat i k.
Au f g a b e 10. 17. Bet r acht en wir die Gr ammat i k
G - - ( { S, X I , X 2 , X 3 } , {0, 1}, P~ S)
mi t
P- {S --~ 0S, S --~ 1S, S ~ 01S, S --~ l l l 0X1, X 1 -----> 0X1,
X1 -----> 1X1, X1 -----> 0001X2, X2 ~ 1X2, X2 ~ 0011X3,
X3 ~ OX3, X3 ~ 1X3, X3 --+ O, X 3 ~ 1}.
7Symbole, die nicht in EN U ET vor handen sind
374 10 Grammatiken und Chomsky-Hierarchie
Konstruieren Sie eine zu G ~quivalente normierte regul~re Grammatik. Welche Sprache
erzeugt G?
Jet zt pr~sent i eren wir das Haupt r esul t at : Die Konzept e der regul~tren Gr am-
mat i ken und der endlichen Aut omat en definieren die gleiche Klasse von re-
gul~ren Sprachen.
S a t z 1 0 . 3 . s = s
Beweis. Der Satz 10.1 besagt , dass man zu j edem EA eine ~tquivalente regul gre
Gr ammat i k konst rui eren kann. Somit gilt
s c_ s
Uns bleibt zu zeigen, dass s c_ s Sei L eine beliebige Sprache aus
s Aus dem Satz 10.2 wissen wir, dass L = L(G) fiir eine nor mi er t e regul~re
Gr ammat i k G. Weil zu j edem ni cht det ermi ni st i schen endlichen Aut omat en ein
~quivalenter EA existiertS, reicht es, einen zu G ~qui val ent en ni cht det ermi ni -
stischen endlichen Aut omat en M zu konst rui eren.
Die Idee der Konst r ukt i on basi ert auf der Umkehr ung der Konst r ukt i on aus
Satz 10.2 (Fig. 10.1). Sei G = (EN~ ET~ P, S) die normi ert e regul~re Gr amma-
t i k mit L(G) = L. Wi r konst rui eren
M : u {q. }. 5. s, F) .
wobei
r - { q ' }
L
falls S -~ A ~ P,
falls S -~ A E P
6(qF~ a) = 0 fiir alle
Y E 6 (X~ a) falls
qr E 6 (X~ a) falls
a E Y ]T~
X ---+ a Y E P, X, Y E EN, a E ET,
X ~ a E P , X E E N , a E E T.
Wi r beweisen j et zt L( G) = L(M).
(i) Wi r zeigen L(G) c L(M).
Sei x = wl w2. . , w~ ffir wi E ET ein beliebiges nichtleeres Wort aus L(G).
8potenzmengenkonstruktion aus Satz 3.2
10.3 Regul~re Grammatiken und endliche Automaten
j
I x l I Y I
375
Fig. 10.1 Der Schritt des NEA M, der der Anwendung der Regel X ~ aY in der Ableitung
von G entspricht.
Sei
S ==vc wl A1 ~ G Wl W2A2 ~ c . . . ~ c Wl W2. . . W~ _ l A~ _ l
::::~ G W l W 2 9 9 9 W n
eine Abl ei t ung yon x in (7. In di eser Abl ei t ung wur de n nachei nander die
Regel n
S ---, wl A1 , A1 ~ w2 A2 , . . . , A~_2 ~ W~ _ l A~ _ l , A~_ I ---, w~
von G angewendet . Der Kons t r ukt i on von M fol gend, gilt
A1 e ~ ( S , ~ 1) , A~ e ~ ( A1, ~ ) , . . . , A~ _I e ~ ( A~ _~ , ~ - 1 ) ,
qF E 8( A~- I , w~).
Da dur c h er gi bt sich die fol gende akzept i er ende Ber echnung von M auf
x :
(s, ~1 ~. . . ~- 1 ~) , . (dl, ~. . . ~- 1 ~)
, . (d~, ~. . . ~- 1 ~) " ~. . . "~ (d~_~, ~- 1 ~)
Fal l s A E L( G) , da nn kann es nur mi t der Regel S ~ A E P er zeugt
wer den. Da n n ist abet S E F und somi t A E L( M) .
( ii) L ( ~ ) c_ L( G) ~ , ~ i g ~ g~ ht ~ l o g , , nd wir a b ~ r l ~ n ~ d~ m L ~ r .
D
Auf gabe 10.18. Vervollst~ndigen Sie den Beweis des Satzes 10.3, indem Sie die Tatsache
L(M) c_ L(G) formal beweisen.
Auf gabe 10.19. Betrachten Sie die Grammatik H aus Beispiel 10.4. Konstruieren Sie einen
zu H ~quivalenten endlichen Automaten.
376 10 Grammatiken und Chomsky-Hierarchie
Auf gabe 10.20. In Aufgabe 10.9 haben Sie regulgre Grammatiken fiir drei regulgre Spra-
chen entworfen. Wandeln Sie zuerst die von Ihnen entworfenen Grammatiken in gquivalente
normierte regulgre Grammatiken um und konstruieren Sie dann mit Hilfe des Satzes 10.3
gquivalente nichtdeterministische endliche Automaten.
Auf gabe 10.21. In Abschnitt 3.4 haben wir das Pumping-Lemma fiir regul~tre Sprachen
als eine Methode zum Beweisen der Nichtregularitgt von Sprachen entwickelt. Der Beweis
basierte auf der Tatsache, dass in jeder geniigend langen Berechnung sich zwei Zustgnde
wiederholen mfissen. $omit entsteht die MSglichkeit eine $chleife zu bilden, die beliebig vie-
le Male wiederholt werden daft, ohne dass es der Automat merken kann. Lange Ableitungen
von regul~tren Grammatiken k6nnen auch nicht die Wiederholung von Nichtterminalen ver-
meiden. Benutzen Sie diese Eigenschaft, um das Pumping-Lemma in dem Formalismus der
Grammatiken zu beweisen.
10.4 Kont ex t f rei e Gr ammat i ke n und Ke l l e r aut omat e n
Wi e wi r schon erwS~hnt haben, si nd die kont ext f r ei en Gr a mma t i k e n die Gr a m-
mat i ken, die uns als I nf or mat i ker am mei s t en i nt eressi eren. Di e Kl asse s (in
der Li t e r a t ur auch als s bezei chnet ) der dur ch kont ext f r ei e Gr a mma t i k e n
er zeugbar en Spr achen nennt ma n die Kl asse von kont ext f r ei en Spr achen. Di e
Zi el set zungen dieses Abs chni t t es sind:
- Di e Bes chr ei bungs s t gr ke der kont ext f r ei en Gr a mma t i k e n zu unt er s uchen und
dabei ghnl i ch wie bei r egul gr en Spr achen eine Pu mpi n g - Me t h o d e zu ent wi ckel n,
mi t der ma n die Ni cht exi st enz von kont ext f r ei en Gr a mma t i k e n fiir gewi sse kon-
kr et e Spr achen zei gen kann (also die Tat s ache L ~ s bewei sen kann) .
- Di e Ke l l e r a ut oma t e n als ein Mas chi nenmodel l ei nzufi i hren, das genau die
Bes chr ei bungs s t gr ke von kont ext f r ei en Gr a mma t i k e n hat .
Zuer st be oba c ht e n wir, dass 9 s c s d. h. es gi bt kont ext f r ei e Spr achen, die
kei ne r egul gr en Spr achen sind.
Be t r a c ht e n wi r die Gr a mma t i k
wobei
P = 0 S l } .
9Die Inklusion s C_ s ist offensichtlich, weil regul~ire Grammatiken ein Spezialfall von
kontextfreien Grammatiken sind.
10.4 Kontextfreie Grammat i ken und Kel l eraut omat en 377
Wi r sehen sofort, dass L( G) = {0~1~ I n E IN}, was keine regulS~re Sprache ist.
Eine andere h~tufig benut zt e kontextfreie, aber nicht regulgre Sprache ist die
Sprache
LR - { wwR I w E {0, 1}*}.
Diese Sprache kann anschaulich durch die folgende kontextfreie Gr ammat i k
GR = ({S}, {0, 1}, {S ~ A, S ~ 0S0, S ~ 1S1}, S)
erzeugt werden.
Au f g a b e 10. 22. Beweisen Sie LR = L(GR).
Au f g a b e 10. 23. Bet racht en Sie die Sprache der Pal i ndrome
Lp = { w c {0, l}*lw = w~}.
Konstruieren Sie eine kontextfreie Gr ammat i k G mit L(G) = Lp. Beweisen Sie, dass Lp
keine regulate Sprache ist.
Die in diesem Abschni t t bisher bet r acht et en kontextfreien Gr ammat i ken waren
sehr einfach, weil alle rechten Seiten der Regeln jeweils nur ein Ni cht t ermi nal
ent hal t en haben. Dami t ist in jeder Abl ei t ung solcher Gr ammat i ken i mmer nur
ein Ni cht t ermi nal in den erzeugten ni cht t ermi nal en WSrt ern. Solche einfachen
Regeln reichen aber nicht aus, um jede Sprache aus s zu erzeugen. Im Beispiel
10.2 braucht en wir fiir die Sprache Lg~ = {w E {a, b } * l l Wl a = Iwlb} auch die
Regel S ~ S S . Das folgende Beispiel zeigt eine andere Strategie um Lg~ zu
generieren.
Bei s pi el 10. 5. Wi r bet racht en die folgende Gr ammat i k:
a = {{s, A, B}, {a, b}, P, S}.
Die Bedeut ung des Auft ret ens eines Ni cht t ermi nal s A ist, dass wir die Generie-
rung eines Symbols a schulden, um die Anzahl yon a' s und b's auszugleichen.
Analog bedeut et das Vorhandensein eines B in einem ni cht t ermi nal en Wort,
dass wir fiir den Ausgleich ein b schulden.
Wi r nehmen zuerst die Regeln:
S ~ A, S ~ a B un d S ~ bA.
378 10 Grammatiken und Chomsky-Hierarchie
Dami t kann ma n W6r t er generi eren, die mi t a oder mi t b anfangen, und wenn
a [b] generi ert wurde, deut et B [A] das Schul den fiir die Gener i er ung eines b [a]
an. Die Regel n
A ~ a, A ~ aS, B ~ b, B ~ b e,
erm6gl i chen dann, den Ausgl ei ch zu erreichen. Wenn aber in dem generier-
t en Wor t das ngchst e Symbol unt erschi edl i ch von dem Ausgl ei chssymbol ist,
nut zen wir die fol genden Regel n
A ~ b AA, B ~ a B B ,
die das Erfassen hSherer Ver schul dung in der Gener i er ung yon a' s oder b's
gar ant i er en. D
Aufgabe 10.24. Beweisen Sie, dass die kontextfreie Grammatik aus Beispiel 10.5 die Spra-
che Lge = {w E {a, b}*l l wl a = IWlb} erz ugt
Aus dem Gr und, dass in den Abl ei t ungen von kont ext fr ei en Gr a mma t i ke n
mehr er e Ni cht t er mi nal e in ei nem Wor t auf t r et en diirfen, suchen wir eine fiber-
schaubar e Dar st el l ung von Abl ei t ungen, die unabhS~ngig von der Wahl des als
nS~chsten zu er set zenden Ni cht t er mi nal s ist.
De f i n i t i o n 10. 4. Se i G = (EN, ET, P, S) s i ne kon t e x t f re i e Gr a mma t i k un d
sei x s i n Wort aus L( G) . Se i a s i ne A bl ei t ung von x i n G. De r S y n t a x -
b a u m ( Ab l e i t u n g s b a u m) T a de r A bl ei t ung a i s t ei n ma r ki e r t e r Ba u m mi t
f ol g e n d e n Ei g e n s c ha f t e n :
(i)
(i v)
Ta hat ei ne Wurz el , die mi t S ma r ki e r t ist.
Je d e r Kn ot e n yon Ta i s t mi t e i n e m Symb ol aus EN U ETU {A} ma rki e rt .
I n n e re Kn ot e n s i n d mi t Sy mb ol e n aus EN ma rki e rt .
Al l e Bl i i t t e r s i n d mi t Sy mb ol e n aus ET U {A} ma rki e rt , un d yon l i nks
n a c h recht s ge l e s e n ergeben s i s g e n a u das Wort x .
Fi i r j e d e An we n d un g e i n e r Regel A ~ c~1c~2.., c~ i n a e x i s t i e rt g e n a u
ei n i n n e re r Kn ot e n v mi t de r Ma r ki e r un g A un d k SShn e n Vl, v 2 , . . . , vk
von l i nks n a c h recht s, die mi t de n Sy mb ol e n c~1, c~2, . . . , c~ ma r ki e r t s i n d
(c~i E EN U ET f i i r i = 1 , 2 , . . . , k ) .
Wi t s age n auch, dass Ta ei n Sy n t a x b a um z ur Ge n e ri e run g von x i n Gi s t .
Wi r ver anschaul i chen diese Defi ni t i on mi t ei nem Beispiel. Sei
10.4 Kontextfreie Grammatiken und Kellerautomaten 379
mi t
p m
{ S ~ S + S , S ~ S - S ,
S---, S * S, S- - - , S/ S,
-~ (s), s -~ [~s]}
die Gr a mma t i k zur Erzeugung yon ar i t hmet i schen Ausdr/icken.
S
S
( s )
S * S
s * s [i~]
[~] [~]
+
S
( s )
$ / $
S - S
[~] [~]
Fig. 10.2
Der Abl ei t ungsbaum ( Synt axbaum) T in Fig. 10.2 ent spri cht der Abl ei t ung
S
==~G
~G
=>c
( s 9 s 9 s ) + s ~ ( [ ~] , s 9 s ) + s
( [ ~] , [ ~] , [ ~] ) + ( [ ~] / s )
380 10 Gr ammat i ken und Chomsky-Hi erarchi e
9 9 + - x ) )
9 9 + -
Wi r beobachten, dass jede Ableitung eindeutig einen Synt axbaum bestimmt.
Andererseits k6nnen mehrere unterschiedliche Ableitungen zu dem gleichen
Synt axbaum fiihren. Zum Beispiel ist die hier vorgestellte Ableitung eine so-
genannte Li nks a bl e i t ung, weil immer das am weitesten links stehende Nicht-
terminal in dem aktuellen Wort ersetzt wird. Das wird aber nicht gefordert.
Durch die Ersetzung des am weitesten rechts stehenden Nichtterminals erhS~lt
man eine andere Ableitung.
Au f g a b e 10. 25. Schrei ben Sie eine Re c h t s a b l e i t u n g far den Synt axbaum in Bild 10.2,
in der i mmer das am wei t est en rechts st ehende Ni cht t ermi nal zuerst erset zt wird.
Au f g a b e 10. 26. Sei G eine kont ext frei e Gr ammat i k. Fiir ein Wort z c L(G) k6nnen un-
terschiedliche Synt axb~ume zur Generi erung von z in G existieren. Konst r ui er en Sie eine
kont ext frei e Gr ammat i k G fiir die Sprache L = {0nl ~ I n c IN}, so dass fiir jedes z c L- { A}
mi ndest ens zwei unt erschi edl i che Synt axb~ume zur Generi erung von z in G existieren.
Au f g a b e 10. 27. Sei G eine beliebige kont ext frei e Gr ammat i k. Konst r ui er en Sie eine kon-
t ext frei e Gr ammat i k G' , so dass L(G) = L(G' ) und G' fiir jedes nichtleere Wort z c L(G)
genau doppel t soviele unt erschi edl i che Synt axb~ume zur Generi erung von z hat als G.
Mit ghnlichem Vorgehen wie bei regulgren Grammat i ken kann man jede kon-
textfreie Gr ammat i k so modifizieren, dass sie keine Regeln der Form X -+ A
(auger S --~ A) und keine Kettenregeln enth~lt.
Au f g a b e 10. 28. Sei G eine kont ext frei e Gr ammat i k. Konst r ui er en Sie eine zu G ~quiva-
lente kont ext frei e Gr ammat i k, die keine Regel n der Form X --~ A fiir X unt erschi edl i ch von
dem St ar t symbol enth~lt.
Au f g a b e 10. 29. Sei G eine kont ext frei e Gr ammat i k ohne Regel n der Form X --~ A fiir X
unt erschi edl i ch von dem St art symbol . Konst r ui er en Sie eine zu G ~quivalente kont ext frei e
Gr ammat i k, die keine Ket t enr egel enth~lt.
Au f g a b e 10. 30. Sei G = (EN, ET, P, S) eine kont ext frei e Gr ammat i k. Ei n Ni cht t ermi nal
X E EN nennt man n u t z l o s oder ein nutzloses Symbol, wenn X in keiner aus S st ar t enden
Abl ei t ung auft r i t t 1~ (nicht errei chbar ist). Schrei ben Sie einen Al gori t hmus, der fiir eine
gegebene Gr ammat i k G effizient alle nut zl osen Symbol e finder.
l ~ bedeut et , dass ein X c EN nicht nutzlos ist, wenn eine Abl ei t ung S =~ ct X~ fiir
irgendwelche c~, ~ E (EN U ET)* existiert.
10.4 Kontextfreie Grammatiken und Kellerautomaten 381
GemS~t3 der Defi ni t i on yon nut zl osen Symbol en in Auf gabe 10.30 ist es often-
sichtlich, dass das Ent f er nen aller nut zl osen Symbol e aus EN und aller Regeln,
die nut zl ose Symbol e bei nhal t en, kei nen Einftuss auf die dut ch G generi ert e
Sprache hat . I m Fol genden sagen wir, dass eine kont ext frei e Gr a mma t i k G
n o r mi e r t ist, falls G
( i)
(ii)
(iii)
keine nut zl osen Symbol e,
keine Regel n der For m X ~ A, und
keine Ket t enr egel n
enthS~lt. Ausgehend aus den nor mi er t en kont ext fr ei en Gr a mma t i ke n kann ma n
noch , , regulgrere" For men erreichen.
De f i n i t i o n 10. 5. Sei G = (EN~ ET~ P~ S) ei ne kont ext frei e Grammat i k. Wi t
sagen, dass G i n Ch o ms k y - N o r ma l f o r m ist, fal l s alle Regel n yon der Form
A ~ B C
A ---+ a
f i i r A, B, C E EN, oder
f i i r A E EN und a E ET
si nd. Wi t sagen, dass G i n Gr e i b a c h - N o r ma l f o r m ist, we nn alle Produk-
t i one n von der Form
A ~ a c ~ f i i r AE E N , a E E r u n d c ~ E E N
si nd.
Sa t z 10. 4. Fi i r j ede kont ext frei e Gra mma t i k G mi t A ~ L(G) exi s t i eren zu G
i i qui val ent e Gra mma t i ke n i n Choms ky - Norma l f orm und i n Grei bach- Normal -
f o c I l t .
Der formal e Beweis von Sat z 10.4 ist zu t echni sch 11 und so verzi cht en wir auf
i hn in dieser Ei nfi i hr ung in die Theor i e der for mal en Sprachen. Wi r deut en
nur an, wie ma n eine Choms ky- Nor mal f or m erzeugen kann. Zuerst wer den
nut zl ose Symbol e, dann ( X ~ A) Pr odukt i onen 12 und Ke t t e npr odukt i one n
ent fernt . Die nor mi er t e kont ext frei e Gr a mma t i k hat dann Regel n
A~a u n d A~c t f / i r Ictl_>2.
Die Regel A ~ a f/ir A E EN und a E ET ist schon in Choms ky- Nor mal f or m.
Wi e ma n die Regel n A ~ c~ fiir a E (EN O ET)*, Ictl _> 2, erset zt , erkl ~ren wir
llinsbesondere die Konstruktion einer Grammatik in Greibach-Normalform.
12Weil A ~ L(G), brauchen wir S ~ A auch nicht.
382 10 Grammatiken und Chomsky-Hierarchie
anschaul i ch an einigen Regelbeispielen. Zuerst nehmen wir f/Jr jedes a E ET
ein neues Ni cht t er mi nal X~ und erwei t ern Pu m die Pr odukt i on
Xa ----+ a.
Danach erset zen wir alle Ter mi nal symbol e a in den recht en Seiten der Pro-
dukt i onen durch die ent spr echenden Ni cht t er mi nal e Xa. Auf diese Weise wird,
zum Beispiel, die Regel
A ~ b BCa a Ac
durch die Regel
A XbBCXaX AX
ersetzt. Jet zt haben alle Regel n die For m
A ~ a oder A ~ c~ fiir ein c~ E (EN)*, I~1 2o
Es bleibt noch iibrig, jede Pr odukt i on A ~ Y 1 Y 2. . . Yk mi t k > 2 und Yi E EN
fiir i = 1 , . . . , k zu ersetzen. Wi r nehmen fiir diese Regel k - 2 neue Nicht-
t er mi nal e Z2, Za , . . . , Zk- , , wobei die Bedeut ung von Zi ist, dass man aus Zi
nichts anderes als Yi Yi +l . . . Yk abl ei t en kann. Dann erset zen wir
A ~ Y ~ Y 2. . . Y k
durch die Regel n
A -----+ Y I Z2 , Z 2 ---+ Y 2 Z3 , . . . , Z i ---+ Y i Zi +l , . . . , Zk _ 1 ---+ Y k _ l ] Tk .
Wenn man diese Pr ozedur fiir jede Regel A + ct mi t Ictl > 2 mi t i mmer
neuen Ni cht t er mi nal en Zi realisiert, erhgl t man eine kont ext frei e Gr a mma t i k
in Chomsky- Nor mal f or m.
Aufgabe 10.31. Wir haben im Beispiel 10.5 eine kontextfreie Grammatik fiir die Sprache
Lge gesehen. Wenn wir in dieser Grammatik auf die Regel S + A verzichten, akzeptiert
diese Grammatik die Sprache Ly e - {A}. Konstruiere aus dieser Grammatik eine 5~quivalente
Grammatik in Chomsky-Normalform.
Unsere ngchst e Aufgabe ist es, eine Met hode zu entwickeln, mi t der man ffir
konkret e Sprachen L die Tat sache L ~ s (L ist nicht kont ext frei ) beweisen
kann. Die St rat egi e ist ghnlich wie bei regul gren Sprachen. Eine Wi eder hol ung
10.4 Kontextfreie Grammatiken und Kellerautomaten 383
eines Ni cht t ermi nal s X in der Abl ei t ung aus diesem Ni cht t ermi nal fiihrt zur
MSglichkeit, das entsprechende Stiick der Abl ei t ung
X
beliebig oft zu wiederholen und dadurch WOrter
iX/3i
fiir ein beliebiges i abzuleiten. Der Unterschied zu den regul~tren Sprachen ist
der, dass man, anst at t auf einer Stelle zu , , pumpen", auf zwei Stellen gleich-
zeitig , , pumpt ".
L e mma 10. 6. Pu mp i n g - Le mma fiir ko n t e xt f r e i e S p r a c h e n
Fi i r j e d e kon t e x t f re i e Spra c he L gi bt es e i ne n ur von L abhgngi ge Ko n s t a n t e
n L, 80 das s f i i r al l e WSr t e r z E L mi t [z[ _> n L e i ne Ze rl e g un g
Z = Uv wx y
von z e x i s t i e rt , so das s
(i i i ) { uvi wx i y l i E IN} c_ L.
Be we i s . Sei G = (EN, ET, P, S) eine normi ert e kontextfreie Gr ammat i k mit
L( G) = L- {A}. Sei m die maxi mal e LS~nge der rechten Seite einer Produk-
tion und dami t die maxi mal e MS~chtigkeit ~3 m6glicher Verzweigungen in den
Ableitungsb~tumen von G. Wi r w~thlen
Tt L - - T~EN +1.
Ftir jedes z E L mit Iz] _> nL muss jeder Abl ei t ungsbaum fiir z genau Izl
B15~tter haben und somit ist die Tiefe (die maxi mal e PfadlS~nge zwischen der
Wurzel und einem B l at t ) mindestens
12NI + 1.
Bet racht en wir einen Pfad mit maxi mal er LS~nge von der Wurzel zu einem
Bl at t , daher von der LS~nge mindestens ]ENI + 1. Auf diesem Weg muss minde-
stens ein Ni cht t ermi nal als Marki erung zweimal vorkommen. Wi r suchen die
13die Anzahl der aus einem Knoten ausgehenden Kanten
384 10 Grammat i ken und Chomsky-Hierarchie
u v w x y
Fig. 10.3
erst e Wi eder hol ung eines Ni cht t er mi nal s ausgehend yon dem Bl at t in Rich-
t ung der Wurzel. Dami t finden wir zwei Knot en Vl und v2 (Fig. 10.3), so dass
folgendes gilt:
( i)
(ii)
(iii)
V 1 und v2 haben die gleiche Mar ki er ung A E EN.
V 1 und v2 liegen ~uf ei nem Pf ad zwischen ei nem Bl at t und der Wurzel
und Vl ist n~her an der Wurzel als v2.
Der Teil des Pfades von Vl zu dem Bl at t hat eine LSmge kleiner als
I r l + 1.
GemS]3 Fig. 10.3 er hal t en wir die Zerl egung von z. Ausgehend von S exi st i ert
eine Abl ei t ung
S ~ c u Ay mi t u, y E E T. (10.2)
Wenn ma n den Tei l baum mi t der Wurzel v2 bet r acht et , gi bt es eine Abl ei t ung
A =*G w mi t w E E) . (10.3)
Der Tei l baum mi t der Wurzel V 1 gar ant i er t die Exi st enz der Abl ei t ung
* v Ax * A ~ G ~ G v wx (10.4)
10.4 Kont ext f r ei e Gr a mma t i ke n und Ke l l e r a ut oma t e n 385
ftir v, x E E}. Zusammenfassend definiert die Abl ei t ung
S ~ G u Ay ~ c u v Ay x =~c u v wy x (10.5)
die Zerlegung
z -- u v wy x
von z. Weil G eine normi ert e kont ext frei e Gr ammat i k ist, ist die L/~nge der
recht en Seite der in Vl ausgesucht en Regel mi ndest ens 2. Weil keine Regeln
X --+ A vorkommen, k6nnen v und x nicht beide leer sein. Somit gilt (i), d.h.
I wl _ 1.
Weil der Pfad von v, fiber v2 zu dem Bl at t die Lgnge hSchstens IENI + 1 hat 14,
ist die Anzahl der Bl gt t er des Tei l baumes mit der Wurzel v, und Verzwei-
gungsgr ad hSchstens m durch
/t L - - ?Tt EN +1
yon oben beschrgnkt . Also gilt
I VW X ~ ?% L
und somit ist (ii) erfiillt.
Wenn man die abl ei t ungen (10.2) und (10.3) kombi ni ert , erhS~lt man die a b -
l ei t ung
S ~ G u Ay ~ G u wy - u v ~ ~
von u wy und somit ist u v ~ 1 7 6 in L.
Wenn wir mit der Abl ei t ung (10.2) begi nnen, dann i-real den erst en Teil von
(10.4) anwenden und am Ende die abl ei t ung (10.3) einsetzen, erhal t en wir die
Abl ei t ung
* u Ay * u v Ax y * * * S =:=>c =:=>G =vc . . . =vc uv~Ax~y =vG uv~wx~y
von uv~wz ~y in G fiir jedes i e IN - {0}. Somit gilt auch (iii) und das Lemma
wurde bewiesen. D
14Man bemer ke, dass dank unser er Vor aus s et zung di eser Pf ad der l gngst e in dem Tei l baum
mi t der Wur zel vm ist.
386 10 Grammatiken und Chomsky-Hierarchie
Bei der Anwendung des Pumpi ng- Lemmas fiir kont ext frei e Sprachen geht man
genauso vor wie bei der Anwendung des Pumpi ng- Lemmas ftir regul~re Spra-
chen. Fiir eine gegebene Sprache L wollen wir zeigen, dass das Pumpi ng-
Lemma fiir L nicht gilt. Fiir eine gegebene Sprache L haben wir zuerst die
Wahl eines geni i gend l angen Wort es z aus L, weil das Pumpi ng- Lemma fiir al-
le ausrei chend l angen WSr t er gel t en muss. Dann m/issen wir beweisen, dass f/Jr
jede Zerl egung yon z - u v wx y , die (i) und (ii) erfiillt, die Bedi ngung (iii) nicht
gilt. Wi t prS~sentieren eine Anwendung dieser St rat egi e in folgendem Beispiel.
Be i s pi e l 10. 6. Wi r zeigen, dass die Sprache
L = { a ~ b ~ c ~ l n E I N}
keine kont ext frei e Sprache ist. Um dies zu beweisen, wS~hlen wir das Wort
z = a nL b nL C n L
das offensichtlich lgnger als die durch das Lemma gegebene Konst ant e rt L ist.
Offensichtlich bei nhal t et jede Zerl egung von z = u v wx y mi t der Ei genschaft
(ii) I v wx l <_ n L in dem Teilwort v wx und somit in v und x h6chst ens zwei
unterschiedliche Buchst aben. Weil nach (i) I vx l _> 1 gilt, ent h~l t das Wor t
u v 2 wx 2 y
keinesfalls die gleiche Anzahl a' s, b's und c's. Somit ist u v 2 wx 2 y nicht in L und
die Bedi ngung (iii) des Pumpi ng- Lemmas ist nicht erf/illt. D
Aufgabe 10.32. Beweisen Sie, dass die folgenden Sprachen keine kontextfreien Sprachen
sind.
(i) {0nl~0~2 In E IN},
(ii) {a~b~c' ~ l m <_ n, m, n c IN},
(iii) {aibdck l i, j , k E iN, k = ma x { i , j } } ,
( iv ) {ww I w C { 0, 1} * } ,
(v) {0ili2 Ii c IN}.
Aufgabe 10.33. Die folgenden Sprachen sind kontextfrei. Deswegen kann man ihre Kon-
textfreiheit mit dem Pumping-Lemma nicht widerlegen. Wenn man trotzdem versuchen
wiirde, mit dem Pumping-Lemma die Nichtkontextfreiheit dieser Sprachen zu beweisen, wird
man offensichtlich scheitern. Erkl~ren Sie in Detail wo der Beweisversuch scheitert.
(i) {0,001, 00001},
(ii) {Onl nl nEl N},
(iii) {w C { a, b} * [ [ wla = I wlb}.
10.4 Kontextfreie Grammatiken und Kellerautomaten 387
Auf gabe 10.34. In dem Beweis des Pumping-Lemmas fiir kontextfreie Sprachen haben wir
die normierten kontextfreien Grammatiken benutzt. Schreiben Sie den Beweis urn, in dem
Sie die Grammatik fiir L in Chomsky-Normalform annehmen. Wo und wie vereinfacht dies
den Beweis?
Es gi bt Si t uat i onen, wo es sehr schwer oder ums t ~ndl i ch ist, das Pumpi ng-
Le mma fiir den Bewei s yon L ~ s anzuwenden. Di eses I ns t r ume nt fiir das
Bewei sen der Ni cht exi st enz ei ner kont ext f r ei en Gr a mma t i k fiir eine gegebene
Spr ache L kann ma n ver besser n, i ndem ma n sich in dem aus ges ucht en Wor t
einige ( aber mi ndes t ens nL vi de) Symbol e mar ki er t und da nn nur die Zer-
l egungen bet r acht et , die (i) und (ii) fiir die a n z a h l der ma r ki e r t e n Symbol e
erfiillen. Di ese Uber l egung fi i hrt zum fol genden Lemma.
L e mma 10. 7. L e mma y o n Od g e n
Fi i r j e d e kon t e x t f re i e Spra c he L gi bt es ei ne n u t yon L abhi i ngi ge Kon s t a n t e
nL, so class f i i r alle WSr t e r z E L mi t Izl >_ nL un d al l e Ma r ki e r un g e n yon
mi n d e s t e n s n L Buc hs t a b e n i n z e i ne Ze rl e gung
z = u v wx y
von z e x i s t i e rt , so dass
(i ) v x mi n d e s t e n s e i n e n ma r ki e r t e n Buc hs t a b e n ent hi i l t ,
v wx hSc hs t e n s nL ma r ki e r t e Buc hs t a b e n ent hi i l t , un d
{ u v i wz i y l i E IN} C L.
Auf gabe 10.35. Beweisen Sie das Lemma von Odgen.
[Hinweis: Nehmen Sie eine Grammatik in Chomsky-Normalform als eine Darstellung von L.
W~hlen Sie einen Pfad in dem Syntaxbaum fiir z ausgehend von der Wurzel und der Kante
folgend, die zu einem Teilbaum mit mehreren markierten Symbolen fiihrt.]
Der Vort ei l des Le mma s von Odgen liegt ni cht nur dar i n, dass ma n die Bewei se
von L ~ s ver ei nf achen kann. Der Haupt vor t ei l des Le mma s von Odgen ist,
dass seine Anwe ndung fiir einige Spr achen zu dem Bewei s L ~ L;2 fi i hrt , obwohl
diese Tat s ache mi t dem Pu mp i n g - Le mma fiir kont ext f r ei e Spr achen ni cht zu
bewei sen ist.
Be i s p i e l 10. 7. Bet r acht en wi r die Spr ache
L- {a~bl cJd k l n , l , j , k E l N - { O} , 1 - j - k } O{ b , c , d } *
388 10 Grammatiken und Chomsky-Hierarchie
Zuerst zeigen wir, dass das Pumpi ng- Le mma f/Jr kont ext frei e Spr achen ni cht
helfen kann, um L r Z;2 nachzuwei sen. Sei z ein bel i ebi ges 15 Wor t aus L. Wi r
unt er schei den zwei FS~lle.
(i)
(ii)
Da s W o r t z e n t hi i l t k e i n S y mb o l a.
Dann ist u v i wx i y in L fiir alle i E IN fiir j ede Zerl egung z - u v wx y von
z, weil {b, c, d} * c_ L.
Da s W o r t z e n t hi i l t mi n d e s t e n s e i n S y mb o l a,
d.h. z - a~bl c Jd ~ ftir n , l, j , k E IN, n >_ 1, 1 - j - k. In di esem Fall gi bt
es folgende Zerl egung von z:
z - u v wx y mi t u - A, v - A, w- A, x - a und y - a ~ - l b l d d ~,
die alle drei Bedi ngungen (i), (ii) und (iii) des Pumpi ng Lemmas erftillt,
weil i nsbesonder e
u v i wx i y - a ~ +i - l b l c J d k E L.
Also gi bt es fiir jedes Wor t z E L eine Zerl egung des Wor t es z, so dass die
Bedi ngungen (i), (ii) und (iii) des Pumpi ng Lemmas erftillt sind. Tr ot zdem ist
L keine kont ext frei e Sprache, und wir zeigen dies mi t Hilfe des Lemmas von
Odgen.
Sei
z - ab l c l d 1 E L mi t 1 > nL.
Wi r mar ki er en alle Symbol e des Tei l wort es bcl d. Aus der Bedi ngung (ii) des
Lemmas yon Odgen er hal t en wir, dass j ede Zerl egung z - u v wx y yon z die
Ei genschaft hat , dass v wx ent weder kein Symbol b oder kein Symbol d ent h~l t .
Weil v x mi ndest ens ein mar ki er t es Symbol ent hgl t , wi rd in dem Wor t
u v 2 wx 2 y
mi ndest ens eine Anzahl eines Buchs t aben e E {b, c, d} erhSht ohne eine ander e
Anzahl eines Buchs t aben h E {b, c, d } - {e} zu erh6hen. Dami t gilt u v 2 wx 2 y
L. D
Aufgabe 10.36. Finden Sie eine andere Sprache L ~ 122, fiir die keine Anwendung des
Pumping-Lemmas zu dem Beweis von L ~ 122 fiihren kann, fiir die abet die Nichtkontext-
freiheit von L dutch das Lemma von Odgen bewiesen werden kann.
15Wir fordern sogar nicht, dass z >_ nL.
10.4 Kontextfreie Gr ammat i ken und Kel l eraut omat en 389
Au f g a b e 10. 37. Beweisen Sie mit der Hilfe des Lemmas von Odgen, dass folgende Spra-
chen nicht kontextfrei sind.
(i) {al bJc k l , j , k E IN, l ~= j , j =/= h un d l -/= h},
(ii) { On l ' ~ Okl n , m, k E IN, m- max{n, k}},
(iii) {0~1~2 k n, kEI N, h-/=n}.
Zur Beschreibung von regulgren Sprachen haben wir Berechnungsmodelle wie
endliche Aut omat en und nichtdeterministische endliche Aut omat en sowie den
Generierungsmechanismus yon regul/~ren Grammat i ken kennengelernt. Die kon-
textfreien Grammat i ken stellen eine natiirliche und einfache Form yon Generie-
rungsverfahren dar und unsere ngchste Frage ist, ob man fiir die entsprechende
Klasse von kontextfreien Sprachen auch ein Berechnungsmodell finden kann,
das genau die Sprachen dieser Klasse akzeptiert. Anders gesagt, wir hgt t en
gerne eine Klasse yon Maschinen, so dass fiir jede kontextfreie Grammat i k G
eine zu G gquivalente Maschine aus dieser Klasse existiert und umgekehrt.
Im Folgenden zeigen wir, dass ein solches Berechnungsmodell existiert. Dabei
ist das Wichtigste, dass dieses zu kontextfreien Grammat i ken gquivalente Ma-
schinenmodell nicht kiinstlich erzeugt wird. Das Umgekehrte gilt. Das Modell
ist im Gegenteil unter den Maschinenmodellen genauso nat/irlich, wie die kon-
textfreien Grammat i ken unter den Grammatiken. Dieses Berechnungsmodell
heif3t nichtdeterministischer Kellerautomat. Es nutzt die Dat enst rukt ur des
Kellers (last-in-first-out Speicherstrategie), die die natiirlichste Dat enst rukt ur
zur Implementierung von rekursiven Programmen ist.
Wir beschreiben zuerst das Modell yon nichtdeterministischen Kellerautoma-
ten auf eine anschauliche, nicht vollstgndig formale Weise. Ein Kellerautomat
a
-~ Ein-Weg Lesekopf
endliche q
Kontrolle
Keller
Ei n g ab e b an d
Fig. 1 0 . 4
390 10 Grammatiken und Chomsky-Hierarchie
hat ein Ei ngabeband, das am Anfang das Ei ngabewor t enthS~lt. Dieses Ei nga-
beband kann genau wie bei endlichen Aut omat en nur eingeschr~tnkt benut zt
werden. Der Lesekopf kann aus dem Ei ngabeband nur lesen und darf sich
nur yon links nach rechts bewegen. Dadur ch dient das Ei ngabeband nur zum
Einlesen der Ei ngabe und kann nicht als Speicher benut zt werden. 16 Es gibt
aber einen Unt erschi ed zu endlichen Aut omat en in der Arbei t mi t dem Ein-
gabeband. Ein Kel l er aut omat ist nicht gezwungen, sich nach dem Lesen eines
Buchst abens aus dem Ei ngabeband mi t dem Lesekopf nach rechts zu bewe-
gen. Er kann mi t dem Kopf gewisse Zeit auf dem gleichen Feld des Bandes
st ehen bleiben und in dieser Zeit einige Rechnungen auf den Dat en im Keller
durchfiihren. Die endliche Kont rol l e ist wie bei allen bisherigen Rechnermodel -
len durch eine endliche Menge von Zust~tnden gest euert . Den Keller kann man
als potenziell unendliches Band mi t ei ngeschr~nkt er Nut zung bet racht en. Der
Kel l er aut omat kann nur auf das Top-Symbol ganz oben im Keller zugreifen
und somi t nur dieses Symbol lesen (Bild 10.4). Wenn man den Keller nicht
vertikal wie in Bild 10.4, sondern hori zont al wie in Bild 10.5 zeichnet, dann
bedeut et es, dass man nur den Inhal t der recht est en nicht-leeren Zelle des Ban-
des lesen kann. Wenn man sich irgendwelche Dat en anschauen will, die tiefer
z l I I xI
Keller
9 o .
unendl i ch viele
leere Speicherzellen
Fig. 10.5
in dem Keller vorliegen, dann geht dies nur so, dass man zuerst dari i ber lie-
gende Dat en 16schen und dadur ch auch unwiderruflich vergessen muss, um die
gewiinschten Dat en ganz oben zugrei fbar im Keller zu haben. Genauer gesagt
hat die Transi t i onsfunkt i on drei Argument e:
- das gelesene Symbol auf dem Ei ngabeband
- den Zust and der endlichen Kont rol l e
- das Top-Symbol des Kellers.
In einer Akt i on kann der Kel l er aut omat den Zust and 5~ndern, den Lesekopf ein
Feld nach rechts bewegen und das Top-Symbol X des Kellers durch ein Wort
c~ ersetzen. Wenn das Wort c~ das leere Wort A ist, dann bet r acht en wir dies
als das L6schen des Top-Symbol s X, was die Schrumpfung des Kel l eri nhal t es
16Wie es bei der Turingmaschine ist.
10.4 Kontextfreie Grammatiken und Kellerautomaten 391
bedeutet. Wenn das Top-Symbol X durch ein nichtleeres Wort c~ = Y 1 Y 2. . . Yk
ersetzt wird, dann steht danach Y1 in dem Feld, wo X vorher stand, und die
nS~chsten k - 1 Symbole Y2, . . . , Yk liegen jeweils in den nachfolgenden 17 k - 1
Feldern des Kellers.
Wenn die ganze Eingabe gelesen wurde, is bet racht et man zwei M6glichkeiten,
das Akzeptieren der Eingabe zu definieren. Eine M6glichkeit ist, die Akzep-
tierung fiber eine ausgezeichnete Menge von akzeptierenden Zustgnden zu de-
finieren wie bei endlichen Aut omat en. Die zweite M6glichkeit, die wir auch
in der folgenden formalen Definition vorziehen, ist zu akzeptieren, wenn der
Keller leer ist (geleert wurde). Am Anfang jeder Berechnung steht im Keller
ein einziges Sonderzeichen Z0 und so weifi der Kellerautomat, wa nne r ganz
unten im Keller ist und entscheidet selbst, ob er dieses letzte Zeichen in dem
Keller 16schen will oder nicht.
Def i ni t i on 10.6. Ei n n i c h t d e t e r mi n i s t i s c h e r K e l l e r a u t o ma t 19 ( NPd A)
i st ein 6- Tupel M = (Q, E, F, 5, qo, Zo), wobei die El e me nt e des Tupels fol gende
Bedeut ung haben:
(ii)
(ii/)
Q i st eine endl i che Menge, die Zu s t a n d s me n g e ge nannt wird,
E i st das E i n g a b e a l p h a b e t
{wi e iiblich werden genau alle WSrt e r aus E* als mSgl i che Ei ngaben be-
t racht et } ,
Fi s t das Ke l l e r a l p h a b e t 2~
{F beinhaltet alle Symbole, die i m Laufe von Berechnungen i m Kel l er
auft ret en di i rfen},
qo E Q i st der A n f a n g s z u s t a n d
{ mi t der gl ei chen Bedeut ung wie bei endl i chen Aut oma t e n } ,
Zo E F i st das I n i t i a l i s i e r u n g s s y mb o l des Kel l ers
{Jede Berechnung von M st art et i n qo mi t Zo als ei nzi gem I nhal t des
Kel l ers} ,
5 i st eine Abbi l dun9 yon Q (E U {A}) F i n endl i che Tei l mengen yon
Q
{ We n n ma n A als zwei t es Arg ume n t hat, wi derspi egel t dies die Si t uat i on,
i n der M das Ei ngabesymbol ni cht lesen will und dami t i n s ei ner Akt i on
den Les ekopf ni cht bewegen wird. We n n das zwei t e Arg ume n t ein Symbol
lrvorher leeren
lSwie bei endlichen Automaten
19pushdown automaton im Englischen
2~ zu dem Arbeitsalphabet einer Turingmaschine
392 10 Grammatiken und Chomsky-Hierarchie
a E E i st , wi rd de r Le s e kopf i mme r a ut oma t i s c h ei n Fel d n a c h recht s
vora n s c hre i t e n } .
E i n e K o n f i g u r a t i o n von Mi s t ei n Tri pel
( q, w, c~) E Q E* F*~
wobei
- q E Q der akt ue l l e Zus t a n d ist,
- w E E* de r bi s he r n i c ht ge l e s e ne Tei l de r Ei ngabe ist,
{ De r Le s e kopf z e i gt a uf das Fel d mi t d e m e rs t e n Symb ol von w, f al l s w # A}
- c~ E F* de r akt ue l l e Ke l l e ri n ha l t ist.
E i n S c h r i t t ~M von Mi s t ei ne Re l a t i on a uf Kon f i g ura t i on e n , d e f i n i e rt d ut c h
{ M l i es t i m Zus t a n d q das Ei n g a b e s ymb ol a un d das Ke l l e rs y mb ol X .
Da n a c h ge ht M i n de n Zus t a n d p, bewegt de n Le s e kopf ei n Fel d n a c h
recht s un d e rs e t z t das Top- Sy mb ol X des Ke l l e rs d ut c h/ 3 } , un d
f al l s (p,/3) E 5(q, A, X )
{ M e n t s c he i d e t s i ch i m Zus t a n d q, ke i n Ei n g a b e s ymb ol z u l esen, un d
de s we ge n i i nde rt M n u t de n Zus t a n d un d e rs e t z t X d ut c h/ 3 i m Ke l l e r,
ohne de n Le s e kopf a uf d e m Ei n g a b e b a n d z u bewegen}.
E i n e e n d l i c h e B e r e c h n u n g y o n Mi s t ei ne Fol ge yon I (on f i g ura t i on e n CI ,
C2~ . . . , C,~, so dass Ci ~M Ci +l f i i r i = 1, 2~ . . . , m - 1 gilt. Fi i r j e d e s Wor t
x E E* i s t
(qo, x, Zo)
di e An f a n g s k o n f i g u r a t i o n y o n M a u f x .
E i n e Be re c hn un g Co, Ci r . . . , C,~ yon M hei fl t e i nc a k z e p t i e r e n d e B e r e c h -
n u n g y o n M a u f x , f al l s
Co = (qo, Zo) = (; , A, A)
10.4 Kontextfreie Grammatiken und Kellerautomaten 393
f i i r i rgendei nen Zus t a n d p E Q. Wi e iiblich 21 bezei chnet ~*M die refl exi ve und
t rans i t i ve Hiille von der Re l at i on ~M.
Di e y o n d e n Kel l erautomaten M akzepti erte Sprache L(M) i st deft-
ni e rt dut ch
L( M) : {w E E* I (q0, w, Zo) ~ (p, A, A) f i i r ei n p E (2}.
Wi r beobachten, dass ein NPdA mit leerem Keller nicht arbei t en kann. Wenn
daher in einer Berechnung der Keller geleert wurde und das Ei ngabewort noch
nicht zu Ende gelesen wurde, wird in dieser Berechnung die Ei ngabe nicht
akzeptiert.
Andererseits liegt unt en im Keller am Anfang das Sonderzeichen Z0, und wenn
der NPdA dieses Initialisierungssymbol nirgendwo anders verwendet oder es
nie durch ein anderes Symbol ersetzt, dann weif3 er immer, wann er auf dem
unt erst en Boden des Kellers ist. 22
Eine andere wichtige Bemerkung ist, dass ein NPdA auf einer Ei ngabe auch
unendliche Berechnungen haben kann. Dies kommt dadurch zustande, dass er
beliebig viele Schritte machen kann, ohne ein Ei ngabesymbol zu lesen (soge-
nannt e ) ~- Schr i t t e) . ZusS~tzlich sollen wir nicht vergessen, dass die Gr6t3e des
Kellers nicht beschrS~nkt ist.
Ein NPdA benut zt zwei M6glichkeiten zur nichtdeterministischen Verzweigung
von Berechnungen. Zuerst kann er sich entscheiden, ob er das Ei ngabesymbol
liest oder einen A-Schritt realisieren will. In diesen beiden Fgllen kann er sich
fiir die gegebenen Argument e aus einer endlichen Menge yon Akt i onen eine
aussuchen.
Im Folgenden geben wir zwei Beispiele von Kel l eraut omat en.
Bei s pi el 10. 8. Wi r bauen einen NPdA f/ir die nichtregulSze Sprache L =
{0~1~ I n E IN}. Sei
-/~ = ({q0, ql, q2}, {0, 1}, {0, Z0}, ~, q0, Z0).
Um A akzeptieren zu k6nnen, nehmen wir
( q o, a, Zo) : {( q o, a) , ( q l, Zo) }
21wie bei endlichen Automaten und Turingmaschinen
22Also trifft er gezielt die Entscheidung, den Keller zu leeren.
394 10 Grammatiken und Chomsky-Hierarchie
Im Zust and ql realisieren wir die Spei cherung der Anzahl der Nul l en des lgng-
st en Prefixes der Ei ngabe, das nur aus Nullen be s t e ht
~ ( q , , o, Zo) - { ( q , , ZOO) },
(~(ql, o, o) - {(ql, oo)}.
Bei dem erst en Auf t r et en des Symbol s 1 wechselt M in den Zust and q2 und
16scht in di esem Zust and jeweils eine Null aus dem Keller fiir jede gelesene 1
auf dem Ei ngabeband.
~ ( q ~ , 1, o) - {( q ~ , a)},
6(q2, 1, o) - {(q2, t )}.
Dur ch
6(q2,0, X) - 0 fiir XC { O , Zo}
gar ant i er en wir, dass kein Wort mi t mehr als ei nem Wechsel zwischen Nul l en
und Ei nsen bear bei t et und so akzept i ert werden kann. Mit der Akt i on
5 ( q ~ , a, Zo) - {( q ~ , a) }
akzept i eren wir alle W6r t er der For m 0~1 ~ fiir n _> 1. Wenn 0~1 ~ nur ein
echtes Prgfi x der Ei ngabe ist, wi rd die Ei ngabe nicht akzept i ert , weil M mi t
dem leeren Keller nicht wei t er ar bei t en kann. Im Det ai l bedeut et dies, dass wir
fiir alle nicht ei ngegebenen Ar gument e die Menge der m6gl i chen Akt i onen auf
0 setzen.
Als Beispiel einer akzept i er enden Berechnung geben wir die Berechnung
(qo, 0 a13, Zo) FM (ql, 0al 3, Zo) FM (ql, 0213, ZoO) FM (ql, 01 a, Zo00)
~ ( q ~ , 1 ~, ZoOOO) ~ ( q ~ , 1 ~, ZoOO) ~ ( q ~ , 1, ZoO) ~ ( q ~ , ~ , Zo)
~-~ (q2, 5, 5)
von M auf 0 a la. D
Aufgabe 10.38. Entwerfen Sie einen NPdA fiir die Sprache {0~1 ~ I rt c IN-{0}}, der nur
einen Zustand hat.
Aufgabe 10.39. Beweisen Sie, dass der Automat aus Beispiel 10.8 wirklich die Sprache
L = {0nl ~ I n c IN} akzeptiert. Im Einzelnen bedeutet dies zu zeigen, dass fiir jedes
Wort 0nl n eine akzeptierende Berechnung von M existiert und dass eine akzeptierende
Berechnung nur auf einem Wort aus L vorkommen kann.
10.4 Kontextfreie Grammatiken und Kellerautomaten 395
Auf gabe 10.40. Entwerfen Sie nichtdeterministische Kellerautomaten fiir die folgenden
Sprachen:
(i) {0~12~+3 In E IN},
(ii) {Oi l J2k l i , j , k E IN, k >_ i + j } ,
(iii) {0ilJ2 k I i, j , k c IN, i = j oder k = 2i}.
Be i s p i e l 10. 9. Bet r acht en wi r die Spr ache
LR - { w~ wR I w E {0, 1}*}
fiber dem Al pha be t {0, 1, ~}. Wi r bes chr ei ben ei nen NPd A M mi t L( M) =
L, ohne die det ai l l i er t e Dar s t el l ung yon (~ anzugeben. M ar bei t et auf ei ner
Ei ngabe x~y mi t x E {0, 1}* wie folgt. Jeder gel esene Buc hs t a be auf dem
Ei nga be ba nd wi r d zuer st i m Kel l er gespei cher t . Somi t errei cht M ei nmal die
Konf i gur at i on
( q 0, z0 ) .
Nach dem er st en Lesen von ~ ~nder t M den Zus t and und begi nnt , das ober-
st e Kel l er symbol mi t dem gel esenen Ei ngabes ymbol zu vergl ei chen. Wenn die
Symbol e f i ber ei nst i mmen, wi r d das ober s t e Kel l er symbol gel 6scht . Auf diese
Wei se kann ma n i i berprfi fen, ob y = x R, weil das Wor t x so in dem Kel l er
gespei cher t wi rd, dass es vom Ende zum Anf ang aus dem Kel l er gel esen wi rd.
Wenn M den Kel l er boden mi t dem Symbol Z0 errei cht , erhS~lt er die M6gl i ch-
keit, in ei nem A-Schri t t den Kel l er zu leeren. D
Auf gabe 10.41. Geben Sie eine formale Beschreibung des NPdA aus Beispiel 10.9 an.
Auf gabe 10.42. Entwerfen Sie nichtdeterministische Kellerautomaten fiir die folgenden
Sprachen:
(i) { wwR I w c { a, b} *}
(ii) { wuwR I w E { a , b } *, u E { 0, 1 } *}
(iii) {wc{O, 1}*i i wi 0=i wI 1}
(iv) {w c {0,1}* I Iwl0 _< 3lWll + 4}.
Auf gabe 10.43. * Definieren Sic einen nichtdeterministischen Kellerautomaten, der ~hn-
lich wie ein NEA mit akzeptierenden Zust~nden akzeptiert, d.h. er akzeptiert, wenn das
ganze Eingabewort gelesen wurde und er sich in einem akzeptierenden Zustand befindet.
Zeigen Sie, dass dieses Modell von NPdA ~tquivalent zu unserem Modell ist, d.h. zu jedem
NPdA, der mit akzeptierenden Zusts akzeptiert, existiert ein s NPdA, der
mit dem leeren Keller akzeptiert, und umgekehrt.
396 10 Grammatiken und Chomsky-Hierarchie
Jet zt zeigen wir, dass die NPdAs genau die Klasse der kont ext frei en Sprachen
akzept i eren. Wi r begi nnen mi t der ei nfacheren Ri cht ung, zu jeder kont ext frei en
Gr a mma t i k einen 5~quivalenten NPdA zu konst rui eren.
Le mma 10. 8. Sei L si ne kont ext frei e Sprache, die A ni cht enthiilt. Dann exi-
st i ert ein NPd A M, so dass L- L( M) gilt.
Bewei s. Sei G - (EN, ET, P, S) eine kont ext frei e Gr a mma t i k in Grei bach-
Nor mal f or m mi t L - L(G). Die Idee ist, einen NPdA M mi t nur ei nem Zust and
zu konst rui eren, so dass fiir jede Abl ei t ung 2a
mi t w E E~ und c~ E E~v eine Berechnung von M existiert, in der bisher
das Wort w gelesen wur de und der Keller das Wort c~ R enthSJt. Dieses soll
deswegen m6glich sein, weil G in j edem Abl ei t ungsschr i t t ein Ter mi nal symbol
generi ert , was man durch das Lesen dieses Symbol s auf dem Ei ngabeband yon
M nachahmen kann.
Formal set zen wir M - ({q0}, ET, EN, 5, q0, S), wobei
fiir alle a E ET und A E EN.
Wi r beweisen j et zt L(G) - L( M) , i ndem wir fiir jedes i E IN zeigen:
"G kann genau dann in i Li nksabl ei t ungsschr i t t en die Wor t f or m
w~. . . w~c~ fiir wj E ET und c~ E E~v erreichen (d.h. S ==>~ w~. . . w~c~),
wenn M in i Schr i t t en w~. . . w~ lesen und dabei die Konfi gur at i on
(q0, x, c~ R) fiir ein beliebiges x erreichen kann. "
Wi r beweisen diese Aussage mi t I ndukt i on bez/iglich i. Fiir i - 0 ist die Be-
haupt ung trivial. Sei nun i _> 1 und die Behaupt ung gelte fiir alle j < i.
Sei
S :=~iG--1 Wl W2. . . Wi_lA/3 ~ c Wl W2"' " Wi - - l Wi ~
23Wir bemerken, dass alle W6rter einer Linksableitung einer Grammatik in Greibach-
Normalform aus E~. E~v sein miissen.
10.4 Kontextfreie Grammatiken und Kellerautomaten 397
die Li nks abl ei t ung yon Wl . . . WiO[ in G mi t c t = -yfl. In dem l et zt en Abl ei t ungs-
schr i t t wur de die Regel
A ~ wi t
angewendet . Aus der Kons t r ukt i on yon M folgt da nn (Fig. 10.6)
(q0, 7R) E 5(q0, wi, A) (10.6)
Dur ch die I ndukt i ons a nna hme und die Anwe ndung von (10.6) er hal t en wi r fiir
ein bel i ebi ges x E E~
(qo, Wl . . . Wi - - l Wi X, S ) ~ i ~ l (qo, Wi X, / 3 RA) ~M (qo, x , / 3 RTR) .
Weil flR7R = (Tfl)R = c~R, ist dami t der Bewei s abgeschl ossen.
Di e Bewei sr i cht ung von ei ner Ber echnung von M zu ei ner Li nks abl ei t ung von
G ist anal og und wi r i i ber l assen dies dem Leser. D
1w2 I w lx W llW 21 I
T /
q0 A ~ wi'y q0
9 I
Fig. 10.6 Der Berechnungsschritt des NPdA M, der der Anwendung der Regel A ~ wi t in
der Ableitung von G entspricht.
Auf gabe 10.44. Erweitern Sie die Aussage yon Lemma 10.8 auch fiir kontextfreie Spra-
chen, die A beinhalten.
Jet zt wol l en wi r zu j edem NPd A M eine zu M gqui val ent e kont ext f r ei e Gr am-
ma t i k konst r ui er en. Zuer st bemer ken wir, dass diese Auf gabe ei nfach ist, wenn
M nur ei nen Zus t and hat , also wenn M unabhS~ngig von sei nen ZustS~nden
ar bei t et .
Le mma 10. 9. Sei M ei n NPclA mi t n ut e i n e m Zus t and. Da n n i st L( M) kon-
t ext frei .
398 10 Grammatiken und Chomsky-Hierarchie
Aufgabe 10.45. Beweisen Sie Lemma 10.9.
[Hinweis: Die Konstruktion von G aus Mi st nur eine Umkehrung der Konstruktion von M
aus G in Lemma 10.8].
Was k6nnen wir aber bei allgemeinen nichtdeterministischen Kel l eraut oma-
t en t un? {)berraschenderweise kSnnen wir zu jedem NPdA einen gquivalenten
konstruieren, der nur einen Zust and besitzt. Die Idee ist dabei, die durch die
Zust gnde gespeicherte Informat i on in dem Keller zu speichern. Zum Beispiel
st at t einem oberst en Symbol X in den Keller, wiirde man das Symbol (X, q)
schreiben, wobei q der aktuelle Zust and ist. Das geht so weit gut in Berech-
nungsschritten, in denen man etwas in den Keller schreibt. Wenn man aber
nur das oberste Kellersymbol 16scht, best eht die M6glichkeit nicht, den aktu-
ellen Zust and in das oberste Symbol hineinzuschreiben (einzukodieren). Das
folgende Lemma zeigt uns, wie man diese Schwierigkeit mit Hilfe des Nichtde-
t ermi ni smus tiberwinden kann.
Le mma 10. 10. Fi i r j e de n n i c ht d e t e rmi n i s t i s c he n Ke l l e ra ut oma t M exi s t i ert
ei n i i q ui val ent er n i c ht d e t e rmi n i s t i s c he r Ke l l e raut omat M1, der n ut ei nen Zu-
s t and hat.
Bewei s. Sei M = (Q, E, F, ~, q0, Z0) mit [Q[ > 1 ein Kel l eraut omat . Unsere
Aufgabe ist jetzt, einen Kel l eraut omat en
] ~ / 1 -- ( Q 1, }--] , r l , ( 5 1, q ~ , Z~ )
mit Q1 - {q~} und L( M) - L(M1) zu konstruieren. Die einfachste Idee wgre,
die Arbei t ssymbol e aus P 1 als Paare (p, A) E Q P zu bet racht en und auf
diese Weise den aktuellen Zust and p C Q immer in dem oberst en Kellersym-
bol zur Verfiigung zu haben. Diese Idee funktioniert aber nicht, weil bei der
Simulation yon Berechnungsschritten, in denen das oberste Kellersymbol ohne
Ersat z gel6scht wird, keine M6glichkeit besteht, den neuen aktuellen Zust and
zu speichern (die Informat i on fiber diesen Zust and zu bewahren). Deswegen
wghlen wir
Pl =0 XPX0 ,
wobei die Bedeut ung von
A' = ( q , A, p) E r l
ist, dass der Kel l eraut omat M das Symbol A nur bei einem /Ubergang vom
Zust and q in den Zust and p 16schen dare Wenn A' das oberste Symbol des
10.4 Kontextfreie Grammatiken und Kellerautomaten 399
Kellers von M1 ist, ist q der akt uel l e Zus t and von M.
Wi e soll uns diese Idee mi t ei nem zwei t en gespei cher t en Zus t and
helfen?
Wi r wollen i mmer dar auf acht en, dass der Kel l er i nhal t wie in Fig. 10.7 aussi eht .
q A1 pl
pl A2 p2
p2 A3 p3
p3 A4 p4
pi Ai+l pi+l
P/+I Ai +2 P~+2
Fig. 10.7
For mal bedeut et dies, wenn ein Tri pel (q, A, p) di rekt fiber ei nem Tri pel (r, B, s)
i m Keller liegt, so muss p - r sein. Wenn dies so ist und wir das L6schen yon
A 1 in M (von (q, A, p) in M1) nur b e i m/ J b e r g a n g von q nach p er l auben, dann
ent hgl t das neue ober st e Kel l er symbol (r, B, s) - (p, B, s) den akt uel l en neuen
Zus t and p.
Wi e errei cht man, dass der Kel l er i mme r ei nen I nhal t wie i n Fig.
10. 7 enthiilt ?
Dazu nut zt ma n den Ni cht det er mi ni smus von M1. Wenn M aus dem Zus t and
r nach s i i bergeht und dabei das ober st e Kel l er symbol A dur ch CDE erset zt
( d.h. ( ~ , ODE ) e a(~, a, A) far ~ in a e P~ ) , d ~ ~ r~ t~ t ~ 1 d ~ ob~ r~ t~ S ym-
bol 24
( r , A, h)
dur ch die drei Symbol e
(~,c, D)
24Wenn (r, A, s) nicht das oberste Symbol ist, dann scheitert M1 in dieser Berechnung.
400
( D,D,A)
(A, E, h)
10 Gr a mma t i ke n und Choms ky- Hi er ar chi e
fiir alle M6glichkeiten, D und A aus Q zu w/~hlen und dami t zu raten, bei
welchen {}berggngen diese Symbole gel6scht werden diirfen. Wichtig ist zu
bemerken, dass der aktuelle Zust and s als erstes Element des oberst en Tri-
pels steht und dass die ehemalige Position yon den tiberschriebenen (r, A, h)
nur beim {)bergang in denselben Zust and h gelSscht werden kann. Weft unter
(r, A, h) i r gendei n (h, . , . )l i egt , liegt jet zt (h, . , .) unter (A, E, h) und dami t ist
die Konsistenz gewghrleistet.
Jet zt setzen wir dieses Konzept in die formale Konst rukt i on von/141 urn.
Q1 z
F1 - -
(51(q~,/~, Z~) --
(51 (ql, a, (p, A, h)) -
u Q 2 1 5 Q,
(q0, z0, q)) I q e Q},
{ ( q l ( ( 8 ~1 ~8 2 ) ( 8 2 ~2 ~8 3 ) . . . (Sm~ ]Bm~ ~))R) I
ftir alle (s, ( ~1~2. . . ~m) -R) e ~5(r, a, A)
und alle s2, s 3, . . . , s,~ E Q}
u { (ql, A) I (h, A) e ~(r, a, A)}
fiir alle a e E U {A}, A e F, r, s, h e Q (siehe Fig. 10.8 und Fig. 10.9). D
Lemmat a 10.8, 10.9 und 10.10 ergeben zusammen das folgende Resultat.
Sat z 10. 5. Di e n i c ht d e t e rmi n i s t i s c he n Ke l l e ra ut oma t e n e rke nne n genau die
Kl as s e von kont ext f rei en Sprachen (d.h. die Forma l i s me n yon ni c ht de t e rmi ni -
s t i s chen Ke l l e ra ut oma t e n und kont ext f rei en Gra mma t i ke n s i nd beziiglich i hrer
Beschrei bungsst i i rke i i qui val ent ).
Au f g a b e 10. 46. Bet r acht en Sie den NPdA M mi t L(M) = {0~1 ~ [ n c IN} aus Bei spi el
10.8. Wenden Sie die Kons t r ukt i on aus Le mma 10.10 an, um ei nen gqui val ent en NPdA M
mi t nur ei nem Zus t and zu konst r ui er en.
104 Kont ext f r ei e Gr a mma t i ke n und Ke l l e r a ut oma t e n
I l a l b l
T
r
A
D
9 . . l a l b l ... I
U
B1
B2
Bm
D
401
Fi g. 108
l a l b I
q~
t ~
r A h
h D u
l a l b l
q l
s B1 s2
s2 B2 s3
8m-- 1 J~m-- 1 8m
s.~ B.~ h
h D u
Fi g. 10.9
402
10.5
10 Grammatiken und Chomsky-Hierarchie
Allgemeine Grammatiken und T uringmaschinen
Gr ammat i ken ohne Ei nschr~nkungen sind ein starker Generierungsmechanis-
mus. Die Zielsetzung dieses Abschni t t es ist zu zeigen, dass allgemeine Gram-
mat i ken der st grkst e Formalismus zur Sprachgeneri erung sind. Wi r zeigen dies
durch den Beweis ihrer Aquivalenz zu Turingmaschinen, was gleichzeitig die
Church' sche These unt ermauert .
Um die Int ui t i on fiir die StS~rke der allgemeinen Gr ammat i ken zu gewinnen,
st art en wir 5~hnlich wie bei Turi ngmaschi nen und konstruieren eine Gr ammat i k
fiir die Sprache
L- {0 2n I ~'~ ~ IN},
Sei G = (EN, ET, P, S) mit ET = {0} und EN = {A, B, C, D, S}.
Wi r begi nnen mit den St art regel n
S ~ CAOD und S ~ 0,
die uns ermSglichen, das Wort 0 abzuleiten und die Anfangsform CAOD mit
einer 0 zu erzeugen. Die nEchste Idee ist, die Anzahl Nullen zu verdoppeln,
indem A in der bisher abgeleiteten Form von links nach rechts "wandert" und
jede 0 gegen zwei Nullen aust auscht .
AO ~ OOA, AD ~ B D.
Ahnlich kann B yon rechts nach links wandern und die Anzahl der Nullen
wieder verdoppeln.
OB ~ BOO, CB ~ CA.
Am Rande der bisher abgeleiteten Form kann man sich entscheiden, die Ab-
leitung zu beenden, indem man alle Ni cht t ermi nal symbol e 15scht. Am linken
Rand erreicht man es durch die Regel
CB ~ A, D ~ A.
Wenn man sich am rechten Rand entscheidet, die Abl ei t ung zu beenden, dann
kann man folgende Regel benutzen:
AD~ A, C~ A.
10.5 Allgemeine Grammatiken und Turingmaschinen 403
Aufgabe 10.47. Die Regeln D ~ A und C ~ A in der oben beschriebenen Gramma-
tik kann man unabhgmgig davon anwenden, wo sich A oder B in der bisher abgeleiteten
Form befinden. Warum gehen wit dabei kein Risiko ein, dass eine unerwfinschte Anzahl von
Symbolen 0 generiert wird?
Aufgabe 10.48. Konstruieren Sie eine Grammatik fiir folgende Sprachen:
(i) { a n b n c n [ n E I N} ,
(ii) {0nl ~2 [ n C I N- {0}},
(iii) {03n [ n C IN},
(iv) {aibJck I k - - i . j , k, i , j 9
(v) {0P p C PRIM}
Die Kons t r ukt i on der Gr a mma t i k G deut et auf die Ahnl i chkei t zu Tur i ngma-
schi nen hin. Ahnl i ch wie der Zus t and in einer Konf i gur at i on fiber das Band
wander t , bewegen sich die Ni cht t er mi nal e A und B fiber die bi sher abgel ei t e-
t e Form. Also best eht die MSglichkeit, dur ch Ni cht t er mi nal e die ZustS~nde zu
reprS~sentieren und die Ar bei t einer Tur i ngmaschi ne nachzuahmen.
S a t z 1 0 . 6 . s = s
d.h. die Menge der rekursiv aufziihlbaren Sprachen ist genau die gleiche Men-
ge wie die Menge aller Sprachen, die dutch Grammat i ken generiert werden
kSnnen.
Beweis. Wi r fiihren den Beweis, i ndem wir nachei nander s c_ 12RE und
Z2Rz C/ 20 zeigen.
(i)
~--'0 ~ ~-, RE.
Sei G eine beliebige Gr ammat i k. Wi r sollen eine TM M konst rui eren, so
class L( G) = L( M) gilt. Weil die Idee sehr anschaul i ch ist, verzi cht en wir
auf die formal e Kons t r ukt i on yon M.
Ohne Ei nschr ~nkung der Al l gemei nhei t bet r acht en wir M als eine nicht-
det er mi ni st i sche 1- Band- TM. Die 1- Band- TM M soll fiir j ede gegebene
Ei ngabe w E L auf dem Ei ngabeband akzept i eren. 25 Dies schafft sie, in-
dem sie eine Abl ei t ung aus S in G auf dem Ar bei t s band nachahmt und
das Resul t at mi t der Ei ngabe vergleicht.
Genauer kann dies wie folgt abl aufen. M schrei bt S auf das Ar bei t sband.
Dann geht M wi ederhol t wie folgt vor.
1. M wS~hlt ni cht det er mi ni st i sch eine ni cht l eere Posi t i on i auf dem
Ar bei t s band und eine Regel c~ ---, ~ aus G. 26
25Fiir eine Eingabe w ~ L kann M verwerfen oder unendlich lange arbeiten.
26M kann die Regel c~ ~ ~ in seinem Zustand speichern.
404 10 Grammatiken und Chomsky-Hierarchie
(ii)
2. M fiberpriift, ob c~ auf dem Band rechts vonde r / - t e n Position liegt.
Wenn nicht, endet M in qreject. Wenn ja, ersetzt 2r M das Teilwort
c~ durch/3.
3. M iiberprtift, ob der Inhalt des Arbei t sbandes ein Terminalwort
ist. Falls nein, setzt M mit Schritt 1 fort. Falls ja, vergleicht M das
Ei ngabewort mit dem abgeleiteten Wort auf dem Arbei t sband. Falls
die W6r t er gleich sind, akzeptiert M die Eingabe. Sonst verwirft M
die Eingabe.
ERE C_ /20.
Sei M = ((2, E, F, (~, qo, qaccept, qreject) eine TM. Eine Gr ammat i k G kann
M so simulieren, dass G zuerst "doppelspurig" ein beliebiges Wort er-
zeugt. Die obere Spur bei nhal t et das Wort, die untere Spur die Start-
konfiguration von M auf diesem Wort. Dieses kann durch folgende Regel
fiir alle a E E bewirkt werden.
s--,(o) s--,(o)A
q o a ~ q o a
( a) A, ( a) ,
( f ) c,
Somit erhal t en wir die Abl ei t ung
:r
S ~ c
(qoa~a~) (222)(233)"' " ka~_~(a~-~) (~~) (BB)J
fiir ein beliebiges Wort ala2...a~ (ai E E fiir i = 1 , . . . , n ) und ein
beliebiges j E IN. Dabei ist j so eine nichtdeterministisch geratene Zahl,
dass die TM M bei der Arbeit auf der Ei ngabe a l, a2. . . a~ genau n + j
Zellen des Bandes benut zt . Der grofie Buchst abe B symbolisiert eine
leere Zelle des Bandes. Danach simuliert G auf der unt eren Spur die
Berechnung der TM M auf ala2.., an. Die Simulation kann man durch
folgende Regeln realisieren:
Fiir alle a, b E E U {B}, p, q E Q, X, Y, Z E F U {B}, so dass (p, Y, R) E
~(q, X), nehmen wir die Regel
2rWenn ]c~] r ]/3], erfordert dies natiirlich die Verschiebung des Suffixes des Arbeitsbandes
rechts von a.
10.6 Zusammenfassung 405
Ftir alle (p, Y, L) E 6(q, X)nehmen wir
Far m ~ (p, Y, 5:) ~ ~(q, x ) ~ h m ~ wir
(<)
-----+
q p
Falls M den Zust and qaccept erreicht, ist a l . . . a ~ in L( M) und somit
muss G dieses Terminalwort ableiten. Dies erreichen wir durch folgende
Regeln, die die untere Spur verwischen.
--~ a, a --~ ba,
qacceptCt
fiir alle a, b E E O {B}, ct E F O {B}.
a(bct), --~ ab, B --~ A
Auf den formalen Beweis der Korrekt hei t dieser Konst rukt i on verzichten
wir hier.
Auf gabe 10.49. Beweise, dass
s = NSPACE(n).
10.6 Zusammenfassung
Gr ammat i ken sind Mechanismen zur Generierung yon Sprachen und dami t
ftir eine endliche Darst el l ung yon Sprachen eine Al t ernat i ve zu Maschinenmo-
dellen. Die Ausdrucksstgrke von allgemeinen Gr ammat i ken gleicht der Aus-
drucksstS~rke der Turingmaschinen, was eine weitere Unt erst i i t zung der Glaub-
wiirdigkeit der Church' schen These ist.
Die Gr ammat i ken werden nach Chomsky klassifiziert. Die einfachste Form sind
die regulgren Grammat i ken, die genau die Beschreibungsstgrke von endlichen
Aut omat en haben.
Die wichtigste Klasse von Gr ammat i ken sind die kontextfreien Grammat i ken.
Aus linguistischer Sicht ist diese Klasse wichtig, weil die kontextfreien Regeln
der Erset zung yon Ni cht t ermi nal symbol en unabhSmgig yon deren Umgebung
(Kontext) entsprechen, und der Grad der Kont ext sensi t i vi t gt zentral fiir die
406 10 Grammatiken und Chomsky-Hierarchie
Unt e r s uc hung der Ge ne r i e r ung von nat / i r l i chen Spr achen ist. In der I nf or ma t i k
ka nn ma n Pr o g r a mmi e r s pr a c h e n mi t HiKe von kont ext f r ei en Gr a mma t i k e n be-
schr ei ben, und da mi t si nd die kont ext f r ei en Gr a mma t i k e n ein wi cht i ges Wer k-
zeug z um Compi l e r ba u. Di e ni c ht de t e r mi ni s t i s c he n Ke l l e r a u t o ma t e n st el l en ein
nat i i r l i ches Re c he nmode l l zur I mpl e me nt i e r ung der Re kur s i on dar und si nd in
i hr er Beschrei bungsst S~rke 5~quivalent zu den kont ext f r ei en Gr a mma t i ke n .
Di e Kl asse der r egul gr en Spr achen ist ei ne echt e Tei l menge der Menge der kon-
t ext f r ei en Spr achen, was r el at i v ei nfach dur ch die An we n d u n g der Pu mpi n g -
t echni k bewi es en wer den kann. Di ese pumpi ngba s i e r t e Be we i s me t hode ka nn
ma n wei t er ent wi ckel n, um I n s t r u me n t e zu bauen, mi t denen ma n die Ni cht -
kont ext f r ei hei t von Spr achen bewei sen kann. Da n k der An we n d u n g der Pur e-
pi ngt e c hni ke n wi ssen wir, dass die Kl asse der kont ext f r ei en Spr a c he n ei ne echt e
Tei l menge der Kl asse der kont e xt s e ns i t i ve n Spr achen ist.
Kontrollaufgaben
1. Erkl/~ren Sie das Konzept von Grammatiken. Was ist eine Ableitung? Generiert jede
Ableitung in einer Grammatik G ein Terminalwort aus L(G)?
2. Die Grammatiken sind nichtdeterministische Generierungsmechanismen. Wo fiberall
tritt der Nichtdeterminismus auf?
3. Welche Grammatiktypen kennen wir und nach welchen Kriterien werden sie klassifi-
ziert?
4. Wir k6nnen die Nichtterminale regul/~rer Grammatiken als Informationstr/~ger deuten,
die die wichtigsten Merkmale des bisher abgeleiteten Pr/~fixes repr/~sentieren. Dies
bietet uns eine/~hnliche Entwurfsmethode von regul/~ren Grammatiken wie wir durch
die Zuordnung der Bedeutung einzelnen Zust/~nden fiir den Entwurf von endlichen
Automaten gewonnen haben. Nutzen Sie diese Strategie um regul/~re Grammatiken
fiir die regul/~ren Sprachen aus Aufgabe 3.5 zu entwerfen! Beweisen Sie die Korrektheit
ffir mindestens eine der entworfenen Grammatiken!
5. Welche Abgeschlossenheitseigenschaften der Klasse/23 = s kann man einfach
mittels regul/~ren Grammatiken beweisen? Ftir welche Operationen fiber Sprachen
wtirde man eher die endlichen Automaten benutzen?
6. Beschreiben Sie Algorithmen, die Folgendes tun:
(i) Entfernung aller nutzlosen Symbole aus einer Grammatik.
(ii) Entfernung aller Kettenregeln aus einer regul/~ren Grammatik.
(iii) Entfernung aller Regeln X ~ A aus einer regul/~ren Grammatik.
7. Obwohl endliche Automaten ein Maschinenmodell sind und regul/~re Grammatiken
einen Generierungsmechanismus darstellen, haben diese Modelle eine starke Ahnlich-
keit in ihrer Arbeitsweise. Wie wtirden Sie diese Ahnlichkeit spezifizieren und wie
nutzt man sie zur gegenseitigen Simulation aus?
8. Entwerfen Sie kontextfreie Grammatiken ffir die folgenden Sprachen:
(i) {aibJckdl l i , j , k, 1 c IN, i ~ j und k = 2/}
(ii) {aibJct~dl [ i , j , k , l c IN, j r k oder i r l}
(iii) {aibJckdl l i, j , k, 1 E IN, j ~ k und i ~ l}
10.6 Zusammenfassung 407
(iv) {0~12~2i l n , i 9
(v) {0ilJ2 k l i , j , k 9 IN, i + k = j }
(vi) { wOOOl l l wR l w 9 {O, 1}*}.
Wandel n Sie die entworfenen kontextfreien Gr ammat i ken in die Chomsky-Normal form
l l m.
9. Entwerfen Sie eine kontextfreie Gr ammat i k fiir die Sprache
L= { anbi c j I n , i , j 9 i +j =n } ,
die ftir jedes Wort aus L mindestens zwei unterschiedliche Abl ei t ungsbgume hat.
10. Welche der folgenden Sprachen ist kontextfrei? Beweisen Sie ihre Behaupt ung:
(i) { wO~ l ~ wR [ w c {0, 1,}*, n c IN}
(ii) { wwRw [ w c {0, 1}*}
(iii) {O~l~'] n~I N}
(iv) { wwRu u R [ u, w E {O, 1}* }
(v) {ai bYckdl l i, j , k , 1 E IN, i +l = j + k}
(vi) {a' ~b' ~c2' ~d 2'~ I n, m 9 IN}.
11. Fiihren Sie den Beweis des Pumpi ng-Lemmas f/it kontextfreie Sprachen, in dem Sie
annehmen, dass Sie eine Gr ammat i k in Chomsky-Normal form haben! Wie wird durch
diese Annahme der Beweis vereinfacht?
Wgre es auch eine Erleichterung, eine Gr ammat i k in Grei bach-Normal form zu neh-
I I l eI l ?
12. Entwerfen Sie nichtdeterministische Kel l eraut omat en, die die Sprachen aus Kontroll-
aufgabe 8 akzeptieren! Wandel n Sie mindestens einen dieser Kel l eraut omat en in einen
/~quivalenten NPdA, d e r n u r einen Zust and hat! Konst rui eren Sie dann zu diesem
NPdA mit einem Zust and eine gquivalente kontextfreie Gr ammat i k.
13. Konst rui eren Sie eine kontextsensitive Gr ammat i k fiir die Sprachen {02~ I n 9 IN}
und { anbnc '~ I n 9 I N}.
L i t e r a t u r v e r z e i e h n i s
[ACG + 99]
[BC 94]
[BDG 88]
[BDG 90]
[Ben 64]
[Ben 65]
[Boc 58]
[(~er 85]
[Cha 66]
[Cha 69]
[Cha 74]
[Chu 36]
Ausiello, G.; Crescenzi, P.; Gambosi, G.; Kann, V.; Marchetti-
Spaccamela, A.; Protasi, M.: Complexity and Approximation.
Combinatorial Optimization Problems and their Approximabili-
ty Properties. Springer-Verlag 1999
Bovet, D. P.; Crescenzi, P.: Introduction to the Theory of Com-
plexity. Prentice-Hall 1994
Balc~zar, J.; Dfaz, J.; Gabarrd, J.: Structural Complexity I.
Springer-Verlag 1988
Balc~zar, J.; Dfaz, J.; Gabarrd, J.: Structural Complexity II.
Springer-Verlag 1990
Bench, V.: Permutation groups, complexes and rearrangable mul-
tistage connecting networks. Bell System Technical Journal 43
(1964) 1619-1640
Bene~, V.: Mathematical Theory of Connecting Networks and Te-
lephone Traffic. Academic Press 1965
Bock, F.: An algorithm for solving "traveling-salesman" and rela-
ted network optimization problems: abstract. Bulletin 14th Natio-
nal Meeting of the Operations Research Society of America (1958)
897
Cernr V." A thermodynamical approach to the traveling salesman
problem: An efficient simulation algorithm. Journal of Optimiza-
tion Theory and Applications 45 (1985) 41-55
Chaitin, G.: On the length of programs for computing finite binary
sequences. Journal of the ACM 13 (1966) 407-412
Chaitin, G.: On the simplicity and speed of programs for com-
puting definite sets of natural numbers. Journal of the ACM 16
(1969) 407-412
Chaitin, G.: Information-theoretic limitations of formal systems.
Journal of the ACM 13 (1974) 403-424
Church, A.: An undecidable problem in elementary number theory.
American Journal of Mathematics 58 (1936) 345-363
Literaturverzeichnis 409
[CLR 90] Cormen, T.; Leiserson, C.; Rivest, R.: Introduction to Algorithms.
MIT Press and McGraw-Hill 1990
[Coo 71] Cook, S.: The complexity of theorem-proving procedures. In: Pro-
ceedings of 3rd ACM STOC. 1971 S. 151-157
[Cro 58] Croes, G.: A method for solving traveling salesman problem. Ope-
rations Research 6 (1958) 791-812
[DH 76] Diffie, W.; Hellman, M.: New directions in Cryptographie. IEEE
Transitions Inform. Theory 26 (1976) 644-654
[DK 02] Dells, H.; Knebl, H.: Introduction to Cryptography. Springer-
Verlag 2002
[EP 00] Erk, K.; Priese, L.: Theoretische Informatik (Eine umfassende
Einftihrung). Springer-Verlag 2000
[GJ 79] Garey, M.; Johnson, D.: Computers and Intractability. Freeman
1979
[GMR 85] Goldwasser, S.; Micali, S.; Rackoff, C.: Knowledge complexity of
interactive proofs. In: Proc. 17th A CM Syrnp. on Theory of Com-
putation. ACM, 1985 S. 291-304
[G6d 31] G6del, K." Uber formal unentscheidbare Sgtze der Principia Ma-
thematica und verwandter Systeme. MonatsheRe fiir Mathematik
und Physik 38 (1931) 173-198
[Gra 66] Graham, R.: Bounds for certain multiprocessor anomalies. Bell
System Technical Journal 45 (1966) 1563-1581
[Har 93] Harel, D.: Algorithmics. The Spirit of Computing. Addison Wesley
1993
[HKMP 96] Hromkovi~, J.; Klasing, R.; Monien, B.; Peine, R.: Dissemination
of Information in Interconnection Networks. In: Combinational
Network Theory. 1996 S. 125-212
[HKP + 05] Hromkovi~, J.; Klasing, R.; Pele, A.; Ru~i~ka, P.; Unger, W.: Dis-
semination of Information in Communication Networks. Broadca-
sting, Gossiping, Leader Election and Fault-Tolerance. Springer-
Verlag 2005
[HMU 01] Hopcroft, J. E.; Motwani, R.; Ullman, J. D.: Introduction to Au-
tomata Theory, Languages, and Computation. Addison-Wesley,
Readings, MA 2001
[Hoc 97] Hochbaum, D.: Approximation Algorithms for NP-hard Problems.
Boston: PWS Publishing Company 1997
[Hro 97] Hromkovi~, J.: Communication Complexity and Parallel Compu-
ting. Springer-Verlag 1997
410 Literaturverzeichnis
[Hro 01]
[Hro 04]
[HS 65]
[HSL 65]
[HU 79]
[IK 74]
[Kar 72]
[Kar 91]
[KGV 83]
[Kle 36]
[Kol 65]
[Kol 68]
[Lei 92]
[LP 78]
[LV 9S]
IMPS 98]
Hromkovi~, J.: Algorithms for Hard Problems. Introduction to
Combinatorial Optimization, Randomization, Approximation and
Heuristics. Springer-Verlag 2001
Hromkovi~, J.: Randomisierte Algorithmen. Methoden zum Ent-
wurf yon zufallsgesteuerten Systemen fiir Einsteiger. B.G. Teub-
ner, Wiesbaden 2004
Hartmanis, J.; Stearns, R.: On the computational complexity of
algorithms. Transactions of ASM 117 (1965) 285-306
Hartmanis, J.; Stearns, R.; Lewis, P.: Hierarchies of memory limi-
ted computations. In: Proceedings of 6th IEEE Syrup. on Switching
Circuit Theory and Logical Design. 1965 S. 179-190
Hopcroft, J.; Ullman, J.: Introduction to Aut omat a Theory, Lan-
guages, and Computation. Addison-Wesley, Readings 1979
Ibarra, O.; Kim, C.: Fast approximation algorithms for the knap-
sack and sum of subsets problem. Journal of the ACM 21 (1974)
294-303
Karp, R.: Reducibility among combinatorial problems. In: R. Mil-
ler (Hrsg.), Complezity of Computer Computation. Plenum Press,
1972 S. 85-104
Karp, R.: An introduction to randomized algorithms. Discrete
Applied Mathematics 34 (1991) 165-201
Kirkpatrick, S.; Gellat, P.; Vecchi, M.: Optimization by simulated
annealing. Science 220 (1983) 671-680
Kleene, S.: General recursive functions of natural numbers. Ma-
thematische Annalen 112 (1936) 727-742
Kolmogorov, A.: Three approaches for defining the concept of in-
formation quantity. Probl. Information Transmission 1 (1965) 1-7
Kolmogorov, A.: Logical basis for information theory and probabi-
lity theory. IEEE Transactions on Information Theory 14 (1968)
662-664
Leighton, F.: Introduction to Parallel Algorithms and Architec-
tures: Arrays, Trees, Hypercubes. Morgan Kaufmann Publ. Inc.
1992
Lewis, H. R.; Papadimitriou, C.: The efficiency of algorithms.
Scientific American 238 (1978) 1
Li, M.; Vit~nyi, P." An Introduction to Kolmogorov Complexity
and Its Applications. Springer-Verlag 1993
Mayr, E.; Pr6mel, H.; Steger, A. (Hrsg.): Lectures on Proof Veri-
fication and Approximation Algorithms. Lecture Notes in Com-
puter Science. Nr. 1967. Springer-Verlag 1998
Literaturverzeichnis 411
[MR 95]
[ M R R + 53]
[Pap 94]
[Pos 36]
[Pos 46]
[PS 8 :2 ]
[Rei 90]
[Ric 53]
[Rog 67]
[RSA 78]
[Sal 73]
[ S a l 9 6 ]
[SC 79]
[Sch 95]
[Sch 01]
[Sha 92]
[Sip 97]
[Tra 63]
[Tur 36]
[Vaz 01]
Motwani, R.; Raghavan, P.: Randomized Algorithms. Cambridge
University Press 1995
Metropolis, N.; Rosenbluth, A.; Rosenbluth, M.; Teller, A.; Tel-
ler, E.: Equation of state calculation by fast computing machines.
Journal of Chemical Physics 21 (1953) 1087-1091
Papadimitriou, C. H.: Computational Complexity. Addison-
Wesley 1994
Post, E.: Finite combinatory process-formulation. Journal of Sym-
bolic Logic 1 (1936) 103-105
Post, E.: A variant of a recursively unsolvable problem. Transac-
tions of ASM 52 (1946) 264-268
Papadimitriou, C. H.; Steiglitz, K.: Combinatorial Optimization:
Algorithms and Complexity. Prentice-Hall 1982
Reischuk, R.: Einfiihrung in die Komplexitgtstheorie. B.G. Teub-
her 1990
Rice, H.: Classes of recursively enumerable sets and their decision
problems. Transactions of ASM 89 (1953) 25-59
Rogers, H.: Theory of Recursive Functions and Effective Compu-
tability. McGraw-Hill, New York 1967
Rivest, R.; Shamir, A.; Adleman, L.: A method for obtaining digi-
tal signatures and public-key cryptosystems. Comm. Assoc. Corn-
put. Mach. 21 (1978) 120-12
Salomaa, A.: Formal Languages. Academic Press 1973
Salomaa, A.: Public-Key Cryptographie. Springer-Verlag 1996
Stockmeyer, L. J.; Chandra, A. K.: Intrinsically difficult problems.
Scientific American 240 (1979) 5
Sch6ning, U.: Perlen der Theoretischen Informatik. BI-Wissen-
schaftsverlag, Mannheim, Leipzig, Wien, Ziirich 1995
Sch6ning, U.: Algorithmik. Spektrum Akademischer Verlag, Hei-
delberg, Berlin 2001
Shamir, A.: IP = PSPACE. Journal of the ACM 39 (1992) 869-
877
Sipser, M.: Introduction to the Theory of Computation. PWS
Publ. Comp. 1997
Trakhtenbrot, B.: Algorithms and Automatic Computing Machi-
nes. D.C. Heath & Co., Boston 1963
Turing, A.: On computable numbers with an application to the
Entscheidungsproblem. In: Proceedings of London Mathematical
Society, Bd. 42 yon 2. 1936 S. 230-265
Vazirani, V.: Approximation Algorithms. Springer-Verlag 2001
412 Literaturverzeichnis
[Wak 6S]
[Weg 05]
Waksman, A." A Permutation Network. Journal of ACM 15 (1968)
159-163
Wegener, I." Theoretische I nf or mat i k- eine algorithmenorientierte
Einfiihrung. B.G. Teubner, Wiesbaden 2005
S ae hve r z e i e hni s
Aquivalenzproblem, 309
SAT, 248
ableitbar, 353
Ableitung, 353
Ableitungsbaum, 377
Ableitungsregeln, 351
Ableitungsschritt, 353
Abzghlbarkeit, 164
Algorithmus, 45, 125
pseudopolynomiell, 264
randomisiert, 297
Solovay-Strassen-, 306
Alphabet, 33
Approximationsalgorithmus, 270
AuthentizitS~tsproblem, 328
Bene~-Netzwerk, 340
Beweiser, 330
Beweissystem
interaktives, 330, 332, 334
Zero-Knowledge-, 333, 334, 345
Beweissysteme, 345
Beweisverifikation, 232
Bisektion, 344
Boolesche Formel, 349
Chomsky, 403
Chomsky-Normalform, 380
Church'sche These, 146, 400
Compilerbau, 347, 403
Determinismus, 293
Diagonalisierungsmethode, 169
Diagonalsprache, 170
digitale Unterschriften, 326
Einweg-Funktion, 320,322,323,345
endlicher Automat, 76, 107
nichtdeterministisch, 107
Entscheidungsproblem, 45
Entschliisselung, 318, 319
Ereignis, 293
elementares, 293
erzeugte Sprache, 353
Faktorisierung, 323, 345
Fehlerwahrscheinlichkeit, 296, 300,
307, 309, 310
Fingerabdruck, 308, 310
Grammatik, 352
kontextsensitive, 358
normierte, 368
normierte kontextfreie, 382
regulgre, 359, 361
Typ-0-, 358
Typ- 1-, 358
Typ-2-, 359
Typ-3-, 359
Grammatiken, 347, 399, 403
kontextfreie, 375
Greibach-Normalform, 380
Halteproblem, 178
414
Implementierung der Rekursion,
403
k a n o n i s c h e O r d n u n g , 4 0
K e l l e r a u t o m a t , 3 8 8
n i c h t d e t e r m i n i s t i s c h e r , 3 9 0
K e l l e r a u t o m a t e n , 4 0 3
K e t t e n r e g e l n , 3 6 8
Klartext, 318
Kolmogorov-KomplexitS~t, 58, 198
Kommunikation, 317, 335
Kommunikationsprotokoll, 328
Kommunikationsweg, 335
KomplexitS~tsklassen, 214
Komplexitgtsmase, 207
kontextfrei, 359
kontextsensitiv, 358
Kontextsensitivit 5~t, 403
Kryptoanalyse, 318
Kryptoanalytiker, 319
Kryptographie, 317, 318, 345
Kryptologie, 317, 318
Kryptosystem, 318
Public-Key-, 321,327
symmetrisch, 320
Kryptotext, 318
L e m m a v o n O d g e n , 3 8 6
L i n k s a b l e i t u n g , 3 7 9
L o g a r i t h m u s
d i s k r e t e r , 3 2 2 , 3 4 5
l o k a l e S u c h e , 2 7 9
M e h r b a n d - T u r i n g m a s c h i n e , 1 3 6 ,
2 1 4
M e t h o d e d e r F i n g e r a b d r t i c k e , 3 0 7 ,
3 1 0 , 3 1 4
M e t h o d e d e r h S o u f i g e n Z e u g e n , 3 0 3 ,
3 1 4
M e t r o p o l i s - A l g o r i t h m u s , 2 8 6
M o d u l a r i t g t , 3 3 7 , 3 4 4
Sachverzeichnis
Nachbarschaft, 277
echt, 284
polynomiell untersuchbar, 283
N e t z , 3 3 5
N e t z w e r k , 3 3 7
B e n e ~ - , 3 4 0
N e t z w e r k d e s i g n , 3 4 4
N i c h t d e t e r m i n i s m u s , 1 0 7 , 1 4 7
N i c h t t e r m i n a l a l p h a b e t , 3 5 2
N i c h t t e r m i n a l e , 3 5 1
N i c h t t e r m i n a l s y m b o l e , 3 5 1
N o r m a l f o r m
C h o m s k y - , 3 8 0
G r e i b a c h - , 3 8 0
N P , 2 3 0 , 2 3 5 , 3 3 0
N P - s c h w e r , 2 3 7 , 2 5 7 , 2 6 9 , 2 8 4
N P - S c h w i e r i g k e i t , 2 5 6
N P - s t a r k , 2 6 9 , 2 8 4
N P - v o l l s t ~ n d i g , 2 3 7
N P - V o l l s t ~ n d i g k e i t , 2 4 8
N P d A , 3 9 0
N P O , 2 5 5
Optimierungsproblem, 49
P , 2 2 2 , 2 3 0 , 2 3 5
P e r m u t a t i o n , 3 3 5 , 3 3 7
P e r m u t a t i o n s n e t z w e r k , 3 3 7 , 3 4 0
p l a t z k o n s t r u i e r b a r , 2 1 5
P O , 2 5 6
P o l y n o m e , 3 0 9
p o l y n o m i a l z e i t - r e d u z i e r b a r , 2 2 3
p o l y n o m i e l l e R e d u k t i o n , 2 3 7
P o s t ' s c h e K o r r e s p o n d e n z p r o b l e m ,
1 9 0
P o t e n z m e n g e n k o n s t r u k t i o n , i 1 3
P r i m z a h l s a t z , 6 5 , 2 9 8
P r i m z a h l t e s t , 3 0 3 , 3 0 6 , 3 1 4
P r o d u k t i o n e n , 3 5 1
P r o t o k o l l
z u f a l l s g e s t e u e r t , 2 9 8
Sachverzeichnis
Pumping-Lemma, 101
fiir kontextfreie Sprachen, 382
Pumpingtechnik, 404
Rechtsableitung, 379
Reduktion, 171
Regeln, 351
regulS~r, 359
rekursiv, 46, 130, 161
rekursiv aufzS~hlbar, 130
RSA, 323, 325
Rucksack-Problem, 264
Satz
von Cook, 241
von Euler, 324
von Fermat, 304
von Rice, 185
von Shamir, 332
Schaltungsknoten, 335
Schltissel, 318
Schmetterling, 339
Schmetterlinge
r-dimensionale, 340
Simulated Annealing, 284
Simulation, 92
SpeicherplatzkomplexitS~t, 207
Sprache, 40
Sprachen
kontextfreie, 375
415
Startnichtterminal, 352
Startsymbol, 352
Syntaxbaum, 377
Telefonnetze, 345
Terminalalphabet, 352
Terminalsymbole, 351
TSP, 51
Turingmaschine, 125
nichtdeterministisch, 147
Turingmaschinen, 400
universelle Sprache, 175
Verifizierer, 233, 330
Verschliisselung, 318
Wahrscheinlichkeit, 293, 294
Wahrscheinlichkeitsraum, 295
Wahrscheinlichkeitstheorie, 293
Wahrscheinlichkeitsverteilung, 294
Wort, 33
Zahlproblem, 263
Zeitkomplexitgt, 207
zeitkonstruierbar, 215
Zertifikat, 231
Zeuge, 231,302, 310, 314
Zufall, 291
Zufallssteuerung, 292

Das könnte Ihnen auch gefallen