Technická univerzita v Liberci. Fakulta mechatroniky, informatiky a mezioborových studií. zápočtová práce z předmětu Gramatiky a automaty (MTI / GRA)

Podobné dokumenty
Složitost a moderní kryptografie

Třídy složitosti P a NP, NP-úplnost

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča

KRYPTOGRAFIE VER EJNE HO KLI Č E

Asymetrické šifry. Pavla Henzlová FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.

Kvantové algoritmy a bezpečnost. Václav Potoček

ElGamal, Diffie-Hellman

Komerční výrobky pro kvantovou kryptografii

Šifrová ochrana informací věk počítačů PS5-2

Kvantová informatika pro komunikace v budoucnosti

Kryptografie - Síla šifer

Šifrová ochrana informací věk počítačů PS5-2

Vztah teorie vyčíslitelnosti a teorie složitosti. IB102 Automaty, gramatiky a složitost, /31

Problematika převodu zprávy na body eliptické křivky

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21.

Čínská věta o zbytcích RSA

Asymetrická kryptografie

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Od Turingových strojů k P=NP

MFF UK Praha, 22. duben 2008

Jak funguje asymetrické šifrování?

Výroková a predikátová logika - II

Složitost Filip Hlásek

Výroková a predikátová logika - III

Kryptografie založená na problému diskrétního logaritmu

Intervalová data a výpočet některých statistik

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

Složitost her. Herní algoritmy. Otakar Trunda

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

Digitální učební materiál

Výroková a predikátová logika - II

Protokol RSA. Tvorba klíčů a provoz protokolu Bezpečnost a korektnost protokolu Jednoduché útoky na provoz RSA Další kryptosystémy

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Kvantová kryptografie

1. Matematická logika

Principy indukce a rekursivní algoritmy

Základy matematické analýzy

Formální Metody a Specifikace (LS 2011) Formální metody pro kyber-fyzikální systémy

Výroková logika - opakování

10. Techniky formální verifikace a validace

Diffieho-Hellmanův protokol ustanovení klíče

Složitost. Teoretická informatika Tomáš Foltýnek

Vzdálenost jednoznačnosti a absolutně

Základy teorie množin

5.6.3 Rekursivní indexace složitostních tříd Uniformní diagonalizace Konstrukce rekursivních indexací a aplikace uniformní diagonalizace

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

ALGORITMY A DATOVÉ STRUKTURY

Asymptotická složitost algoritmů

TGH12 - Problém za milion dolarů

Pokrytí šachovnice I

Základy kryptologie. Kamil Malinka Fakulta informačních technologií

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

Teoretická informatika Tomáš Foltýnek Algebra Struktury s jednou operací

Výroková a predikátová logika - III

SYSTÉMOVÁ METODOLOGIE (VII) Kybernetika. Ak. rok 2011/2012 vbp 1

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Správa přístupu PS3-2

Teorie pravěpodobnosti 1

Doba běhu daného algoritmu/programu. 1. Který fragment programu z následujících dvou proběhne rychleji?

Reálná čísla a výrazy. Početní operace s reálnými čísly. Složitější úlohy se závorkami. Slovní úlohy. Číselné výrazy. Výrazy a mnohočleny

11 VYPOČITATELNOST A VÝPOČTOVÁ SLOŽITOST

Úvod do informatiky. Miroslav Kolařík

Datové struktury 2: Rozptylovací tabulky

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Složitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Další partie teorie složitosti. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 30. května / 51

Diskrétní logaritmus

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

10. Složitost a výkon

Úvod RSA Aplikace, související témata RSA. Ing. Štěpán Sem Festival Fantazie, Štěpán Sem

Reálná čísla a výrazy. Početní operace s reálnými čísly. Složitější úlohy se závorkami. Slovní úlohy. Číselné výrazy. Výrazy a mnohočleny

Hashovací funkce. Andrew Kozlík KA MFF UK

9. Praktická verifikace

Základy algoritmizace

Středoškolská technika SCI-Lab

Matematika I. Přednášky: Mgr. Radek Výrut, Zkouška:

Institut teoretické informatiky (ITI) na FI MU

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC

Úvod do logiky (VL): 11. Ověřování, zda je formule tautologií metodou protipříkladu

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

Matematické důkazy Struktura matematiky a typy důkazů

Základy matematiky pro FEK

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc.

Kvantová kryptografie

Milí rodiče a prarodiče,

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

64. ročník matematické olympiády Řešení úloh krajského kola kategorie A

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra

Simulace (nejen) fyzikálních jevů na počítači

Transkript:

Technická univerzita v Liberci Fakulta mechatroniky, informatiky a mezioborových studií zápočtová práce z předmětu Gramatiky a automaty (MTI / GRA) Problém P versus NP Autor: David Salač Vyučující: doc. Václav Záda akademický rok 2015/2016

1 CO JE TO PROBLÉM P VERSUS NP 1 Abstrakt V době výpočetní techniky vyvstává zásadní otázka: jsme schopni každý problém řešit dostatečně efektivně pomocí dostupné výpočetní techniky? Problém tříd P a NP s touto otázkou úzce souvisí a přes veškeré dosavadní bádání není dosud zodpovězen. V této práci jsou uvedeny některé obecné záležitosti s problematikou spojené. Práce vychází ze článku "The Status of the P Versus NP Problem", autorem je Lance Fortnow [1]. Článek je psán spíše v popularizačním duchu, nežli jako vědecká práce. 1 Co je to problém P versus NP Formálně termín "efektivní algoritmus"definoval v roce 1965 Jack Edmonds. Je to takový algoritmus, který proběhne v čase odpovídajícímu polynomiální hodnotě vůči délce vstupu. Třída problémů u kterých existuje efektivní algoritmus k jejich řešení, je označena jako P (z "Polynomial Time"). Příklad: předpokládejme, že máme skupinu n studentů a potřebujeme je spárovat tak, aby mohli ve dvou společně pracovat na projektu. Máme samozřejmě informace o tom, jak jsou studenti vzájemně "kompatibilní". Pokud bychom zvolili metodu hrubé síly, již pro skupinu 40 studentů by prakticky nešlo najít na běžném počítači řešení problému. Efektivní algoritmus však existuje a jeho autorem je právě Jack Edmonds. Pro mnoho dalších problémů však žádný efektivní algoritmus doposud neexistuje a zdá se, že ani existovat nemůže. Například by stačilo výše uvedenou ukázku jednoduše upravit tak, že bychom nevytvářeli páry studentů, nýbrž trojce nebo větší skupiny. Dále bychom mohli studenty posadit do kruhu tak, aby každý student měl vedle sebe právě a jen kompatibilní studenty. Pro takovéto problémy zatím nebylo efektivní řešení nalezeno. Společným jmenovatelem uvedených problémů je, že pokud nám někdo předloží své řešení, jsme jej schopni velice efektivně ověřit. Tedy můžeme snadno rozhodnout o tom, jestli vyhovuje podmínkám či nikoli. Nejsme však schopni takové řešení efektivně nalézt. V této situaci mluvíme o problémech NP (z "Nondeterministic Polynomial-Time"). Pokud by platilo, že P = NP, tak by to znamenalo, že pro každý problém, u kterého jsme schopni efektivně validovat předložené řešení, jsme schopni i validní řešení efektivně nalézt. Pro některé problémy (například uvedený problém kompatibilních trojic, či kompatibilního kruhu studentů) zavádíme termín NP-úplné problémy. To jsou takové problémy, kde při nalezení efektivního algoritmu pro vyřešení

3 CO KDYŽ ROVNOST P = NP NEPLATÍ (P NP) 2 jednoho z nich, bychom mohli ostatní přeformulovat takovým způsobem, že by existoval efektivní algoritmus pro každý z nich. Již v sedmdesátých letech minulého století nalezli teoretičtí informatici stovky problémů spadajících do třídy NP-úplných (dnes je počet známých problémů ještě řádově vyšší). Nalezení efektivního algoritmu pro jeden z nich by implikovalo rovnost P = NP pro všechny NP-úplné problémy. Většina vědců se domnívá, že NP P. Snaha o důkaz této nerovnosti se brzy stala klíčovým problémem informatiky a matematiky. S růstem významu výpočetní techniky pro numerické řešení mnoha problémů hraje nejen ve výzkumu efektivita používaných algoritmů stále významnější roli. V roce 2000 zařadil Clayův matematický institut problém P versus NP do seznamu problémů tisíciletí a v případě úspěšného vyřešení (tj. důkazu rovnosti či nerovnosti) by na vítěze čekala odměna milion dolarů. 2 Co když platí rovnost P = NP Nejdříve je třeba upozornit, že samotný důkaz rovnosti nemusí technicky vzato znamenat, že budeme mít k dispozici efektivní algoritmus, který zvládne vyřešit NP-úplné problémy. Pokud však budeme takový algoritmus mít k dispozici, bude to mít řadu následků. Jako negativum lze uvést, že ztratí na významu využívat kryptografii s veřejným klíčem, neboť bude k dispozici efektivní cesta k jejímu prolomení. Protože na asymetrické kryptografii (s veřejným klíčem) stojí hlavní služby internetu (DNSKEY, veškeré certifikáty apod), znamenalo by to fakticky jeho konec v současné podobě. Pozitivum by jistě bylo, že by ke každému problému bylo možné nalézt efektivní algoritmus na jeho vyřešení. To by mělo zásadní vliv na rozvoj vědy, výzkumu a průmyslu. Podstatně by se například zlepšila přesnost meteorologických předpovědí, rapidně by se ulehčila možnost simulace fyzikálních jevů (včetně kvantových). Efektivní vyhodnocování experimentů provedených v CERN by mělo zásadní vliv na lidské poznání původu vesmíru... Na téma rovnosti P a NP dokonce bylo napsáno několik knih žánru sci-fi. 3 Co když rovnost P = NP neplatí (P NP) Doposud nebyl žádný pokus o důkaz nerovnosti úspěšný. Zde jsou prezentovány některé z neúspěšných pokusů o důkaz.

3 CO KDYŽ ROVNOST P = NP NEPLATÍ (P NP) 3 3.1 Diagonalizace Vychází s otázky, zdali jsme schopni sestavit NP jazyk L tak, že každý algoritmus pracující v polynomiálním čase selže při práci nad L pro nějaký vstup. Tato cesta se nazývá diagonalizace a její kořeny sahají až do 19 století. Již v roce 1874 dokázal George Cantor, že reálná čísla jsou nespočetná využítím techniky zvané diagonalizace. Pro každý spočetný seznam čísel nalezl reálné číslo, které na seznamu nebylo. Stejnou metodou dokázal Alan Turing, že pro problém zastavení (tj. rozhodnutí, zda při známém zdrojovém kódu a vstupu program zastaví nebo poběží navždy) neexistuje efektivní algoritmus. Tato metoda zaznamenala i další úspěchy na poli teorie složitosti. Při pokusu o důkaz nerovnosti P a NP za využití diagonalizace došlo k selhání. Problém tkví v tom, že nevíme, jak konkrétní NP stroj může simulovat libovolný P stroj. Dalším problémem je, že důkaz lze použít pouze za předpokladu, že všechny stroje budou mít přístup ke stejným dodatečným informacím Baker, Gill a Solovay dokázali, že takto při důkazu nelze postupovat. Dílčí úspěch byl dosáhnut, když bylo dokázáno, že NP-úplný problém splnitelnosti Booleovských formulí (SAT) nemůže mít algoritmus, který pracuje zároveň s malým množstvím paměti i procesorového času. Což však s důkazem P NP prakticky nesouvisí. 3.2 Složitost obvodu Další pokus o důkaz nerovnosti byl postaven na myšlence, že neexistje relativně malý obvod složení z logických hradel (AND, OR, NOT), kde by jejich počet polynomiálně kopíroval délku vstupu. V roce 1984 bylo ukázáno, že žádný malý obvod pro vyřešení problému s paritami (první příklad v tomto textu) neexistuje (pokud má fixní množství vrstev s hradly). O rok později byl naopak nalezen malý obvod pro vyřešení NP-úplného problému a postupně bylo ukázáno, že již samotná výchozí úvaha je chybná. 3.3 Důkaz komplexnosti Předpokládejme množinu tautologií, Booleovských formulí θ proměnných nad operacemi AND ( ), OR ( ) a NOT ( ) takových, že každá jejich kombinace je ve výsledku logická pravda. Například formule: (x y) ( x) ( y)

4 ŘEŠENÍ NP-ÚPLNÝCH PROBLÉMŮ 4 Pokud by tato formule nebyla tautologie, můžeme to snadno dokázat tak, že nalezneme možnost, pro kterou je celkový výraz nepravdivý. Pokud však je výraz skutečně tautologie, předpokládáme, že důkaz nebude krátký. Pokud by se podařilo dokázat, že neexistuje krátký důkaz toho, že konkrétní formule je tautologie, implikovalo by to nerovnost P NP. Pro důkaz nerovnosti P NP by bylo třeba dokázat, že tautologie nemůže mít jednoduchý důkaz v libovolném dokazovacím systému. Což zatím nebylo provedeno. 4 Řešení NP-úplných problémů Pro vyřešení NP-úplných problémů se v praxi využívají některé standardní postupy. Hrubá síla je obecně nejhorší postup, který však zaručeně vede k cíli. Spočívá ve vyzkoušení všech přípustných variant a tím i nalezení varianty vyhovující požadavkům. S postupným zlepšováním výkonových možností počítačů se také rozšiřují možnosti řešení problémů hrubou silou. V praxi se například pro řešení problémů obchodního cestujícího (nejpopulárnější NP-úplný problém) využívají algoritmy, které jsou schopny operovat až s 10000 body grafu. Problém obchodního cestujícího lze laicky formulovat jako: existuje n měst, mezi nimi cesty o známých délkách. Nalezněte nejkratší možnou trasu procházející všemi městy a vracející se nazpět do výchozího města. Podobně existuje relativně efektivní algoritmus řešící splnitelnost Booleovské formule (SAT solver), pokud je však zadaná ve normálovém tvaru. V praxi je možné operovat až se 100 proměnnými. Heuristika a průměrná kompexita. Standardně se při řešení NP-úplných problémů uvažuje nejhorší případ, který může nastat. V praxi však se však lze často potkat s problémy, které jsou na vyřešení podstatně jednodušší. Standardně se tedy výzkumníci snaží převést NP-úplné problémy na jednodušší tvar, který již jsou schopni řešit dostatečně efektivně. Problém průměrné komplexity hraje v informatice důležitou roli, především potom v kryptografii. Aproximace. Další používaný nástroj pro řešení NP-úplných problémů je aproximace. Kdy získáváme požadovaný výsledek s určitou mírou nejstoty, zato však podstatně rychleji. Například pro problém obchodního cestujícího existuje efektivní algoritmus zvaný Arora, který dokáže efektivně nalézt přibližné řešení. Využití pravděpodobnosti. Pokud předpokládáme, že máme problém, při kterém můžeme snadno ověřit, jestli jestli nalezené řešení správné či ni-

6 KVANTOVÉ POČÍTAČE 5 koli. Potom nic nebrání generování náhodných možností a jejich následné verifikaci. Příznačně se dá problém demonstrovat na rozhodnutí o splnitelnosti Booleovské formule. V tomto případě jsme při vyzkoušení dostatečného množství variant schopni s vyčíslitelnou pravděpodobností rozhodnout o tom, jestli se jedná o tautologii či nikoli. Tato metoda se hojně využívá při kryptoanalýze. 5 Odbočka ke kryptografii Jak již bylo výše zmíněno pro kryptografii je otázka P vs NP naprosto klíčová, především pak pro kryptografii s veřejným klíčem. Pro názornost je zde zmíněna konkrétní ukázka RSA. Vycházíme z toho, že Bob chce poslat Alici zprávu přes odposlouchávaný kanál. Zvolí si tedy dvě prvočísla p a q. Dále dopočte číslo n = pq a zvolí číslo e. Dvojce (e, n) představuje veřejný klíč. Šifrování zprávy probíhá dle rovnice: c = m e mod n kde c je zašifrovaná zpráva a m zpráva jako taková. Je zřejmé, že útočník může volit dvě možnosti prolomení šifry. První je řešení diskrétního logaritmu (v podstatě uvažuje všechny možné m a kontroluje výstup). Druhá možnost je faktorizace n (rozklad na prvočísla) a dopočtení d... Dodnes nebylo dokázáno, že problém faktorizace čísel či diskrétního logaritmu je NP-úplný. Nelze tedy vyloučit, že se podaří nalézt efektivní algoritmus k faktorizaci čísel. To však nemění nic natom, že pokud by platila rovnost P = NP, byl by celý algoritmus v praxi nepoužitelný (neboť problém diskrétního logaritmu či faktorizace čísel je nejhůře NP-úplný). 6 Kvantové počítače Při diskuzi na téma P vs NP se je dobré zmínit o možnostech kvantových počítačů. V devadesátých letech byl nalezen Peterem Shorem efektivní algoritmus pro faktorizaci čísel a řešení diskrétního logaritmu pro hypotetický kvantový počítač. V této souvislosti však není jasné, jestli jsou zmíněné problémy NP-úplné a tedy nelze ani rozhodnout o tom, zdali bude existovat univerzální efektivní algoritmus pro řešení NP-úplných problémů na kvantovém počítači. Shorův algoritmus se opírá o algebraickou strukturu čísel, která je dosti specifická. Pro obecné NP-úplné problémy byl nalezen algoritmus pro kvantový počítač, který zrychlí jejich řešení kvadraticky. Žádný další pokrok však dosud nebyl zaznamenán.

REFERENCE 6 V neposlední řadě je kvantový počítač s dostatečným výkonem stále spíše hypotetická záležitost a to i přes miliardy dolarů vynaložené na jejich vývoj. Reference [1] FORTNOW, Lance. The Status of the P Versus NP Problem. Communications of the ACM, [online]. 2009(52): 78-86 [cit. 2015-12-31]. DOI: 10.1145/1562164.1562186. Dostupné z: http://cacm.acm.org/magazines/2009/9/38904-the-status-of-the-pversus-np-problem/