AuK/P-NP-Problem SS09

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

==Overview==
TODO Marcel Schiwarth
- Intro 
- Übersicht von Problemklassen

==Klasse P==

 '''Definition:'''
 '''P''' ist die Klasse aller Probleme, die mit deterministischen Algorithmen in polynomialer Zeit gelöst werden können.

==Klasse NP==

 '''Definition:'''
 Die Klasse der '''NP'''-Probleme ist die Menge aller Probleme, die '''n'''ichtdeterministisch in '''P'''olynomzeit gelöst werden können.

==='''NP-Vollständigkeit'''===

====Polynomiale Reduktion====

 '''Definition:'''
 Seien ''A'' und ''B'' Sprachen (Probleme) mit <math> A \subseteq \sum\nolimits_{1}^* </math> und <math> B \subseteq \sum\nolimits_{2}^* </math>. Dann heißt A ''polynomial reduzierbar auf B, geschrieben: <math> A \leq\nolimits_{p} B </math>, wenn es
 eine totale und mit polynomialer Komplexität berechenbare Funktion <math> f' : \sum\nolimits_{1}^*  \rightarrow \sum\nolimits_{2}^* </math> gibt, sodass für alle <math> x \in \sum\nolimits_{1}^* </math> gilt: <math> x \in A  \Leftrightarrow f'(x) \in B </math>.

====NP-schwere Probleme====

 '''Definition:'''
 Ein Problem (eine Sprache) A heißt '''''NP'''-schwer'', wenn für alle Probleme (Sprachen) <math> L \in </math> '''NP''' gilt: <math> L  \leq\nolimits_{p}^ A </math>.

====NP-vollständige Probleme====

 '''Definition:'''
 A heißt '''''NP'''-vollständig'', wenn A '''NP'''-schwer ist und A <math> \in </math> '''NP''' gilt. 
==Klasse NCP==

==Beispiele==
Sat, 3Sat, CliquenProblem
==Anwendungen==
Kryptographie
-RSA