www.wikidata.de-de.nina.az
Dieser Artikel beschreibt einen Begriff der theoretischen Informatik Die philosophische und physikalische Denkrichtung die davon ausgeht dass die physikalischen Vorgange in der Welt nichtdeterministisch sind bezeichnet man als Indeterminismus Nichtdeterminismus ist ein Konzept aus der theoretischen Informatik in dem Algorithmen oder Maschinen meist Turingmaschinen oder endliche Automaten nicht nur genau eine Berechnung zu einer bestimmten Eingabe durchlaufen konnen deterministisch sondern es bei gleicher Eingabe mehrere Moglichkeiten fur den Ubergang in den nachfolgenden Zustand gibt Dabei wird durch das Programm der jeweiligen Maschine in keiner Weise vorgegeben welche der Moglichkeiten gewahlt werden muss In der Analyse solcher Algorithmen wird dann aber stets davon ausgegangen dass ein im jeweiligen Zusammenhang bestmoglicher Ubergang gewahlt wurde Nichtdeterministische Maschinen sind theoretische Modelle und im Allgemeinen nicht praktisch realisierbar Ihr Zweck in der theoretischen Informatik ist die Komplexitat von Problemen nach oben zu beschranken das soll heissen dass ein Problem fur das man einen nichtdeterministischen Algorithmus angeben kann leichter ist als ein Problem fur das man dies nicht kann In vielen Fallen ist es leichter fur ein Problem einen nichtdeterministischen Algorithmus zu finden als einen deterministischen und damit praktisch realisierbaren Algorithmus Daher ist es eine wichtige Frage in der theoretischen Informatik unter welchen Umstanden man nichtdeterministische Algorithmen bzw Maschinen durch deterministische Algorithmen bzw Maschinen effizient simulieren kann Inhaltsverzeichnis 1 Akzeptanz von nichtdeterministischen Algorithmen 2 Beispiele 3 Veranschaulichungen von Nichtdeterminismus 4 Vergleich von nichtdeterministischen und deterministischen Berechnungsmodellen 5 LiteraturAkzeptanz von nichtdeterministischen Algorithmen BearbeitenNichtdeterministische Algorithmen bzw Maschinen werden in der Regel nur fur Entscheidungsprobleme betrachtet Fur Eingaben fur die die Antwort Nein lautet muss der Algorithmus unabhangig von der nichtdeterministischen Wahl des Rechenweges die Antwort Nein liefern Fur Eingaben fur die die Antwort Ja lautet muss es mindestens einen Rechenweg geben so dass der Algorithmus die Antwort Ja liefert wahrend er auf anderen Rechenwegen auch die Antwort Nein liefern darf Beispiele BearbeitenEin Bereich in dem Nichtdetermismus auf naturliche Weise vorkommt ist die Beschreibung von formalen Sprachen durch Grammatiken Sei G eine Grammatik fur eine formale Sprache L Wenn ein Wort w zu L gehort gibt es eine Herleitung fur w in der Grammatik wenn ein Wort w nicht zu L gehort gilt fur alle Herleitungen in der Grammatik dass sie nicht das Wort w liefern Daher sind die zu Grammatiken gehorenden Automatenmodelle in der Regel nichtdeterministisch Als konkreteres Beispiel fur einen nichtdeterministischen Algorithmus betrachten wir den Test ob ein gegebener Graph G V E displaystyle G V E nbsp mit einer Menge von Knoten V displaystyle V nbsp und einer Menge von Kanten E displaystyle E nbsp einen Hamiltonkreis enthalt also einen Kreis der jeden Knoten des Graphen genau einmal enthalt Ein nichtdeterministischer Algorithmus geht wie folgt vor Er schreibt nichtdeterministisch eine Folge i 1 i V displaystyle i 1 i V nbsp von V displaystyle V nbsp Zahlen aus der Menge 1 V displaystyle 1 V nbsp Dann testet er ob jede der Zahlen aus der Menge 1 V displaystyle 1 V nbsp in der Folge genau einmal vorkommt Abschliessend wird getestet ob die Kanten i 1 i 2 i 2 i 3 i V 1 i V displaystyle i 1 i 2 i 2 i 3 i V 1 i V nbsp und i V i 1 displaystyle i V i 1 nbsp in dem Graphen vorkommen Wenn alle Tests positiv ausgehen lautet die Ausgabe Ja anderenfalls Nein Zur Korrektheit Wenn der gegebene Graph G einen Hamiltonkreis enthalt gibt es eine Moglichkeit dass die Ausgabe Ja lautet Wenn der Algorithmus in der nichtdeterministischen Phase die Knoten in der Reihenfolge des Hamiltonkreises aufschreibt gehen alle Tests positiv aus und die Antwort lautet Ja Wenn der Graph keinen Hamiltonkreis enthalt gibt es keine Moglichkeit dass alle Tests positiv verlaufen also lautet die Antwort Nein Dieses Beispiel zeigt auch fur welche Entscheidungsprobleme leicht nichtdeterministische Algorithmen gefunden werden konnen Dies sind die Probleme bei denen nach der Existenz einer Losung gefragt wird wobei es bei einer gegebenen Losung leicht ist zu uberprufen ob die Losung korrekt ist wobei es aber eventuell schwierig ist die Losung direkt zu berechnen In dem Beispiel ist die Losung der Hamiltonkreis fur eine gegebene Knotenfolge kann man leicht testen ob sie einen Hamiltonkreis bildet wahrend es viel schwieriger ist einen Hamiltonkreis zu finden Dieses Problem umgehen nichtdeterministische Algorithmen da bei ihnen nicht angegeben werden muss wie sie an die Losung kommen Veranschaulichungen von Nichtdeterminismus BearbeitenDa nichtdeterministische Algorithmen nicht auf realen Rechnern realisierbar sind und damit recht unanschaulich sind wird Nichtdeterminismus in Lehrbuchern haufig als Raten bezeichnet D h etwa fur das Beispiel von oben dass der nichtdeterministische Algorithmus den Hamiltonkreis errat und anschliessend verifiziert dass das was er erraten hat auch wirklich ein Hamiltonkreis ist Diese Sichtweise fuhrt auf der einen Seite zu einer einfacheren Beschreibung von nichtdeterministischen Algorithmen auf der anderen Seite aber auch zu Missverstandnissen und Fehlinterpretationen wenn die Korrektheit nicht wie im Beispiel oben explizit uberpruft wird Eine andere Veranschaulichung besteht darin Nichtdeterminismus als Verallgemeinerung von randomisierten Algorithmen aufzufassen Anstatt zwischen verschiedenen Rechenschritten nichtdeterministisch zu wahlen wird einfach mit Hilfe von Zufallszahlen ausgewurfelt welcher Rechenschritt gewahlt wird Der oben beschriebene Akzeptanzmodus von nichtdeterministischen Algorithmen wird dann wie folgt durch Erfolgswahrscheinlichkeiten beschrieben Wenn die korrekte Antwort Nein lautet ist die Wahrscheinlichkeit dass der Algorithmus Nein ausgibt gleich 1 wenn die korrekte Antwort Ja lautet ist die Wahrscheinlichkeit dass der Algorithmus Ja ausgibt grosser als Null Letzteres entspricht der Existenz eines Rechenweges auf dem der Algorithmus die Antwort Ja liefert Vergleich von nichtdeterministischen und deterministischen Berechnungsmodellen BearbeitenFur manche Berechnungsmodelle sind Simulationen der nichtdeterministischen Varianten durch die deterministischen Varianten moglich Dies sind insbesondere Turingmaschinen ohne Einschrankungen an Rechenzeit und Speicherplatz sowie endliche Automaten Fur andere Berechnungsmodelle kann gezeigt werden dass die nichtdeterministische Variante eine grossere Klasse von Problemen berechnen kann als die deterministische Variante Dies sind insbesondere die so genannten Kellerautomaten sowie Modelle aus der Kommunikationskomplexitat In der Komplexitatstheorie wird ausserdem untersucht inwieweit sich Nichtdeterminismus auf die Grossenordnung von benotigten Ressourcen wie Laufzeit oder Speicherverbrauch auswirkt Diese Frage ist bisher noch nicht geklart Insbesondere gilt dies fur die polynomiell zeitbeschrankten Turingmaschinen bzw polynomiell zeitbeschrankten Algorithmen Die Menge der Entscheidungsprobleme mit polynomiell zeitbeschrankten nichtdeterministischen Algorithmen wird als NP bezeichnet NP steht fur nichtdeterministisch polynomiell die Menge der Entscheidungsprobleme mit polynomiell zeitbeschrankten deterministischen Algorithmen wird als P bezeichnet Offensichtlich gilt P N P displaystyle P subseteq NP nbsp Die Frage ob diese beiden Komplexitatsklassen gleich oder verschieden sind ist als das P NP Problem bekannt und gehort zu den wichtigsten offenen Fragen in der theoretischen Informatik Die Bedeutung der Frage ergibt sich daraus dass viele praktisch wichtige Probleme von dem oben beschriebenen Typ sind also dass die Korrektheit einer Losung leicht uberprufbar ist es aber vermutlich schwierig ist eine korrekte Losung zu berechnen Literatur BearbeitenJ E Hopcroft R Motwani J D Ullmann Introduction to Automata Theory Languages and Programming 2 Auflage Addison Wesley 2001 ISBN 0 201 44124 1 I Wegener Komplexitatstheorie Grenzen der Effizienz von Algorithmen Springer 2003 ISBN 3 540 00161 1 Josep Diaz Automata languages and programming Springer 1983 ISBN 0 387 12317 2 Abgerufen von https de wikipedia org w index php title Nichtdeterminismus amp oldid 239262151