P-NP: ant sveiko proto svarstyklių
Indų kilmės Vinay Deolalikaras, dirbantis Hewlett-Packard laboratorijose Kalifornijoje (JAV), teigia, kad išsprendė P ir NP klasių tapatumo problemą, kuri yra viena 7-ių Tūkstantmečio problemų, už kurių išsprendimą Clay matematikos institutas skyrė po milijoną dolerių. Iš jų kol kas išspręsta tik viena Puankarė teiginys iš topologijos srities, kurį įrodė Grigorijus Perelmanas (beje, atsisakęs premijos).
P ir NP klasių tapatumo klausimas yra vienas svarbiausių kompiuterijos moksle. Jis labai svarbus kriptografijai, kuri iki šiol remiasi neįrodytomis prielaidomis, kurių viena yra kad P¹NP.
Vinay Deolalikaras savo įrodymą pateikė išsamiu rankraščiu, kurį galima perskaityti čia. Anot jo įrodinėjimo, P ir NP klasės nėra lygios. Jei įrodymas teisingas, tai reikštų, kad uždavinio sprendinio teisingumo nustatymas nėra tas pat kaip to sprendinio suradimas.
Visada yra vienas būdas, kaip kompiuteris gali išspręsti uždavinį tiesiog išbandydamas visas įmanomas kombinacijas. Tačiau, pavyzdžiui, jei bandote nulaužti užšifruotą informaciją, tai gali trukti nepaprastai ilgai. P ir NP problemos klausimo esmė ar galima automatizuoti kūrybiškumą? Vinay Deolalikaras įrodymas teigtų, kad negalima.
Kaip pagrindinį pavyzdį ir idėją, Deolalikaro įrodyme panaudojamas bulinio užtikrintumo uždavinys (k-SAT). Šio tipo uždaviniai nagrinėja loginę išraišką, susidedančią tik iš ir, arba bei ne operatorių, kintamųjų ir skliaustų, bandant nustatyti, ar gali kintamieji įgauti tokias taip ir ne reikšmes, kad išraiškos reikšmė būtų taip.
Įrodymas bando k-SAT uždavinį perteikti kaip užklausas grafinėse struktūrose. Panaudojama geometrinė FO (LPF) logikos interpretacija, užgriebianti visas per polinominį laiką paskaičiuojamas užklausas. Jei k reikšmė yra pakankamai didelė, tada sprendinio erdvė tampa milžiniška ir eksponentinis sprendinių skaičius bus generuojamas per LFP konstrukciją. Tai aiškiai parodo, kad LPF negali išreikšti užtikrintumo užklausos ... ir atskiria P nuo NP.
1971-aisiais Stephen Cook, jaunas Toronto un-to profesorius dar neapsiplunksnavusio kompiuterių mokslo srityje iškėlė šį klausimą. Nuo tada buvo pateikta vos saujelė galimų sprendimų, kurių visi greitai buvo paneigti. Tad S. Cook labai džiaugiasi Vinay Deolalikaro bandymu. Tačiau gilinantis į jo įrodinėjimą, galvą ėmė kaišioti trūkumai. Vinay Deolalikaras pateikė pataisytą įrodymo versiją, tačiau išliko nepataisomos konceptualaus lygio problemos.
Matematikai įtaria, kad Vinay Deolalikaro įrodymas gali nepraeiti labai paprasto sveiko proto testo, kurio esmė užtikrinti, kad jis matematinis įrodymas įrodo tik tuos dalykus, apie kuriuos žinome, kad jie teisingi. Jis neturėtų kartu įrodinėti dalykų, apie kuriuos žinome, kad jie neteisingi. Jei Vinay Deolalikaras negalės parodyti, kad jo įrodymas tenkina sveiko proto testą, tai tebus riebi antis.
P ir NP klasių tapatumas
Iš 7-ių Tūkstantmečio premijos problemų kol kas išspręsta tik Poincarė teorema. Dabar aprašysime dar vieną iš tų problemų.
P ir NP lygybės klausimas algoritmų teorijoje jau 30 m. yra viena pagrindinių neišspręstų problemų. Teigiamo atsakymo atveju tai reikštų, kad teoriškai įmanoma gerokai greičiau išspręsti daugelį sudėtingų uždavinių. Dabar sudėtingiausius NP uždavinius įmanoma išspręsti tik per eksponentinį laiką, kas nelabai priimtina. P ir NP klasių santykį nagrinėja skaičiavimo sudėtingumo teorija, kuri nagrinėja resursus, būtinus
uždavinio sprendimui. Bendriausi resursai tai laikas (reikalingų atlikti veiksmų kiekis) bei atmintis.
Palyginkime n2 (polinominio, P) ir 2n (eksponentinio, NP) sudėtingumo algoritmus. Padidinus duomenų kiekį dvigubai, P algoritmo trukmė padidėja 4 k. Tuo tarpu NP algoritmo trukmė padidėja 4 k. pridėjus tik 2 duomenų elementus.
Imame NP (angl. nondeterministic polynomial time) uždavinių klasę. Šiems uždaviniams nežinome polinominio sudėtingumo sprendimo algoritmų, tačiau atlikę O (nk) veiksmų, galime patikrinti, ar duotasis objektas yra uždavinio sprendinys.
P NP, bet ar P=NP?Kitaip tariant, jei per trumpą (polinominį) laiką galima patikrinti kokį nors konkretų atsakymą, tai ar reiškia, kad greitai (per polinominį laiką ir naudojant polinominę atmintį) galima rasti sprendimą?
Pavyzdžiui, ar tiesa, kad tarp skaičių {-2, -3, 15, 14, 7, -10,...} yra tokių, kurių suma lygi 0 (uždavinys apie poaibių sumas)? Atsakymas teigiamas, nes nesunku surasti, kad -2-3+15-10=0 (informacija, būtina teigiamo atsakymo patikrinimui, vadinama sertifikatu). Ar iš čia seka, kad taip pat lengvai bus parinkti šitie skaičiai? Ar patikrinti sertifikatą ir jį rasti yra tas pats sunkumas? Atrodytų, kad parinkti skaičius yra sunkiau.
P klasės pavyzdžiai:
- Ar žemėlapyje galima nuspalvinti šalis raudonai, žaliai ir mėlynai taip, kad jokios gretimos nebūtų tos pačios spalvos?
- Ar pateiktas dėžių kiekis tilps į sunkvežimį?
- Ar žinant atstumus tarp miestų, galima juos visus apvažiuoti apsilankant tik kartą, nuvažiuojant ne daugiau 5000 km?
Pirmąkart klausimą apie skaičiavimo sudėtingumą iškėlė K. Giodelis 1956 m. laiške Dž. fon Neimanui, kuriame klausė, ar gali uždavinys (kuris, kaip dabar žinoma, yra NP-pilnas) būti išspręstas per kvadratinį ar tiesinį laiką. Kartu Giodelis spėjo, kad jei sprendimas egzistuoja, tai leistų kompiuterio pagalba išspręsti nemažai matematinių problemų.
O klausimą apie P ir NP klasių lygybę pirmąkart iškėlė S. Kukas (1971) ir nepriklausomai nuo jo Levinas (1973). Šiuo metu dauguma matematikų mano, kad tos klasės nėra lygios. Vinay Deolalikaras teigia tai įrodęs.
S. Aaronsonas, kartu su 2021 m. Abelio premijos laureatu Avi Wigdersonu, 2009-ais paskelbė straipsnį, kuriame nurodė naują kliūtį P klasė nėra ta pati kaip NP klasė (tai jau trečioji atrasta kliūtis).
Problema atspindėta ir populiarioje kultūroje:
T. Lanzone intelektualusis trileris Keliaujantis pardavėjas yra apie 4-is matematikus, sprendžiančius P-NP problemą; Simpsonų 7-o sezono Siaubo namelis medyje (1995) episode trumpai šmėkšteli P=NP formulė (žr. >>>>); Serialo Elementaru 2 sezono 2-me episode Rasti X Šerlokas ir Vatsonas tiria matematikų, bandžiusių išspręsti P-NP problemą, nužudymą.
Algoritmų sudėtingumas
Polinominio sudėtingumo uždaviniai
Paimkime dviejų matricų sandaugą
C=AB
kuri skaičiuojama taip: cij = SUM(aik bkj), k kintant nuo 1 iki n, kiekvienam i ir j tarp 1 ir n.Taip viso atliekama n3 daugybos ir n2(n-1) sudėties operacijų, o bendrai - 2 n3-n2 aritmetinių veiksmų.
O ar galima dvi matricas sudauginti greičiau? O taip! Panaudojus Štraseno algoritmą, atliekama O(nlog 7) veiksmų.
Uždaviniai, kurių sprendimui žinome polinominio sudėtingumo [ O(np ] algoritmus, yra išsprendžiami net tada, kai n >> 1 (aišku, kai p nėra labai didelis skaičius):
- tiesinės algebros uždaviniai;
- tikrinių reikšmių paieška;
- matematinės fizikos užduotys;
- kiti...
Nepolinominio sudėtingumo uždaviniai
Imkim n skirtingų objektų (a1, a2, ... an).
Reikia sugeneruoti visus skirtingus jų dėstinius (kėlinius): Pn = {( a1, a2, ... an)}Skirtingų kėlinių yra n!, todėl net efektyviausių algoritmų sudėtingumas O(n!).
Pagal Stirlingo formulę įvertiname: n! = sqrt(2 pi n) (n/e)nTada kėlinių Pn generavimo laikai (apytiksliai):
T(11) = 0.28 (s); T(12) = 3.4 (s); ...
T(17) = 29.5 (d); T(18) = 532 (d); ...
O T(20) jau 553 metai (!)O jei panaudosime lygiagrečiuosius algoritmus? Su 2056 procesoriais T(20) būtų apie 3 mėn., tačiau P21 sugaištume ilgiau nei 5 m.
NP sudėtingumo uždaviniai
Palyginkime n2 ir 2n sudėtingumo algoritmus.
Padidinus duomenų skaičių dvigubai, polinominio sudėtingumo algoritmų veikimo trukmė padidėja keturgubai.
Eksponentinio sudėtingumo algoritmų veikimo trukmė padidėja du kartus pridėjus vos vieną vienintelį duomenį.NP (angl. nondeterministic polynomial time) uždavinių klasė tokia, kuriai nežinome polinominio sudėtingumo sprendimo algoritmų, tačiau atlikę O(nk) veiksmų, galime patikrinti, ar duotasis objektas yra uždavinio sprendinys.
Aišku, kad P < NP, tačiau ar P <> NP?
Ši problema yra ir tūkstantmečio problemų sąraše (iš kurio teįrodytas tik Puankarė teiginys); apie ją daugiau žr. >>>>
Papildomai skaitykite:
Jų begalinė išmintis
Tūkstantmečio problemos
Žmonės prieš kompiuterius
Žaidimų teorijos panaudojimas
Iniciatyva: Matematikos keliu
Amerikai matematika nereikalinga!
Šriodingerio katinų dresiravimas: kvantiniai kompiuteriai
Netiesinis mąstymas: išspręsti neišsprendžiamą
Simpsonų trauka ir žaidimas skaičiais
Intuityvus Hafmano kodo paaiškinimas
Matematikos ir fizikos šmaikštumai
A. Puankarė. Mokslas ir hipotezė
P. Fejerabendas prieš mokslą
Kur viešpatauja chaosas?
Meilės sinusoidė
Matroidai
Lankytojų komentarai / pastabos
Mums pastabas, kurias pateikiame žemiau, 2012 m. gegužės 1 d. atsiuntė Žilvinas. Tai mus paskatino įvesti šiame straipsnelyje atsiliepimų skyrelį, kuriame jūs galite diskutuoti, pateikti savo pastabas, papildyti šią temą...
Žilvino žinutė:
Skyrelyje: P ir NP klasių tapatumas
Klaida fragmente:
Palyginkime n^2 (polinominio, P) ir 2^n (eksponentinio, NP) sudėtingumo algoritmus. Padidinus duomenų kiekį dvigubai, P algoritmo trukmė padidėja 4 k. Tuo tarpu NP algoritmo trukmė padidėja 4 k. pridėjus tik 2 duomenų elementus.
Taisymas: Pirmiausia iš pradžių kalbama apie dvigubą pradinių duomenų padidinimą (2*n), vėliau apie padidinimą dviem elementais (n+2), jeigu pradiniai duomenys yra didinami dvigubai, tai P algoritmo trukmė padidėja 4 kartus, o NP algoritmo 2^n kartų (ne 4 k). Jeigu kalbama apie pradinių duomenų padidinimą dviem elementais, tai P algoritmo veikimo laikas padidėja (n^2 + 4*n + 4)/(n^2) k (kuo didesnis n tuo algoritmo veikimo laikas labiau priklauso nuo n^2 atliekų operacijų, kas sąlyginai yra nedaug). Tuo tarpu NP (2^n) padidinus dviem elementais laikas padidėja (2^(n + 2))/(2^n) k => 4 k (kas reiškia, kad su kiekvienu n padidėjimu laikas padidėja dvigubai). Kaip pavyzdį galima pasirinkti konkrečią situaciją:
tarkime turite NP algoritmą, kuris su n = 1 darbą atlieka per 2s, tačiau jeigu n pasirinksite 1000, algoritmo veikimo laikas padidės 2s*2^1000 >= 10^300 s kas yra apytiksliai 10^292 metų. Jeigu būtų įrodyta, kad P = NP tai reikštų, kad galima nulaužti visas dabartines bankų saugumo sistemas, nes jos remiasi tuo, kad žinant savo slaptažodį ir login patikrinti ar jis teisingas užtrunka tiek kiek trunka įvykdyti P klasės algoritmą (sąlyginai trumpai), tačiau nori atspėti slaptažodį reikia vykdyti NP kalsės algoritmą ir išmėginti visus įmanomus variantus, kas iš pavyzdžio tampa aišku, kad užimtų didžiulius kiekius laiko.
Tikiuosi pavyzdys padėjo suprast P ir NP tapatumo problemą. :)Papildomai skaitykite: Tiuringas liūdno likimo genijus
Ar jau rūksta dūmai? Navier Stokes lygtys
Paradoksai sulig dirbtiniu intelektu
Kviečiame bendrauti!
Lankytojų žinutės
Doctor Haris Lacan 2020 m. kovo 10 d., antradienis, 14:26:10
Jeigu ant sveiko proto ribu ;))
tai materija=25 25= mintis ;))o mintis, ir samone...
=projekcija? tai nesakiau, jog uz isivaizdavimo ribu...
irgi nieko nera?. yra samone, kuria suprojektavo...
Samones__filosofija!!!!!!!!!!.DrHarisLacan 2018 m. rugsėjo 7 d., penktadienis, 21:41:10
Isivaizdavimas priklauso, tik nuo manes.
;]]]]]]].DrHarisLacan 2018 m. rugpjūčio 17 d., penktadienis, 18:51:28
Dar yra isivaizdavimas, ir realybe, kurie yra simuliuojamos realybes santykyje..........., Jeigu isnyktu ribos]. to nera. to neisivaizduojame, ir to nematome;) tada x-5+12r= ? spindulys nusitestu, iki naujos matricos!.
sisteminamas, ir determinuojamas matematines, ir simbolines kalbos analogiskumas, ir materialistiniaj sinusaj., dar.. tekme pasiskyrsto abstrakcioje terpej[..........., jeigu nebutu kazko'''''''''''? ar neisnyktu ensteino realybe?.DrHarisLacan 2018 m. rugpjūčio 3 d., penktadienis, 22:58:39
Jeigu nezinote, ar nemastote, ar tiesiog negalite isivaizduoti.........., visa santyki peremu materialiaj, ir determinuoju..........,Dr Haris Lacan 2018 m. liepos 15 d., sekmadienis, 08:22:06
Gatvėmis vaikšto ateities vaikai jie skaito mano mintis.
Aš nemoku gražiai kalbėti, jų akys viską tau pasakys.
Juk mano žodžiai lyg peiliai į širdį, o meilė saldi kaip mirtis.
Jei tu netiki, pažvelk, pažvelk į jų akis.
HarisLacan 2017 m. gruodžio 18 d., pirmadienis, 13:12:41
tai surrealizmas irgi iveina, i fraktalo ir fibonacci skaiciu sekos grafikus, ar ne?:).