Você está na página 1de 87

Matemtica Discreta para Cincia da Computao - P.

Blauth Menezes 1
Matemtica Discreta para
Cincia da Computao
P. Blauth Menezes
blauth@inf.ufrgs.br
Departamento de Informtica Terica
Instituto de Informtica / UFRGS

Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 2
Matemtica Discreta para Cincia da Computao
P. Blauth Menezes
1 Introduo e Conceitos Bsicos
2 Lgica e Tcnicas de Demonstrao
3 lgebra de Conjuntos
4 Relaes
5 Funes Parciais e Totais
6 Endorrelaes, Ordenao e Equivalncia
7 Cardinalidade de Conjuntos
8 Induo e Recurso
9 lgebras e Homomorfismos
10 Reticulados e lgebra Booleana
11 Concluses
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 3
6 Endorrelaes, Ordenao
e Equivalncia
6.1 Propriedades de uma Endorrelao
6.2 Fecho de uma Endorrelao
6.3 Ordenao
6.4 Equivalncia e Partio
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 4
6 Endorrelaes, Ordenao e
Equivalncia
! J foi introduzido
endorrelaes so especialmente importantes
! Estudos desenvolvidos especificamente
propriedades
fecho
ordem
equivalncia
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 5
! Importantes aplicaes das endorrelaes de ordem
classificao de dados
semntica de sistemas concorrentes
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 6
6 Endorrelaes, Ordenao
e Equivalncia
6.1 Propriedades de uma Endorrelao
6.2 Fecho de uma Endorrelao
6.3 Ordenao
6.4 Equivalncia e Partio
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 7
6.1 Propriedades de uma Endorrelao
! Reflexiva
todo elemento est relacionado consigo mesmo
exemplo: igualdade sobre os nmeros reais
! todo nmero igual a si mesmo
! Simtrica
sempre que um elemento estiver relacionado com outro
! vice-versa tambm ocorre
exemplo: parentesco
! se Joo parente de Jos (por exemplo, so irmos),
! ento a vice-versa tambm verdadeira:
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 8
! Transitiva
exemplo: menor sobre os nmeros naturais
! caso um nmero seja menor que outro
! o qual, por sua vez, menor que um terceiro
! ento o primeiro menor que o terceiro
contra-exemplo: faz fronteira com nos pases na Amrica do Sul
! Brasil faz fronteira com a Argentina
! Argentina faz fronteira com o Chile
! entretanto, o Brasil no faz fronteira com o Chile
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 9
! Relacionado com propriedades reflexiva e simtrica
existem as propriedades irreflexiva e anti-simtrica
possuem uma noo de dualidade
mas no so noes complementares
! Representao via grafos ou matrizes
auxilia no entendimento e estudo das propriedades
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 10
Def: Relao Reflexiva, Irreflexiva
A conjunto, R endorrelao em A. Ento R :
Relao Reflexiva
! ("a # A)(a R a)
Relao Irreflexiva ou Relao Anti-Reflexiva
! ("a # A)((a R a))
! Reflexiva $ irreflexiva
no so noes complementares
negao da reflexiva: (%a # A)((a R a))
possvel definir uma relao
! simultaneamente reflexiva e irreflexiva
! no reflexiva nem irreflexiva
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 11
Exp: Relao Reflexiva e Irreflexiva
A = { 0, 1, 2 }
! Reflexivas, mas no irreflexivas
&N, '(
&P(A), )(
A
2
: A * A
&A, =(
! Irreflexivas, mas no reflexivas
&Z, +(
&P(A), ,(
-: A * A
&A, R( R = { &0, 1(, &1, 2(, &2, 1( }
! Nem reflexiva, nem irreflexiva
&A, S( S = { &0, 2(, &2, 0(, &2, 2( }
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 12
! Matriz
Reflexiva: a diagonal da matriz contm somente verdadeiro
Irreflexiva: a diagonal da matriz contm somente falso
! Grafo
Reflexiva: qq nodo tem um arco com origem e destino nele mesmo
Irreflexiva: qq nodo no tem um arco com origem e destino nele
mesmo
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 13
Exp: Relao Reflexiva e Irreflexiva
A = { 0, 1, 2 }
Reflexivas, mas no irreflexivas
! A
2
: A * A
! &A, =( = definida por { &0, 0(, &1, 1(, &2, 2( }
Irreflexivas, mas no reflexivas
! -: A * A
! R = { &0, 1(, &1, 2(, &2, 1( }
No reflexiva, nem irreflexiva: como seria a matriz?
A
2

0 1 2 =

0 1 2 -

0 1 2 R

0 1 2
0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0
1 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1
2 1 1 1 2 0 0 1 2 0 0 0 2 0 1 0
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 14
Exp: Relao Reflexiva e Irreflexiva
Reflexivas, mas no irreflexivas
! A
2
: A * A
! &A, =(, = definida por { &0, 0(, &1, 1(, &2, 2( }
Irreflexivas, mas no reflexivas
! -: A * A
! R = { &0, 1(, &1, 2(, &2, 1( }
No reflexiva, nem irreflexiva: como seria o grafo?
0
1 2
0
1 2
0
1 2
0
1 2
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 15
Def: Relao Simtrica, Anti-Simtrica
A conjunto e R endorrelao em A. Ento R
Relao Simtrica
("a # A)("b # A)(a R b * b R a)
Relao Anti-Simtrica
("a # A)("b # A)(a R b . b R a * a = b)
! Simetria $ Anti-Simetria
no so noes complementares
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 16
Exp: Relao Simtrica, Anti-Simtrica
X conjunto qualquer
Simtricas
! X
2
: X * X, -: X * X
! &X, =(, &X, +(
! &P(X), =(
Anti-simtricas
! &X, =(
! &P(X), =(
! -: X * X
! &N, R(, supondo R = { &x, y( # N
2
/ y = x
2
}
Nem simtrica, nem anti-simtrica
! S = { &0, 1(, &1, 0(, &1, 2( }
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 17
! Matriz
Simtrica
! metade acima da diagonal: imagem espelhada abaixo
Anti-simtrica
! clula verdadeira em uma das metades (diagonal)
! correspondente na outra metade falsa
! Grafo
Simtrica: entre dois nodos
! ou no existe seta
! ou existem duas setas, uma em cada sentido
Anti-simtrica
! no mximo uma seta entre dois nodos qq
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 18
Exp: Relao Simtrica (S), Anti-Simtrica (AS)
A = { 0, 1, 2 }
A
2
S
&A, =( S, AS
R: A * A tal que R = { &0, 0(, &1, 1(, &1, 2( } AS
S: A * A tal que S = { &0, 1(, &1, 0(, &1, 2( } nenhuma
A
2

0 1 2 =

0 1 2 R

0 1 2 S

0 1 2
0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 0
1 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1
2 1 1 1 2 0 0 1 2 0 0 0 2 0 0 0
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 19
Exp: Relao Simtrica, Anti-Simtrica
A = { 0, 1, 2 }
A
2
S
&A, =( S, AS
R: A * A tal que R = { &0, 0(, &1, 1(, &1, 2( } AS
S: A * A tal que S = { &0, 1(, &1, 0(, &1, 2( } nenhuma
0
1 2
0
1 2
0
1 2
0
1 2
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 20
Def: Relao Transitiva
A conjunto e R endorrelao em A. R uma Relao Transitiva
("a # A)("b # A)("c # A)(a R b . b R c * a R c)
Exp: Relao Transitiva
A = { 0, 1, 2 } e X conjunto qq
X
2
: X * X, -: X * X
&X, =(
&N, '(, &Z, <(
&P(X), )(, &P(X), ,(
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 21
Exp: Relao No-Transitiva
A = { 0, 1, 2 } e X conjunto qq
&Z, +( (por qu?)
&A, R( R = { &0, 1(, &1, 2(, &2, 1( }
&A, S( S = { &0, 2(, &2, 0(, &2, 2( }
! Representao como matriz: transitividade
No especialmente vantajosa
! Representao como grafo: transitividade
interpretao: o grafo explicita todos os caminhos possveis entre
dois nodos
caminho???
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 22
Exp: Relao Transitiva
A = { 0, 1, 2 }
A
2
: A * A
&A, =(
&A, '(
&A, <(
0
1 2
0
1 2
0
1 2
0
1 2
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 23
6 Endorrelaes, Ordenao
e Equivalncia
6.1 Propriedades de uma Endorrelao
6.2 Fecho de uma Endorrelao
6.3 Ordenao
6.4 Equivalncia e Partio
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 24
6.2 Fecho de uma Endorrelao
! Freqentemente desejvel estender uma relao
garantir que satisfaz determinado conjunto de propriedades
exemplo: garantir que uma relao R reflexiva
! se R no reflexiva,
! ento introduz os pares (e somente estes) que garantem a
reflexo
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 25
Def: Fecho de uma Relao
R: A * A endorrelao, P conjunto de propriedades
FECHO-P(R)
Fecho de R em Relao ao P
menor endorrelao em A que contm R
e que satisfaz s propriedades de P
! Portanto, para qq conjunto de propriedades P
R ) FECHO-P(R)
quando R = FECHO-P(R) ?
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 26
! Fecho Reflexivo de R: A * A
FECHO-{ reflexiva }(R) = R 0 { &a, a( / a # A }
! Fecho Simtrico de R: A * A
FECHO-{ simtrica }(R) = R 0 { &b, a( / &a, b( # R }
! Fecho Transitivo de R: A * A (definio indutiva!!)
se &a, b( # R
! ento &a, b( # FECHO-{ transitiva }(R)
se &a, b(, &b, c( # FECHO-{ transitiva }(R)
! ento &a, c( # FECHO-{ transitiva }(R)
os nicos elementos do fecho transitivo so os construdos acima
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 27
! Dois fechos so especialmente importantes para
Computao e Informtica
Fecho Transitivo de R
R
+
= FECHO-{ transitiva }(R)
Fecho Reflexivo e Transitivo de R
R* = FECHO-{ reflexiva, transitiva }(R)
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 28
Exp: Fecho de uma Relao
A = { 1, 2, 3, 4, 5 } e R: A * A uma endorrelao
R = { &1, 2(, &1, 5(, &2, 3(, &3, 4( }
Fecho Reflexivo
???
Fecho Simtrico
???
Fecho Transitivo
???
Fecho Reflexivo e Transitivo
???
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 29
Exp: Fecho de uma Relao
A = { 1, 2, 3, 4, 5 } e R: A * A uma endorrelao
R = { &1, 2(, &1, 5(, &2, 3(, &3, 4( }
Fecho Reflexivo
{ &1, 1(, &1, 2(, &1, 5(, &2, 2(, &2, 3(, &3, 3(, &3, 4(, &4, 4(, &5, 5( }
Fecho Simtrico
{ &1, 2(, &1, 5(, &2, 1(, &2, 3(, &3, 2(, &3, 4(, &4, 3(, &5, 1( }
Fecho Transitivo
R
+
= { &1, 2(, &1, 3(, &1, 4(, &1, 5(, &2, 3(, &2, 4(, &3, 4( }
Fecho Reflexivo e Transitivo
R* = { &1, 1(, &1, 2(, &1, 3(, &1, 4(, &1, 5(, &2, 2(, &2, 3(, &2, 4(,
&3, 3(, &3, 4(, &4, 4(, &5, 5( }
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 30
Exp: Fecho de uma Relao
A = { 1, 2, 3, 4, 5 } e R: A * A uma endorrelao
R = { &1, 2(, &1, 5(, &2, 3(, &3, 4( }
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
Fechos ilustrados?
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 31
6 Endorrelaes, Ordenao
e Equivalncia
6.1 Propriedades de uma Endorrelao
6.2 Fecho de uma Endorrelao
6.3 Ordenao
6.4 Equivalncia e Partio
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 32
6.3 Ordenao
! Relao de ordem
tipo especial e importante de relao
reflete a noo intuitiva de ordem
exemplos de relaes de ordem j estudadas
! continncia em conjuntos
! implicao em proposies
! menor ou igual (ou simplesmente menor)
! Propriedades fundamentais de uma ordem?
! Outras Propriedades de uma ordem?
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 33
! Necessrio introduzir a seguinte terminologia
Def: Relao Conexa
R: A * A uma endorrelao. Ento R uma Relao Conexa se
("a # A)("b # A)(a R b 1 b R a 1 a = b)
Exp: Relao Conexa
A = { a }, B = { a, b } e C = { 0, 1, 2 }
-: B * B "
(C, <), dado que < definida por { &0, 1(, &0, 2(, &1, 2( } #
=: A * A #
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 34
Exp: Filas de caixas de um banco (motivacional)
Propriedades fundamentais
Transitiva uma noo intuitiva da ordem
se Joo antecede Jos, e Jos antecede de Maria,
! ento Joo antecede Maria
Anti-simtrica princpio que melhor caracteriza a ordem
a ordenado em relao b e vice-versa
! s faz sentido se a for igual a b
! no exemplo, se for o mesmo cliente
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 35
Exp: Filas de caixas de um banco
Outras Propriedades
Parcial/Conexa. As duas so vlidas
no exemplo, nem todos os clientes esto relacionados entre si
! caixa para idosos, grvidas e outros (fila separada)
Reflexiva/Irreflexiva. As duas so vlidas
Reflexiva
! &N, '()
Irreflexiva
! &Z, <()
no exemplo motivacional: natural considerar irreflexiva
! reflexiva (todo cliente antecede a si prprio ) faz sentido
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 36
6 Endorrelaes, Ordenao
e Equivalncia
6.1 Propriedades de uma Endorrelao
6.2 Fecho de uma Endorrelao
6.3 Ordenao
6.3.1 Relao de Ordem
6.3.2 Classificao de Dados
6.3.3 Diagrama de Hasse
6.3.4 Conjuntos Ordenados e Semntica de
Sistemas Concorrentes
6.4 Equivalncia e Partio
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 37
6.3.1 Relao de Ordem
Def: Relao de Ordem Parcial/Conexa Ampla/Estrita
R: A * A uma endorrelao
Relao de Ordem Parcial (Ampla)
Reflexiva, anti-simtrica e transitiva
Relao de Ordem Parcial Estrita
Irreflexiva, anti-simtrica e transitiva
Relao de Ordem Conexa (Ampla) ou Cadeia
de ordem parcial ampla e conexa
Relao de Ordem Conexa Estrita ou Cadeia Estrita
de ordem parcial estrita e conexa
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 38

Ordem Parcial Ordem Parcial
Estrita
Cadeia Cadeia
Estrita
Reflexiva # #
Irreflexiva # #
Anti-simtrica # # # #
Transitiva # # # #
Conexa # #
! Anti-simetria e transifividade
propriedades de qualquer tipo de relao de ordem
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 39
! Toda relao de ordem conexa (ampla ou estrita)
uma relao de ordem parcial (ampla ou estrita)
vice-versa nem sempre verdadeira (por qu?)
Relaes de
Ordem Conexas
Relaes de Ordem Parciais
Relaes
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 40
! Para &A, R(, o conjunto A dito
Conjunto (parcialmente/conexamente, amplamente/estritamente)
ordenado
! Poset &A, R(
do ingls, partial ordered set
&A, R(, relao de ordem parcial
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 41
Exp: Relao de Ordem Parcial/Conexa, Ampla/Estrita
Ordem parcial (ampla)
&N, '(
&P(A), )(
&Q, =(
implicao em proposies lgicas
{ &x, y( # N
2
/ x divide y (resto zero) }
Ordem parcial estrita
&N, <(
&P(A), ,(
Ordem conexa (cadeia)
&N, '(
Ordem conexa estrita (cadeia estrita)
&N, <(
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 42
Exp: Ordem Lexicogrfica
Ordem lexicogrfica
importante exemplo de relao de ordem conexa para CC
para um dado alfabeto 2 = { a, b }
2* = { 3, a, b, aa, ab, ba, bb, aaa, }
As palavras em2* so listadas em ordem lexicogrfica
por tamanho de palavra (nmero de smbolos)
para palavras do mesmo tamanho, por ordem alfabtica
! supondo a < b
QQ alfabeto ordenado 2, induz o conjunto ordenado 2*
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 43
6 Endorrelaes, Ordenao
e Equivalncia
6.1 Propriedades de uma Endorrelao
6.2 Fecho de uma Endorrelao
6.3 Ordenao
6.3.1 Relao de Ordem
6.3.2 Classificao de Dados
6.3.3 Diagrama de Hasse
6.3.4 Conjuntos Ordenados e Semntica de
Sistemas Concorrentes
6.4 Equivalncia e Partio
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 44
6.3.2 Classificao de Dados
! Ordenao de um conjunto de dados
importante rea de pesquisa
! denominada de classificao de dados
! sort, em ingls
fcil construir um algoritmos de classificao
! entretanto, c/ aumento do nmero de dados
! tempo (processamento) e espao (memria) se tornam crticos
complexidade de algoritmos
! estudo do tempo/espao consumidos por um algoritmos
! tambm, importante rea de pesquisa
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 45
Exp: Algoritmo de Classificao
J foi comentado
grande maioria das LP
no possuem boas facilidades para manipular conjuntos
Ordenao de um conjunto de dados
realizada usando variveis do tipo arranjo
seqncia com nmero fixo de componentes, todos do mesmo tipo
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 46
Exp: Algoritmo de Classificao
Por exemplo, trechos de programa em Pascal
vetor = array[1..30] of integer
dados = array[1..10] of char
Cada componente pode ser diretamente acessado
nome da varivel arranjo seguido do ndice entre colchetes
vetor[10] := 33
if dados[i] = a then
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 47
Exp: Algoritmo de Classificao - bubblesort
Ordenao (menor ou igual) de 10 caracteres em um arranjo dados
dados[1] ' dados[2] ' dados[3] ' ' dados[10]
Bubble (borbulha)
dados mais leves sobem
Uma soluo (trecho de programa Pascal). Suponha que
trocou varivel do tipo boolean
aux varivel do tipo char
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 48
Exp: Algoritmo de Classificao
trocou := true;
while trocou
do begin
trocou := false;
for i := 1 to 9
do if dados[i] > dados[i+1]
then begin
aux := dados[i];
dados[i] := dados[i+1];
dados[i+1] := aux;
trocou := true
end
end
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 49
Exp: Algoritmo de Classificao
Possvel execuo do algoritmo
Inicial c a d b a b d f e f
Interao 1 a c b a b d d e f f
Interao 2 a b a b c d d e f f
Interao 3 a a b b c d d e f f
Interao 4 a a b b c d d e f f
O algoritmo proposto
eficiente em termos de espao (por qu?)
no eficiente em termos do tempo, para grandes volumes
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 50
6 Endorrelaes, Ordenao
e Equivalncia
6.1 Propriedades de uma Endorrelao
6.2 Fecho de uma Endorrelao
6.3 Ordenao
6.3.1 Relao de Ordem
6.3.2 Classificao de Dados
6.3.3 Diagrama de Hasse
6.3.4 Conjuntos Ordenados e Semntica de
Sistemas Concorrentes
6.4 Equivalncia e Partio
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 51
6.3.3 Diagrama de Hasse
! Relao de ordem pode ser representada como grafo
como qualquer outra relao
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
(quais relaes so de ordem? Qual o tipo?)
jamais ocorrer um ciclo (por qu?)
! excetuando-se endo-arcos ou endo-arestas
! arcos com origem e destino em um mesmo nodo
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 52
! Entretanto, p/ relao de ordem
poluio visual ocasionada transitividade e reflexividade
usual omitir as arestas que podem ser deduzidas
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
! Esse tipo de representao: Diagrama de Hasse
nodos: pontos (ou pequenos crculos) ou elemento do conjunto
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 53
Exp: Relao como Grafo $ Diagrama de Hasse
Conjunto parcialmente ordenado & { 1, 2, 3 }, ' (
' = { (1, 1), (2, 2), (3, 3), (1, 2), (2, 3), (1, 3) }
Grafo $ Diagrama de Hasse
0 1
2
0 1
2
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 54
Obs: Representaes Alternativas - Diagrama de Hasse
Arestas no-orientadas
elementos do menor para o maior, de baixo para cima
0
1
2
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 55
6 Endorrelaes, Ordenao
e Equivalncia
6.1 Propriedades de uma Endorrelao
6.2 Fecho de uma Endorrelao
6.3 Ordenao
6.3.1 Relao de Ordem
6.3.2 Classificao de Dados
6.3.3 Diagrama de Hasse
6.3.4 Conjuntos Ordenados e Semntica de
Sistemas Concorrentes
6.4 Equivalncia e Partio
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 56
6.3.4 Conjuntos Ordenados e Semntica de
Sistemas Concorrentes
! Conj. ordenados so usados com freqncia em CC
! Semntica para sistemas concorrentes
importante exemplo
clara e simples viso de concorrncia
concorrncia verdadeira
! importante distinguir sintaxe de semntica
Sintaxe trata das propriedades livres de uma linguagem
! exemplo: verificao gramatical de programas
Semntica objetiva dar interpretao
! exemplo: significado ou valor a um programa
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 57
! Sintaxe preocupa-se com a forma
manipula smbolos
! Semntica preocupa-se em dar um significado
aos smbolos sintaticamente vlidos
exemplo: estes smbolos representam os valores inteiros
! Questes sintticas
disciplinas como Linguagens Formais
! Questes semnticas
disciplinas como Semntica Formal
! Compiladores
integra ambas as questes
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 58
! Historicamente, problema sinttico
reconhecido antes do semntico
primeiro a receber tratamento adequado
so mais simples que os semnticos
! Conseqncia, nfase sintaxe levou idia de que
questes das linguagens de programao
resumiam-se s questes da sintaxe
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 59
! Atualmente, Teoria da Sintaxe
construes matemticas bem definidas
universalmente reconhecidas
Gramticas de Chomsky
! Formalizao de uma questo semntica
freqentemente, tratamento matemtico complexo
dificulta entendimento e aplicao
! Assim, construes matemticas
capaz de dar semntica de forma simples e expressiva
extremanente importante para a CC
exemplo
! relaes de ordem como semntica de sistemas concorrentes
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 60
Exp: Conj. Parcialmente Ordenados $ Concorrncia
Programa seqencial, em linguagens tipo Pascal
o smbolo ; representa dependncia causal
c1; c2; c3
Uma semntica
& { c1, c2, c3 }, '
c
(
onde c1 '
c
c2 , c2 '
c
c3 e portanto, c1 '
c
c3
Mais precisamente
'
c
= { (c1, c2), (c2, c3), (c1, c3) }
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 61
Exp: Conj. Parcialmente Ordenados $ Concorrncia
De forma anloga, considere
p1; p2
q1; q2; q3
Semnticas
& { p1, p2 }, '
p
( onde p1 '
p
p2
& { q1, q2, q3 }, '
q
( onde q1 '
q
q2 e q2 '
q
q3
Suponha os 3 programas concorrentes sem qualquer sincronizao
independentes
Semntica induzida pela unio disjunta de conjuntos
& { c1, c2, c3 } + { p1, p2 } + { q1, q2, q3 }, '
c
+ '
p
+ '
q
(
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 62
Exp: Conj. Parcialmente Ordenados $ Concorrncia
c1
c2
c3
p1
p2
q1
q2
q3
Todas as componentes so independentes (concorrentes)
excetuando-se quando especificado o contrrio
quando definido um par da relao de ordem
determinando uma restrio de seqencialidade
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 63
Exp: Conj. Parcialmente Ordenados $ Concorrncia
Suponha que
ocorrncia de p2 depende de c2
ocorrncia de c3 depende de q3
Sincronizao: suficiente incluir os pares c2 ' p2 e q3 ' c3
&{c1 c2,c3}+{p1,p2}+{q1,q2,q3}, '
c
+'
p
+'
q
+{(c2,p2,), (q3,c3)}(
c1
c2
c3
p1
p2
q1
q2
q3
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 64
! Observe que
unio disjunta = composio paralela de sistemas
incluso de pares = sincronizaes
operaes simples e de fcil entendimento
! operadores poderosos
! para especificar sistemas concorrentes e comunicantes
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 65
Observao: Estrutura de Eventos
Um dos modelos para concorrncia mais conhecidos
baseado em conjuntos ordenados
Conjunto ordenado
seqencialidade e concorrncia
Juntamente com uma relao de conflito
no-determinismo ou escolha
conceito introduzido ao longo da disciplina
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 66
! Exerccio: Conj. Parcialmente Ordenados $ Linguagem
de Programao
Para verificar a expressividade dos conjuntos parcialmente ordenados
Para alguma linguagem de programao concorrente
faa um esboo de um programa concorrente
similar ao caso exemplificado
compare as especificaes
qual o mais simples?
Comparativamente com muitas das linguagens usualmente adotadas
conjuntos parcialmente ordenados
fornecem solues mais simples e claras
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 67
6 Endorrelaes, Ordenao
e Equivalncia
6.1 Propriedades de uma Endorrelao
6.2 Fecho de uma Endorrelao
6.3 Ordenao
6.4 Equivalncia e Partio
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 68
6.4 Equivalncia e Partio
! Relao de equivalncia importante para CC
reflete uma noo de igualdade semntica
entidades com formas diferentes (sintaticamente diferentes)
podem ser equivalentes (igualadas)
exemplo: 4
exemplos no quotidiano (suponha um conjunto de pessoas)
! mesma idade
! mesma altura
! mesmo sexo
! Propriedades que caracterizam equivalncia?
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 69
! Considerando a noo semntica de igualdade
Reflexiva. Qq elemento sempre igual a si mesmo
Transitiva. Intuitiva em qualquer noo de igualdade
Simtrica. Mais caracteriza a igualdade (e diferencia da ordem)
! Importante resultado de uma relelao de equivalncia
R: A * A induz uma partio do conjunto A
! em subconjuntos disjuntos e no-vazios
! classes de equivalncia
exemplo: relao mesmo sexo
! classe de equivalncia das pessoas do sexo feminino
! classe de equivalncia das pessoas do sexo masculino
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 70
Def: Relao de Equivalncia
R: A * A uma Relao de Equivalncia se for
Reflexiva
Simtrica
Transitiva
Def: Partio de um Conjunto
Partio do conjunto A um conjunto de
subconjuntos no-vazios e mutuamente disjuntos de A
! blocos da partio ou classes de equivalncia
unio de todos os blocos resulta em A
Quais so os blocos da partio do vazio?
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 71
! Notao para classe de equivalncia
{ A
1
, A
2
,, A
n
} partio de A
usual denotar por um elemento representativo da classe
! para a
1
# A
1
,, a
n
# A
n
[a
1
] = A
1
,, [a
n
] = A
n
! Aplicao da notao: Cdigo Nacional de Trnsito
vaca: representa genericamente a classe animais
alce: representa genericamente a classe animais selvagens
! Aplicao da notao: Claudiomiro
Queria agradecer a Antarctica pelas Brahma que enviou l para
casa
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 72
! Importante resultado (adiante)
cada relao de equivalncia R: A * A
induz uma nica partico do conjunto A
Exp: Relao de Equivalncia
&A, =(
&P(A), =(
-: - * -
A
2
: A * A
Qual seria a correspondente partio em cada caso?
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 73
Exp: Relao de Equivalncia e Partio
R = { (a, b) # N
2
/ a MOD 2 = b MOD 2 }
MOD: resto da diviso inteira
R uma relao de equivalncia?
Intuitivamente, R induz uma partio de N
[ 0 ], a classe de equivalncia dos nmero pares (resto zero)
[ 1 ], a classe de equivalncia dos nmero mpares (resto um)
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 74
! Teorema mostra como construir uma partio
a partir de uma relao de equivalncia
prova especialmente interessante
! simples
! 3 tcnicas de demonstrao: direta, contraposio e absurdo
Teorema: Relao de Equivalncia 5 Partio
R: A * A uma relao de equivalncia
Ento, R induz uma partio do conjunto A
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 75
Prova:
Suponha R: A * A uma relao de equivalncia. Para qq a # A, seja
[ a ]
R
= { b # A / a R b }
Ento, uma partio de A
{ [ a ]
R
/ a # A }
(agrupa elementos relacionados entre si como classe de equivalncia)
Para provar que uma partio de A
cada classe de equivalncia no-vazia
qq duas classes de equivalncia distintas so disjuntas
unio de todas as classes de equivaliencia resulta em A
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 76
Prova: Cada classe no-vazia (direta)
Suponha a # A. Ento
a # A 5 reflexividade de R
a R a 5 definio de [ a ]
R
a # [ a ]
R
Logo, cada classe de equivalncia no-vazia
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 77
Prova: Qq duas classes distintas so disjuntas
Inicialmente, provado o seguinte resultado sobre classes distintas
Se [ a ]
R
+ [ b ]
R
, ento (a R b) (contraposio)
suponha que a R b
a prova de [ a ]
R
= [ b ]
R
dividida em dois casos
Caso 1. [ b ]
R
) [ a ]
R
. Suponha c # [ b ]
R
c # [ b ]
R
5 definio de [ b ]
R
b R c 5 transitividade de R suposto que a R b
a R c 5 definio de [ a ]
R
c # [ a ]
R
5 definio de subconjunto
[ b ]
R
) [ a ]
R
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 78
Prova: Qq duas classes distintas so disjuntas
Caso 2. [ a ]
R
) [ b ]
R
. Suponha c # [ a ]
R
c # [ a ]
R
5 definio de [ a ]
R
a R c 5 simetria de R
c R a 5 transitividade de R suposto que a R b
c R b 5 simetria de R
b R c 5 definio de [ b ]
R
c # [ b ]
R
5 definio de subconjunto
[ a ]
R
) [ b ]
R
Logo, se [ a ]
R
+ [ b ]
R
, ento (a R b)
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 79
Prova: Qq duas classes distintas so disjuntas
Se [ a ]
R
+ [ b ]
R
, ento [ a ]
R
6 [ b ]
R
= - (absurdo)
Suponha que [ a ]
R
+ [ b ]
R
e [ a ]
R
6 [ b ]
R
+ -. Ento:
[ a ]
R
+ [ b ]
R
. [ a ]
R
6 [ b ]
R
+ - 5 prova anterior
(a R b) . [ a ]
R
6 [ b ]
R
+ - 5 definio de interseco
(a R b) . (%c # A)(c # [ a ]
R
. c # [ b ]
R
) 5 def. de [ a ]
R
, [ b ]
R
(a R b) . a R c . b R c 5 simetria de R
(a R b) . a R c . c R b 5 transitividade de R
(a R b) . a R b, o que um absurdo!
Logo, quaisquer duas classes de equivalncia distintas so disjuntas
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 80
Prova: Unio das classes resulta em A (direta)
A prova dividida em dois casos (duas continncias)
Caso 1. A est contido na unio
a # A 5 classe de equivalncia no-vazia
a # [ a ]
R
5 definio de unio
a pertence unio de todas as classes de equivalncia
Caso 1. Unio est contida em A
a pertence unio de todas as classes 5 definio de unio
(%b # A)(a # [ b ]
R
) 5 definio de classe
b R a 5 suposto que R: A * A
a # A
Logo, a unio de todas as classes de equivalncia resulta em A
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 81
Prova:
Como { [ a ]
R
/ a # A } tal que
cada classe de equivalncia no-vazia
qq duas classes de equivalncia distintas so disjuntas
unio de todas as classes de equivaliencia resulta em A
tem-se que R induz uma partio do conjunto A $
! Portanto
para construir a partio induzida pela relao
basta agrupar os elementos que esto relacionados entre si
como uma classe de equivalncia
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 82
Exp: Relao de Equivalncia 5 Partio
R = { (a, b) # N
2
/ a MOD 2 = b MOD 2 }
Claramente, a R b sse
a e b, quando dividido por 2
ou tem ambos resto zero ou ambos resto um
ou seja, so ambos pares ou ambos mpares
Portanto, R induz uma partio de N
[ 0 ], a classe de equivalncia dos nmero pares (resto zero)
[ 1 ], a classe de equivalncia dos nmero mpares (resto um)
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 83
! Os seguintes teoremas no sero provados
Teorema: Partio Induzida por uma Relao de
Equivalncia nica
Seja R: A * A relao de equivalncia. Ento, a partio de A induzida
por R nica
Teorema: Partio 5 Relao de Equivalncia
Seja A conjunto. Ento, qq partio de A induz uma relao de
equivalncia R: A * A
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 84
Def: Conjunto Quociente
A conjunto, R: A * A endorrelao de equivalncia
Conjunto Quociente
A / R
a partio de A induzida pela relao de equivalncia R
A / R = { [ a ]
R
/ a # A }
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 85
Exp: Conjunto Quociente: Q
N
+
= N - {0} naturais positivos
F = Z $ N
+
fraes
Relao de equivalncia
R = { &&a, b(, &c, d(( # F
2
/ a/b = c/d }
Portanto, Q o conjunto quociente F / R
Q = F / R
Cada nmero racional uma classes de equivalncia de fraes
[ 0 ]
R
= { 0/1, 0/2, 0/3, }
[ 1/2 ]
R
= { 1/2, 2/4, 3/6, }
[ 5/4 ]
R
= { 5/4, 10/8, 15/12, }
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 86
Matemtica Discreta para Cincia da Computao
P. Blauth Menezes
1 Introduo e Conceitos Bsicos
2 Lgica e Tcnicas de Demonstrao
3 lgebra de Conjuntos
4 Relaes
5 Funes Parciais e Totais
6 Endorrelaes, Ordenao e Equivalncia
7 Cardinalidade de Conjuntos
8 Induo e Recurso
9 lgebras e Homomorfismos
10 Reticulados e lgebra Booleana
11 Concluses
Matemtica Discreta para Cincia da Computao - P. Blauth Menezes 87
Matemtica Discreta para
Cincia da Computao
P. Blauth Menezes
blauth@inf.ufrgs.br
Departamento de Informtica Terica
Instituto de Informtica / UFRGS

Você também pode gostar