+ All Categories
Home > Documents > NPC Más problemas NP-Completos

NPC Más problemas NP-Completos

Date post: 01-Dec-2023
Category:
Upload: independent
View: 0 times
Download: 0 times
Share this document with a friend
37
Complexity ©D.Moshkovitz 1 NPC Más problemas NP-Completos
Transcript

Complexity©D.Moshkovitz

1

NPCMás problemas NP-Completos

Complexity©D.Moshkovitz

2

Introducción

• Objetivos: - Introducir más NP-Completos.

• Resumen:– 3SAT– CLIQUE – INDEPENDENT-SET

Complexity©D.Moshkovitz

3

Método

• ¿Cómo demostramos que un problema está en NPC?– Primero probamos que el problema está en

NP– Después demostramos que es NP-Hard

reduciendo algún problema NP-Hard a él.

Complexity©D.Moshkovitz

4

Nuevos problemas base

• El único problema NP-Completo que conocemos es SAT.

• Desgraciadamente no es muy cómodotrabajar con SAT.

• Por ello, comenzaremos introduciendo variantes más útiles de SAT.

• Usaremos estas variantes como problemas base.

Complexity©D.Moshkovitz

5

3SATEntrada: a 3CNF formulaProblema: Decidir si la fórmula es satisfactible.

(x∨y∨¬z)∧(x∨¬y∨z)(xUna fórmula 3CNF satisfactible ∨y∨¬z)∧(x∨¬y∨z)

(x∨x∨x)∧(¬x∨¬x∨¬x)(xUna fórmula 3CNF insatisfactible ∨x∨x)∧(¬x∨¬x∨¬x)

Complexity©D.Moshkovitz

6

SIP 259-260

3SAT es NP-Completo

• 3SAT es un caso especial de SAT y, por tanto, está en NP.

• Para ver que es NP-Completo,volvemos a la prueba de que SAT esNP-Completo,

¿Será suficiente con fórmulas

3CNF?

Complexity©D.Moshkovitz

7

Volviendo a la prueba de que SAT es NP-Completo

Dada una máquina de Turing y una entrada se produce la fórmula:

∨∧

= ∧∨∧

∈≠∈≤≤

)xx(xφ tj,i,sj,i,Cts

sj,i,Csnji,1

cellk

#,n1,_1,n1,_2,n1,w1,3,q1,2,#1,1,start kk10xx...x...xxxφ ∧∧∧∧∧∧∧=

−+

( )k 1 61 6

move i 1,j,a i 1,j 1,a1 i,j n legal a ,...,aφ x ... x− + +

≤ ≤= ∧ ∧ ∧∨

acceptk

qj,i,nji,1

accept xφ ∨≤≤

=

Complexity©D.Moshkovitz

8

Transformando la fórmula en una fórmula CNF

• Todas las subfórmulas salvo ϕmove, son fórmulas CNF.

• Usando la operación distributiva podemos transformar ϕmove en una conjunción de cláusulas CNF.

• La fórmula resultante sigue teniendo un tamaño polinómico (¡Comprobarlo!).

Complexity©D.Moshkovitz

9

CNF → 3CNF(x∨y)∧(x1∨x2∨... ∨xt)∧...

Clausulas con 1 o 2 literales

(x∨y∨x)

repetición

Clausulas con 3 o más literales

división

(x1 ∨ x2 ∨ c11)∧(¬c11∨ x3 ∨c12)∧... ∧(¬c1t-3∨ xt-1∨xt)

Complexity©D.Moshkovitz

10

3SAT es NP-Completo

• Hemos visto que podemos reducir cualquier problema de NP a 3SAT

• y que 3SAT está en NP• 3SAT es NP-Completo.

Complexity©D.Moshkovitz

11

CLIQUEEntrada: Un grafo no dirigido G=(V,E) y un

natural k.Problema: Decidir si existe un conjunto de

nodos C={v1,...,vk}⊆V, t.q. por cada u,v∈C: (u,v)∈E.

Complexity©D.Moshkovitz

12

CLIQUE está en NPCon entrada G=(V,E),k:• Adivinar C={v1,...,vk}⊆V• Por cada u,v∈C: comprobar que

(u,v)∈E• Rechazar si alguna comprobación

falla, aceptar en otro caso

La longitud del certificado: O(n) (n=|V|)El tiempo de ejecución: O(n2)

Complexity©D.Moshkovitz

13

SIP 251-253

CLIQUE es NP-Completo

Prueba: Demostraremos que3SAT≤pCLIQUE.

..)..(.......)..(.. ∨∨∧∧∨∨ ≤p

Complexity©D.Moshkovitz

14

La reducciónPor cada cláusula (α∨β∨γ)

⇒|V| = longitud de la fórmulaα β γ

conectadosi y sólo si

α≠¬δ

K=no. of cláusulas

δ

Complexity©D.Moshkovitz

15

Prueba¡NO

conectados!

1

.

.

.

k

Un clique de tamaño k debe contener un nodo

de cada capa.

Complexity©D.Moshkovitz

16

Las dos direcciones de la reducción

Dado un k-clique, asigna a x TRUE o FALSE según x o ¬x estén en el clique. Esto satisface la fórmula

.....)..(.......)..(.. ∨∨∧∧∨∨

Dada una asignación que satisface la fórmula, un conjunto formado por un

literal con valor TRUE de cada cláusula es un k-clique.

Complexity©D.Moshkovitz

17

INDEPENDENT-SETEntrada: Un grafo no dirigido G=(V,E) y un

natural k.Problema: Decidir si existe un conjunto de

nodos I={v1,...,vk}⊆V, t.q. Por cada u,v∈I: (u,v)∉E.

Complexity©D.Moshkovitz

18

INDEPENDENT-SET ∈ NP

Con entrada G=(V,E),k:• Adivinar I={v1,...,vk}⊆V• Por cada u,v∈C: comprobar

(u,v)∉E• Rechazar si alguna comprobación

falla, aceptar en otro caso.

La longitud del certificado: O(n) (n=|V|)El tiempo de ejecución: O(n2)

Complexity©D.Moshkovitz

19

INDEPENDENT-SET ∈ NPC

Prueba: Por el hecho de estar en NP y una reducción trivial desde CLIQUE.

Existe un k-IS en el grafo

complementario

Existe un k-clique

Complexity©D.Moshkovitz

20

SUBSET-SUM

Entrada: Un conjunto de números S y un número t a obtener.

Problem: Decidir si existe un subconjuntoY⊆S tal que Σn∈Y n = t.

Complexity©D.Moshkovitz

21

SUBSET-SUM está en NP

Con entrada S,t:• Adivinar Y⊆S• Aceptar si y sólo si Σn∈Y n = t.

La longitud del certificado es : O(n) (n=|S|)El tiempo de ejecución es polinómico.

Complexity©D.Moshkovitz

22

SIP 269-271

SUBSET-SUM ∈ NPC

Prueba: 3SAT≤pSUBSET-SUM.

..)..(.......)..(.. ∨∨∧∧∨∨ ≤p

Complexity©D.Moshkovitz

23

SUBSET-SUM ∈ NPC

c1 c2 …… ck

un dígito por cláusula

numéro por cada variable xi con valor true: yi

numéro por cada variable con xi valor false : zi

1 si xi está en cj

0 en otro caso1 si ¬xi está en cj

0 en otro caso

Complexity©D.Moshkovitz

24

SUBSET-SUM ∈ NPC

c1 c2 …… ck

un dígito por cláusula

t:

0<d<4

Complexity©D.Moshkovitz

25

SUBSET-SUM ∈ NPC

c1 c2 …… ck

un dígito por cláusula

11

t: 3

Complexity©D.Moshkovitz

26

011101

000001

100100

001001

c1 c2 … cky1

z1

yl

zlUn subconjunto podría contener

tanto a yi como a zi

SUBSET-SUM ∈ NPC

. . .

. . .

3 3 3

Complexity©D.Moshkovitz

27

SUBSET-SUM ∈ NPC

011101

000001

. . .

y1

z1

yl

zl100100

001001

100100

001001

c1 c2 … ck

3 31 1 1 3

100100

001001

. . .

Complexity©D.Moshkovitz

28

La reducción es polinómicakl

2l

2k

Complexity©D.Moshkovitz

29

⇒Si existe una asignación que satisface la fórmula, entonces se puede elegir un subconjunto de números que sumen t:

– Si la variable i-ésima es TRUE, elegimos yi, en vez de zi. Si es FALSE, LO CONTRARIO

– Sumamos los números auxiliares que necesitemos.

⇒los 1’s

⇒ los 3’sSólo si la cláusula es TRUE

Las dos direcciones de la reducción

Complexity©D.Moshkovitz

30

Las dos direcciones de la reducción

⇐ Si existe un subconjunto que suma t, la fórmula es satisfactible:

– Si yi está en el subconjunto, asignarTRUE a la i-ésima variable.

– Si zi está en el subconjunto, asignarFALSE a la i-ésima variable.

Complexity©D.Moshkovitz

31

Observación: no hay “carry”

• Todos los dígitos son 0’s o 1’s.

• Cada columnacontiene comomucho cinco 1’s.

• No existe “carry”.

011101

000001

c1 c2 … cky1

z1

yl

zl

3 3 3

100

1 0 01 0 0

0 0 1

1 0 01 0 0

0 0 10 0 1

1 1 1

Complexity©D.Moshkovitz

32

La asignación es consistente

• El subconjunto sólopuede contener o bien yi o bien zi, pero no los dos a la vez.

011101

000001

c1 c2 … cky1

z1

yl

zl

3 3 3

1 0 01 0 0

0 0 10 0 1

1 0 01 0 0

0 0 10 0 1

1 1 1

Complexity©D.Moshkovitz

33

La fórmula es satisfactible

• En cada columna, como mucho, se pueden obtener 2 unidades de los números auxiliares.Por tanto todas las cláusulas son satisfechas.

011101

000001

c1 c2 … cky1

z1

yl

zl

3 3 3

1 0 01 0 0

0 0 10 0 1

1 0 01 0 0

0 0 10 0 1

1 1 1

Complexity©D.Moshkovitz

34

SUBSET-SUM ∈ NPC

1. SUBSET-SUM está en NP2. 3SAT ≤p SUBSET-SUM3. SUBSET-SUM es NP-Completo

Complexity©D.Moshkovitz

35

Resumen

• Hemos añadido más problemas a la clase NPC.

• Es muy importante señalar que ¡NPCcontiene más de 1000 problemas diferentes!

Complexity©D.Moshkovitz

36

Apéndice

Complexity©D.Moshkovitz

37

Diccionario

literal: variable booleana negada o noEjemplo: x, ¬x

cláusula: varios literales unidos por ∨

Ejemplo: (x∨¬y∨z)CNF (Conjunctive Normal Form): varias cláusulasunidas por ∧

Ejemplo: (x∨ y)∧(x∨¬y∨z)3CNF: un fórmula CNF con 3 literales en cada cláusula

Ejemplo: (x∨y∨¬z)∧(x∨¬y∨z)

negación: not (¬)conjunción: and (∧)disjunción: or (∨)


Recommended