Você está na página 1de 90

The Complexity of Graph Languages Generated by

Hyperedge Replacement

Universidade Federal da Bahia

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 1 / 30


Revisão: Substituição de Hiperarestas

Pode-se combinar um hipergrafo H e um r -hipergrafo G < v1 , ..., vr >


pela remoção de uma hiperaresta y ∈ H, rk(λH (y )) = r e substituindo por
G . É requerido que

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 2 / 30


Revisão: Substituição de Hiperarestas

Pode-se combinar um hipergrafo H e um r -hipergrafo G < v1 , ..., vr >


pela remoção de uma hiperaresta y ∈ H, rk(λH (y )) = r e substituindo por
G . É requerido que
VH ∩ VG = {v1 , ..., vr }

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 2 / 30


Revisão: Substituição de Hiperarestas

Pode-se combinar um hipergrafo H e um r -hipergrafo G < v1 , ..., vr >


pela remoção de uma hiperaresta y ∈ H, rk(λH (y )) = r e substituindo por
G . É requerido que
VH ∩ VG = {v1 , ..., vr }
portas(y ) =< v1 , ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 2 / 30


Revisão: Substituição de Hiperarestas

Pode-se combinar um hipergrafo H e um r -hipergrafo G < v1 , ..., vr >


pela remoção de uma hiperaresta y ∈ H, rk(λH (y )) = r e substituindo por
G . É requerido que
VH ∩ VG = {v1 , ..., vr }
portas(y ) =< v1 , ..., vr >
YH ∩ YG = ∅

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 2 / 30


Revisão: Substituição de Hiperarestas

Neste caso, o hipergrafo H(y ← G < v1 , ..., vr >) é definido como:


H := (VH ∪ VG , EH ∪ EG , YH \{y } ∪ YG , λ, portas), com

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 3 / 30


Revisão: Substituição de Hiperarestas

Neste caso, o hipergrafo H(y ← G < v1 , ..., vr >) é definido como:


H := (VH ∪ VG , EH ∪ EG , YH \{y } ∪ YG , λ, portas), com

λH (z), se z ∈ YH
λ(z) =
λG (z), se z ∈ YG

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 3 / 30


Revisão: Substituição de Hiperarestas

Neste caso, o hipergrafo H(y ← G < v1 , ..., vr >) é definido como:


H := (VH ∪ VG , EH ∪ EG , YH \{y } ∪ YG , λ, portas), com

λH (z), se z ∈ YH
λ(z) =
λG (z), se z ∈ YG

portasH (z) se z ∈ YH
portas(z) =
portasG (z), se z ∈ YG

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 3 / 30


Revisão: Substituição de Hiperarestas

Propriedades

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 4 / 30


Revisão: Substituição de Hiperarestas

Propriedades
Se y1 , y2 ∈ YH então
H(y1 ← G1 )(y2 ← G2 ) = H(y1 ← G1 , y2 ← G2 )

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 4 / 30


Revisão: Substituição de Hiperarestas

Propriedades
Se y1 , y2 ∈ YH então
H(y1 ← G1 )(y2 ← G2 ) = H(y1 ← G1 , y2 ← G2 )
Se y1 ∈ YH e y2 ∈ YG1 então
H(y1 ← G1 )(y2 ← G2 ) = H(y1 ← G1 (y2 ← G2 ))

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 4 / 30


Revisão: Linguagens HR

Uma gramatica de substituição de hiperarestas G = (S, R) é dada por:


um simbolo inicial S não-terminal

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 5 / 30


Revisão: Linguagens HR

Uma gramatica de substituição de hiperarestas G = (S, R) é dada por:


um simbolo inicial S não-terminal
um conjunto finito de regras da forma A → H < v1 , ..., vr >
A é um não-terminal e rk(A) = r
H < v1 , ..., vr > é um r-hipergrafo

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 5 / 30


Revisão Produções

Dados um não terminal A, um r -hipergrafo G < v1 , ..., vr >, e i ≥ 1, a


relação A →i G < v1 , ..., vr > pode ser definida recursivamente.
Para i = 1, A →1 G < v1 , ..., vr > sse existir um r -hipergrafo
H < w1 , ..., wr > tal que

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 6 / 30


Revisão Produções

Dados um não terminal A, um r -hipergrafo G < v1 , ..., vr >, e i ≥ 1, a


relação A →i G < v1 , ..., vr > pode ser definida recursivamente.
Para i = 1, A →1 G < v1 , ..., vr > sse existir um r -hipergrafo
H < w1 , ..., wr > tal que
1 G < v1 , ..., vr > e H < w1 , ..., wr > são isomorfos

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 6 / 30


Revisão Produções

Dados um não terminal A, um r -hipergrafo G < v1 , ..., vr >, e i ≥ 1, a


relação A →i G < v1 , ..., vr > pode ser definida recursivamente.
Para i = 1, A →1 G < v1 , ..., vr > sse existir um r -hipergrafo
H < w1 , ..., wr > tal que
1 G < v1 , ..., vr > e H < w1 , ..., wr > são isomorfos
2 A → H < w1 , ..., wr > ∈ R

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 6 / 30


Revisão Produções

Para i ≥ 2, A →i G < v1 , ..., vr > sse existem


j, l ≥ 1,

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 7 / 30


Revisão Produções

Para i ≥ 2, A →i G < v1 , ..., vr > sse existem


j, l ≥ 1,
um r -hipergrafo K < v1 , ..., vr >, uma hiperaresta y ∈ YK com
rk(y ) = s e λK (y ) = B

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 7 / 30


Revisão Produções

Para i ≥ 2, A →i G < v1 , ..., vr > sse existem


j, l ≥ 1,
um r -hipergrafo K < v1 , ..., vr >, uma hiperaresta y ∈ YK com
rk(y ) = s e λK (y ) = B
um s-hipergrafo L < u1 , ..., us >, tal que

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 7 / 30


Revisão Produções

Para i ≥ 2, A →i G < v1 , ..., vr > sse existem


j, l ≥ 1,
um r -hipergrafo K < v1 , ..., vr >, uma hiperaresta y ∈ YK com
rk(y ) = s e λK (y ) = B
um s-hipergrafo L < u1 , ..., us >, tal que
1 j +l =i

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 7 / 30


Revisão Produções

Para i ≥ 2, A →i G < v1 , ..., vr > sse existem


j, l ≥ 1,
um r -hipergrafo K < v1 , ..., vr >, uma hiperaresta y ∈ YK com
rk(y ) = s e λK (y ) = B
um s-hipergrafo L < u1 , ..., us >, tal que
1 j +l =i
2 A →j K < v1 , ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 7 / 30


Revisão Produções

Para i ≥ 2, A →i G < v1 , ..., vr > sse existem


j, l ≥ 1,
um r -hipergrafo K < v1 , ..., vr >, uma hiperaresta y ∈ YK com
rk(y ) = s e λK (y ) = B
um s-hipergrafo L < u1 , ..., us >, tal que
1 j +l =i
2 A →j K < v1 , ..., vr >
3 B →l L < u1 , ..., us >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 7 / 30


Revisão Produções

Para i ≥ 2, A →i G < v1 , ..., vr > sse existem


j, l ≥ 1,
um r -hipergrafo K < v1 , ..., vr >, uma hiperaresta y ∈ YK com
rk(y ) = s e λK (y ) = B
um s-hipergrafo L < u1 , ..., us >, tal que
1 j +l =i
2 A →j K < v1 , ..., vr >
3 B →l L < u1 , ..., us >
4 G < v1 , ..., vr > = K (y ← L < u1 , ..., us >) < v1 , ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 7 / 30


Algoritmo Para Reconhecimento de Linguagens HR

Intuitivamente, gramáticas HRG’s são livres de contexto porque


derivações de diferentes hiperarestas são independentes.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 8 / 30


Algoritmo Para Reconhecimento de Linguagens HR

Lema. Sejam G = (S, R) uma HRG, A um não terminal, e


G < v1 , ..., vr > um r -hipergrafo. Então A →+ G < v 1, ..., vr > se e
somente se existem um r -hipergrafo H < v1 , ..., vr >, hiperarestas
y1 , ..., ym ∈ YH e hipergrafos
G1 < v11 , ..., vr11 >, ..., Gm < v1m , ..., vrmm >, tal que

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 8 / 30


Algoritmo Para Reconhecimento de Linguagens HR

Lema. Sejam G = (S, R) uma HRG, A um não terminal, e


G < v1 , ..., vr > um r -hipergrafo. Então A →+ G < v 1, ..., vr > se e
somente se existem um r -hipergrafo H < v1 , ..., vr >, hiperarestas
y1 , ..., ym ∈ YH e hipergrafos
G1 < v11 , ..., vr11 >, ..., Gm < v1m , ..., vrmm >, tal que
1 A →1 H < v 1, ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 8 / 30


Algoritmo Para Reconhecimento de Linguagens HR

Lema. Sejam G = (S, R) uma HRG, A um não terminal, e


G < v1 , ..., vr > um r -hipergrafo. Então A →+ G < v 1, ..., vr > se e
somente se existem um r -hipergrafo H < v1 , ..., vr >, hiperarestas
y1 , ..., ym ∈ YH e hipergrafos
G1 < v11 , ..., vr11 >, ..., Gm < v1m , ..., vrmm >, tal que
1 A →1 H < v 1, ..., vr >
2 G < v1 , ..., vr > =
H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← Gm < v1m , ..., vrmm >)

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 8 / 30


Algoritmo Para Reconhecimento de Linguagens HR

Lema. Sejam G = (S, R) uma HRG, A um não terminal, e


G < v1 , ..., vr > um r -hipergrafo. Então A →+ G < v 1, ..., vr > se e
somente se existem um r -hipergrafo H < v1 , ..., vr >, hiperarestas
y1 , ..., ym ∈ YH e hipergrafos
G1 < v11 , ..., vr11 >, ..., Gm < v1m , ..., vrmm >, tal que
1 A →1 H < v 1, ..., vr >
2 G < v1 , ..., vr > =
H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← Gm < v1m , ..., vrmm >)
3 λH (yi ) →+ Gi < v1i , ..., vrii >, para i = 1, ..., m

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 8 / 30


Prova ”⇒”

Prova por indução em i


Para i = 1.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 9 / 30


Prova ”⇒”

Prova por indução em i


Para i = 1.
A →1 H < v 1, ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 9 / 30


Prova ”⇒”

Prova por indução em i


Para i = 1.
A →1 H < v 1, ..., vr >
m=0

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 9 / 30


Prova ”⇒”

Prova por indução em i


Para i = 1.
A →1 H < v 1, ..., vr >
m=0
H < v 1, ..., vr >= G < v 1, ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 9 / 30


Prova ”⇒”

Para i ≥ 2.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 10 / 30


Prova ”⇒”

Para i ≥ 2.
A →j K < v1 , ..., vr > e B →l L < u1 , ..., us >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 10 / 30


Prova ”⇒”

Para i ≥ 2.
A →j K < v1 , ..., vr > e B →l L < u1 , ..., us >
∃y0 ∈ YK tal que λK (y0 ) = B

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 10 / 30


Prova ”⇒”

Para i ≥ 2.
A →j K < v1 , ..., vr > e B →l L < u1 , ..., us >
∃y0 ∈ YK tal que λK (y0 ) = B
G < v1 , ..., vr > = K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 10 / 30


Prova ”⇒”

Para i ≥ 2.
A →j K < v1 , ..., vr > e B →l L < u1 , ..., us >
∃y0 ∈ YK tal que λK (y0 ) = B
G < v1 , ..., vr > = K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
H.I. ∃H < v1 , ..., vr >, y1 , ..., ym ∈ YH e
G1 < v11 , ..., vr11 >, ..., Gm < v1m , ..., vrmm > tal que se aplicam

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 10 / 30


Prova ”⇒”

Para i ≥ 2.
A →j K < v1 , ..., vr > e B →l L < u1 , ..., us >
∃y0 ∈ YK tal que λK (y0 ) = B
G < v1 , ..., vr > = K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
H.I. ∃H < v1 , ..., vr >, y1 , ..., ym ∈ YH e
G1 < v11 , ..., vr11 >, ..., Gm < v1m , ..., vrmm > tal que se aplicam
1 A →1 H < v 1, ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 10 / 30


Prova ”⇒”

Para i ≥ 2.
A →j K < v1 , ..., vr > e B →l L < u1 , ..., us >
∃y0 ∈ YK tal que λK (y0 ) = B
G < v1 , ..., vr > = K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
H.I. ∃H < v1 , ..., vr >, y1 , ..., ym ∈ YH e
G1 < v11 , ..., vr11 >, ..., Gm < v1m , ..., vrmm > tal que se aplicam
1 A →1 H < v 1, ..., vr >
2 G < v1 , ..., vr > =
H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← Gm < v1m , ..., vrmm >)

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 10 / 30


Prova ”⇒”

Para i ≥ 2.
A →j K < v1 , ..., vr > e B →l L < u1 , ..., us >
∃y0 ∈ YK tal que λK (y0 ) = B
G < v1 , ..., vr > = K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
H.I. ∃H < v1 , ..., vr >, y1 , ..., ym ∈ YH e
G1 < v11 , ..., vr11 >, ..., Gm < v1m , ..., vrmm > tal que se aplicam
1 A →1 H < v 1, ..., vr >
2 G < v1 , ..., vr > =
H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← Gm < v1m , ..., vrmm >)
3 λH (yi ) →+ Gi < v1i , ..., vrii >, para i = 1, ..., m

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 10 / 30


Prova ”⇒”

Para i ≥ 2.
A →j K < v1 , ..., vr > e B →l L < u1 , ..., us >
∃y0 ∈ YK tal que λK (y0 ) = B
G < v1 , ..., vr > = K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
H.I. ∃H < v1 , ..., vr >, y1 , ..., ym ∈ YH e
G1 < v11 , ..., vr11 >, ..., Gm < v1m , ..., vrmm > tal que se aplicam
1 A →1 H < v 1, ..., vr >
2 G < v1 , ..., vr > =
H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← Gm < v1m , ..., vrmm >)
3 λH (yi ) →+ Gi < v1i , ..., vrii >, para i = 1, ..., m
Duas situações: y0 ∈ YH ou y0 ∈
/ YH

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 10 / 30


Hiperaresta pertence a H

Neste caso temos que G < v1 , ..., vr >


= K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 11 / 30


Hiperaresta pertence a H

Neste caso temos que G < v1 , ..., vr >


= K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
= H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← G1 < v1m , ..., vrmm >)
(y0 ← L < u1 , ..., us >) < v1 , ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 11 / 30


Hiperaresta pertence a H

Neste caso temos que G < v1 , ..., vr >


= K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
= H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← G1 < v1m , ..., vrmm >)
(y0 ← L < u1 , ..., us >) < v1 , ..., vr >
= H(y0 ← L < u1 , ..., us >, y1 ← G1 < v11 , ..., vr11 >
, ..., ym ← Gm < v1m , ..., vrmm >) < v1 , ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 11 / 30


Hiperaresta pertence a H

Neste caso temos que G < v1 , ..., vr >


= K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
= H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← G1 < v1m , ..., vrmm >)
(y0 ← L < u1 , ..., us >) < v1 , ..., vr >
= H(y0 ← L < u1 , ..., us >, y1 ← G1 < v11 , ..., vr11 >
, ..., ym ← Gm < v1m , ..., vrmm >) < v1 , ..., vr >
Como vimos esta igualdade é valida pela propriedade de
sequencialização e paralelização, portanto a afirmação se aplica.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 11 / 30


Hiperaresta não pertence a H

Neste caso, y0 ∈ a algum Gi < v1i , ..., vrii >, então temos que
G < v1 , ..., vr >
= K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 12 / 30


Hiperaresta não pertence a H

Neste caso, y0 ∈ a algum Gi < v1i , ..., vrii >, então temos que
G < v1 , ..., vr >
= K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
= H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← G1 < v1m , ..., vrmm >)
(y0 ← L < u1 , ..., us >) < v1 , ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 12 / 30


Hiperaresta não pertence a H

Neste caso, y0 ∈ a algum Gi < v1i , ..., vrii >, então temos que
G < v1 , ..., vr >
= K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
= H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← G1 < v1m , ..., vrmm >)
(y0 ← L < u1 , ..., us >) < v1 , ..., vr >
Considerar, sem perda de generalidade y0 ∈ G1

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 12 / 30


Hiperaresta não pertence a H

Neste caso, y0 ∈ a algum Gi < v1i , ..., vrii >, então temos que
G < v1 , ..., vr >
= K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
= H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← G1 < v1m , ..., vrmm >)
(y0 ← L < u1 , ..., us >) < v1 , ..., vr >
Considerar, sem perda de generalidade y0 ∈ G1
= H(y1 ← G1 (y0 ← L < u1 , ..., us >) < v11 , ..., vr11 >
, ..., ym ← Gm < v1m , ..., vrmm >) < v1 , ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 12 / 30


Hiperaresta não pertence a H

Neste caso, y0 ∈ a algum Gi < v1i , ..., vrii >, então temos que
G < v1 , ..., vr >
= K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
= H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← G1 < v1m , ..., vrmm >)
(y0 ← L < u1 , ..., us >) < v1 , ..., vr >
Considerar, sem perda de generalidade y0 ∈ G1
= H(y1 ← G1 (y0 ← L < u1 , ..., us >) < v11 , ..., vr11 >
, ..., ym ← Gm < v1m , ..., vrmm >) < v1 , ..., vr >
Pela associatividade. Além disso,

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 12 / 30


Hiperaresta não pertence a H

Neste caso, y0 ∈ a algum Gi < v1i , ..., vrii >, então temos que
G < v1 , ..., vr >
= K (y0 ← L < u1 , ..., us >) < v 1, ..., vr >
= H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← G1 < v1m , ..., vrmm >)
(y0 ← L < u1 , ..., us >) < v1 , ..., vr >
Considerar, sem perda de generalidade y0 ∈ G1
= H(y1 ← G1 (y0 ← L < u1 , ..., us >) < v11 , ..., vr11 >
, ..., ym ← Gm < v1m , ..., vrmm >) < v1 , ..., vr >
Pela associatividade. Além disso,
λH (y1 ) →+ G1 (y0 ← L < u1 , ..., us >) < v11 , ..., vr11 > pode ser
composto por λH (y1 ) →+ G1 < v11 , ..., vr11 > e
λG1 (y0 ) →+ L < u1 , ..., us > com λG1 (y0 ) = λK (y0 ).

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 12 / 30


Prova ”⇐”

Prova por indução em m


Para m = 0.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 13 / 30


Prova ”⇐”

Prova por indução em m


Para m = 0.
A →1 H < v 1, ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 13 / 30


Prova ”⇐”

Prova por indução em m


Para m > 0.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 14 / 30


Prova ”⇐”

Prova por indução em m


Para m > 0.
Definiremos K < v1 , . . . , vr >:= H(y2 ← G2 < v11 , ..., vr11 >
, ..., ym ← Gm < v1m , ..., vrmm >) < v1 , ..., vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 14 / 30


Prova ”⇐”

Prova por indução em m


Para m > 0.
Definiremos K < v1 , . . . , vr >:= H(y2 ← G2 < v11 , ..., vr11 >
, ..., ym ← Gm < v1m , ..., vrmm >) < v1 , ..., vr >
Pela H.I temos A →+ K < v 1, ..., vr >, e utilizando a propriedade de
sequencialização e paralelização

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 14 / 30


Prova ”⇐”

Prova por indução em m


Para m > 0.
Definiremos K < v1 , . . . , vr >:= H(y2 ← G2 < v11 , ..., vr11 >
, ..., ym ← Gm < v1m , ..., vrmm >) < v1 , ..., vr >
Pela H.I temos A →+ K < v 1, ..., vr >, e utilizando a propriedade de
sequencialização e paralelização
temos G < v1 , ..., vr > =
H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← Gm < v1m , ..., vrmm >)

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 14 / 30


Prova ”⇐”

Prova por indução em m


Para m > 0.
Definiremos K < v1 , . . . , vr >:= H(y2 ← G2 < v11 , ..., vr11 >
, ..., ym ← Gm < v1m , ..., vrmm >) < v1 , ..., vr >
Pela H.I temos A →+ K < v 1, ..., vr >, e utilizando a propriedade de
sequencialização e paralelização
temos G < v1 , ..., vr > =
H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← Gm < v1m , ..., vrmm >)
= H(y1 ← G1 < v11 , ..., vr11 >), (...), (ym ← Gm < v1m , ..., vrmm >)

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 14 / 30


Prova ”⇐”

Prova por indução em m


Para m > 0.
Definiremos K < v1 , . . . , vr >:= H(y2 ← G2 < v11 , ..., vr11 >
, ..., ym ← Gm < v1m , ..., vrmm >) < v1 , ..., vr >
Pela H.I temos A →+ K < v 1, ..., vr >, e utilizando a propriedade de
sequencialização e paralelização
temos G < v1 , ..., vr > =
H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← Gm < v1m , ..., vrmm >)
= H(y1 ← G1 < v11 , ..., vr11 >), (...), (ym ← Gm < v1m , ..., vrmm >)
= K (y1 ← G1 < v11 , ..., vr11 >) < v1 , . . . , vr >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 14 / 30


Prova ”⇐”

Portanto, A →+ G < v 1, ..., vr > pode ser composto por

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 15 / 30


Prova ”⇐”

Portanto, A →+ G < v 1, ..., vr > pode ser composto por


A →+ K < v 1, ..., vr >, e λH (y1 ) →+ G1 < v11 , ..., vr11 >

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 15 / 30


Algoritmo

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 16 / 30


Análise de complexidade

Seja n o tamanho do grafo de entrada G . A cada chamada do


procedimento DERIVE com os parâmetros A e G < v1 , . . . , vr >, G
será um subgrafo de G .

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 17 / 30


Análise de complexidade

Seja n o tamanho do grafo de entrada G . A cada chamada do


procedimento DERIVE com os parâmetros A e G < v1 , . . . , vr >, G
será um subgrafo de G .
A fim de evitar chamadas repetidas de DERIVE com o mesmos
parâmetros (A, G < v1 , . . . , vr >), todos os resultados das chamadas
para DERIVE devem ser mantidos em uma lista, que é então
verificada antes que uma nova chamada para DERIVE seja realmente
feita.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 17 / 30


Análise de complexidade

Seja n o tamanho do grafo de entrada G . A cada chamada do


procedimento DERIVE com os parâmetros A e G < v1 , . . . , vr >, G
será um subgrafo de G .
A fim de evitar chamadas repetidas de DERIVE com o mesmos
parâmetros (A, G < v1 , . . . , vr >), todos os resultados das chamadas
para DERIVE devem ser mantidos em uma lista, que é então
verificada antes que uma nova chamada para DERIVE seja realmente
feita.
Vamos agora discutir a complexidade de cada linha de DERIVE.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 17 / 30


Análise de complexidade

O número de regras em R é uma constante.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 18 / 30


Análise de complexidade

O número de regras em R é uma constante.


O número máximo de vértices em qualquer lado direito é k, ou seja, a
largura de G .

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 18 / 30


Análise de complexidade

O número de regras em R é uma constante.


O número máximo de vértices em qualquer lado direito é k, ou seja, a
largura de G .
Se |VG | > k então A →1 G < v1 , ..., vr > é impossı́vel.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 18 / 30


Análise de complexidade

O número de regras em R é uma constante.


O número máximo de vértices em qualquer lado direito é k, ou seja, a
largura de G .
Se |VG | > k então A →1 G < v1 , ..., vr > é impossı́vel.
Ao todo, a decisão na linha (1) leva tempo O(log n), uma vez que
cada vértice de G é representado por bits O(log n).

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 18 / 30


Análise de complexidade

Se olharmos a linha (4) H não poderá ter mais que um número fixo
de hiperarestas e não mais do que k vértices.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 19 / 30


Análise de complexidade

Se olharmos a linha (4) H não poderá ter mais que um número fixo
de hiperarestas e não mais do que k vértices.
Como VH ⊆ VG os vértices de H são limitados pelos n vértices de G ,
portanto existe um número polinomial de possibilidades para H.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 19 / 30


Análise de complexidade

Aqui, o número de possibilidades é, em geral, exponencial.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 20 / 30


Análise de complexidade

Aqui, o número de possibilidades é, em geral, exponencial.

A análise é a mesma da linha (1).

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 20 / 30


Análise de complexidade

Aqui, o número de possibilidades é, em geral, exponencial.

A análise é a mesma da linha (1).

Polinomial. (Observe que o teste é para igualdade, não isomorfia.).

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 20 / 30


Análise de complexidade

Aqui, o número de possibilidades é, em geral, exponencial.

A análise é a mesma da linha (1).

Polinomial. (Observe que o teste é para igualdade, não isomorfia.).

Tempo linear de passagem dos parâmetros..

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 20 / 30


Análise de complexidade

Portanto, este algoritmo só poderá ser implementado em um tempo


polinomial, se e somente se, os subgrafos que são gerados na linha (3)
forem limitados por um polinômio.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 21 / 30


Conectividade de grafos

Seja G um grafo. Dois vértices v e w de G estão conectados sse


existe um caminho de v para w . Um grafo G é conexo sse dado um
par qualquer de vértice v e w em G , existe um caminho de v para w .

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 22 / 30


Conectividade de grafos

Seja G um grafo. Dois vértices v e w de G estão conectados sse


existe um caminho de v para w . Um grafo G é conexo sse dado um
par qualquer de vértice v e w em G , existe um caminho de v para w .

Figura: Conexo Figura: Não conexo


Um componente conexa de um grafo é um subgrafo conexo de maior
tamanho possı́vel.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 22 / 30


Análise de complexidade

Lema
0
Sejam G , G grafos, sejam H um hipergrafo com YH = {y }, e seja
0
v1 , ..., vr ∈ VG . Se G = H(y ⇐ G < v1 , ..., vr >) então toda componente
0
conexa de G [VG 0 \ {v1 , ..., vr }] é também uma componente conexa de
G [VG \ {v1 , ..., vr }].

Demonstração:
0
1 Afirmação:Toda componente conexa de G [VG 0 \ {v1 , ..., vr }] está
contida em alguma componente conexa de G [VG \ {v1 , ..., vr }].

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 23 / 30


Análise de complexidade

Lema
0
Sejam G , G grafos, sejam H um hipergrafo com YH = {y }, e seja
0
v1 , ..., vr ∈ VG . Se G = H(y ⇐ G < v1 , ..., vr >) então toda componente
0
conexa de G [VG 0 \ {v1 , ..., vr }] é também uma componente conexa de
G [VG \ {v1 , ..., vr }].

Demonstração:
0
1 Afirmação:Toda componente conexa de G [VG 0 \ {v1 , ..., vr }] está
contida em alguma componente conexa de G [VG \ {v1 , ..., vr }].
2 O que desejamos mostrar é que sempre que dois vértices
u, v ∈ VG 0 \ {v1 , . . . , vr } são conectados em G [VG \ {v1 , . . . , vr }]
0
também são conectados em G [VG 0 \ {v1 , ..., vr }].

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 23 / 30


Análise de complexidade

Lema
0
Sejam G , G grafos, sejam H um hipergrafo com YH = {y }, e seja
0
v1 , ..., vr ∈ VG . Se G = H(y ⇐ G < v1 , ..., vr >) então toda componente
0
conexa de G [VG 0 \ {v1 , ..., vr }] é também uma componente conexa de
G [VG \ {v1 , ..., vr }].

Demonstração:
0
1 Afirmação:Toda componente conexa de G [VG 0 \ {v1 , ..., vr }] está
contida em alguma componente conexa de G [VG \ {v1 , ..., vr }].
2 O que desejamos mostrar é que sempre que dois vértices
u, v ∈ VG 0 \ {v1 , . . . , vr } são conectados em G [VG \ {v1 , . . . , vr }]
0
também são conectados em G [VG 0 \ {v1 , ..., vr }].
3 Suponhamos que não seja verdade, então deve existir uma aresta uv
em G de modo que u ∈ VG 0 \ {v1 , . . . , vr } e
v ∈ VG \ (VG 0 \ {v1 , . . . , vr }) = VH
Mateus e César (Universidade Federal da Bahia) Seminários MATE82 23 / 30
Análise de complexidade

Lema
0
Sejam G , G grafos, sejam H um hipergrafo com YH = {y }, e seja
0
v1 , ..., vr ∈ VG . Se G = H(y ⇐ G < v1 , ..., vr >) então toda componente
0
conexa de G [VG 0 \ {v1 , ..., vr }] é também uma componente conexa de
G [VG \ {v1 , ..., vr }].

Demonstração:
4 Porém, EG = EG 0 ∪ EH onde qualquer destas arestas deve envolver
vértices de VG 0 ∩ VH = {v1 , . . . , vr } e pode portanto não pertencer a
G [VG \ {v1 , . . . , vr }].

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 24 / 30


Análise de complexidade
Proposição. O algoritmo permanece correto se a linha (3) do
procedimento DERIVE for substituı́da pela seguinte sequência.

Demonstração:
Todos os grafos gerados na linha (3.3) são gerados corretamente,
então temos que mostrar que com a modificação ainda reconhece
todos os grafos G ∈ L(G)

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 25 / 30


Análise de complexidade
Proposição. O algoritmo permanece correto se a linha (3) do
procedimento DERIVE for substituı́da pela seguinte sequência.

Demonstração:
Todos os grafos gerados na linha (3.3) são gerados corretamente,
então temos que mostrar que com a modificação ainda reconhece
todos os grafos G ∈ L(G)
Vamos assumir que DERIVE (A, G < v1 , . . . , vr >) retorna verdade
em algum caminho do algoritmo, o que significa reconhecer G

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 25 / 30


Análise de complexidade
Proposição. O algoritmo permanece correto se a linha (3) do
procedimento DERIVE for substituı́da pela seguinte sequência.

Demonstração:
Todos os grafos gerados na linha (3.3) são gerados corretamente,
então temos que mostrar que com a modificação ainda reconhece
todos os grafos G ∈ L(G)
Vamos assumir que DERIVE (A, G < v1 , . . . , vr >) retorna verdade
em algum caminho do algoritmo, o que significa reconhecer G
Então, como vimos anteriormente sabemos que existe um hipergrafo
H com uma hiperaresta y , um hipergrafo H com hiperarestas
0 0
y1 , . . . , ym e subgrafos G1 , . . . , Gm de G tal que
Mateus e César (Universidade Federal da Bahia) Seminários MATE82 25 / 30
Análise de complexidade

Proposição. O algoritmo permanece correto se a linha (3) do


procedimento DERIVE for substituı́da pela seguinte sequência.

Demonstração:
Como vimos anteriormente sabemos que existe um hipergrafo H com
uma hiperaresta y , um hipergrafo H com hiperarestas y1 , . . . , ym e
0 0
subgrafos G1 , . . . , Gm de G tal que
0
G = H(y1 ← G1 < v1 , . . . , vr >)
G < v1 , ..., vr > =
0 0
H(y1 ← G1 < v11 , ..., vr11 >, ..., ym ← Gm < v1m , ..., vrmm >), onde
< v1i , . . . , vrii >= portasH (yi )

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 26 / 30


Análise de complexidade

Proposição. O algoritmo permanece correto se a linha (3) do


procedimento DERIVE for substituı́da pela seguinte sequência.

Demonstração:
Então pelas propriedades já apresentadas(sequencialização e
paralelização, confluência e associatividade) temos
0
G = H(y ← H(y1 ← G1 < v11 , ..., vr11 >, ..., yi−1
0 0
← Gi−1 < v1i−1 , ..., vri−1
i−1
>, yi+1 ← Gi+1 < v1i+1 , ..., vri+1
i+1
>, ..., ym ←
0 m m 0
Gm < v1 , ..., vrm >)(yi ← Gi < vi ,...,vri >)<v1 ,...,vr >)
1 i

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 27 / 30


Análise de complexidade

Proposição. O algoritmo permanece correto se a linha (3) do


procedimento DERIVE for substituı́da pela seguinte sequência.

Demonstração:
0 0
Então pelo lema anterior com G = G , H = H e G = Gi , temos que
0
toda componente conexa de Gi [VG 0 \ {portasH (yi )}] também são
i
uma componente conexa de G [VG \ {portasH (yi )}]
Na linha (3.3) os grafos Gi são gerados pela união de componentes
0
conexas e consequentemente os grafos Gi também são gerados,
portanto a modificação também retorna verdadeiro.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 28 / 30


Análise de complexidade

Definição. Seja s ∈ N. s-sep(G ), a s-separabilidade de um grafo G , é o


número máximo de componentes conexas de G [VG \ V ], onde V varia
sobre todos os subconjuntos de VG de tamanho no máximo s.

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 29 / 30


Análise de complexidade

Proposição. Seja s a ordem de um HRG G. Então a complexidade de


tempo do algoritmo, conforme modificação é polinomial em n e 2k , onde n
é o número de vértices, e k é a s-separabilidade do grafo de entrada G .

Mateus e César (Universidade Federal da Bahia) Seminários MATE82 30 / 30

Você também pode gostar