Upload
vocong
View
220
Download
0
Embed Size (px)
Citation preview
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
JewrÐa UpologismoÔUpologistik Poluplokìthta
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 1 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
AnakefalaÐwsh• Kanonikèc gl¸ssec
� paragwg : kanonikèc ekfr�seic� anagn¸rish: peperasmèna autìmata
• Gl¸ssec qwrÐc sumfrazìmena� paragwg : grammatikèc qwrÐc sumfrazìmena� anagn¸rish: autìmata stoÐbac
• Anadromikèc gl¸ssec� anagn¸rish: mhqanèc apìfashc Turing
• Anadromikèc sunart seic� upologismìc: mhqanèc Turing grammatikèc
• Anadromik� aparijm simec gl¸ssec� paragwg : grammatikèc qwrÐc periorismoÔc� anagn¸rish: mhqanèc hmiapìfashc Turing
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 2 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Probl mata
• KathgorÐec problhm�twn
� epilÔsima probl mata� mh epilÔsima probl mata
• EpilÔsima probl mata
� praktik� efiktoÐ algìrijmoi� mh praktik� efiktoÐ algìrijmoi
• Apìdosh algorÐjmwn
� upologistik poluplokìthta� posotikopoÐhsh thc jèshc twn Church kai Turing
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 3 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Par�deigma: Mhqanèc Antigraf c
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 4 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
S mera• Upologistik poluplokìthta
� qronik poluplokìthta� rujmìc aÔxhshc� kl�seic isodunamÐac O
• H kl�sh P� poluwnumik poluplokìthta� orismìc thc kl�shc P� idiìthtec thc kl�shc P
• Probl mata� apìfashc� beltistopoÐhshc
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 5 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Algìrijmoi kai Poluplokìthta• Algìrijmoc
� leptomer c kai saf c akoloujÐa stoiqeiwd¸n bhm�twn� dèqetai k�poia eÐsodo pou kwdikopoieÐ èna prìblhma� par�gei k�poio apotèlesma pou dÐnei lÔsh sto prìblhma
• Upologistik poluplokìthta� qronik poluplokìthta (time complexity) � taqÔthta� qwrik poluplokìthta (space complexity) � mn mh
• EktÐmhsh apìdoshc� peiramatik an�lush me upojetik� pragmatik� dedomèna� majhmatik an�lush gia ektÐmhsh qronik c poluplokìthtac� majhmatik an�lush gia ektÐmhsh qwrik c poluplokìthtac
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 6 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Qronik Poluplokìthta
• Diaisjhtik�
� o arijmìc twn bhm�twn (basik¸n entol¸n) tou algorÐjmou� ekfr�zetai wc sun�rthsh tou megèjouc thc eisìdou� k�je basik entol ekteleÐtai se stajerì qrìno� basikèc entolèc: anajèseic, sugkrÐseic, pr�xeic, ...
• Majhmatik�
� sun�rthsh T : N 7→ N
� n, to mègejoc thc anapar�stashc thc eisìdou� T (n), o arijmìc twn bhm�twn tou algorÐjmou� sun jwc exet�zoume th qeirìterh perÐptwsh (worst-case)
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 7 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Mègejoc thc Eisìdou
• Taxinìmhsh
� to m koc thc lÐstac twn stoiqeÐwn proc taxinìmhsh
• Pollaplasiasmìc duadik¸n arijm¸n
� to m koc thc duadik c touc anapar�stashc
• EÔresh monopatioÔ se gr�fo
� o arijmìc twn kìmbwn kai twn akm¸n tou gr�fou
• Suntaktik an�lush
� m koc sumboloseir�c eisìdou� mègejoc anapar�stashc grammatik c qwrÐc sumfrazìmena
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 8 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Par�deigma• Algìrijmoc
� function Summation(sequence) returns integer
local sequence: array of integers, sum: integer
sum ← 0
for i ← 1 to Length(sequence) do
sum ← sum + sequence[i]
end
return sum
• Mègejoc eisìdou� n, to m koc thc akoloujÐac
• Qronik poluplokìthta� T (n) = 4n + 2
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 9 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Par�deigma• Algìrijmoc
� function Find 13(sequence) returns integerlocal sequence: array of integers, pos: integerpos ← 1while sequence[pos] 6= 13 and pos ≤ Length(sequence) do
pos ← pos + 1end
if pos ≤ Length(sequence) then return pos else return 0
• Mègejoc eisìdou� n, to m koc thc akoloujÐac
• Qronik poluplokìthta� T (n) = 6n + 4
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 10 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Asumptwtik Sumperifor�• Sunart seic
� f(n) = 1.000.000 · n� g(n) = 10 · n3
� h(n) = 2n
• Poia sun�rthsh eÐnai megalÔterh?� mikr� n: h(n) < g(n) < f(n)
� meg�la n: f(n) < g(n) < h(n)
• Asumptwtik sumperifor� (n →∞)� kaj¸c n →∞, k�poioc ìroc wc proc n kuriarqeÐ� sthn T (n) = 3n2 + 5n + 2, o kurÐarqoc ìroc eÐnai o n2
� sthn T (n) = 3n + 1000n5 + 105, o kurÐarqoc ìroc eÐnai o 3n
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 11 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
O Sumbolismìc O(·) (Big-O Notation)
• T�xh (order) sun�rthshc� èstw sun�rthsh f : N 7→ N, tìte h t�xh O(f) thc f eÐnai:
O(f) ={
g : N 7→ N : ∃c > 0, d > 0,∀n ∈ N, g(n) ≤ cf(n) + d}
• Sqèsh isodunamÐac ³� f ³ g ⇐⇒ f ∈ O(g) kai g ∈ O(f)
� h ³ eÐnai sqèsh isodunamÐac� diamèrish twn sunart sewn f : N 7→ N se kl�seic isodunamÐac
• Rujmìc aÔxhshc (rate of growth) sun�rthshc� h kl�sh isodunamÐac miac sun�rthshc f wc proc th sqèsh ³� dhl¸netai wc O(·) me thn aploÔsterh sun�rthsh thc kl�shc
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 12 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Poluwnumikìc Rujmìc AÔxhshc• f(n) = 31n2 + 17n + 3
� f ∈ O(n2), epeid f(n) ≤ 48n2 + 3
� n2 ∈ O(f(n)), epeid n2 ≤ f(n) + 0
� 31n2 + 17n + 3 ³ n2 =⇒ 31n2 + 17n + 3 ∈ O(n2)
• Polu¸numa� f(n) = adn
d + ad−1nd−1 + · · ·+ a1n + a0, me ai ≥ 0, ad > 0
� f ³ nd =⇒ f ∈ O(nd)
• Prìtash� Ta polu¸numa Ðdiou bajmoÔ èqoun ton Ðdio rujmì aÔxhshc.� An to polu¸numo g èqei megalÔtero bajmì apì to f , tìte o
rujmìc aÔxhshc tou g eÐnai megalÔteroc apì autìn tou f .
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 13 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Ekjetikìc Rujmìc AÔxhshc
• f(n) = 3 · 2n + 31n2 + 3
� f 6∈ O(n2)
� f ∈ O(2n) kai 2n ∈ O(f(n))
� 3 · 2n + 31n2 + 3 ³ 2n =⇒ 3 · 2n + 31n2 + 3 ∈ O(2n)
• Prìtash
� Oi ekjetikèc sunart seic èqoun megalÔtero rujmì aÔxhshcapì k�je poluwnumik sun�rthsh.
• Parat rhsh
� oi nn, n!, 2n2, 22n èqoun akìma megalÔtero rujmì aÔxhshc
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 14 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Par�deigma• Algìrijmoc
� function Summation(sequence) returns integer
local sequence: array of integers, sum: integer
sum ← 0
for i ← 1 to Length(sequence) do
sum ← sum + sequence[i]
end
return sum
• Mègejoc eisìdou� n, to m koc thc akoloujÐac
• Qronik poluplokìthta� T (n) = 4n + 2 =⇒ T (n) ∈ O(n) � grammik
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 15 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Par�deigma• Algìrijmoc
� function Find 13(sequence) returns integerlocal sequence: array of integers, pos: integerpos ← 1while sequence[pos] 6= 13 and pos ≤ Length(sequence) do
pos ← pos + 1end
if pos ≤ Length(sequence) then return pos else return 0
• Mègejoc eisìdou� n, to m koc thc akoloujÐac
• Qronik poluplokìthta� T (n) = 6n + 4 =⇒ T (n) ∈ O(n) � grammik
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 16 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
H Kl�sh P
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 17 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
To Prìblhma tou Planìdiou Pwlht Travelling Salesman Problem – TSP
• Dedomèna� ènac pwlht c sthn pìlh c1
� èna sÔnolo {c1, . . . , cn} apì pìleic� ènac n× n pÐnakac d me fusikoÔc arijmoÔc
dij h apìstash metaxÔ pìlewn ci kai cj
• ZhtoÔmeno� to suntomìtero dromolìgio pou pern�ei ap' ìlec tic pìleic� amfimonos manth antistoiqÐa π : {1, 2, . . . , n} 7→ {1, 2, . . . , n}� πi eÐnai h i-ost pìlh tou dromologÐou� minπ c(π) = dπ1π2 + dπ2π3 + . . . + dπn−1πn + dπnπ1
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 18 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
An�lush TSP
• Algìrijmoc
� exètash k�je pijanoÔ dromologÐou kai eÔresh bèltistou
• An�lush
� pl joc dromologÐwn (n− 1) · (n− 2) . . . 3 · 2 · 1 = (n− 1)!
� gia k�je dromolìgio n pr�xeic (prosjèseic apost�sewn)� poluplokìthta O(n!)
• Sthn pr�xh
� n = 10, n! = 3628800, 1 deuterìlepto� n = 20, n! = 2432902008176640000, perÐpou 20000 qrìnia� n = 40, n! ≈ 2141, merik� disekatommÔria èth
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 19 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
PraktikoÐ UpologismoÐ
• PraktikoÐ algìrijmoi
� logarijmikoÐ, O(log n)
� grammikoÐ, O(n)
� poluwnumikoÐ, O(nd)
• Mh praktikoÐ algìrijmoi
� ekjetikoÐ, O(cn)
� dipl� ekjetikoÐ, O(dcn)
� paragontikoÐ, O(n!)
� �lloi, O(nn)
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 20 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
PraktikoÐ UpologismoÐ
• PraktikoÐ algìrijmoi
� logarijmikoÐ, O(log n)
� grammikoÐ, O(n)
� poluwnumikoÐ, O(nd) � prìtuph mhqan Turing
• Mh praktikoÐ algìrijmoi
� ekjetikoÐ, O(cn)
� dipl� ekjetikoÐ, O(dcn)
� paragontikoÐ, O(n!)
� �lloi, O(nn)
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 21 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
H Kl�sh P• Poluwnumik� fragmènh mhqan
� mia mhqan Turing M = (K, Σ, δ, s,H) eÐnai poluwnumik�
fragmènh, an up�rqei polu¸numo p(n) ¸ste na isqÔei:
gia k�je eÐsodo x, den up�rqei sunolik kat�stash C ¸ste
(s, .tx) `p(|x|)+1M C
� h mhqan termatÐzei p�nta met� apì p(|x|) to polÔ b mata
• Poluwnumik� apofasÐsimh gl¸ssa� apofasÐsimh apì mia poluwnumik� fragmènh mhqan Turing
• H kl�sh P� ìlec oi poluwnumik� apofasÐsimec gl¸ssec
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 22 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Idiìthtec Kl�shc P• Posotik eklèptunsh jèshc Church-Turing
� praktikoÐ algìrijmoi � poluwnumik� fragmènec mhqanèc Turing
� realistik� epilÔsima probl mata � kl�sh P• Kl�sh P
� to posotikì an�logo twn anadromik¸n glwss¸n
• Je¸rhma
� H kl�sh P eÐnai kleist wc proc th sumpl rwsh.
• Apìdeixh
� antistrof y kai n thc M , to poluwnumikì fr�gma paramènei
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 23 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Idiìthtec Kl�shc P• Je¸rhma
� Oi kanonikèc gl¸ssec an koun sthn kl�sh P .
• Apìdeixh� kanonik gl¸ssa L =⇒ peperasmèno autìmato M
� to M anagnwrÐzei mia sumboloseir� w se qrìno O(|w|)• Je¸rhma
� Oi gl¸ssec qwrÐc sumfrazìmena an koun sthn kl�sh P .
• Apìdeixh� gl¸ssa qwrÐc sumfr. L =⇒ grammatik qwrÐc sumfr. G
� o alg. dun. progr. anagnwrÐzei thn w se qrìno O(|w|3|G|)
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 24 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Idiìthtec Kl�shc P• Je¸rhma
� H parak�tw anadromik gl¸ssa den an kei sthn kl�sh P :
E = {“M”“w” : h M dèqetai thn w met� apì 2|w| to polÔ b mata}
� to posotikì antÐstoiqo thc H (prìblhma termatismoÔ)
H = {“M”“w” : h mhqan Turing M termatÐzei me eÐsodo w}• Apìdeixh
� parìmoia me thn apìdeixh gia to prìblhma termatismoÔ� teqnik thc diagwniopoÐhshc
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 25 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Kritik Kl�shc P• Erwt mata kai Apant seic
� swst èkfrash thc ènnoiac tou praktikoÔ algorÐjmou?? eÐnai h kalÔterh apìpeira mèqri stigm c
� praktikìc ènac algìrijmoc me poluplokìthta n100 10100n2?? akraÐa fainìmena pou de sunant¸ntai sthn pr�xh
� mh praktikìc ènac algìrijmoc me poluplokìthta nlog log n?? akraÐa fainìmena pou de sunant¸ntai sthn pr�xh
� giatÐ ìqi poluplokìthta mèshc perÐptwshc?? èqei megalÔtera probl mata amfisb thshc
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 26 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Probl mataApìfashc kai BeltistopoÐhshc
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 27 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Probl mata Apìfashc (Decision Problems)
• Decision Problem for L
� 'Estw alf�bhto Σ, gl¸ssa L ⊆ Σ∗, sumboloseir� x ∈ Σ∗.An kei h x sthn L?
• Halting Problem
� 'Estw mhqan Turing M kai sumboloseir� eisìdou w.Apodèqetai h M thn w?
• Reachability
� 'Estw ènac kateujunìmenoc gr�foc G ⊆ V × V , ìpou V =
{v1, . . . , vn} eÐnai èna peperasmèno sÔnolo kìmbwn, kai vi, vj ∈V . Up�rqei monop�ti an�mesa stouc kìmbouc vi kai vj?
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 28 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Anapar�stash Problhm�twn Apìfashc
• Anapar�stash� qr sh kat�llhlhc gl¸ssac wc proc k�poio alf�bhto
• Halting Problem
� H = {“M”“w” : h mhqan M termatÐzei me eÐsodo w}? “M” kwdikopoÐhsh mhqan c Turing M
? “w” kwdikopoÐhsh sumboloseir�c w
• Reachability
� R = {κ(G)b(i)b(j) : up�rqei monop�ti apì ton vi ston vj}? κ(G) anapar�stash tou gr�fou G (pÐnakac geitnÐashc)? b(i) h duadik anapar�stash tou akèraiou i
? b(j) h duadik anapar�stash tou akèraiou j
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 29 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Apofasisimìthta kai Poluwnumikìthta
• Halting Problem 6∈ P� to prìblhma eÐnai mh epilÔsimo� den up�rqei mhqan apìfashc Turing pou na termatÐzei p�nta� den up�rqei poluwnumik� fragmènh prìtuph mhqan Turing
� to Halting Problem den an kei sto P• Reachability ∈ P
� to prìblhma eÐnai epilÔsimo� up�rqei mhqan Turing pou apofasÐzei se O(|V |3) b mata� up�rqei poluwnumik� fragmènh prìtuph mhqan Turing
� to Reachability an kei sto P
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 30 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Gr�foi Euler
• Eulerian Cycle
� 'Estw gr�foc G. EÐnai o G Euler? Up�rqei ston G kleistìmonop�ti pou pern�ei apì k�je akm akrib¸c mia for�?
� o gr�foc (a) eÐnai Euler, o gr�foc (b) den eÐnai
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 31 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Gr�foi Euler
• Je¸rhma� 'Enac gr�foc G ⊆ V × V eÐnai gr�foc Euler ann:
? gia k�je zeÔgoc koruf¸n u, v ∈ V , oi opoÐec den eÐnaiapomonwmènec, up�rqei monop�ti apì th u sth v
? se k�je koruf o arijmìc twn eiserqomènwn akm¸n isoÔ-tai me ton arijmì twn exerqomènwn akm¸n
• Eulerian Cycle ∈ P� oi parap�nw idiìthtec elègqontai se poluwnumikì qrìno
? to Reachability an kei sto P� L = {κ(G) : o G eÐnai gr�foc Euler}� h L apofasÐzetai se poluwnumikì qrìno
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 32 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Gr�foi Hamilton
• Hamiltonian Cycle 6∈? P� 'Estw gr�foc G. Einai o G Hamilton? Up�rqei kÔkloc ston
G pou pern�ei ap' ìlec tic korufèc akrib¸c mÐa for�?
� oi gr�foi (a) kai (b) eÐnai Hamilton
� �gnwsto an Hamilton Cycle ∈ P ìqi
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 33 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Probl mata BeltistopoÐhshc• BeltistopoÐhsh (optimization)
� elaqistopoÐhsh megistopoÐhsh upì k�poiouc periorismoÔc� p.q. to prìblhma tou planìdiou pwlht (TSP)
• Metatrop � prìblhma beltistopoÐhshc =⇒ prìblhma apìfashc� par�metroc B: �nw k�tw fr�gma sth sun�rthsh tim c� apìfash: up�rqei lÔsh me tim ≤ B (min) ≥ B (max)?
• Je¸rhma� An k�poio probl ma apìfashc den mporeÐ na lujeÐ se poluw-
numikì qrìno, tìte oÔte to antÐstoiqo prìblhma beltistopoÐ-hshc mporeÐ!
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 34 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
BeltistopoÐhsh wc Apìfash• TSP 6∈? P
� 'Estw akèraioc n ≥ 2, n × n pÐnakac apost�sewn dij, kaiakèraioc B ≥ 0. Up�rqei antimet�jesh π : {1, 2, . . . , n} 7→{1, 2, . . . , n} ¸ste c(π) = dπ1π2 + dπ2π3 + . . . + dπnπ1 ≤ B?
• Independent Set 6∈? P� 'Estw mh kateujunìmenoc gr�foc G ⊆ V × V kai akèraioc
K ≥ 2. Up�rqei C ⊆ V me |C | ≥ K, ¸ste gia ìlec tic koru-fèc vi, vj ∈ C, den up�rqei akm metaxÔ vi kai vj?
• Clique 6∈? P� 'Estw mh kateujunìmenoc gr�foc G ⊆ V × V kai akèraioc
K ≥ 2. Up�rqei C ⊆ V me |C | ≥ K, ¸ste gia ìlec tickorufèc vi, vj ∈ C, up�rqei akm metaxÔ vi kai vj?
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 35 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
BeltistopoÐhsh wc Apìfash• Vertex Cover 6∈? P
� 'Estw mh kateujunìmenoc gr�foc G ⊆ V × V kai akèraiocK ≥ 2. Up�rqei C ⊆ V me |C | ≤ K, ¸ste to C na kalÔpteiìlec tic akmèc tou G?
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 36 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
To Prìblhma Partition
• Partition 6∈? P� 'Estw èna sÔnolo n jetik¸n akeraÐwn a1, . . . , an pou pari-
st�nontai sto duadikì sÔsthma. Up�rqei P ⊆ {1, . . . , n}tètoio ¸ste
∑i∈P ai =
∑i 6∈P ai?
• Algìrijmoc gia Partition
� H = 12
∑ni=1 ai
? an o H den eÐnai akèraioc, ap�nthse OQI� ìrise ta sÔnola B(i) gia k�je i, 0 ≤ i ≤ n:
B(i) ={b ≤ H : b =
∑j∈C aj, C ⊆ {1, 2, . . . , i}}
� an H ∈ B(n), ap�nthse NAI� an H 6∈ B(n), ap�nthse OQI
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 37 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
To Prìblhma Partition
• Upologismìc tou B(n)
� B(0) := {0}for i = 1, 2, . . . , n do
B(i) := B(i− 1)
for j = 0, 1, 2, . . . , H do
if(j ∈ B(i− 1) and (j + ai) ≤ H
)
then add (j + ai) to B(i)
• Poluplokìthta� qronik poluplokìthta O(nH) � poluwnumikìc algìrijmoc?� èstw k�je ai ≈ 2n (n + 1 bits), tìte H ≈ n2n/2
� m koc eisìdou O(n2), all� poluplokìthta O(n22n)
� �ra o parap�nw algìrijmoc den eÐnai poluwnumikìc!
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 38 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
To Prìblhma Unary Partition
• Unary Partition ∈ P� 'Estw èna sÔnolo n jetik¸n akeraÐwn a1, . . . , an pou pari-
st�nontai sto monadiaÐo sÔsthma. Up�rqei P ⊆ {1, . . . , n}tètoio ¸ste
∑i∈P ai =
∑i 6∈P ai?
• Poluplokìthta� qronik poluplokìthta O(nH), all� mègejoc eisìdou O(H)
• ShmasÐa anapar�stashc gia to er¸thma ∈ P� h anapar�stash gr�fwn, mhqan¸n, klp. den eÐnai krÐsimh� h anapar�stash arijm¸n eÐnai krÐsimh
? to monadiaÐo sqetÐzetai ekjetik� me ta �lla sust mata? sust mata ektìc tou monadiaÐou sqetÐzontai grammik�
� sÔmbash: oi arijmoÐ anaparist¸ntai sto duadikì sÔsthma
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 39 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Probl mata IsodunamÐac Autom�twn
• Equivalence of DFA ∈ P� 'Estw nteterministik� peperasmèna autìmata M1 kai M2.
IsqÔei L(M1) = L(M2)?� (elaqistopoÐhsh se poluwnumikì qrìno kai sÔgkrish)
• Equivalence of NFA 6∈? P� 'Estw mh nteterministik� peperasmèna autìmata M1 kai M2.
IsqÔei L(M1) = L(M2)?
• Equivalence of RE 6∈? P� 'Estw kanonikèc ekfr�seic R1 kai R2.
IsqÔei L(R1) = L(R2)?
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 40 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Protasiak Logik (Boolean Logic)
• Logik prìtash� X = {x1, x2, . . . , xn} metablhtèc alhjeÐac (> ⊥)� X = {x1, x2, . . . , xn} arn seic twn metablht¸n tou X
� X ∪X sÔnolo stoiqeÐwn (literals) (X-jetik�, X-arnhtik�)� C ⊆ X ∪X sunj kh (clause), di�zeuxh stoiqeÐwn� F ⊆ {C : C ⊆ X∪X} logik prìtash, sÔzeuxh sunjhk¸n� kanonik suzeuktik morf (conjunctive normal form – CNF)
• Par�deigma� X = {x1, x2, x3}, X = {x1, x2, x3}� C1 = {x1, x2, x3}, C2 = {x1}, C3 = {x2, x2}, F = {C1, C2, C3}
F = (x1 ∨ x2 ∨ x3) ∧ x1 ∧ (x2 ∨ x2)
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 41 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Protasiak Logik � ShmasiologÐa
• Apìdosh tim¸n al jeiac (truth assignment)
� sun�rthsh T : X 7→ {>,⊥}• IkanopoÐhsh sunj khc Cj
� ìtan isqÔei èna apì ta parak�tw gia mia apìdosh tim¸n? T (xi) = > kai xi ∈ Cj
? T (xi) = ⊥ kai xi ∈ Cj
• IkanopoÐhsh prìtashc F
� ìtan ikanopoioÔntai ìlec oi sunj kec thc prìtashc
• Ikanopoihsimìthta (satisfiability) prìtashc� up�rqei apìdosh tim¸n alhjeÐac pou ikanopoieÐ thn prìtash?
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 42 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
ParadeÐgmata• Ikanopoi simh prìtash
F = (x1 ∨ x2 ∨ x3) ∧ x1 ∧ (x2 ∨ x2)
� x1 = ⊥, x2 = ⊥, x3 = ∗� x1 = ⊥, x2 = ∗, x3 = >
• Mh ikanopoi simh prìtash
F = (x1 ∨ x2 ∨ x3)∧ (x1 ∨ x2)∧ (x2 ∨ x3)∧ (x3 ∨ x1)∧ (x1 ∨ x2 ∨ x3)
� toul�qiston mÐa metablht prèpei na apeikonisteÐ sto >� ìlec oi metablhtèc prèpei na èqoun thn Ðdia tim alhjeÐac� toul�qiston mÐa metablht prèpei na apeikonisteÐ sto ⊥
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 43 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Ikanopoihsimìthta• Satisfiability (SAT) 6∈? P
� 'Estw logik prìtash F . EÐnai h F ikanopoi simh?� de gnwrÐzoume an up�rqei poluwnumikìc algìrijmoc
• 2-Satisfiability (2-SAT) ∈ P� 'Estw logik prìtash F , ìpou k�je sunj kh èqei to polÔ
( akrib¸c) dÔo stoiqeÐa. EÐnai h F ikanopoi simh?� up�rqei poluwnumikìc algìrijmoc
• 3-Satisfiability (3-SAT) 6∈? P� 'Estw logik prìtash F , ìpou k�je sunj kh èqei to polÔ
( akrib¸c) trÐa stoiqeÐa. EÐnai h F ikanopoi simh?� de gnwrÐzoume an up�rqei poluwnumikìc algìrijmoc
• k-Satisfiability (k-SAT) 6∈? P, k ≥ 3
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 44 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Poluwnumikìc Algìrijmoc gia 2-SAT
• DiadikasÐa ekkaj�rishc
� eÔresh k�poiac sunj khc me èna mìno stoiqeÐo� an�jesh tim c alhjeÐac pou ikanopoieÐ th sunj kh� apaloif ikanopoihmènwn sunjhk¸n� apaloif emfanÐsewn antÐjetou stoiqeÐou apì tic sunj kec� apotuqÐa e�n prokÔyei h ken sunj kh kai epistrof � epan�lhyh èwc ìtou den up�rqei sunj kh me èna stoiqeÐo
• Poluplokìthta
� poluwnumik wc proc ton arijmì metablht¸n kai sunjhk¸n
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 45 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Poluwnumikìc Algìrijmoc gia 2-SAT
• Algìrijmoc
� epilog k�poiac metablht c pou emfanÐzetai se sunj kh� apìpeira an�jeshc > kai ⊥ me th seir� sth metablht � kl sh diadikasÐac ekkaj�rishc gia k�je mÐa an�jesh� apotuqÐa kai twn dÔo ekkajarÐsewn =⇒ mh ikanopoi simh� apaloif ìlwn twn sunjhk¸n =⇒ ikanopoi simh� epan�lhyh me to apotèlesma miac epituqhmènhc ekkaj�rishc
• Poluplokìthta
� dÔo ekkajarÐseic an� metablht sth qeirìterh perÐptwsh� poluwnumik wc proc ton arijmì metablht¸n kai sunjhk¸n
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 46 apì 47
ΠΛΗ 401 – Θεωρια Υπολογισμου – 2007 – 15η Διαλεξη
Melèth
• SÔggramma
� Harry R. Lewis kai QrÐstoc Q. PapadhmhtrÐou,StoiqeÐa JewrÐac UpologismoÔ, Ekdìseic Kritik , 2005.
� Enìthtec 1.6, 6.1�6.3
M. G. Lagoud�khc Τμημα ΗΜΜΥ, Πολυτεχνειο Κρητης SelÐda 47 apì 47