Algorytmika Problemów Trudnych
Wykªad 1 Tomasz Krawczyk
krawczyk@tcs.uj.edu.pl
Kraków, semestr letni 2020/21
Algorytmika Problemów NP-trudnych
Problemy NP-trudne to problemy, dla których najprawdopodobniej nie istniej¡ dokªadne algorytmy wielomianowe.
Bardzo wiele problemów algorytmicznych to problemy NP-trudne,
ale ze wzgl¦dów praktycznych trzeba je jako± rozwi¡za¢....
Przykªady problemów NP-trudnych
Problemy grafowe:
I maksymalna klika, zbiór niezale»ny, I pokrycie wierzchoªkowe, zbiór dominuj¡cy, I maksymalne (ale nie minimalne) ci¦cie w grae, I istnienie cyklu Hamiltona, problem komiwoja»era, I minimalne kolorowanie, 3-kolorowanie,
I wiele algorytmów rozpoznawania przynale»no±ci grafu do danej klasy grafów (grafy przeci¦¢ krzywych ci¡gªych na pªaszczy¹nie, grafy przeci¦¢
odcinków na pªaszczy¹nie, grafy tolerancji)
W wielu wa»nych klasach grafów problemy rozpoznawania maj¡ rozwi¡zania
wielomianowe: np. grafy przedziaªowe, ci¦ciwowe, planarne, porównywalno±ci,
nieporównywalno±ci, i wiele innych (wi¦cej na algorytmach grafowych).
NP denicja
Denicja
J¦zyk L nale»y do klasy NP je»eli istnieje niedeterministyczna maszyna Turinga oraz wielomian p taki, »e dla ka»dego sªowa x ka»de obliczanie maszyny ko«czy si¦ w czasie p(|x|) oraz maszyna odpowiada:
I TAK (co oznacza, »e pewna ±cie»ka oblicze« ko«czy si¦ w stanie ACCEPT) je»eli x ∈ L,
I NIE (co oznacza, »e wszystkie ±cie»ki oblicze« ko«cz¡ si¦ w stanie REJECT) je»eli x /∈ L.
Praktycznie: j¦zyk L jest w NP je»eli istnieje wielomianowy algorytm
'zgaduj¡cy ±wiadka' przynale»no±ci x do j¦zyka L oraz algorytm wielomianowy
werykuj¡cy poprawno±¢ ±wiadka (sprawdzaj¡cy, czy x ∈ L).
przynale»no±¢ do NP - dowody
I istnienie kliki wielko±ci k w G:
I
±wiadek: zbiór wierzchoªków wielko±ci k,
I
werykator: sprawdza, czy zbiór jest klik¡,
I speªnialno±¢ formuªy SAT:
I
±wiadek: warto±ciowanie zmiennych,
I
werykator: sprawdza, czy warto±ciowanie speªnia formuª¦,
przynale»no±¢ do NP - dowody
I istnienie kliki wielko±ci k w G:
I
±wiadek: zbiór wierzchoªków wielko±ci k,
I
werykator: sprawdza, czy zbiór jest klik¡,
I speªnialno±¢ formuªy SAT:
I
±wiadek: warto±ciowanie zmiennych,
I
werykator: sprawdza, czy warto±ciowanie speªnia formuª¦,
przynale»no±¢ do NP - dowody
I istnienie kliki wielko±ci k w G:
I
±wiadek: zbiór wierzchoªków wielko±ci k,
I
werykator: sprawdza, czy zbiór jest klik¡,
I speªnialno±¢ formuªy SAT:
I
±wiadek: warto±ciowanie zmiennych,
I
werykator: sprawdza, czy warto±ciowanie speªnia formuª¦,
przynale»no±¢ do NP - dowody
I istnienie kliki wielko±ci k w G:
I
±wiadek: zbiór wierzchoªków wielko±ci k,
I
werykator: sprawdza, czy zbiór jest klik¡,
I speªnialno±¢ formuªy SAT:
I
±wiadek: warto±ciowanie zmiennych,
I
werykator: sprawdza, czy warto±ciowanie speªnia formuª¦,
przynale»no±¢ do NP - dowody
I istnienie kliki wielko±ci k w G:
I
±wiadek: zbiór wierzchoªków wielko±ci k,
I
werykator: sprawdza, czy zbiór jest klik¡,
I speªnialno±¢ formuªy SAT:
I
±wiadek: warto±ciowanie zmiennych,
I
werykator: sprawdza, czy warto±ciowanie speªnia formuª¦,
przynale»no±¢ do NP - dowody
I istnienie kliki wielko±ci k w G:
I
±wiadek: zbiór wierzchoªków wielko±ci k,
I
werykator: sprawdza, czy zbiór jest klik¡,
I speªnialno±¢ formuªy SAT:
I
±wiadek: warto±ciowanie zmiennych,
I
werykator: sprawdza, czy warto±ciowanie speªnia formuª¦,
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek: ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek), Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek: ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek), Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek: ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek), Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek: ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek), Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek: ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek), Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek: ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek), Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek: ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek), Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek: ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek), Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek:
? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek: ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek), Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek: ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek), Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek: ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek), Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek:
ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek), Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I
±wiadek: ci¡gle poszukiwany i nie mo»e by¢ to rysunek!!!!
(Kratochvil, Matousek),
Istniej¡ grafy przeci¦¢ odcinków, które
w opisie ka»dej reprezentacji wymagaj¡ podwójnie wykªadniczej
wielko±ci liczb (a wi¦c wykªadniczego zapisu). Inny ±wiadek
(wielomianowy) jest poszukiwany jest poszukiwany, ale mo»e
go nie by¢! (rozpoznawanie segmentów jest ∃R-complete )
przynale»no±¢ do NP - dowody
I rozpoznawanie grafów interwaªowych (jest w P)
I
±wiadek: przedziaªy reprezentuj¡ce wierzchoªki,
I
werykator: sprawdza, czy przecinaj¡ce si¦ kraw¦dzie pokrywaj¡ si¦ ze zbiorem kraw¦dzi grafu,
I rozpoznawanie grafów ci¦ciwowych (jest w P):
I
±wiadek: porz¡dek wierzchoªków grafu,
I
werykator: sprawdza, czy ten porz¡dek to perfect elimination order
I graf przeci¦¢ krzywych na pªaszczy¹nie:
I
±wiadek: ? (trudny problem, rozwi¡zany przez Schaefer, Sedgwick, Stefankovic),
I graf przeci¦¢ odcinków na prostej
I