Escolar Documentos
Profissional Documentos
Cultura Documentos
João Gouveia
O que é?
min 10x + 5y
s. a
min 10x + 5y
s. a 20x + 50y ≥ 200
min 10x + 5y
s. a 20x + 50y ≥ 200
50x + 10y ≥ 150
min 10x + 5y
s. a 20x + 50y ≥ 200
50x + 10y ≥ 150
30x + 30y ≤ 600
min 10x + 5y
s. a 20x + 50y ≥ 200
50x + 10y ≥ 150
30x + 30y ≤ 600
x,y ≥ 0
min 10x + 5y
min 10x + 5y
−200
20 50
Exemplo:
9 −8 −2
A = −8 26 4 0
−2 4 6
Exemplo:
9 −8 −2
A = −8 26 4 0 −→ Spec(A) = {5, 6, 30}
−2 4 6
Exemplo:
9 −8 −2 1 2 2 1 0 2
A = −8 26 4 0 −→ Spec(A) = {5, 6, 30} −→ A = 0 1 −5 2 1 −1
−2 4 6 2 −1 −1 2 −5 −1
Exemplo:
9 −8 −2 1 2 2 1 0 2
A = −8 26 4 0 −→ Spec(A) = {5, 6, 30} −→ A = 0 1 −5 2 1 −1
−2 4 6 2 −1 −1 2 −5 −1
min x −y
+z
1 x y
s.t. x x z 0
y z y
min x −y
+z
1 x y
s.t. x x z 0
y z y
min x −y +z min x +y +z
1+x y −z x +y
1 x y
s.t. x x z 0 s.t. y −z 1−x z 0
y z y x +y z z
min x −y +z min x +y +z
1+x y −z x +y
1 x y
s.t. x x z 0 s.t. y −z 1−x z 0
y z y x +y z z
Definition
Dado um grafo G = (V , E) e uma partição V1 , V2 de V , o conjunto C
de arestas entre V1 e V2 diz-se um corte.
Definition
Dado um grafo G = (V , E) e uma partição V1 , V2 de V , o conjunto C
de arestas entre V1 e V2 diz-se um corte.
Definition
Dado um grafo G = (V , E) e uma partição V1 , V2 de V , o conjunto C
de arestas entre V1 e V2 diz-se um corte.
Definition
Dado um grafo G = (V , E) e uma partição V1 , V2 de V , o conjunto C
de arestas entre V1 e V2 diz-se um corte.
O problema
Queremos encontrar o corte C com o maior número possível de
arestas.
Ideia Simples
Lançamos a moeda ao ar para cada vértice e dividimo-los em cara e
coroa.
Ideia Simples
Lançamos a moeda ao ar para cada vértice e dividimo-los em cara e
coroa.
Ideia Simples
Lançamos a moeda ao ar para cada vértice e dividimo-los em cara e
coroa.
Ideia Simples
Lançamos a moeda ao ar para cada vértice e dividimo-los em cara e
coroa.
Ideia Simples
Lançamos a moeda ao ar para cada vértice e dividimo-los em cara e
coroa.
Ideia Simples
Lançamos a moeda ao ar para cada vértice e dividimo-los em cara e
coroa.
MaxCut
X1
max (1 − X ij ),
X 2
i,j
com X 0, diag(X ) = 1
João Gouveia (UC ) Programação semidefinida 12 / 25
Exemplo
Grafo aleatório com 70 vértices e 250 arestas.
Como o encontrar?
Como o encontrar?
1 Escrever X = CC T . Linhas de C ↔ vetores em Rn de norma 1.
Como o encontrar?
1 Escrever X = CC T . Linhas de C ↔ vetores em Rn de norma 1.
2 A cada vértice v de G corresponde um ponto pv na esfera S n−1 .
Como o encontrar?
1 Escrever X = CC T . Linhas de C ↔ vetores em Rn de norma 1.
2 A cada vértice v de G corresponde um ponto pv na esfera S n−1 .
3 Geramos um hiperplano aleatório e particionamos os vértices
conforme o lado em que calham.
Como o encontrar?
1 Escrever X = CC T . Linhas de C ↔ vetores em Rn de norma 1.
2 A cada vértice v de G corresponde um ponto pv na esfera S n−1 .
3 Geramos um hiperplano aleatório e particionamos os vértices
conforme o lado em que calham.
x 2 + x 4 + y 2 − x 2 y 2 − 2y 3 + y 4 = (x 2 − y 2 + y )2 + (xy − x)2 .
x 2 + x 4 + y 2 − x 2 y 2 − 2y 3 + y 4 = (x 2 − y 2 + y )2 + (xy − x)2 .
x 2 + x 4 + y 2 − x 2 y 2 − 2y 3 + y 4 = (x 2 − y 2 + y )2 + (xy − x)2 .
x 2 + x 4 + y 2 − x 2 y 2 − 2y 3 + y 4 = (x 2 − y 2 + y )2 + (xy − x)2 .
x 2 + x 4 + y 2 − x 2 y 2 − 2y 3 + y 4 = (x 2 − y 2 + y )2 + (xy − x)2 .
x 2 + x 4 + y 2 − x 2 y 2 − 2y 3 + y 4 = (x 2 − y 2 + y )2 + (xy − x)2 .
x 2 + x 4 + y 2 − x 2 y 2 − 2y 3 + y 4 = (x 2 − y 2 + y )2 + (xy − x)2 .
x 2 + x 4 + y 2 − x 2 y 2 − 2y 3 + y 4 = (x 2 − y 2 + y )2 + (xy − x)2 .
x 2 + x 4 + y 2 − x 2 y 2 − 2y 3 + y 4 = (x 2 − y 2 + y )2 + (xy − x)2 .
com H 0.
x 2 + x 4 + y 2 − x 2 y 2 − 2y 3 + y 4 = (x 2 − y 2 + y )2 + (xy − x)2 .
X2 = [1, x, y , x 2 , xy , y 2 ]t .
X2 = [1, x, y , x 2 , xy , y 2 ]t .
X2 = [1, x, y , x 2 , xy , y 2 ]t .
X2 = [1, x, y , x 2 , xy , y 2 ]t .
M(x, y ) = x 4 y 2 + y 4 x 2 + 1 − 3x 2 y 2 .
M(x, y ) = x 4 y 2 + y 4 x 2 + 1 − 3x 2 y 2 .
M(x, y ) = x 4 y 2 + y 4 x 2 + 1 − 3x 2 y 2 .
2 2
x 3 y + xy 3 − 2xy x2 − y2
2 2
M(x, y ) = (x + y + 1) + .
x2 + y2 x2 + y2
jgouveia@mat.uc.pt