ebook img

Grundkurs Theoretische Informatik: Eine anwendungsbezogene Einführung - Für Studierende in allen Informatik-Studiengängen PDF

493 Pages·2016·9.58 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Grundkurs Theoretische Informatik: Eine anwendungsbezogene Einführung - Für Studierende in allen Informatik-Studiengängen

Gottfried Vossen Kurt-Ulrich Witt Grundkurs Theoretische Informatik Eine anwendungsbezogene Einführung – Für Studierende in allen Informatik- Studiengängen 6. Auflage Grundkurs Theoretische Informatik Gottfried Vossen · Kurt-Ulrich Witt Grundkurs Theoretische Informatik Eine anwendungsbezogene Einführung – Für Studierende in allen Informatik- Studiengängen 6., erweiterte und überarbeitete Auflage Gottfried Vossen Kurt-Ulrich Witt Westfälische Wilhelms-Universität Münster Hochschule Bonn-Rhein-Sieg Münster, Deutschland Sankt Augustin, Deutschland ISBN 978-3-8348-1770-9 ISBN 978-3-8348-2202-4 (eBook) DOI 10.1007/978-3-8348-2202-4 Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detail- lierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. Springer Vieweg © Springer Fachmedien Wiesbaden GmbH 2000, 2002, 2004, 2006, 2011, 2016 Die 1. und 2. Auflage sind unter dem Titel „Grundlagen der Theoretischen Informatik mit Anwendungen“ erschienen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht ausdrücklich vom Urheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung des Verlags. Das gilt insbesondere für Vervielfältigungen, Bearbeitungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. 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 wären und daher von jedermann benutzt werden dürften. Der Verlag, die Autoren und die Herausgeber gehen davon aus, dass die Angaben und Informationen in diesem Werk zum Zeitpunkt der Veröffentlichung vollständig und korrekt sind. Weder der Verlag noch die Autoren oder die Herausgeber übernehmen, ausdrücklich oder implizit, Gewähr für den Inhalt des Werkes, etwaige Fehler oder Äußerungen. Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier Springer Vieweg ist Teil von Springer Nature Die eingetragene Gesellschaft ist Springer Fachmedien Wiesbaden GmbH Die Anschrift der Gesellschaft ist: Abraham-Lincoln-Strasse 46, 65189 Wiesbaden, Germany Inhaltsverzeichnis Vorwortzur1.Auflage xi Vorwortzur2.Auflage xiii Vorwortzur3.Auflage xiv Vorwortzur4.Auflage xv Vorwortzur5.Auflage xvi Vorwortzur6.Auflage xvii 1 EinführungundÜbersicht 1 1.1 AusgangspunktefürdasThemengebiet . . . . . . . . . . . . . . . . . 1 1.2 AnwendungentheoretischerErkenntnisse . . . . . . . . . . . . . . . 3 1.3 Stoffübersichtund-abgrenzung . . . . . . . . . . . . . . . . . . . . . 4 1.4 ExterneLernhilfenundWeb-Seiten . . . . . . . . . . . . . . . . . . 5 1.5 AllgemeineBibliographischeHinweise . . . . . . . . . . . . . . . . 7 I EndlicheAutomatenundreguläreSprachen 9 2 EndlicheAutomaten 11 2.1 DeterministischeendlicheAutomaten . . . . . . . . . . . . . . . . . 11 2.1.1 Beispiel:DerAutomatA . . . . . . . . . . . . . . . . 12 Eintritt 2.1.2 Alphabete,Wörter,Sprachen . . . . . . . . . . . . . . . . . . 15 2.1.3 ZuständeundZustandsübergänge . . . . . . . . . . . . . . . 21 2.1.4 DeterministischeendlicheAutomatenundreguläreSprachen . 22 2.1.5 VollständigeAutomaten . . . . . . . . . . . . . . . . . . . . 27 2.1.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . 28 2.2 NichtdeterministischeendlicheAutomaten . . . . . . . . . . . . . . . 28 2.2.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.2.2 Äquivalenzvondeterministischenundnichtdeterministischen endlichenAutomaten . . . . . . . . . . . . . . . . . . . . . . 34 vi Inhalt 2.2.3 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . 39 2.3 EndlicheAutomatenmit"-Übergängen . . . . . . . . . . . . . . . . 39 2.3.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.3.2 Äquivalenz von "-Automaten zu nichtdeterministischen end- lichenAutomaten . . . . . . . . . . . . . . . . . . . . . . . . 40 2.3.3 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . 45 2.4 VerallgemeinerteendlicheAutomaten . . . . . . . . . . . . . . . . . 45 2.4.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.4.2 ÄquivalenzvonverallgemeinertenundendlichenAutomaten . 46 2.4.3 WeitereVariantenendlicherAutomaten . . . . . . . . . . . . 46 2.5 MinimierungendlicherAutomaten . . . . . . . . . . . . . . . . . . . 47 2.5.1 IsomorphieendlicherAutomaten. . . . . . . . . . . . . . . . 48 2.5.2 DerSatzvonMyhillundNerode . . . . . . . . . . . . . . . . 49 2.5.3 VerfahrenzurMinimierungendlicherAutomaten . . . . . . . 52 2.6 AnwendungenendlicherAutomaten . . . . . . . . . . . . . . . . . . 57 2.6.1 RechnersystemeundSystemprogrammierung . . . . . . . . . 58 2.6.2 Teilworterkennung . . . . . . . . . . . . . . . . . . . . . . . 59 2.6.3 WeitereAnwendungen . . . . . . . . . . . . . . . . . . . . . 63 2.7 BibliographischeHinweiseundErgänzungen . . . . . . . . . . . . . 63 2.8 Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3 ReguläreSprachen 69 3.1 ReguläreAusdrücke. . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.1.1 DefinitionenundEigenschaften . . . . . . . . . . . . . . . . 70 3.1.2 AnwendungregulärerAusdrücke:SyntaxprüfungvonProgramm- eingaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.1.3 ÄquivalenzvonendlichenAutomatenundregulärenAusdrücken 78 3.1.4 Anwendung:Scanner-Generatoren . . . . . . . . . . . . . . . 83 3.1.5 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . 86 3.2 Typ-3-Grammatiken. . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.2.1 RechtslineareGrammatiken . . . . . . . . . . . . . . . . . . 87 3.2.2 LinkslineareGrammatiken . . . . . . . . . . . . . . . . . . . 91 3.2.3 ÄquivalenzrechtslinearerundlinkslinearerGrammatiken. . . 91 3.2.4 VerallgemeinerteTyp-3-Grammatiken . . . . . . . . . . . . . 93 3.2.5 ÄquivalenzvonendlichenAutomatenundTyp-3-Grammatiken 94 3.2.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . 96 3.3 EigenschaftenregulärerSprachen . . . . . . . . . . . . . . . . . . . 97 3.3.1 AbschlusseigenschaftenvonREG . . . . . . . . . . . . . . 97 (cid:6) 3.3.2 DasPumping-LemmafürreguläreSprachen. . . . . . . . . . 106 3.3.3 Entscheidbarkeitsprobleme . . . . . . . . . . . . . . . . . . . 108 3.3.4 GrenzenendlicherAutomaten . . . . . . . . . . . . . . . . . 111 3.4 BibliographischeHinweiseundErgänzungen . . . . . . . . . . . . . 114 3.5 Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Inhalt vii 4 EndlicheMaschinenundAutomatennetze 119 4.1 EndlicheMaschinen. . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.1.1 ErweiterungdesendlichenAutomatenA . . . . . . . . 120 Eintritt 4.1.2 Mealy-Maschinen . . . . . . . . . . . . . . . . . . . . . . . 122 4.1.3 EinformalesVorgehensmodellbeiderProblemlösung . . . . 129 4.1.4 Moore-Maschinen . . . . . . . . . . . . . . . . . . . . . . . 132 4.1.5 ÄquivalenzvonMealy-undMoore-Berechenbarkeit . . . . . 135 4.1.6 GrenzenendlicherMaschinen . . . . . . . . . . . . . . . . . 139 4.2 Mealy-MaschinenundSchaltwerke . . . . . . . . . . . . . . . . . . 142 4.3 EndlicheTransducer . . . . . . . . . . . . . . . . . . . . . . . . . . 147 4.4 BeispielefürAutomatennetze. . . . . . . . . . . . . . . . . . . . . . 149 4.4.1 SynchroneAutomaten:ZellulareAutomaten . . . . . . . . . 149 4.4.2 AsynchroneAutomaten:Petri-Netze . . . . . . . . . . . . . . 154 4.4.3 AnwendungenundVariantenvonPetri-Netzen . . . . . . . . 163 4.5 AnwendungenendlicherMaschinen . . . . . . . . . . . . . . . . . . 170 4.5.1 Software-undSystementwurf.Statecharts . . . . . . . . . . . 170 4.5.2 Modellierungvon(Geschäfts-)Prozessen . . . . . . . . . . . 172 4.5.3 ElektronischerHandel . . . . . . . . . . . . . . . . . . . . . 176 4.6 BibliographischeHinweiseundErgänzungen . . . . . . . . . . . . . 177 4.7 Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 II KontextfreieSprachenundKellerautomaten 183 5 KontextfreieSprachen 185 5.1 KontextfreieGrammatiken . . . . . . . . . . . . . . . . . . . . . . . 185 5.1.1 BeispieleundDefinitionen . . . . . . . . . . . . . . . . . . . 186 5.1.2 Normalformen . . . . . . . . . . . . . . . . . . . . . . . . . 188 5.2 EigenschaftenkontextfreierSprachen . . . . . . . . . . . . . . . . . 195 5.2.1 Mehrdeutigkeit . . . . . . . . . . . . . . . . . . . . . . . . . 195 5.2.2 DasPumping-LemmafürkontextfreieSprachen. . . . . . . . 197 5.2.3 Abschlusseigenschaften . . . . . . . . . . . . . . . . . . . . 200 5.3 BibliographischeHinweise . . . . . . . . . . . . . . . . . . . . . . . 204 5.4 Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 6 Kellerautomaten 207 6.1 NichtdeterministischeKellerautomaten. . . . . . . . . . . . . . . . . 208 6.1.1 GrundlegendeDefinitionen . . . . . . . . . . . . . . . . . . . 208 6.1.2 AkzeptierenmitleeremKeller . . . . . . . . . . . . . . . . . 212 6.2 ÄquivalenzvonkontextfreienGrammatikenundKellerautomaten . . 213 6.3 DeterministischeKellerautomaten . . . . . . . . . . . . . . . . . . . 217 6.4 BibliographischeHinweise . . . . . . . . . . . . . . . . . . . . . . . 221 6.5 Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 viii Inhalt 7 AnwendungenkontextfreierSprachen 223 7.1 Ableitungs-undSyntaxbäume . . . . . . . . . . . . . . . . . . . . . 223 7.2 Compilerbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 7.3 SyntaxvonProgrammiersprachen . . . . . . . . . . . . . . . . . . . 235 7.3.1 ErweiterteBackus-Naur-Form . . . . . . . . . . . . . . . . . 235 7.3.2 Syntaxdiagramme . . . . . . . . . . . . . . . . . . . . . . . 239 7.4 ReguläreDefinitionen . . . . . . . . . . . . . . . . . . . . . . . . . . 242 7.5 Beispielanwendung:XML . . . . . . . . . . . . . . . . . . . . . . . 243 7.6 BibliographischeHinweise . . . . . . . . . . . . . . . . . . . . . . . 247 7.7 Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 III BerechenbarkeitundKomplexität 249 8 Typ-1-undTyp-0-Sprachen 251 8.1 DieChomsky-Hierarchie . . . . . . . . . . . . . . . . . . . . . . . . 251 8.1.1 Typ-1-Sprachen(kontextsensitiveSprachen). . . . . . . . . . 252 8.1.2 Typ-0-Sprachen(rekursiv-aufzählbareSprachen) . . . . . . . 260 8.1.3 DieHierarchie . . . . . . . . . . . . . . . . . . . . . . . . . 265 8.1.4 DasWortproblem . . . . . . . . . . . . . . . . . . . . . . . . 267 8.2 Turingautomaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 8.2.1 DefinitionenundBeispiele . . . . . . . . . . . . . . . . . . . 269 8.2.2 VariantenvonTuringautomaten . . . . . . . . . . . . . . . . 274 8.2.3 Äquivalenzvondeterministischenundnichtdeterministischen Turingautomaten . . . . . . . . . . . . . . . . . . . . . . . . 279 8.2.4 LinearbeschränkteAutomaten . . . . . . . . . . . . . . . . . 280 8.2.5 ÄquivalenzzwischenTyp-1-Grammatikenundlinearbeschränk- tenAutomaten . . . . . . . . . . . . . . . . . . . . . . . . . 281 8.2.6 ÄquivalenzzwischenTyp-0-GrammatikenundTuringautoma- ten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 8.2.7 EntscheidbareSprachen . . . . . . . . . . . . . . . . . . . . 283 8.3 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 8.4 BibliographischeHinweise . . . . . . . . . . . . . . . . . . . . . . . 287 8.5 Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 9 Berechenbarkeit 291 9.1 Turing-Berechenbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . 291 9.1.1 DefinitionundBeispiele . . . . . . . . . . . . . . . . . . . . 292 9.1.2 DieProgrammierspracheTURING . . . . . . . . . . . . . . . 296 9.2 Loop-,While-undGoto-Berechenbarkeit . . . . . . . . . . . . . . . 301 9.2.1 DieProgrammierspracheLOOP . . . . . . . . . . . . . . . . 301 9.2.2 DieProgrammierspracheWHILE . . . . . . . . . . . . . . . 307 9.2.3 DieProgrammierspracheGOTO . . . . . . . . . . . . . . . . 309 9.3 Primitivrekursiveund(cid:22)-rekursiveFunktionen . . . . . . . . . . . . . 312 9.3.1 Primitiv-rekursiveFunktionen . . . . . . . . . . . . . . . . . 312 Inhalt ix 9.3.2 (cid:22)-rekursiveFunktionen . . . . . . . . . . . . . . . . . . . . . 317 9.4 DieChurchscheThese . . . . . . . . . . . . . . . . . . . . . . . . . 320 9.5 DieAckermannfunktion . . . . . . . . . . . . . . . . . . . . . . . . 326 9.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 9.7 UniverselleTuringmaschinen . . . . . . . . . . . . . . . . . . . . . . 330 9.7.1 CodierungvonTuringmaschinen . . . . . . . . . . . . . . . . 330 9.7.2 NummerierungvonTuringmaschinen . . . . . . . . . . . . . 333 9.7.3 EineStandardnummerierungfürP . . . . . . . . . . . . . . . 336 9.7.4 FundamentaleAnforderungenanProgrammiersprachen . . . 338 9.7.5 Dasutm-Theorem . . . . . . . . . . . . . . . . . . . . . . . 338 9.7.6 Dassmn-Theorem . . . . . . . . . . . . . . . . . . . . . . . 339 9.7.7 Anwendungenvonutm-undsmn-Theorem . . . . . . . . . . 341 9.7.8 Bedeutungvonutm-undsmn-Theorem . . . . . . . . . . . . 345 9.8 BibliographischeHinweise . . . . . . . . . . . . . . . . . . . . . . . 347 9.9 Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 10 Entscheidbarkeit 353 10.1 ExistenzunentscheidbarerProbleme . . . . . . . . . . . . . . . . . . 353 10.2 Entscheidbareundsemi-entscheidbareSprachen . . . . . . . . . . . . 354 10.3 ReduktionvonSprachen . . . . . . . . . . . . . . . . . . . . . . . . 358 10.4 Entscheidbareundsemi-entscheidbareMengen . . . . . . . . . . . . 359 10.5 UnentscheidbareMengen . . . . . . . . . . . . . . . . . . . . . . . . 360 10.5.1 DasHalteproblem . . . . . . . . . . . . . . . . . . . . . . . 360 10.5.2 AnwendungendesHalteproblems:Straßenbahnen,autonome RoboterundfahrerloseAutos . . . . . . . . . . . . . . . . . 363 10.5.3 UnentscheidbareSprachen . . . . . . . . . . . . . . . . . . . 365 10.5.4 DerSatzvonRice . . . . . . . . . . . . . . . . . . . . . . . 366 10.5.5 DasKorrektheitsproblem . . . . . . . . . . . . . . . . . . . . 368 10.5.6 DasÄquivalenzproblem . . . . . . . . . . . . . . . . . . . . 369 10.5.7 DererweiterteSatzvonRice . . . . . . . . . . . . . . . . . . 369 10.5.8 DasPostscheKorrespondenzproblem . . . . . . . . . . . . . 372 10.5.9 AnwendungendesPostschenKorrespondenzproblems . . . . 375 10.6 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 10.7 BibliographischeHinweise . . . . . . . . . . . . . . . . . . . . . . . 378 10.8 Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 11 Komplexität 383 11.1 DieO-Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 11.2 KomplexitätvonAlgorithmen . . . . . . . . . . . . . . . . . . . . . 386 11.3 WichtigeKomplexitätsklassen . . . . . . . . . . . . . . . . . . . . . 389 11.4 DieKlassenPundNP . . . . . . . . . . . . . . . . . . . . . . . . . 390 11.4.1 DieKlasseP . . . . . . . . . . . . . . . . . . . . . . . . . . 391 11.4.2 DieKlasseNP . . . . . . . . . . . . . . . . . . . . . . . . . 391 11.4.3 DieKlassenEXPTIMEundNEXPTIME . . . . . . . . . . . 393 11.4.4 DasP-NP-Problem . . . . . . . . . . . . . . . . . . . . . . . 394 x Inhalt 11.4.5 NP-Vollständigkeit . . . . . . . . . . . . . . . . . . . . . . . 394 11.5 KonkreteNP-vollständigeProbleme . . . . . . . . . . . . . . . . . . 397 11.5.1 SAT –DasErfüllbarkeitsproblemderAussagenlogik . . . . . 397 11.5.2 WeitereNP-vollständigeProbleme. . . . . . . . . . . . . . . 402 11.6 WeitereKomplexitätsklassen . . . . . . . . . . . . . . . . . . . . . . 410 11.6.1 DieKlassePSPACE . . . . . . . . . . . . . . . . . . . . . . 410 11.6.2 KomplementäreKomplexitätsklassen . . . . . . . . . . . . . 416 11.7 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 11.8 BibliographischeHinweiseundErgänzungen . . . . . . . . . . . . . 419 11.9 Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 12 ApproximativeundprobabilistischeAnsätzeundderenAnwendungen 423 12.1 ApproximativeAlgorithmenfürNP-vollständigeProbleme . . . . . . 425 12.1.1 Approximierbarkeit . . . . . . . . . . . . . . . . . . . . . . . 425 12.1.2 LokaleVerbesserungamBeispielTSP . . . . . . . . . . . . . 428 12.1.3 UntereSchrankenfürdasApproximieren . . . . . . . . . . . 432 12.1.4 TSPinderPraxis . . . . . . . . . . . . . . . . . . . . . . . . 433 12.2 RandomisierteAlgorithmenundprobabilistischeKomplexitätsklassen 434 12.2.1 DieKlasseRP . . . . . . . . . . . . . . . . . . . . . . . . . 434 12.2.2 DieKlasseZPP. . . . . . . . . . . . . . . . . . . . . . . . . 440 12.2.3 DieKlasseBPP . . . . . . . . . . . . . . . . . . . . . . . . 443 12.2.4 Anwendung:Verschlüsselung . . . . . . . . . . . . . . . . . 444 12.3 InteraktiveBeweissysteme . . . . . . . . . . . . . . . . . . . . . . . 453 12.4 ZeroKnowledgeBeweise.Anwendung:Authentifikation . . . . . . . 456 12.5 ProbabilistischüberprüfbareBeweise . . . . . . . . . . . . . . . . . 459 12.6 BemerkungenzurP-NP-Frage . . . . . . . . . . . . . . . . . . . . . 463 12.7 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 12.8 BibliographischeHinweiseundErgänzungen . . . . . . . . . . . . . 466 12.9 Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 Literaturverzeichnis 469 Index 479

Description:
Diese Theorie-Einführung hat konsequent praktische Anwendungen im Blick. Seien es Workflow-Systeme, Web Services, Verschlüsselung von Informationen, Authentifizierungsprotokolle oder selbstfahrende Autos – all diese Technologien haben enge Bezüge zu den theoretischen Grundlagen der Informatik.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.