• Nem Talált Eredményt

Algoritmuselmélet 15. el ˝oadás

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Algoritmuselmélet 15. el ˝oadás"

Copied!
124
0
0

Teljes szövegt

(1)

Katona Gyula Y.

Budapesti M ˝uszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz.

I. B. 137/b

kiskat@cs.bme.hu

2002 Április 23.

(2)

A tanú tétel segítségével könny ˝u belátni, hogy egy nyelv NP-beli.

(3)

A tanú tétel segítségével könny ˝u belátni, hogy egy nyelv NP-beli.

Csak azt kell belátni, hogy létezik tanú, megkeresni nem kell tudni.

(4)

A tanú tétel segítségével könny ˝u belátni, hogy egy nyelv NP-beli.

Csak azt kell belátni, hogy létezik tanú, megkeresni nem kell tudni.

A mi szerepünk a bíró szerepe, nem a nyomozóé.

(5)

A tanú tétel segítségével könny ˝u belátni, hogy egy nyelv NP-beli.

Csak azt kell belátni, hogy létezik tanú, megkeresni nem kell tudni.

A mi szerepünk a bíró szerepe, nem a nyomozóé.

3 színnel színezhet ˝o gráfok

G → pl. adjacencia mátrix sorai egymásután f ˝uzve

(6)

A tanú tétel segítségével könny ˝u belátni, hogy egy nyelv NP-beli.

Csak azt kell belátni, hogy létezik tanú, megkeresni nem kell tudni.

A mi szerepünk a bíró szerepe, nem a nyomozóé.

3 színnel színezhet ˝o gráfok

G → pl. adjacencia mátrix sorai egymásután f ˝uzve

x ∈ 3-SZÍN =⇒ ha az x szónak megfelel ˝o gráf 3 színnel színezhet ˝o.

(7)

A tanú tétel segítségével könny ˝u belátni, hogy egy nyelv NP-beli.

Csak azt kell belátni, hogy létezik tanú, megkeresni nem kell tudni.

A mi szerepünk a bíró szerepe, nem a nyomozóé.

3 színnel színezhet ˝o gráfok

G → pl. adjacencia mátrix sorai egymásután f ˝uzve

x ∈ 3-SZÍN =⇒ ha az x szónak megfelel ˝o gráf 3 színnel színezhet ˝o.

Tétel. 3-SZÍN ∈ NP.

Bizonyítás: Alkalmas tanú G egy jó színezése

(8)

A tanú tétel segítségével könny ˝u belátni, hogy egy nyelv NP-beli.

Csak azt kell belátni, hogy létezik tanú, megkeresni nem kell tudni.

A mi szerepünk a bíró szerepe, nem a nyomozóé.

3 színnel színezhet ˝o gráfok

G → pl. adjacencia mátrix sorai egymásután f ˝uzve

x ∈ 3-SZÍN =⇒ ha az x szónak megfelel ˝o gráf 3 színnel színezhet ˝o.

Tétel. 3-SZÍN ∈ NP.

Bizonyítás: Alkalmas tanú G egy jó színezése

Ez leírható 2n bittel =⇒ (pl.legyen 01=piros, 10=sárga, 11=zöld)

(9)

A tanú tétel segítségével könny ˝u belátni, hogy egy nyelv NP-beli.

Csak azt kell belátni, hogy létezik tanú, megkeresni nem kell tudni.

A mi szerepünk a bíró szerepe, nem a nyomozóé.

3 színnel színezhet ˝o gráfok

G → pl. adjacencia mátrix sorai egymásután f ˝uzve

x ∈ 3-SZÍN =⇒ ha az x szónak megfelel ˝o gráf 3 színnel színezhet ˝o.

Tétel. 3-SZÍN ∈ NP.

Bizonyítás: Alkalmas tanú G egy jó színezése

Ez leírható 2n bittel =⇒ (pl.legyen 01=piros, 10=sárga, 11=zöld) G, színezés → bíró =⇒ jó színezés-e

(10)

A tanú tétel segítségével könny ˝u belátni, hogy egy nyelv NP-beli.

Csak azt kell belátni, hogy létezik tanú, megkeresni nem kell tudni.

A mi szerepünk a bíró szerepe, nem a nyomozóé.

3 színnel színezhet ˝o gráfok

G → pl. adjacencia mátrix sorai egymásután f ˝uzve

x ∈ 3-SZÍN =⇒ ha az x szónak megfelel ˝o gráf 3 színnel színezhet ˝o.

Tétel. 3-SZÍN ∈ NP.

Bizonyítás: Alkalmas tanú G egy jó színezése

Ez leírható 2n bittel =⇒ (pl.legyen 01=piros, 10=sárga, 11=zöld) G, színezés → bíró =⇒ jó színezés-e

Ez polinom id ˝oben megtehet ˝o TG-vel.

(11)

A tanú tétel segítségével könny ˝u belátni, hogy egy nyelv NP-beli.

Csak azt kell belátni, hogy létezik tanú, megkeresni nem kell tudni.

A mi szerepünk a bíró szerepe, nem a nyomozóé.

3 színnel színezhet ˝o gráfok

G → pl. adjacencia mátrix sorai egymásután f ˝uzve

x ∈ 3-SZÍN =⇒ ha az x szónak megfelel ˝o gráf 3 színnel színezhet ˝o.

Tétel. 3-SZÍN ∈ NP.

Bizonyítás: Alkalmas tanú G egy jó színezése

Ez leírható 2n bittel =⇒ (pl.legyen 01=piros, 10=sárga, 11=zöld) G, színezés → bíró =⇒ jó színezés-e

Ez polinom id ˝oben megtehet ˝o TG-vel.

Ha G nem 3-színezhet ˝o, akkor nem lehet tanúja.

(12)

H =⇒ Azon gráfok szavai, amik tartalmaznak Hamilton-kört.

(13)

H =⇒ Azon gráfok szavai, amik tartalmaznak Hamilton-kört.

Tétel. H ∈ NP.

Bizonyítás: A G ∈ H állításnak rövid tanúja egy Hamilton-kör.

(14)

H =⇒ Azon gráfok szavai, amik tartalmaznak Hamilton-kört.

Tétel. H ∈ NP.

Bizonyítás: A G ∈ H állításnak rövid tanúja egy Hamilton-kör.

csúcsok sorrendje =⇒ O(n log n) bit

(15)

H =⇒ Azon gráfok szavai, amik tartalmaznak Hamilton-kört.

Tétel. H ∈ NP.

Bizonyítás: A G ∈ H állításnak rövid tanúja egy Hamilton-kör.

csúcsok sorrendje =⇒ O(n log n) bit

a bíró ellen ˝orzi, hogy van-e él a következ ˝o csúcsba G-ben.

(16)

H =⇒ Azon gráfok szavai, amik tartalmaznak Hamilton-kört.

Tétel. H ∈ NP.

Bizonyítás: A G ∈ H állításnak rövid tanúja egy Hamilton-kör.

csúcsok sorrendje =⇒ O(n log n) bit

a bíró ellen ˝orzi, hogy van-e él a következ ˝o csúcsba G-ben.

Hasonlóan Hamilton-útra, irányított Hamilton-körre, -útra Legyen N H a Hamilton-kört nem tartalmazó gráfok nyelve.

Tétel. NH ∈ coNP.

(17)

Legyen L a síkba rajzolható gráfok nyelve

(18)

Legyen L a síkba rajzolható gráfok nyelve

Tétel. L ∈ NP

Bizonyítás: G tanúja egy síkbarajzolása.

(19)

Legyen L a síkba rajzolható gráfok nyelve

Tétel. L ∈ NP

Bizonyítás: G tanúja egy síkbarajzolása.

Fáry-Wágner =⇒ van olyan is, ami egyenes szakaszokat használ. S ˝ot olyan is van, hogy a koordináták nem túl nagyok.

(20)

Legyen L a síkba rajzolható gráfok nyelve

Tétel. L ∈ NP

Bizonyítás: G tanúja egy síkbarajzolása.

Fáry-Wágner =⇒ van olyan is, ami egyenes szakaszokat használ. S ˝ot olyan is van, hogy a koordináták nem túl nagyok.

=⇒ Tanú a csúcsok koordinátái.

(21)

Legyen L a síkba rajzolható gráfok nyelve

Tétel. L ∈ NP

Bizonyítás: G tanúja egy síkbarajzolása.

Fáry-Wágner =⇒ van olyan is, ami egyenes szakaszokat használ. S ˝ot olyan is van, hogy a koordináták nem túl nagyok.

=⇒ Tanú a csúcsok koordinátái.

A bíró ellen ˝orzi, hogy az élek nem metszik egymást.

(22)

Legyen L a síkba rajzolható gráfok nyelve

Tétel. L ∈ NP

Bizonyítás: G tanúja egy síkbarajzolása.

Fáry-Wágner =⇒ van olyan is, ami egyenes szakaszokat használ. S ˝ot olyan is van, hogy a koordináták nem túl nagyok.

=⇒ Tanú a csúcsok koordinátái.

A bíró ellen ˝orzi, hogy az élek nem metszik egymást.

Tétel. L ∈ coNP ( =⇒ L ∈ NP ∩ coNP: jól karakterizált) Bizonyítás: Van tanú a G 6∈ L állításra is.

(23)

Legyen L a síkba rajzolható gráfok nyelve

Tétel. L ∈ NP

Bizonyítás: G tanúja egy síkbarajzolása.

Fáry-Wágner =⇒ van olyan is, ami egyenes szakaszokat használ. S ˝ot olyan is van, hogy a koordináták nem túl nagyok.

=⇒ Tanú a csúcsok koordinátái.

A bíró ellen ˝orzi, hogy az élek nem metszik egymást.

Tétel. L ∈ coNP ( =⇒ L ∈ NP ∩ coNP: jól karakterizált) Bizonyítás: Van tanú a G 6∈ L állításra is.

Vagy nem gráf vagy Kuratowski =⇒ van benne vagy K5-tel vagy K3,3-mal topologikusan izomorf részgráf.

(24)

Legyen L a síkba rajzolható gráfok nyelve

Tétel. L ∈ NP

Bizonyítás: G tanúja egy síkbarajzolása.

Fáry-Wágner =⇒ van olyan is, ami egyenes szakaszokat használ. S ˝ot olyan is van, hogy a koordináták nem túl nagyok.

=⇒ Tanú a csúcsok koordinátái.

A bíró ellen ˝orzi, hogy az élek nem metszik egymást.

Tétel. L ∈ coNP ( =⇒ L ∈ NP ∩ coNP: jól karakterizált) Bizonyítás: Van tanú a G 6∈ L állításra is.

Vagy nem gráf vagy Kuratowski =⇒ van benne vagy K5-tel vagy K3,3-mal topologikusan izomorf részgráf.

Tanú egy ilyen leírása, ezt a bíró könnyen ellen ˝orizheti.

(25)

Legyen L a síkba rajzolható gráfok nyelve

Tétel. L ∈ NP

Bizonyítás: G tanúja egy síkbarajzolása.

Fáry-Wágner =⇒ van olyan is, ami egyenes szakaszokat használ. S ˝ot olyan is van, hogy a koordináták nem túl nagyok.

=⇒ Tanú a csúcsok koordinátái.

A bíró ellen ˝orzi, hogy az élek nem metszik egymást.

Tétel. L ∈ coNP ( =⇒ L ∈ NP ∩ coNP: jól karakterizált) Bizonyítás: Van tanú a G 6∈ L állításra is.

Vagy nem gráf vagy Kuratowski =⇒ van benne vagy K5-tel vagy K3,3-mal topologikusan izomorf részgráf.

Tanú egy ilyen leírása, ezt a bíró könnyen ellen ˝orizheti.

Tétel. L ∈ P

(26)

Legyen L a síkba rajzolható gráfok nyelve

Tétel. L ∈ NP

Bizonyítás: G tanúja egy síkbarajzolása.

Fáry-Wágner =⇒ van olyan is, ami egyenes szakaszokat használ. S ˝ot olyan is van, hogy a koordináták nem túl nagyok.

=⇒ Tanú a csúcsok koordinátái.

A bíró ellen ˝orzi, hogy az élek nem metszik egymást.

Tétel. L ∈ coNP ( =⇒ L ∈ NP ∩ coNP: jól karakterizált) Bizonyítás: Van tanú a G 6∈ L állításra is.

Vagy nem gráf vagy Kuratowski =⇒ van benne vagy K5-tel vagy K3,3-mal topologikusan izomorf részgráf.

Tanú egy ilyen leírása, ezt a bíró könnyen ellen ˝orizheti.

Tétel. L ∈ P

Sejtés: H 6∈ coNP és 3-SZÍN 6∈ coNP

(27)

Jelölje Π a (binárisan ábrázolt) prímszámok nyelvét.

(28)

Jelölje Π a (binárisan ábrázolt) prímszámok nyelvét.

Tétel. [V. R. Pratt, 1975]

Π ∈ NP ∩ coNP.

(29)

Jelölje Π a (binárisan ábrázolt) prímszámok nyelvét.

Tétel. [V. R. Pratt, 1975]

Π ∈ NP ∩ coNP.

Bizonyítás: Π ∈ coNP: Ha egy szám nem prím, arra tanú egy osztója, pl. 6 nem prím, mert 2|6.

(30)

Jelölje Π a (binárisan ábrázolt) prímszámok nyelvét.

Tétel. [V. R. Pratt, 1975]

Π ∈ NP ∩ coNP.

Bizonyítás: Π ∈ coNP: Ha egy szám nem prím, arra tanú egy osztója, pl. 6 nem prím, mert 2|6.

Π ∈ NP:

Lemma. Legyen p ≥ 2 egy egész szám. A p pontosan akkor prímszám, ha van olyan 1 ≤ g < p egész, melyre teljesülnek az alábbiak:

1. gp1 ≡ 1 (mod p),

2. gpr1 6≡ 1 (mod p) minden r prímszámra, melyre r|p − 1.

(31)
(32)
(33)

m = e0 + e121 + e222 + · · · + ek2k, k ≤ log2 m és ej ∈ {0, 1}. Ismételt négyzetre emelésekkel =⇒ a2j =⇒ ez k szorzás

(34)

Ismételt négyzetre emelésekkel =⇒ a2j =⇒ ez k szorzás

szorozzuk össze az a2j hatványokat azokra a j értékekre, melyekre ej = 1

=⇒ am = ae0+e121+e222+···+ek2k = ae0ae121ae222 · · · aek2k

=⇒ k szorzás

(35)

m = e0 + e121 + e222 + · · · + ek2k, k ≤ log2 m és ej ∈ {0, 1}. Ismételt négyzetre emelésekkel =⇒ a2j =⇒ ez k szorzás

szorozzuk össze az a2j hatványokat azokra a j értékekre, melyekre ej = 1

=⇒ am = ae0+e121+e222+···+ek2k = ae0ae121ae222 · · · aek2k

=⇒ k szorzás

am mérete m + a méretében exponenciális =⇒ exponenciális alg.

(36)

Ismételt négyzetre emelésekkel =⇒ a2j =⇒ ez k szorzás

szorozzuk össze az a2j hatványokat azokra a j értékekre, melyekre ej = 1

=⇒ am = ae0+e121+e222+···+ek2k = ae0ae121ae222 · · · aek2k

=⇒ k szorzás

am mérete m + a méretében exponenciális =⇒ exponenciális alg.

am (mod n) mérete legfeljebb log2 n =⇒ ha mindig a maradékot vesszük

=⇒ polinomiális alg.

(37)

m = e0 + e121 + e222 + · · · + ek2k, k ≤ log2 m és ej ∈ {0, 1}. Ismételt négyzetre emelésekkel =⇒ a2j =⇒ ez k szorzás

szorozzuk össze az a2j hatványokat azokra a j értékekre, melyekre ej = 1

=⇒ am = ae0+e121+e222+···+ek2k = ae0ae121ae222 · · · aek2k

=⇒ k szorzás

am mérete m + a méretében exponenciális =⇒ exponenciális alg.

am (mod n) mérete legfeljebb log2 n =⇒ ha mindig a maradékot vesszük

=⇒ polinomiális alg.

A p prím állításra tanú: g és p − 1 egész r1, . . . , rk prímosztói

(38)

Ismételt négyzetre emelésekkel =⇒ a2j =⇒ ez k szorzás

szorozzuk össze az a2j hatványokat azokra a j értékekre, melyekre ej = 1

=⇒ am = ae0+e121+e222+···+ek2k = ae0ae121ae222 · · · aek2k

=⇒ k szorzás

am mérete m + a méretében exponenciális =⇒ exponenciális alg.

am (mod n) mérete legfeljebb log2 n =⇒ ha mindig a maradékot vesszük

=⇒ polinomiális alg.

A p prím állításra tanú: g és p − 1 egész r1, . . . , rk prímosztói

a bíró gyors hatványozással ellen ˝orizheti, hogy a Lemma feltételei teljesülnek.

(39)

m = e0 + e121 + e222 + · · · + ek2k, k ≤ log2 m és ej ∈ {0, 1}. Ismételt négyzetre emelésekkel =⇒ a2j =⇒ ez k szorzás

szorozzuk össze az a2j hatványokat azokra a j értékekre, melyekre ej = 1

=⇒ am = ae0+e121+e222+···+ek2k = ae0ae121ae222 · · · aek2k

=⇒ k szorzás

am mérete m + a méretében exponenciális =⇒ exponenciális alg.

am (mod n) mérete legfeljebb log2 n =⇒ ha mindig a maradékot vesszük

=⇒ polinomiális alg.

A p prím állításra tanú: g és p − 1 egész r1, . . . , rk prímosztói

a bíró gyors hatványozással ellen ˝orizheti, hogy a Lemma feltételei teljesülnek.

Azt is tanúsítani kell, hogy r1, . . . , rk éppen a p − 1 prímosztói (más nincs)

=⇒ prímtényez ˝os felbontás

(40)

Ismételt négyzetre emelésekkel =⇒ a2j =⇒ ez k szorzás

szorozzuk össze az a2j hatványokat azokra a j értékekre, melyekre ej = 1

=⇒ am = ae0+e121+e222+···+ek2k = ae0ae121ae222 · · · aek2k

=⇒ k szorzás

am mérete m + a méretében exponenciális =⇒ exponenciális alg.

am (mod n) mérete legfeljebb log2 n =⇒ ha mindig a maradékot vesszük

=⇒ polinomiális alg.

A p prím állításra tanú: g és p − 1 egész r1, . . . , rk prímosztói

a bíró gyors hatványozással ellen ˝orizheti, hogy a Lemma feltételei teljesülnek.

Azt is tanúsítani kell, hogy r1, . . . , rk éppen a p − 1 prímosztói (más nincs)

=⇒ prímtényez ˝os felbontás

és azt is, hogy r1, . . . , rk prímek

(41)

m = e0 + e121 + e222 + · · · + ek2k, k ≤ log2 m és ej ∈ {0, 1}. Ismételt négyzetre emelésekkel =⇒ a2j =⇒ ez k szorzás

szorozzuk össze az a2j hatványokat azokra a j értékekre, melyekre ej = 1

=⇒ am = ae0+e121+e222+···+ek2k = ae0ae121ae222 · · · aek2k

=⇒ k szorzás

am mérete m + a méretében exponenciális =⇒ exponenciális alg.

am (mod n) mérete legfeljebb log2 n =⇒ ha mindig a maradékot vesszük

=⇒ polinomiális alg.

A p prím állításra tanú: g és p − 1 egész r1, . . . , rk prímosztói

a bíró gyors hatványozással ellen ˝orizheti, hogy a Lemma feltételei teljesülnek.

Azt is tanúsítani kell, hogy r1, . . . , rk éppen a p − 1 prímosztói (más nincs)

=⇒ prímtényez ˝os felbontás

és azt is, hogy r1, . . . , rk prímek =⇒ rekurzívan

(42)

Ismételt négyzetre emelésekkel =⇒ a2j =⇒ ez k szorzás

szorozzuk össze az a2j hatványokat azokra a j értékekre, melyekre ej = 1

=⇒ am = ae0+e121+e222+···+ek2k = ae0ae121ae222 · · · aek2k

=⇒ k szorzás

am mérete m + a méretében exponenciális =⇒ exponenciális alg.

am (mod n) mérete legfeljebb log2 n =⇒ ha mindig a maradékot vesszük

=⇒ polinomiális alg.

A p prím állításra tanú: g és p − 1 egész r1, . . . , rk prímosztói

a bíró gyors hatványozással ellen ˝orizheti, hogy a Lemma feltételei teljesülnek.

Azt is tanúsítani kell, hogy r1, . . . , rk éppen a p − 1 prímosztói (más nincs)

=⇒ prímtényez ˝os felbontás

és azt is, hogy r1, . . . , rk prímek =⇒ rekurzívan

Belátható, hogy a tanú össz mérete O(n2).

(43)

m = e0 + e121 + e222 + · · · + ek2k, k ≤ log2 m és ej ∈ {0, 1}. Ismételt négyzetre emelésekkel =⇒ a2j =⇒ ez k szorzás

szorozzuk össze az a2j hatványokat azokra a j értékekre, melyekre ej = 1

=⇒ am = ae0+e121+e222+···+ek2k = ae0ae121ae222 · · · aek2k

=⇒ k szorzás

am mérete m + a méretében exponenciális =⇒ exponenciális alg.

am (mod n) mérete legfeljebb log2 n =⇒ ha mindig a maradékot vesszük

=⇒ polinomiális alg.

A p prím állításra tanú: g és p − 1 egész r1, . . . , rk prímosztói

a bíró gyors hatványozással ellen ˝orizheti, hogy a Lemma feltételei teljesülnek.

Azt is tanúsítani kell, hogy r1, . . . , rk éppen a p − 1 prímosztói (más nincs)

=⇒ prímtényez ˝os felbontás

és azt is, hogy r1, . . . , rk prímek =⇒ rekurzívan

Belátható, hogy a tanú össz mérete O(n2).

Sejtés: Π 6∈ P

(44)

Prím-e ↔ legkisebb prím osztója

(45)

Prím-e ↔ legkisebb prím osztója

F =

(a, c)

1 < c ≤ a egészek és van olyan 1 < b ≤ c egész, melyre b osztója a-nak

.

Tétel. F ∈ NP ∩ coNP.

(46)

Prím-e ↔ legkisebb prím osztója

F =

(a, c)

1 < c ≤ a egészek és van olyan 1 < b ≤ c egész, melyre b osztója a-nak

.

Tétel. F ∈ NP ∩ coNP.

Bizonyítás: (a, c) ∈ F =⇒ tanú egy jó b érték

(47)

Prím-e ↔ legkisebb prím osztója

F =

(a, c)

1 < c ≤ a egészek és van olyan 1 < b ≤ c egész, melyre b osztója a-nak

.

Tétel. F ∈ NP ∩ coNP.

Bizonyítás: (a, c) ∈ F =⇒ tanú egy jó b érték

(a, c) 6∈ F =⇒ tanú → az a = pα1 1pα2 2 · · ·pαkk és a pi számok prím-tulajdonságának tanúi

(48)

Prím-e ↔ legkisebb prím osztója

F =

(a, c)

1 < c ≤ a egészek és van olyan 1 < b ≤ c egész, melyre b osztója a-nak

.

Tétel. F ∈ NP ∩ coNP.

Bizonyítás: (a, c) ∈ F =⇒ tanú egy jó b érték

(a, c) 6∈ F =⇒ tanú → az a = pα1 1pα2 2 · · ·pαkk és a pi számok prím-tulajdonságának tanúi

Legjobb ismert algoritmus a prím-felbontásra: D. Shanks =⇒ n bites inputon c2n/4.

(49)

Bizonyítás: Legyen E egy gyors alg. F felismerésére

(50)

Bizonyítás: Legyen E egy gyors alg. F felismerésére (a, a − 1) ∈ F?

(51)

Bizonyítás: Legyen E egy gyors alg. F felismerésére (a, a − 1) ∈ F?

ha nem → a prím

(52)

Bizonyítás: Legyen E egy gyors alg. F felismerésére (a, a − 1) ∈ F?

ha nem → a prím

ha igen =⇒ bináris kereséssel megkeressük a legkisebb olyan c-t amire (a, c) ∈ F

(53)

Bizonyítás: Legyen E egy gyors alg. F felismerésére (a, a − 1) ∈ F?

ha nem → a prím

ha igen =⇒ bináris kereséssel megkeressük a legkisebb olyan c-t amire (a, c) ∈ F =⇒ ≤ log2 a hívás

(54)

Bizonyítás: Legyen E egy gyors alg. F felismerésére (a, a − 1) ∈ F?

ha nem → a prím

ha igen =⇒ bináris kereséssel megkeressük a legkisebb olyan c-t amire (a, c) ∈ F =⇒ ≤ log2 a hívás

Utána a/c-re folytatjuk . . .

(55)

Bizonyítás: Legyen E egy gyors alg. F felismerésére (a, a − 1) ∈ F?

ha nem → a prím

ha igen =⇒ bináris kereséssel megkeressük a legkisebb olyan c-t amire (a, c) ∈ F =⇒ ≤ log2 a hívás

Utána a/c-re folytatjuk . . .

=⇒ egy prím-osztó megtalálása: O( log a)d

(56)

Bizonyítás: Legyen E egy gyors alg. F felismerésére (a, a − 1) ∈ F?

ha nem → a prím

ha igen =⇒ bináris kereséssel megkeressük a legkisebb olyan c-t amire (a, c) ∈ F =⇒ ≤ log2 a hívás

Utána a/c-re folytatjuk . . .

=⇒ egy prím-osztó megtalálása: O( log a)d

prím-osztók száma ≤ log a =⇒ összköltség O (log a)d+1

(57)

Bizonyítás: Legyen E egy gyors alg. F felismerésére (a, a − 1) ∈ F?

ha nem → a prím

ha igen =⇒ bináris kereséssel megkeressük a legkisebb olyan c-t amire (a, c) ∈ F =⇒ ≤ log2 a hívás

Utána a/c-re folytatjuk . . .

=⇒ egy prím-osztó megtalálása: O( log a)d

prím-osztók száma ≤ log a =⇒ összköltség O (log a)d+1

P

coNP NP

v

F

(58)

Mikor nem lényegesen nehezebb egy L1 probléma egy L2 problémánál?

(59)

Mikor nem lényegesen nehezebb egy L1 probléma egy L2 problémánál?

=⇒ Ha L2 felhasználásával meg lehet oldani L1-et is.

(60)

Mikor nem lényegesen nehezebb egy L1 probléma egy L2 problémánál?

=⇒ Ha L2 felhasználásával meg lehet oldani L1-et is.

=⇒ L1 visszavezethet ˝o a L2 problémára.

(61)

Mikor nem lényegesen nehezebb egy L1 probléma egy L2 problémánál?

=⇒ Ha L2 felhasználásával meg lehet oldani L1-et is.

=⇒ L1 visszavezethet ˝o a L2 problémára.

Definíció. Az f : I → I leképezés az L1 ⊆ I nyelv Karp-redukciója az L2 ⊆ I nyelvre, ha

1. Tetsz ˝oleges x ∈ I szóra x ∈ L1 pontosan akkor teljesül, ha f(x) ∈ L2; 2. f ∈ F P, azaz f polinom id ˝oben számítható.

(62)

Mikor nem lényegesen nehezebb egy L1 probléma egy L2 problémánál?

=⇒ Ha L2 felhasználásával meg lehet oldani L1-et is.

=⇒ L1 visszavezethet ˝o a L2 problémára.

Definíció. Az f : I → I leképezés az L1 ⊆ I nyelv Karp-redukciója az L2 ⊆ I nyelvre, ha

1. Tetsz ˝oleges x ∈ I szóra x ∈ L1 pontosan akkor teljesül, ha f(x) ∈ L2; 2. f ∈ F P, azaz f polinom id ˝oben számítható.

Jelölés: L1 ≺ L2 ha L1-nek van Karp-redukciója L2-re.

Ha tehát van algoritmusunk L2 eldöntésére =⇒

(63)

Mikor nem lényegesen nehezebb egy L1 probléma egy L2 problémánál?

=⇒ Ha L2 felhasználásával meg lehet oldani L1-et is.

=⇒ L1 visszavezethet ˝o a L2 problémára.

Definíció. Az f : I → I leképezés az L1 ⊆ I nyelv Karp-redukciója az L2 ⊆ I nyelvre, ha

1. Tetsz ˝oleges x ∈ I szóra x ∈ L1 pontosan akkor teljesül, ha f(x) ∈ L2; 2. f ∈ F P, azaz f polinom id ˝oben számítható.

Jelölés: L1 ≺ L2 ha L1-nek van Karp-redukciója L2-re.

Ha tehát van algoritmusunk L2 eldöntésére =⇒ x ∈ L1-re kiszámítjuk f(x)-et

(64)

Mikor nem lényegesen nehezebb egy L1 probléma egy L2 problémánál?

=⇒ Ha L2 felhasználásával meg lehet oldani L1-et is.

=⇒ L1 visszavezethet ˝o a L2 problémára.

Definíció. Az f : I → I leképezés az L1 ⊆ I nyelv Karp-redukciója az L2 ⊆ I nyelvre, ha

1. Tetsz ˝oleges x ∈ I szóra x ∈ L1 pontosan akkor teljesül, ha f(x) ∈ L2; 2. f ∈ F P, azaz f polinom id ˝oben számítható.

Jelölés: L1 ≺ L2 ha L1-nek van Karp-redukciója L2-re.

Ha tehát van algoritmusunk L2 eldöntésére =⇒ x ∈ L1-re kiszámítjuk f(x)-et eldöntjük f(x) ∈ L2?

(65)

Mikor nem lényegesen nehezebb egy L1 probléma egy L2 problémánál?

=⇒ Ha L2 felhasználásával meg lehet oldani L1-et is.

=⇒ L1 visszavezethet ˝o a L2 problémára.

Definíció. Az f : I → I leképezés az L1 ⊆ I nyelv Karp-redukciója az L2 ⊆ I nyelvre, ha

1. Tetsz ˝oleges x ∈ I szóra x ∈ L1 pontosan akkor teljesül, ha f(x) ∈ L2; 2. f ∈ F P, azaz f polinom id ˝oben számítható.

Jelölés: L1 ≺ L2 ha L1-nek van Karp-redukciója L2-re.

Ha tehát van algoritmusunk L2 eldöntésére =⇒ x ∈ L1-re kiszámítjuk f(x)-et eldöntjük f(x) ∈ L2? =⇒ tudjuk, hogy x ∈ L1 igaz-e

(66)

Mikor nem lényegesen nehezebb egy L1 probléma egy L2 problémánál?

=⇒ Ha L2 felhasználásával meg lehet oldani L1-et is.

=⇒ L1 visszavezethet ˝o a L2 problémára.

Definíció. Az f : I → I leképezés az L1 ⊆ I nyelv Karp-redukciója az L2 ⊆ I nyelvre, ha

1. Tetsz ˝oleges x ∈ I szóra x ∈ L1 pontosan akkor teljesül, ha f(x) ∈ L2; 2. f ∈ F P, azaz f polinom id ˝oben számítható.

Jelölés: L1 ≺ L2 ha L1-nek van Karp-redukciója L2-re.

Ha tehát van algoritmusunk L2 eldöntésére =⇒ x ∈ L1-re kiszámítjuk f(x)-et eldöntjük f(x) ∈ L2? =⇒ tudjuk, hogy x ∈ L1 igaz-e

Ha tudnánk, hogy L nehéz és tudjuk, hogy L ≺ L0

(67)

Mikor nem lényegesen nehezebb egy L1 probléma egy L2 problémánál?

=⇒ Ha L2 felhasználásával meg lehet oldani L1-et is.

=⇒ L1 visszavezethet ˝o a L2 problémára.

Definíció. Az f : I → I leképezés az L1 ⊆ I nyelv Karp-redukciója az L2 ⊆ I nyelvre, ha

1. Tetsz ˝oleges x ∈ I szóra x ∈ L1 pontosan akkor teljesül, ha f(x) ∈ L2; 2. f ∈ F P, azaz f polinom id ˝oben számítható.

Jelölés: L1 ≺ L2 ha L1-nek van Karp-redukciója L2-re.

Ha tehát van algoritmusunk L2 eldöntésére =⇒ x ∈ L1-re kiszámítjuk f(x)-et eldöntjük f(x) ∈ L2? =⇒ tudjuk, hogy x ∈ L1 igaz-e

Ha tudnánk, hogy L nehéz és tudjuk, hogy L ≺ L0 =⇒ L0 is nehéz lenne

(68)

Mikor nem lényegesen nehezebb egy L1 probléma egy L2 problémánál?

=⇒ Ha L2 felhasználásával meg lehet oldani L1-et is.

=⇒ L1 visszavezethet ˝o a L2 problémára.

Definíció. Az f : I → I leképezés az L1 ⊆ I nyelv Karp-redukciója az L2 ⊆ I nyelvre, ha

1. Tetsz ˝oleges x ∈ I szóra x ∈ L1 pontosan akkor teljesül, ha f(x) ∈ L2; 2. f ∈ F P, azaz f polinom id ˝oben számítható.

Jelölés: L1 ≺ L2 ha L1-nek van Karp-redukciója L2-re.

Ha tehát van algoritmusunk L2 eldöntésére =⇒ x ∈ L1-re kiszámítjuk f(x)-et eldöntjük f(x) ∈ L2? =⇒ tudjuk, hogy x ∈ L1 igaz-e

Ha tudnánk, hogy L nehéz és tudjuk, hogy L ≺ L0 =⇒ L0 is nehéz lenne Ha L0 könny ˝u lenne, és L nem lényegesen nehezebb nála, akkor L is könny ˝u.

(69)

Tétel. IHH.

Bizonyítás: G = (V, E) egy irányított gráf → G0 = (V 0, E0) irányítatlan gráf

(70)

Bizonyítás: G = (V, E) egy irányított gráf → G0 = (V 0, E0) irányítatlan gráf hogy G0 gyorsan megépíthet ˝o és

(71)

Tétel. IHH.

Bizonyítás: G = (V, E) egy irányított gráf → G0 = (V 0, E0) irányítatlan gráf hogy G0 gyorsan megépíthet ˝o és

G-ben ∃ irányított Hamilton-kör ↔ G0-ben ∃ irányítatlan Hamilton-kör.

(72)

Bizonyítás: G = (V, E) egy irányított gráf → G0 = (V 0, E0) irányítatlan gráf hogy G0 gyorsan megépíthet ˝o és

G-ben ∃ irányított Hamilton-kör ↔ G0-ben ∃ irányítatlan Hamilton-kör.

V 0 = {vbe, v, vki | v ∈ V },

E0 = {(vbe, v), (v, vki) | v ∈ V } ∪ {(uki, vbe) | u → v ∈ E}.

u v

(73)

Tétel. IHH.

Bizonyítás: G = (V, E) egy irányított gráf → G0 = (V 0, E0) irányítatlan gráf hogy G0 gyorsan megépíthet ˝o és

G-ben ∃ irányított Hamilton-kör ↔ G0-ben ∃ irányítatlan Hamilton-kör.

V 0 = {vbe, v, vki | v ∈ V },

E0 = {(vbe, v), (v, vki) | v ∈ V } ∪ {(uki, vbe) | u → v ∈ E}.

u v ubeuuki vbev vki

v(G) = n, e(G) = e =⇒ v(G0) = 3n, e(G0) = 2n + e =⇒ (n + e)c lépésben megkapható.

(74)

Bizonyítás: G = (V, E) egy irányított gráf → G0 = (V 0, E0) irányítatlan gráf hogy G0 gyorsan megépíthet ˝o és

G-ben ∃ irányított Hamilton-kör ↔ G0-ben ∃ irányítatlan Hamilton-kör.

V 0 = {vbe, v, vki | v ∈ V },

E0 = {(vbe, v), (v, vki) | v ∈ V } ∪ {(uki, vbe) | u → v ∈ E}.

u v ubeuuki vbev vki

v(G) = n, e(G) = e =⇒ v(G0) = 3n, e(G0) = 2n + e =⇒ (n + e)c lépésben megkapható.

G-beli F irányított Hamilton-körének =⇒ G0 egy F 0 Hamilton-köre

(75)

u v ubeuuki vbev vki

Az F egy u → v éle =⇒ az F0-ben az u − uki − vbe − v út

(76)

Az F egy u → v éle =⇒ az F0-ben az u − uki − vbe − v út

=⇒ G ∈ IH =⇒ G0 ∈ H

(77)

u v ubeuuki vbev vki

Az F egy u → v éle =⇒ az F0-ben az u − uki − vbe − v út

=⇒ G ∈ IH =⇒ G0 ∈ H

Ha G0-ben van egy F 0 ⊆ E0 Hamilton-kör =⇒ egy u-ból indulva egy uki felé lépjünk el ˝oször

(78)

Az F egy u → v éle =⇒ az F0-ben az u − uki − vbe − v út

=⇒ G ∈ IH =⇒ G0 ∈ H

Ha G0-ben van egy F 0 ⊆ E0 Hamilton-kör =⇒ egy u-ból indulva egy uki felé lépjünk el ˝oször

=⇒ csak u − uki − vbe − v alakú lehet utána =⇒ stb. =⇒ Ha G0 ∈ H akkor G ∈ IH.

(79)

Tétel.

1. Ha L1 ≺ L2 és L2 ∈ P, akkor L1 ∈ P.

2. Ha L1 ≺ L2 és L2 ∈ NP akkor L1 ∈ NP.

3. Ha L1 ≺ L2, akkor L1 ≺ L2, ahol Li = I \ Li. 4. Ha L1 ≺ L2 és L2 ∈ coNP, akkor L1 ∈ coNP.

5. Ha L1 ≺ L2 és L2 ∈ NP ∩ coNP, akkor L1 ∈ NP ∩ coNP.

6. Ha L1 ≺ L2 és L2 ≺ L3, akkor L1 ≺ L3. Bizonyítás:

Legyen f : I → I az L1 Karp-redukciója L2-re, f ∈ F T IM E(nk).

(80)

1. Ha L1 ≺ L2 és L2 ∈ P, akkor L1 ∈ P.

2. Ha L1 ≺ L2 és L2 ∈ NP akkor L1 ∈ NP.

3. Ha L1 ≺ L2, akkor L1 ≺ L2, ahol Li = I \ Li. 4. Ha L1 ≺ L2 és L2 ∈ coNP, akkor L1 ∈ coNP.

5. Ha L1 ≺ L2 és L2 ∈ NP ∩ coNP, akkor L1 ∈ NP ∩ coNP.

6. Ha L1 ≺ L2 és L2 ≺ L3, akkor L1 ≺ L3. Bizonyítás:

Legyen f : I → I az L1 Karp-redukciója L2-re, f ∈ F T IM E(nk).

x ∈ I egy input szót, melyre szeretnénk eldönteni, hogy x ∈ L1 teljesül-e, n az x hossza.

(81)

Tétel.

1. Ha L1 ≺ L2 és L2 ∈ P, akkor L1 ∈ P.

2. Ha L1 ≺ L2 és L2 ∈ NP akkor L1 ∈ NP.

3. Ha L1 ≺ L2, akkor L1 ≺ L2, ahol Li = I \ Li. 4. Ha L1 ≺ L2 és L2 ∈ coNP, akkor L1 ∈ coNP.

5. Ha L1 ≺ L2 és L2 ∈ NP ∩ coNP, akkor L1 ∈ NP ∩ coNP.

6. Ha L1 ≺ L2 és L2 ≺ L3, akkor L1 ≺ L3. Bizonyítás:

Legyen f : I → I az L1 Karp-redukciója L2-re, f ∈ F T IM E(nk).

x ∈ I egy input szót, melyre szeretnénk eldönteni, hogy x ∈ L1 teljesül-e, n az x hossza.

1. Kiszámítjuk f(x)-et

(82)

1. Ha L1 ≺ L2 és L2 ∈ P, akkor L1 ∈ P.

2. Ha L1 ≺ L2 és L2 ∈ NP akkor L1 ∈ NP.

3. Ha L1 ≺ L2, akkor L1 ≺ L2, ahol Li = I \ Li. 4. Ha L1 ≺ L2 és L2 ∈ coNP, akkor L1 ∈ coNP.

5. Ha L1 ≺ L2 és L2 ∈ NP ∩ coNP, akkor L1 ∈ NP ∩ coNP.

6. Ha L1 ≺ L2 és L2 ≺ L3, akkor L1 ≺ L3. Bizonyítás:

Legyen f : I → I az L1 Karp-redukciója L2-re, f ∈ F T IM E(nk).

x ∈ I egy input szót, melyre szeretnénk eldönteni, hogy x ∈ L1 teljesül-e, n az x hossza.

1. Kiszámítjuk f(x)-et =⇒ id ˝oigénye ≤ c1nk =⇒ |f(x)| ≤ c1nk

(83)

Tétel.

1. Ha L1 ≺ L2 és L2 ∈ P, akkor L1 ∈ P.

2. Ha L1 ≺ L2 és L2 ∈ NP akkor L1 ∈ NP.

3. Ha L1 ≺ L2, akkor L1 ≺ L2, ahol Li = I \ Li. 4. Ha L1 ≺ L2 és L2 ∈ coNP, akkor L1 ∈ coNP.

5. Ha L1 ≺ L2 és L2 ∈ NP ∩ coNP, akkor L1 ∈ NP ∩ coNP.

6. Ha L1 ≺ L2 és L2 ≺ L3, akkor L1 ≺ L3. Bizonyítás:

Legyen f : I → I az L1 Karp-redukciója L2-re, f ∈ F T IM E(nk).

x ∈ I egy input szót, melyre szeretnénk eldönteni, hogy x ∈ L1 teljesül-e, n az x hossza.

1. Kiszámítjuk f(x)-et =⇒ id ˝oigénye ≤ c1nk =⇒ |f(x)| ≤ c1nk L2 felismer ˝o algoritmusával eldöntjük, hogy f(x) ∈ L2 igaz-e

(84)

1. Ha L1 ≺ L2 és L2 ∈ P, akkor L1 ∈ P.

2. Ha L1 ≺ L2 és L2 ∈ NP akkor L1 ∈ NP.

3. Ha L1 ≺ L2, akkor L1 ≺ L2, ahol Li = I \ Li. 4. Ha L1 ≺ L2 és L2 ∈ coNP, akkor L1 ∈ coNP.

5. Ha L1 ≺ L2 és L2 ∈ NP ∩ coNP, akkor L1 ∈ NP ∩ coNP.

6. Ha L1 ≺ L2 és L2 ≺ L3, akkor L1 ≺ L3. Bizonyítás:

Legyen f : I → I az L1 Karp-redukciója L2-re, f ∈ F T IM E(nk).

x ∈ I egy input szót, melyre szeretnénk eldönteni, hogy x ∈ L1 teljesül-e, n az x hossza.

1. Kiszámítjuk f(x)-et =⇒ id ˝oigénye ≤ c1nk =⇒ |f(x)| ≤ c1nk L2 felismer ˝o algoritmusával eldöntjük, hogy f(x) ∈ L2 igaz-e

=⇒ id ˝oigénye ≤ c2(c1nk)l

(85)

Tétel.

1. Ha L1 ≺ L2 és L2 ∈ P, akkor L1 ∈ P.

2. Ha L1 ≺ L2 és L2 ∈ NP akkor L1 ∈ NP.

3. Ha L1 ≺ L2, akkor L1 ≺ L2, ahol Li = I \ Li. 4. Ha L1 ≺ L2 és L2 ∈ coNP, akkor L1 ∈ coNP.

5. Ha L1 ≺ L2 és L2 ∈ NP ∩ coNP, akkor L1 ∈ NP ∩ coNP.

6. Ha L1 ≺ L2 és L2 ≺ L3, akkor L1 ≺ L3. Bizonyítás:

Legyen f : I → I az L1 Karp-redukciója L2-re, f ∈ F T IM E(nk).

x ∈ I egy input szót, melyre szeretnénk eldönteni, hogy x ∈ L1 teljesül-e, n az x hossza.

1. Kiszámítjuk f(x)-et =⇒ id ˝oigénye ≤ c1nk =⇒ |f(x)| ≤ c1nk L2 felismer ˝o algoritmusával eldöntjük, hogy f(x) ∈ L2 igaz-e

=⇒ id ˝oigénye ≤ c2(c1nk)l

x ∈ L1 ↔ f(x) ∈ L2 =⇒ összid ˝o O(nkl)

(86)

1. Ha L1 ≺ L2 és L2 ∈ P, akkor L1 ∈ P.

2. Ha L1 ≺ L2 és L2 ∈ NP akkor L1 ∈ NP.

3. Ha L1 ≺ L2, akkor L1 ≺ L2, ahol Li = I \ Li. 4. Ha L1 ≺ L2 és L2 ∈ coNP, akkor L1 ∈ coNP.

5. Ha L1 ≺ L2 és L2 ∈ NP ∩ coNP, akkor L1 ∈ NP ∩ coNP.

6. Ha L1 ≺ L2 és L2 ≺ L3, akkor L1 ≺ L3. Bizonyítás:

Legyen f : I → I az L1 Karp-redukciója L2-re, f ∈ F T IM E(nk).

x ∈ I egy input szót, melyre szeretnénk eldönteni, hogy x ∈ L1 teljesül-e, n az x hossza.

1. Kiszámítjuk f(x)-et =⇒ id ˝oigénye ≤ c1nk =⇒ |f(x)| ≤ c1nk L2 felismer ˝o algoritmusával eldöntjük, hogy f(x) ∈ L2 igaz-e

=⇒ id ˝oigénye ≤ c2(c1nk)l

x ∈ L1 ↔ f(x) ∈ L2 =⇒ összid ˝o O(nkl)

(87)

az L1 bírójának is

(88)

|y| ≤ |f(x)|c =⇒ |y| ≤ cc1|x|kc

(89)

az L1 bírójának is

|y| ≤ |f(x)|c =⇒ |y| ≤ cc1|x|kc

Az L1 bírója az (x, y) → f(x) =⇒ (f(x), y) → L2 bírájának

(90)

|y| ≤ |f(x)|c =⇒ |y| ≤ cc1|x|kc

Az L1 bírója az (x, y) → f(x) =⇒ (f(x), y) → L2 bírájának

L1 bírója pontosan akkor fogadja el az (x, y) párt ↔ L2 bírója elfogadja az (f(x), y) párt

(91)

az L1 bírójának is

|y| ≤ |f(x)|c =⇒ |y| ≤ cc1|x|kc

Az L1 bírója az (x, y) → f(x) =⇒ (f(x), y) → L2 bírájának

L1 bírója pontosan akkor fogadja el az (x, y) párt ↔ L2 bírója elfogadja az (f(x), y) párt

3.: Ha L1 ≺ L2, akkor L1 ≺ L2: Mint 1. hiszen x ∈ I szóra x 6∈ L1 ↔ f(x) 6∈ L2.

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Elvégezhet ˝o pusztán az egybet ˝us szavak kódjainak, valamint a kódok képzési szabályának ismeretében, nem kell tárolni S -et.... EL ˝

A billenty ˝uk száma véges = ⇒ ezen számok halmaza is véges = ⇒ Van tehát egy legkisebb természetes szám, amit nem lehet definiálni a fenti módon... EL ˝

A második követelmény elég nehezen megfogható, mert a gyakorlatban el ˝oforduló kulcshalmazok egyáltalán nem véletlenszer ˝uek.... EL ˝

Az ellenség úgy válaszol, hogy minél több lehet ˝oség maradjon, így el tudja érni, hogy legalább

Ahhoz, hogy belássuk, hogy i szuperforrás, meg kell vizsgálni az i-edik sor és i-edik oszlop minden elemét.... Ahhoz, hogy belássuk, hogy i szuperforrás, meg kell vizsgálni az

Ha P = NP teljesülne, akkor minden olyan problémára, amelyre van hatékony tanúsítvány (azaz NP-beli), lenne polinomiális algoritmus is. Fogunk mutatni olyan problámákat,

Mindig a legkisebb súlyú olyan élet színezzük kékre, ami még nem alkot kört az eddigi kék élekkel.. = ⇒ A kék élek végig egy erd ˝ot határoznak meg, akkor van kész,

Az M Turing-gép számolási ideje az s inputon a megállásáig végrehajtott lépések száma tárigénye pedig a felhasznált (olvasott) szalagcellák száma.... Id ˝ o-