Zur Haupt­na­vi­ga­ti­on sprin­gen [Alt]+[0] Zum Sei­ten­in­halt sprin­gen [Alt]+[1]

P=NP? Oder die Frage da­nach, wie schwie­rig Pro­ble­me sind

Ganz nach dem Motto: „Ich kenne die Lö­sung nicht, aber ich be­wun­de­re das Pro­blem!“ ist man in der In­for­ma­tik häu­fig nicht in der Lage, prak­ti­ka­ble Lö­sun­gen von Pro­ble­men zu prä­sen­tie­ren und ver­sucht daher diese „schwie­ri­gen“ Pro­ble­me in Kom­ple­xi­täts­klas­sen zu ka­te­go­ri­sie­ren. Man un­ter­schei­det daher Pro­ble­me, die zur Lö­sung einen Al­go­rith­mus mit po­ly­no­mi­el­ler Lauf­zeit be­sit­zen und Pro­ble­me, die zur Lö­sung ver­mut­lich nur Al­go­rith­men mit ex­po­nen­ti­el­ler Lauf­zeit be­sit­zen.

Als Ge­dan­ken­mo­dell hat man au­ßer­dem nicht­de­ter­mi­nis­ti­sche Al­go­rith­men ein­ge­führt. Ein nicht­de­ter­mi­nis­ti­scher Al­go­rith­mus könn­te beim Back­tracking alle Ent­schei­dungs­mög­lich­keit für eine Ent­schei­dung gleich­zei­tig wäh­len und mit allen Va­ri­an­ten gleich­zei­tig die nächs­ten Ent­schei­dungs­schrit­te durch­füh­ren. Dann wären Back­tracking-Al­go­rith­men schnell fer­tig, da sie bei n Kno­ten/Kan­ten nur n Schrit­te be­nö­ti­gen. Sie tes­ten ja alle Va­ri­an­ten gleich­zei­tig. Mit nor­ma­len Com­pu­tern ist dies na­tür­lich un­mög­lich, bei Quan­ten­com­pu­tern aber durch­aus denk­bar. Alle Pro­ble­me, zu denen ein de­ter­mi­nis­ti­scher Al­go­rith­mus mit poly­no­mi­el­ler Lauf­zeit be­kannt ist, fasst man unter der Klas­se P zu­sam­men, alle, zu denen ein nicht­de­ter­mi­nis­ti­scher, poly­no­mi­el­ler Al­go­rith­mus be­kannt ist, unter NP. Cha­rak­te­ris­tisch für diese Pro­ble­me ist auch, dass eine Ent­schei­dungs­va­ri­an­te in po­ly­no­mi­el­ler Zeit mit einem nor­ma­len Com­pu­ter dar­auf über­prüft wer­den kann, ob sie eine Lö­sung des Pro­blems dar­stellt.

Es ist bis­her aber nicht be­wie­sen, dass es kei­nen Al­go­rith­mus für ein Pro­blem aus NP geben kann, der de­ter­mi­nis­tisch in po­ly­no­mi­el­ler Lauf­zeit durch­führ­bar ist. Dies wird als das P=NP- Pro­blem be­zeich­net und ist eines der un­ge­lös­ten Rät­sel der In­for­ma­tik. Es wurde vom Clay Ma­the­ma­tics In­sti­tu­te in die Liste der Mill­en­ni­um-Pro­ble­me auf­ge­nom­men.

An einer Ant­wort auf diese Frage ist man aber sehr in­ter­es­siert. Man kann zei­gen, dass ein Al­go­rith­mus, der ein Pro­blem aus NP löst, oft auch an­de­re Pro­ble­me aus NP lösen würde, wenn man sie ent­spre­chend um­wan­delt. Man sagt, dass diese Pro­ble­me auf das Ur­sprungs­pro­blem re­du­ziert wer­den kön­nen. Ist diese Um­wand­lung in po­ly­no­mi­el­ler Zeit mög­lich, hat mit einer Lö­sung für das Ur­sprungs­pro­blem au­to­ma­tisch auch eine Lö­sung in Po­ly­no­mi­al­zeit für das an­de­re Pro­blem ge­fun­den. Sol­che Um­wand­lun­gen sind für viele Pro­ble­me be­kannt. Es würde also ein ein­zi­ger ef­fi­zi­en­ter Lö­sungs­al­go­rith­mus rei­chen und man hätte für alle diese schwe­ren Pro­ble­me eine ef­fi­zi­en­te Lö­sung.

Das Ur­sprungs­pro­blem wird NP-schwer ge­nannt, wenn alle Pro­ble­me aus NP dar­auf in Po­ly­no­mi­al­zeit re­du­ziert wer­den kön­nen. Stammt das Pro­blem selbst noch aus NP (es gibt auch noch schwe­re­re Pro­ble­me) dann heißt es NP-voll­stän­dig. Schon „An­fang der 1970er Jahre zeig­ten Ste­phen A. Cook und Leo­nid Levin un­ab­hän­gig von­ein­an­der, dass es in NP tat­säch­lich ein der­ar­ti­ges Pro­blem gibt, auf das alle an­de­ren Pro­ble­me in NP in Po­ly­no­mi­al­zeit re­du­ziert wer­den kön­nen: das Er­füll­bar­keits­pro­blem der Aus­sa­gen­lo­gik (SAT, von eng­lisch sa­tis­fia­bi­li­ty)12. Das Pro­blem SAT ist also ein "schwers­tes" Pro­blem in NP (Satz von Cook), da eine po­ly­no­mi­el­le Lö­sung von SAT alle an­de­ren Pro­ble­me aus NP in po­ly­no­mi­el­ler Zeit lösen würde. Es ist al­ler­dings nicht das [ein­zi­ge] schwers­te Pro­blem, denn Ri­chard M. Karp zeig­te, dass es in NP Pro­ble­me gibt, auf die SAT re­du­ziert wer­den kann, die also ge­nau­so schwer sind wie SAT“13.

Im Un­ter­richt bie­ten sich mit dem Ko­lo­rie­rungs­pro­blem, dem Fin­den eines Ha­mil­ton­krei­ses und der Suche nach einer mög­lichst klei­nen do­mi­nie­ren­den Menge leicht ver­ständ­li­che NP- voll­stän­di­ge Pro­ble­me aus dem Be­reich der Gra­phen­al­go­rith­men an.14

Ein sehr gut les­ba­rer Wi­ki­pe­dia-Ar­ti­kel, der die Kom­ple­xi­täts­klas­sen P und NP de­fi­niert und die Frage nach deren Gleich­heit er­ör­tert, fin­den Sie hier: https://​de.​wi­ki­pe­dia.​org/​wiki/​P-​NP-​Pro­blem.

 

13 SAT: Ge­ge­ben ist eine aus­sa­gen­lo­gi­sche For­mel F. Ge­sucht ist eine Be­le­gung der Va­ria­blen von F mit den Wer­ten wahr oder falsch, so­dass F zu wahr aus­ge­wer­tet wird.

14 Ar­ti­kel NP-Schwe­re in Wi­ki­pe­dia, Die freie En­zy­klo­pä­die. URL: https://​de.​wi­ki­pe­dia.​org/​wiki/​NP-​Schwe­re (Stand 03.10.2021), ver­glei­che auch: https://​en.​wi­ki­pe­dia.​org/​wiki/​List_​of_​NP-​com­ple­te_​pro­blems

 

Hin­ter­grund­in­for­ma­tio­nen: Her­un­ter­la­den [odt][990 KB]

 

Wei­ter zu Ap­pro­xi­ma­ti­ons­al­go­rith­men