matemática discreta para ciência da...

120
Matemática Discreta para Ciência da Computação - P. Blauth Menezes 1 Matemática Discreta para Ciência da Computação P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS

Upload: others

Post on 15-Sep-2019

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 1

Matemática Discreta paraCiência da Computação

P. Blauth Menezes

[email protected]

Departamento de Informática Teórica

Instituto de Informática / UFRGS

Page 2: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 2

Matemática Discreta para Ciência da Computação

P. Blauth Menezes

1 Introdução e Conceitos Básicos2 Lógica e Técnicas de Demonstração3 Álgebra de Conjuntos4 Relações5 Funções Parciais e Totais6 Endorrelações, Ordenação e Equivalência7 Cardinalidade de Conjuntos8 Indução e Recursão9 Álgebras e Homomorfismos10 Reticulados e Álgebra Booleana11 Conclusões

Page 3: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 3

9 – Álgebras eHomomorfismos

9.1 Operações Binárias9.2 Propriedades das Operações Binárias9.3 Grupóides, Semigrupos, Monóides, Grupos9.4 Importantes Propriedades dos Monóides e

Grupos9.5 Homomorfismos9.6 Monóide Livre Gerado e Fecho de Kleene9.7 Grafos9.8 Categorias

Page 4: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 4

9 Álgebras e Homomorfismos

◆ Já foi introduzido que

• Álgebra, desde a sua origem até a sua forma atual∗ refere-se a cálculos

• Desenvolvida de forma informal ou formal∗ praticamente em todos os níveis de escolaridade∗ ex: operações aritméticas (adição, multiplicação…) sobre R

• Álgebras, em CC, destaca-se a partir de 1950∗ Teoria dos Autômatos e Linguagens Formais

• De certa forma, toda a CC é construída sobre álgebras∗ Álgebra: denominação alternativa para a Matemática Discreta

Page 5: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 5

◆ Assim, o estudo mais amplo de álgebras

• central no contexto da Matemática Discreta

◆ Alguns exemplos de álgebras já introduzidos

• Álgebra de Conjuntos∗ conjuntos e as operações sobre conjuntos (união,…)

• Álgebra de Funções∗ funções e composição de funções

• Álgebra de Proposições∗ proposições e conetivos lógicos (e, negação,…)

◆ Seguindo a mesmo linha de raciocínio

• Álgebra de Relações, Álgebra de Funções Parciais, ...

Page 6: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 6

◆ Conceito formal de álgebra

• simples• mas com um nível de abstração relativamente alto

∗ para caracterizar todos os tipos de álgebras

◆ O conceito é construindo do concreto para o abstrato

• inicialmente são introduzidos alguns exemplos

◆ Exemplos acima são de álgebras grandes

• operações definidas sobre coleções (e não conjuntos)

◆ Neste capítulo

• ênfase às álgebras pequenas

Page 7: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 7

◆ Homomorfismo de Álgebras

• conceito tão importante quanto o de álgebra• são funções (álgebras pequenas)

∗ mapeiam álgebras (estruturalmente similares)∗ preservando as estruturas

• morfismo∗ alguma forma de mapeamento (relação, função, …)∗ entre duas estruturas similares

• homo∗ preserva a estrutura

• noção de homomorfismo é desenvolvida gradativamente

Page 8: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 8

◆ Estudo mais formal de álgebra

• conceito de operação• principais propriedades das operações

◆ Importantes álgebras e homomorfismos

• fecho de Kleene• grafo (visto como álgebra)• categoria (vista como álgebra)

Page 9: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 9

9 – Álgebras eHomomorfismos

9.1 Operações Binárias9.2 Propriedades das Operações Binárias9.3 Grupóides, Semigrupos, Monóides, Grupos9.4 Importantes Propriedades dos Monóides e

Grupos9.5 Homomorfismos9.6 Monóide Livre Gerado e Fecho de Kleene9.7 Grafos9.8 Categorias

Page 10: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 10

9.1 Operações Binárias

◆ Operação (pequena): função parcial

• já foi introduzido

◆ De especial interesse para a Computação e Informática

• operações binárias∗ domínio: produto cartesiano

• operações internas a um conjunto A∗ domínio e contra-domínio são definidos sobre A

• operações fechadas∗ total

Page 11: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 11

Def: Operação Binária, Interna, FechadaA, B e C conjuntos

Operação Binária

⊕: A × B → C

Operação Interna ao conjunto A• domínio e contra-domínio são definidos em A

∗ o próprio A ou∗ conjunto resultante do produto cartesiano sobre A

• operação binária interna ao conjunto A

⊕: A × A → A

Operação Fechada: operação total (função)

Page 12: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 12

Exp: Operação binária? interna? fechada?

Divisão nos reais. div: R × R → R

div〈x, y〉 = x/y

Quadrado nos naturais. quadrado: N → N

quadrado(n) = n2

Elemento. 1 = { * } conjunto unitário. zero: 1 → N

zero〈*〉 = 0

União. A conjunto. ∪: P(A) × P(A) → P(A)

Page 13: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 13

Obs: Elemento de Conjunto como FunçãoFunção zero: 1 → N tal que zero〈*〉 = 0

• forma de identificar um elemento de um conjunto por uma função• se 1 é conjunto unitário fixo, e A conjunto qualquer

#A = #{ f f : 1 → A é função }

• exemplo

true

false

1 boolean

truetrue

false

1 boolean

false

Page 14: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 14

9 – Álgebras eHomomorfismos

9.1 Operações Binárias9.2 Propriedades das Operações Binárias9.3 Grupóides, Semigrupos, Monóides, Grupos9.4 Importantes Propriedades dos Monóides e

Grupos9.5 Homomorfismos9.6 Monóide Livre Gerado e Fecho de Kleene9.7 Grafos9.8 Categorias

Page 15: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 15

9.2 Propriedades das OperaçõesBinárias

◆ Principais propriedades das operações binárias,internas e fechadas

• Comutativa *

• Associativa *

• Elemento neutro *

• Elemento inverso

* introduzidas anteriormente: Álgebra de Conjuntos & Lógica

Page 16: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 16

Def: Comutativa, Associativa, Elemento Neutro,Elemento Inverso

⊕: A × A → A operação binária, interna e fechada

Comutativa

(∀a ∈ A)(∀b ∈ A) ( a ⊕ b = b ⊕ a )

Associativa

(∀a ∈ A)(∀b ∈ A)(∀c ∈ A) ( a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c )

Elemento Neutro

(∃e ∈ A)(∀a ∈ A) ( a ⊕ e = e ⊕ a = a )

Elemento Inverso

(∀a ∈ A)(∃a ∈ A) ( a ⊕ a = a ⊕ a = e )

Page 17: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 17

◆ Associativa ???

• precedência na aplicação do operando não é importante• parênteses podem ser omitidos

a ⊕ b ⊕ c

◆ Elemento Neutro

• satisfazer simultaneamente à esquerda e à direita é fundamental

(∃e ∈ A)(∀a ∈ A) ( a ⊕ e = e ⊕ a = a )

• divisão nos reais∗ possui neutro à direita número um∗ não possui neutro à esquerda

Page 18: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 18

Exp: Propriedades da UniãoA conjunto. ∪: P(A) × P(A) → P(A)

• Comutativa?

• Associativa?

• Elemento neutro? (qual ?)

• Elemento inverso?

Page 19: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 19

Exp: Propriedades da Adição+: N × N → N

• comutativa• associativa• elemento neutro (zero)

+: Z × Z → Z

• comutativa• associativa• elemento neutro• elemento inverso

n + –n = –n + n = 0

Page 20: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 20

Exp: Propriedades da Multiplicação

*: N × N → N

• comutativa, associativa e elemento neutro (um)

*: R × R → R

• comutativa, associativa e elemento neutro

• se considerada sem o zero∗ elemento inverso

x * 1/x = 1/x * x = 1

Page 21: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 21

9 – Álgebras eHomomorfismos

9.1 Operações Binárias9.2 Propriedades das Operações Binárias9.3 Grupóides, Semigrupos, Monóides, Grupos9.4 Importantes Propriedades dos Monóides e

Grupos9.5 Homomorfismos9.6 Monóide Livre Gerado e Fecho de Kleene9.7 Grafos9.8 Categorias

Page 22: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 22

9.3 Grupóides, Semigrupos, Monóides,Grupos

◆ Exemplo de álgebra

• operação binária e interna ⊕: A × A → A

• usualmente denotada como um par ordenado

〈A, ⊕〉

• álgebra interna∗ operação ⊕ é interna

• conjunto suporte da álgebra interna 〈A, ⊕〉∗ conjunto A

Page 23: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 23

◆ Operações binárias e internas são especialmenteimportantes para Computação e Informática

◆ Tipos mais importantes de álgebras internas com umaúnica operação binária

• se a operação for comutativa, é dita abeliana

Tipo deÁlgebra

Fechada Associativa ElementoNeutro

ElementoInverso

Grupóide ✔

Semigrupo ✔ ✔

Monóide ✔ ✔ ✔

Grupo ✔ ✔ ✔ ✔

Page 24: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 24

◆ Hierarquia entre estes tipos de álgebras

Grupóides(fechada)

Semigrupos(fechada + associativa)

Universo de Todas as Álgebras Internas(uma operação)

Monóides(fechada + associativa + neutro)

Grupos(fechada + associativa + neutro + inverso)

Page 25: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 25

Def: Grupóide, Semigrupo, Monóide, GrupoGrupóide: álgebra interna 〈A, ⊕〉

• ⊕: A × A → A operação (binária e interna)• fechada

Semigrupo: álgebra interna 〈A, ⊕〉• 〈A, ⊕〉 grupóide• associativa

Monóide: álgebra interna 〈A, ⊕〉 ou 〈A, ⊕, e〉• 〈A, ⊕〉 semigrupo• elemento neutro

Grupo: álgebra interna 〈A, ⊕〉 ou 〈A, ⊕, e〉• 〈A, ⊕〉 monóide• elemento inverso

Page 26: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 26

Def: Grupóide, Semigrupo, Monóide, Grupo

Se a operação for comutativa

• Grupóide Comutativo ou Grupóide Abeliano

• Semigrupo Comutativo ou Semigrupo Abeliano

• Monóide Comutativo ou Monóide Abeliano

• Grupo Comutativo ou Grupo Abeliano

Page 27: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 27

Exp: Grupóide, Semigrupo, Monóide: ConcatenaçãoΣ alfabeto não-vazio, operação de concatenação

conc: Σ* × Σ* → Σ*• fechada• associativa• elemento neutro (palavra vazia ε)

Portanto, a álgebra interna 〈Σ*, conc〉 é simultaneamente• grupóide• semigrupo• monóide

Não é• grupo (e se o alfabeto for vazio?)• comutativa (e se o alfabeto for vazio ou unitário?)

Page 28: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 28

Exp: Grupóide, Semigrupo, Monóide: União eIntersecção

A conjunto, operações de união e de intersecção

∪: P(A) × P(A) → P(A) e ∩: P(A) × P(A) → P(A)

• fechadas• associativas• elemento neutro (∅ e A)• comutativas

Portanto álgebras internas 〈P(A), ∪〉 e 〈P(A), ∩〉 são simultaneamente• grupóides abelianos• semigrupos abelianos• monóides abelianos

Page 29: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 29

Exp: Grupóide, Semigrupo, Monóide: União eIntersecção

Se união e intersecção

• definidas sobre todos os conjuntos• constituem grupóides?

Se o conjunto suporte A for vazio,• 〈P(A), ∪〉 e 〈P(A), ∩〉• constituem grupos?

Page 30: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 30

Exp: Grupóide, Semigrupo, Monóide, Grupo: Adição eMultiplicação

Simultaneamente grupóides abelianos, semigrupos abelianos emonóides abelianos (qual o elemento neutro ?)

• 〈N, +〉 e 〈N, ∗〉• 〈Z, +〉 e 〈Z, ∗〉• 〈R, +〉 e 〈R, ∗〉

Grupos abelianos

• 〈Z, +〉 adição nos inteiros• 〈R, +〉 adição nos reais• 〈R – { 0 }, ∗〉 multiplicação nos reais sem o zero

Page 31: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 31

Exp: Grupóide, Semigrupo, Monóide, Grupo: UnitárioSimultaneamente grupóide abeliano, semigrupo abeliano, monóideabeliano e grupo abeliano

Unitário. 〈{ ∗ }, !〉, operação !: { ∗ } × { ∗ } → { ∗ }

• fechada• associativa• comutativa• elemento neutro (o único elemento do suporte)• elemento inverso (por quê?)• única op. com origem em { ∗ } × { ∗ } e destino em { ∗ } (por quê?)

Menor monóide (em termos do cardinal do conjunto suporte)

• unitário

Page 32: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 32

Exp: Grupóide, Semigrupo: VazioSimultaneamente grupóide abeliano e semigrupo abeliano

Vazio. 〈∅, ∅〉, operação vazia ∅: ∅ × ∅ → ∅

• fechada• associativa (por quê?)• comutativa• única operação com origem em ∅ × ∅ e destino em ∅ (por quê?)

Menor grupóide (em termos do cardinal do conjunto suporte)

• vazio

Page 33: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 33

Exp: Álgebra Não-GrupóideA conjunto não-vazio. Não são grupóides (por que?)

• Subtração nos naturais: 〈N, -〉

• Divisão nos reais: 〈R, /〉

• Produto cartesiano no conjunto das partes 〈P(A), ×〉

Exp: Álgebra Não-SemigrupoSão grupóides, mas não são semigrupos (operações não-associativas)

• Subtração nos inteiros: 〈Z, -〉

• Divisão nos reais sem o zero: 〈R - { 0 }, /〉

Page 34: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 34

Exp: Álgebra Não-MonóideVazio. Semigrupo abeliano 〈∅, ∅〉

• operação ∅: ∅ × ∅ → ∅

• não possui elemento neutro∗ suporte de um monóide não pode ser vazio

Adição e Multiplicação. Excluindo-se, respectivamente, 0 e 1

• 〈N - { 0 }, +〉 e 〈N - { 1 }, ∗〉

• 〈R - { 0 }, +〉 e 〈R - { 1 }, ∗〉

Page 35: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 35

Exp: Álgebra Não-Grupo

Adição e Multiplicação.

• 〈N, +〉 adição nos inteiros• 〈R, ∗〉 multiplicação nos reais

União e Intersecção. A conjunto não-vazio

• 〈P(A), ∪〉• 〈P(A), ∩〉

Concatenação. Σ alfabeto não-vazio

• 〈Σ*, conc, ε〉

Page 36: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 36

9 – Álgebras eHomomorfismos

9.1 Operações Binárias9.2 Propriedades das Operações Binárias9.3 Grupóides, Semigrupos, Monóides, Grupos9.4 Importantes Propriedades dos Monóides e

Grupos9.5 Homomorfismos9.6 Monóide Livre Gerado e Fecho de Kleene9.7 Grafos9.8 Categorias

Page 37: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 37

9.4 Importantes Propriedades dosMonóides e Grupos

◆ Elemento neutro em um monóide é único???

• Técnicas de Demonstração - prova por absurdo

0 é o único elemento neutro da adição em N

Teorema: Elemento Neutro de um Monóide é Único

〈A, ⊕, e〉 monóide. Então, e ∈ A é o único elemento neutro do monóide

Prova: (por absurdo)〈A, ⊕, e〉 monóide. Suponha que e não é o único elemento neutro

• existe um outro elemento neutro e, diferente de e

Page 38: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 38

Então (suponha a ∈ A)

• e é neutro∗ a = e ⊕ a = a ⊕ e∗ para a = e tem-se que e = e ⊕ e = e ⊕ e

• e é neutro∗ a = e ⊕ a = a ⊕ e∗ para a = e tem-se que e = e ⊕ e = e ⊕ e

• transitividade da igualdade∗ e = e∗ contradição!!! foi suposto que e ≠ e

É absurdo supor que o elemento neutro de 〈A, ⊕, e〉 não é único

Logo, o elemento neutro é único

Page 39: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 39

◆ Teorema a seguir

• importante propriedade dos grupos

• generaliza a intuição sobre operações como a adição nos reais∗ se x + 3 = y + 3∗ então, x = y

• propriedade cancelamento

Page 40: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 40

Teorema: Propriedade de Cancelamento dos Grupos〈A, ⊕〉 um grupo satisfaz à propriedade de cancelamento, ou seja,simultaneamente:

• Cancelamento à direita

(∀a ∈ A)(∀x ∈ A)(∀y ∈ A) ( x ⊕ a = y ⊕ a → x = y )

• Cancelamento à esquerda:

(∀a ∈ A)(∀x ∈ A)(∀y ∈ A) ( a ⊕ x = a ⊕ y → x = y )

Page 41: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 41

Prova:

Cancelamento à direita. Suponha que x ⊕ a = y ⊕ a

• x = elemento neutro• x ⊕ e = elemento inverso• x ⊕ (a ⊕ a) = associatividade• (x ⊕ a) ⊕ a = hipótese• (y ⊕ a) ⊕ a = associatividade• y ⊕ (a ⊕ a) = elemento inverso• y ⊕ e = elemento neutro• y

• Portanto, x = y

Cancelamento à esquerda. A prova é análoga (exercício)

Page 42: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 42

Teorema Elemento Inverso em um Grupo é Único〈A, ⊕〉 grupo. Então, para qualquer a ∈ A, o elemento inverso de a éúnico

Prova:

Exercício

Page 43: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 43

9 – Álgebras e Homomorfismos9.1 Operações Binárias9.2 Propriedades das Operações Binárias9.3 Grupóides, Semigrupos, Monóides, Grupos9.4 Importantes Propriedades dos Monóides e

Grupos9.5 Homomorfismos

9.5.1 Grupóides e Semigrupos9.5.2 Monóides9.5.3 Grupos

9.6 Monóide Livre Gerado e Fecho de Kleene9.7 Grafos9.8 Categorias

Page 44: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 44

9.5 Homomorfismos

◆ Homomorfismo de álgebras (já foi afirmado)

• é constituído por funções (no caso de álgebras pequenas)

• mapeiam álgebras de um mesmo tipo

• preservando as suas estruturas

◆ Como estruturas (abelianas ou não) são preservadaspor homomorfismos de

• Grupóides?• Semigrupos?• Monóides?• Grupos?

Page 45: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 45

◆ Monomorfismo, epimorfismo e isomorfismo?

• seria de se esperar que os conceitos fossem naturalmenteestendidos para mapeamentos de álgebras

• somente o de isomorfismo pode ser estendido

Obs: Monomorfismo, Epimorfismo e Isomorfismo deÁlgebras

Isomorfismo• baseado na existência de um morfismo inverso• pode ser naturalmente estendido para as estruturas algébricas

Monomorfismo e epimorfismo• necessitam de noções e conceitos baseados em Teoria das

Categorias (fogem do escopo da disciplina)

Page 46: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 46

◆ Estruturas algébricas isomorfas

• se existe um isomorfismo entre tais estruturas• são consideradas basicamente a mesma

iguais a menos de isomorfismo

• e, obrigatoriamente

possuem as mesmas propriedades

Page 47: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 47

9 – Álgebras e Homomorfismos9.1 Operações Binárias9.2 Propriedades das Operações Binárias9.3 Grupóides, Semigrupos, Monóides, Grupos9.4 Importantes Propriedades dos Monóides e

Grupos9.5 Homomorfismos

9.5.1 Grupóides e Semigrupos9.5.2 Monóides9.5.3 Grupos

9.6 Monóide Livre Gerado e Fecho de Kleene9.7 Grafos9.8 Categorias

Page 48: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 48

9.5.1 Homomorfismo: Grupóides e Semigrupos

◆ Homomorfismo de grupóides

• função entre os conjuntos suportes• preserva a operação

a1a2

a3 = a1⊕a2

b1b2

b3 = b1⊗b2

homomorfismo

〈A,⊕〉 〈B,⊗〉

Page 49: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 49

◆ Homomorfismo de semigrupos

• é como um homomorfismo de grupóides• preserva operação ⇒ preserva associatividade

Def: Homomorfismo de Grupóides〈A, ⊕〉 e 〈B, ⊗〉 grupóides

h: 〈A, ⊕〉 → 〈B, ⊗〉

função entre os conjuntos suportes h: A → B tal que

(∀a1 ∈ A)(∀a2 ∈ A)( h〈a1 ⊕ a2〉 = h〈a1〉 ⊗ h〈a2〉 )

Page 50: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 50

◆ Notação

h: 〈A, ⊕〉 → 〈B, ⊗〉

• e não simplesmente como função h: A → B

• destaca o fato de que se trata de um morfismo entre álgebras

Page 51: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 51

Exp: Homomorfismo de Grupóides: Identidade, Inclusão

〈A, ⊕〉, 〈N, +〉 e 〈Z, +〉 grupóides

Identidade. Função identidade idA: A → A induz

id〈A,⊕〉: 〈A, ⊕〉 → 〈A, ⊕〉

Inclusão. Função inclusão incN,Z: N → Z induz

inc〈N,+〉,〈Z,+〉: 〈N, +〉 → 〈Z, +〉

◆ Termos identidade e inclusão

• consideram toda a estrutura do grupóide

• e não apenas o conjunto suporte

Page 52: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 52

Exp: Morfismo Não-Homomorfismo de GrupóidesA um conjunto e 〈P(A), ∪〉, 〈P(A), ∩〉 grupóides

Morfismo induzido pela identidade idP(A): P(A) → P(A) não é, em geral,um homomorfismo de grupóides

idP(A): 〈P(A), ∪〉 → 〈P(A), ∩〉

Exemplo: A = { a, b }, P(A) = { ∅, { a }, { b }, { a, b } }

• São diferentes∗ idP(A)〈{ a } ∪ { b }〉 = idP(A)〈{ a, b }〉 = { a, b }∗ idP(A)〈{ a } ∪ { b }〉 = idP(A)〈{ a }〉 ∩ idP(A)〈{ b }〉 = {a} ∩ {b} = ∅

Exercício: função inclusão (não-identidade) a qual induz um morfismonão-homomorfismo de grupóides

Page 53: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 53

Exp: Homomorfismo de Grupóides: Concatenação

Σ1 = { a, b, c } e Σ2 = { r, s } alfabetos

〈Σ1*, conc1〉 e 〈Σ2*, conc2〉 grupóides

Função f: Σ1 → Σ2 tal que (função entre alfabetos)

• f〈a〉 = r• f〈b〉 = r• f〈c〉 = s

induz canonicamente o homomorfismo de grupóides (mapeia palavras)

f*: 〈Σ1*, conc1〉 → 〈Σ2*, conc2〉

Page 54: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 54

indutivamente definido

• f*〈ε〉 = ε• para qualquer x ∈ Σ1, vale f*〈x〉 = f〈x〉• se x ∈ Σ1 e w ∈ Σ1*, então f*〈x w〉 = f〈x〉 f*〈w〉

εabcaaabacbb

Σ1* ε

r

s

r r

rs...

Σ2*

f*

...

Page 55: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 55

Exemplo:

• f*〈abc〉 =

• f〈a〉 f*〈bc〉 =

• f〈a〉 f〈b〉 f*〈c〉 =

• f〈a〉 f〈b〉 f〈c〉 f*〈ε〉 =

• r r s ε = r r s

εabcaaabacbb

Σ1* ε

r

s

r r

rs...

Σ2*

f*

...

Page 56: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 56

Função entre alfabetos g: Σ2 → Σ1

• g〈r〉 = a• g〈s〉 = b

induz o homomorfismo de grupóides

εabcaaabacbb...

ε

r

s

r r

rs...

Σ2* Σ1*

g*

Page 57: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 57

Def: Isomorfismo de Grupóides

h: 〈A, ⊕〉 → 〈B, ⊗〉 é um Isomorfismo de Grupóides se e somente se

• h possui um homomorfismo de grupóides inversog: 〈B, ⊗〉 → 〈A, ⊕〉

g o h = id〈A,⊕〉 e h o g = id〈B,⊕〉

Page 58: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 58

Exp: Isomorfismo de Grupóides

〈{ a }*, conc〉 e 〈N, +〉 grupóides

h: { a } → N

• tal que h〈a〉 = 1

induz o homomorfismo de grupóides indutivamente definido

h*: 〈{ a }*, conc〉 → 〈N, +〉

• h*〈ε〉 = 0• h*〈a〉 = h〈a〉• se w ∈ { a }*, então h*〈a w〉 = h〈a〉 + h*〈w〉

Page 59: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 59

Exp: …Isomorfismo de Grupóides

Mapeia cada palavra no seu correspondente tamanho

h*〈aaa〉 = h〈a〉 + h*〈aa〉 = h〈a〉 + h〈a〉 + h*〈a〉 =

h〈a〉 + h〈a〉 + h〈a〉 + h*〈ε〉 = 1 + 1 + 1 + 0 = 3

Homomorfismo induzido h*: 〈{ a }*, conc〉 → 〈N, +〉• é isomorfismo de grupóides (qual o homomorfismo inverso?).

Logo, 〈Σ*, conc〉 e 〈N, +〉 são

iguais a menos de isomorfismo

• base unária para os naturais e a operação de adição

Page 60: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 60

Obs: Base de Sistemas Numéricos

Base decimal• base dos sistemas numéricos usualmente adotada na Matemática

∗ origem: número de dedos das duas mãos

• base complicada para representação em sistemas computadores∗ computador: usa base binária∗ os dois valores possíveis de um bit: 0 e 1 ou qq alfabeto binário

Exemplo anterior: base unária para os naturais e a adição

Estudo de bases

• Arquitetura de Computadores e Aritmética Computacional

Exercício: base binária para os números naturais e a adição

Page 61: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 61

◆ Dois teoremas importantes

• composição de hom. de grupóides é hom. de grupóides• hom. de grupóides preservam a propriedade associativa

Teorema: Composição de Homomorfismo de Grupóides〈A, ⊕〉, 〈B, ⊗〉 e 〈C, ∇〉 grupóides

f: 〈A, ⊕〉 → 〈B, ⊗〉 e g: 〈B, ⊗〉 → 〈C, ∇〉 hom. de grupóides

g o f: 〈A, ⊕〉 → 〈C, ∇〉

induzido pela composição das funções f: A → B e g: B → C

g o f: A → C

é homomorfismo de grupóides

Page 62: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 62

Prova: Suponha f: 〈A, ⊕〉 → 〈B, ⊗〉 e g: 〈B, ⊗〉 → 〈C, ∇〉 hom. de grupóides

Como a composição de funções é uma função

• mostrar que g o f: 〈A, ⊕〉 → 〈C, ∇〉 é hom. de grupóides• basta mostrar que preserva a operação

Para quaisquer a1 ∈ A e a2 ∈ A

• g o f〈a1 ⊕ a2〉 = definição de composição• g〈f〈a1 ⊕ a2〉〉 = f hom. de grupóides• g〈f〈a1〉 ⊗ f〈a2〉〉 = g hom. de grupóides• g〈f〈a1〉〉 ∇ g〈f〈a2〉〉 = definição de composição• g o f〈a1〉 ∇ g o f〈a2〉

Portanto g o f: 〈A, ⊕〉 → 〈C, ∇〉 é hom. de grupóides

Page 63: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 63

Teorema: Hom de Grupóides Preserva a AssociatividadeSejam 〈A, ⊕〉 e 〈B, ⊗〉 grupóides e f: 〈A, ⊕〉 → 〈B, ⊗〉 hom. de grupóides

Se 〈A, ⊕〉 ou 〈B, ⊗〉 é semigrupo

• então f: 〈A, ⊕〉 → 〈B, ⊗〉 preserva a associatividade

Page 64: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 64

Prova:

Caso 1: 〈A, ⊕〉 é semigrupo

Como ⊕ é associativa, para quaisquer a ∈ A, b ∈ A e c ∈ A

f〈a ⊕ (b ⊕ c)〉 = f〈(a ⊕ b) ⊕ c〉

Como f: 〈A, ⊕〉 → 〈B, ⊗〉 preserva a operação

• f〈a ⊕ (b ⊕ c)〉 = f〈(a ⊕ b) ⊕ c〉 ⇔

• f〈a〉 ⊗ f〈(b ⊕ c)〉 = f〈(a ⊕ b)〉 ⊗ f〈c〉 ⇔

• f〈a〉 ⊗ (f〈b〉 ⊗ f〈c〉) = (f〈a〉 ⊗ f〈b〉) ⊗ f〈c〉

Logo, preserva a associatividade

Page 65: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 65

Caso 2: 〈B, ⊗〉 é semigrupo

Para quaisquer a ∈ A, b ∈ A e c ∈ A

• f〈a ⊕ (b ⊕ c)〉 = f preserva a operação• f〈a〉 ⊗ f〈b ⊕ c〉 = f preserva a operação• f〈a〉 ⊗ (f〈b〉 ⊗ f〈c〉) = ⊗ é associativa• (f〈a〉 ⊗ f〈b〉) ⊗ f〈c〉 = f preserva a operação• f〈a ⊕ b〉 ⊗ f〈c〉 = f preserva a operação• f〈(a ⊕ b) ⊕ c〉

Logo, preserva a associatividade

Portanto, hom de semigrupos é como um hom. de grupóides

• basta preservar a operação

Page 66: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 66

Def: Homomorfismo de Semigrupos

〈A, ⊕〉 e 〈B, ⊗〉 semigrupos

Homomorfismo de Semigrupos

h: 〈A, ⊕〉 → 〈B, ⊗〉

• é um homomorfismo de grupóides h: 〈A, ⊕〉 → 〈B, ⊗〉

Isomorfismo de semigrupos

• se e somente se h possui um hom. de semigrupos inverso

Page 67: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 67

◆ Comutatividade

• raciocínio análogo• exercício

Teorema: Hom. de Grupóides Preserva Comutatividade

〈A, ⊕〉 e 〈B, ⊗〉 grupóides

f: 〈A, ⊕〉 → 〈B, ⊗〉 hom. de grupóides

Se 〈A, ⊕〉 ou 〈B, ⊗〉 é abeliano

• então f: 〈A, ⊕〉 → 〈B, ⊗〉 preserva a comutatividade

Page 68: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 68

9 – Álgebras e Homomorfismos9.1 Operações Binárias9.2 Propriedades das Operações Binárias9.3 Grupóides, Semigrupos, Monóides, Grupos9.4 Importantes Propriedades dos Monóides e

Grupos9.5 Homomorfismos

9.5.1 Grupóides e Semigrupos9.5.2 Monóides9.5.3 Grupos

9.6 Monóide Livre Gerado e Fecho de Kleene9.7 Grafos9.8 Categorias

Page 69: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 69

9.1.2 Homomorfismo de Monóides

◆ Mapeamento de monóides

• preservar a operação

• não necessariamente implica preservar o elemento neutro∗ exercício

◆ Homomorfismo de monóides

• função entre os conjuntos suportes tal que, preserva∗ operação (como hom. de grupóides/semigrupos)∗ elemento neutro

Page 70: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 70

◆ Homomorfismo de monóides

• função entre os conjuntos suportes∗ preserva operação (como hom. de grupóides/semigrupos)∗ preserva elemento neutro

eAa1a2

a3 = a1⊕a2

eBb1b2

b3 = b1⊗b2

homomorfismo

〈A,⊕,eA〉 〈B,⊗,eB〉

Page 71: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 71

Def: Homomorfismo de Monóides

〈A, ⊕, eA〉 e 〈B, ⊗, eB〉 monóides

Homomorfismo de Monóides

h: 〈A, ⊕, eA〉 → 〈B, ⊗, eB〉

• hom. de semigrupos (ou grupóides) h: 〈A, ⊕〉 → 〈B, ⊗〉• preserva o elemento neutro

h〈eA〉 =eB

Isomorfismo de monóides

• se e somente se possuir um hom. de monóides inverso

Page 72: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 72

Exp: Homomorfismo: Identidade, Inclusão〈A, ⊕, e〉, 〈N, +, 0〉 e 〈Z, +, 0〉 monóides

Identidade. Função identidade idA: A → A

• induz homomorfismo identidade de monóides• isomorfismo de monóides

id〈A,⊕,e〉: 〈A, ⊕, e〉 → 〈A, ⊕, e〉

Inclusão. Função inclusão incN,Z: N → Z

• induz o homomorfismo inclusão de monóides abelianos

inc〈N,+,0〉,〈Z,+,0〉: 〈N, +, 0〉 → 〈Z, +, 0〉

Page 73: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 73

Exp: Homomorfismo: União

A = { a, b } e X = { x, y, z } conjuntos

〈P(A), ∪, ∅〉 e 〈P(B), ∪, ∅〉 monóides abelianos

h: 〈P(A), ∪, ∅〉 → 〈P(X), ∪, ∅〉

tal que:

• h〈 ∅ 〉 = ∅• h〈 { a } 〉 = { x, y }• h〈 { b } 〉 = { y, z }• h〈 { a, b } 〉 = { x, y, z }

Preserva elemento neutro e operação

Page 74: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 74

Exp: …Homomorfismo: União

Exemplificando a preservação da operação

• h〈 { a } ∪ { b } 〉 =

• h〈 { a, b } 〉 =

• { x, y, z } =

• { x, y } ∪ { y, z } =

• h〈 { a } 〉 ∪ h〈 { b } 〉

Portanto, h〈 { a } ∪ { b } 〉 = h〈 { a } 〉 ∪ h〈 { b } 〉

Page 75: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 75

Exp: Homomorfismo: Isomorfismo

O homomorfismo de grupóides (exemplo anterior)

h*: 〈{ a }*, conc, ε〉 → 〈N, +, 0〉

é um isomorfismo de monóides

• preserva operação (é hom. de grupóides)• preserva elemento neutro

h*〈ε〉 = 0

Page 76: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 76

Teorema: Composição de Homomorfismo de Monóides

〈A, ⊕, eA〉, 〈B, ⊗, eB〉 e 〈C, ∇, eC〉 monóides

f: 〈A, ⊕, eA〉 → 〈B, ⊗, eB〉 e g: 〈B, ⊗, eB〉 → 〈C, ∇, eC〉 hom. de monóides

O homomorfismo composto

g o f: 〈A, ⊕, eA〉 → 〈C, ∇, eC〉

• induzido pela composição das funções f: A → B e g: B → C• é um homomorfismo de monóides

Page 77: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 77

Prova: (direta)f: 〈A, ⊕, eA〉 → 〈B, ⊗, eB〉 e g: 〈B, ⊗, eB〉 → 〈C, ∇, eC〉 hom. de monóides

Como a composição de hom. de semigrupos é hom. de semigruposbasta mostrar que g o f: 〈A, ⊕, eA〉 → 〈C, ∇, eC〉 preserva elem. neutro

• g o f〈eA〉 = definição de composição• g〈f〈eA〉〉 = f é homomorfismo de monóides• g〈eB〉 = g é homomorfismo de monóides• eC

Portanto, g o f〈eA〉 = eC

Logo, g o f: 〈A, ⊕, eA〉 → 〈C, ∇, eC〉 é um homomorfismo de monóides

Page 78: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 78

9 – Álgebras e Homomorfismos9.1 Operações Binárias9.2 Propriedades das Operações Binárias9.3 Grupóides, Semigrupos, Monóides, Grupos9.4 Importantes Propriedades dos Monóides e

Grupos9.5 Homomorfismos

9.5.1 Grupóides e Semigrupos9.5.2 Monóides9.5.3 Grupos

9.6 Monóide Livre Gerado e Fecho de Kleene9.7 Grafos9.8 Categorias

Page 79: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 79

9.1.3 Homomorfismo de Grupos

◆ Homomorfismo de grupos

• como homomorfismo de grupóides• basta preservar a operação

◆ Prova-se que, em se tratando de grupos

• preservar a operação• implica preservar

∗ elemento neutro∗ elemento inverso

Page 80: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 80

◆ Composição homs. de grupóides é hom. de grupóides

• Implica: composição de homs. de grupos é hom. de grupos

◆ Analogamente aos homs. Anteriores

• isomorfismo de grupos se e somente se∗ possuir um homomorfismo de grupos inverso

Teorema: Homomorfismo de Grupos × Elemento Neutro〈A, ⊕, eA〉 e 〈B, ⊗, eB〉 grupos

f: 〈A, ⊕, eA〉 → 〈B, ⊗, eB〉 homomorfismo de grupóides

Então, f preserva o elemento neutro

f〈eA〉 = eB

Page 81: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 81

Prova: Suponha 〈A, ⊕, eA〉 e 〈B, ⊗, eB〉 grupos e f: 〈A, ⊕, eA〉 → 〈B, ⊗, eB〉 hom.de grupóides

• f〈eA〉 ⊗ f〈eA〉 = f é homomorfismo de grupóides• f〈eA ⊕ eA〉 = elemento neutro de ⊕• f〈eA〉 = elemento neutro de ⊗• f〈eA〉 ⊗ eB

Portanto, f〈eA〉 ⊗ f〈eA〉 = f〈eA〉 ⊗ eB. Pela propriedade do cancelamento

f〈eA〉 = eB

Logo, f preserva o elemento neutro

Page 82: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 82

Teorema: Homomorfismo de Grupos × Elemento Inverso〈A, ⊕, eA〉 e 〈B, ⊗, eB〉 grupos

f: 〈A, ⊕, eA〉 → 〈B, ⊗, eB〉 homomorfismo de grupóides

Então f preserva o elemento inverso

(∀a ∈ A) ( f〈a〉 = f〈a〉 )

Page 83: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 83

Prova: Suponha 〈A, ⊕, eA〉 e 〈B, ⊗, eB〉 grupos, f: 〈A, ⊕, eA〉 → 〈B, ⊗, eB〉homomorfismo de grupóides e qualquer a ∈ A

• f〈a〉 ⊗ f〈a〉 = f é homomorfismo de grupóides• f〈a ⊕ a〉 = elemento inverso de ⊕• f〈eA〉 = f preserva elemento neutro• eB = elemento inverso de ⊗• f〈a〉 ⊗ f〈a〉 f é homomorfismo de grupóides

Portanto, f〈a〉 ⊗ f〈a〉 = f〈a〉 ⊗ f〈a〉. Pela propriedade do cancelamento

f〈a〉 = f〈a〉

Logo, f preserva o elemento inverso

Page 84: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 84

9 – Álgebras eHomomorfismos

9.1 Operações Binárias9.2 Propriedades das Operações Binárias9.3 Grupóides, Semigrupos, Monóides, Grupos9.4 Importantes Propriedades dos Monóides e

Grupos9.5 Homomorfismos9.6 Monóide Livre Gerado e Fecho de Kleene9.7 Grafos9.8 Categorias

Page 85: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 85

9.6 Monóide Livre Gerado e Fecho deKleene

◆ Já foi visto

• para um alfabeto Σ, a álgebra interna 〈Σ*, conc, ε〉 é monóide• Σ* pode ser indutivamente definido a partir do alfabeto Σ

◆ Definição indutiva

• Base de Indução∗ ε ∈ Σ*∗ para qualquer x ∈ Σ, tem-se que x ∈ Σ*

• Passo de Indução∗ se u e v são palavras de Σ*, então a concatenação u v ∈ Σ*

Page 86: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 86

◆ O raciocínio pode ser aplicado a um conjunto A qq

• não necessariamente é um alfabeto (não finito)

• passo de indução∗ considera a palavra vazia ε como elemento neutro

se u ∈ A*, então u ε = ε u = u

◆ Monóide livre

• tipo especial e importante de monóide

• conjunto suporte A* é (livremente) gerado por um conjunto A

Page 87: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 87

Def: Monóide Livre, Fecho de Kleene

A conjunto

Monóide Livre Gerado por A ou Monóide Livremente Gerado por A

〈A*, conc, ε〉

• conjunto suporte A* = Fecho de Kleene de A• A é denominado de Gerador

Base de Indução• ε ∈ A*• para qualquer x ∈ A, tem-se que x ∈ A*

Passo de Indução

• se u e v são palavras de A*, então a concatenação u v ∈ A*

Page 88: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 88

◆ Portanto

• conjunto de todas as palavras sobre um alfabeto∗ conjunto suporte do monóide livremente gerado pelo alfabeto∗ Fecho de Kleene do alfabeto

• linguagem formal (como Pascal)∗ subconjunto do Fecho de Kleene do alfabeto

◆ Condições para que monóide livre seja abeliano???

Page 89: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 89

Exp: Homomorfismo – Monóides Livres∑1 = { a, b, c } e ∑2 = { r, s } alfabetos

〈∑1*, conc1, ε〉 e 〈∑2*, conc2, ε〉 monóides

Canonicamente induzidos por funções nos geradores

• f: ∑1 → ∑2 função∗ f〈a〉 = r∗ f〈b〉 = r∗ f〈c〉 = s

• g: ∑2 → ∑1 função∗ g〈r〉 = a∗ g〈s〉 = b

Page 90: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 90

Exp: …Homomorfismo – Monóides Livres∑1 = { a, b, c } e ∑2 = { r, s } alfabetos

Homomorfismo não induzido por função entre os geradores∗ h〈ε〉 = ε∗ h〈a〉 = rr∗ h〈b〉 = rs∗ h〈c〉 = ss∗ se x ∈ Σ1 e w ∈ Σ1*, então h〈x w〉 = h〈x〉 h〈w〉

• exemplo∗ h〈abc〉 =

∗ h〈a〉 h〈bc〉 =

∗ h〈a〉 h〈b〉 h〈c ε〉 =

∗ h〈a〉 h〈b〉 h〈c〉 h〈ε〉 =

∗ rr rs ss ε =

∗ rr rs ss

Page 91: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 91

9 – Álgebras eHomomorfismos

9.1 Operações Binárias9.2 Propriedades das Operações Binárias9.3 Grupóides, Semigrupos, Monóides, Grupos9.4 Importantes Propriedades dos Monóides e

Grupos9.5 Homomorfismos9.6 Monóide Livre Gerado e Fecho de Kleene9.7 Grafos9.8 Categorias

Page 92: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 92

9.7 Grafos

◆ Até o momento, as álgebras apresentadas

• uma única operação

• definida sobre um único conjunto

◆ Freqüentemente, álgebras

• mais de uma operação

• operações definidas sobre mais de um conjunto

Page 93: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 93

◆ Álgebras polissortidas

• definidas sobre mais de um conjunto• termo sorte: gênero, classe ou espécie

◆ Álgebras monossortidas

• definidas sobre um único conjunto

◆ Noção de grafo

• informalmente apresentada: estudo das endorrelações• toda endorrelação pode ser vista como um grafo

∗ e conseqüentemente, como uma álgebra• nem todo grafo pode ser visto como uma endorrelação

∗ exercício

Page 94: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 94

◆ Grafos são importantes para Computação eInformática

◆ Estudo de Grafos é brevemente apresentado

◆ Ênfase grafos

• grafos pequenos∗ nodos e arcos constituem conjuntos

• grafos direcionados∗ arcos possuem sentido

Page 95: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 95

◆ Grafo visto como álgebra

• nodos e arcos∗ conjuntos sobre os quais as operações são definidas∗ álgebra polissortida

• origem e destino∗ operações unárias fechadas (não-internas)∗ associam, para cada arco, o nodo origem e destino

Page 96: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 96

Def: GrafoGrafo Pequeno Direcionado ou simplesmente Grafo G

• álgebra polissortida

G = 〈V, T, orig, dest〉

• V conjunto de Nodos ou Vértices

• T conjunto de Arcos, Arestas ou Setas

• orig: T → V e dest: T → V∗ operações totais (funções)∗ denominadas Origem e Destino

Page 97: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 97

◆ Notação

• arco t tal que orig〈t〉 = A e dest〈t〉 = B• denotado por t: A → B• representado na forma de diagrama

tA B

Page 98: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 98

Exp: Grafo

Arco único. G1 = 〈{ A, B }, { t }, orig1, dest1〉• orig〈t〉 = A• dest〈t〉 = B

Nodo isolado. G2 = 〈{ X }, ∅, orig2, dest2〉• orig2: ∅ → { X } e dest2: ∅ → { X }• funções vazias

Arcos paralelos. G3 = 〈{ 1, 2 }, { r, s, t, u, v }, ∂03, ∂13〉• arcos paralelos: mesmos nodos origem e destino

1 2r

s

t

u

vtA B X

Page 99: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 99

◆ Multigrafo

• freqüentemente, grafos com arcos paralelos são ditos multigrafos

◆ Homomorfismo de grafos

• preserva a estrutura dos grafos,• ao mapear os nodos e arcos

∗ deve preservar as operações origem e destino

• mapeamento de um arco∗ de acordo com o mapeamento dos seus nodos origem e destino

Page 100: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 100

Def: Homomorfismo de GrafosG1 = 〈V1, T1, orig1, dest1〉 e G2 = 〈V2, T2, orig2, dest2〉 grafos

h: G1 → G2

par de funções

h = 〈hV, hT〉

onde

hV: V1 → V2 e hT: T1 → T2

tais que

orig2 o hT = hV o orig1 e dest2 o hT = hV o dest1

Page 101: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 101

Exp: Homomorfismo de Grafos

A

B

C

1 2

3

r

st

a

bc

d

e

G1 G2 hV

hT

• existe mais algum homomorfismo de grafos de G1 para G2?• existe pelo menos um morfismo de G2 para G1?

Page 102: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 102

Teorema: Composição de Homomorfismos de GrafosSejam f: G1 → G2 e g: G2 → G3 homomorfismos de grafos

g o f: G1 → G3

tal que g o f = 〈gV o fV, gT o fT〉, é um homomorfismo de grafos

Prova: (direta)Seja t: A → B arco de G1. Então

• t: A → B é arco de G1 ⇒• fT(t): fV(A) → fV(B) é arco de G2 (f é hom. de grafos) ⇒• gT(fT(t)): gV(fV(A)) → gV(fV(B)) é arco de G3 (g é hom. de

grafos)

Logo, g o f é homomorfismo de grafos

Page 103: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 103

9 – Álgebras eHomomorfismos

9.1 Operações Binárias9.2 Propriedades das Operações Binárias9.3 Grupóides, Semigrupos, Monóides, Grupos9.4 Importantes Propriedades dos Monóides e

Grupos9.5 Homomorfismos9.6 Monóide Livre Gerado e Fecho de Kleene9.7 Grafos9.8 Categorias

Page 104: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 104

9.8 Categorias

◆ Em um primeiro momento, Teoria das Categorias podeser vista como

• generalização da álgebra de funções

• principal operação: composição de funções

◆ Categoria é uma estrutura abstrata

• constituída de objetos e setas entre os objetos

• com uma propriedade fundamental∗ composicionalidade das setas

Page 105: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 105

Categoria Objetos Setas Composição

conjuntos e funções conjuntos funções (totais) composição de funções

figuras figuras transform. de figuras construtor de transform.“complexas”

um programafuncional

tipos de dados operações construtor operaçõesnão-primitivas

espaços vetoriais espaços vetoriais transforma. lineares composição detransformações lineares

grafos grafos homomorfismo degrafos

composiçãohomomorfismo de grafos

lógica proposições provas transitividade das provas

uma máquina deestados

estados transições construtor decomputações

conjuntosparcialmenteordenados

conjuntosparcialmenteordenados

funções monotônicas composição de funçõesmonotônicas

um conjuntoparcialmenteordenado

elementos doconjunto

pares da relação deordem parcial

transitividade da relaçãode ordem parcial

Page 106: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 106

◆ Qq modificação sobre objetos, setas ou composição

• nova categoria

Exp: Conjuntos e FunçõesSubstituição das funções (totais) por funções parciais

• nova categoria∗ conjuntos e funções parciais∗ com diferentes propriedades

• produto cartesiano∗ generalizado categorialmente∗ diferente nas duas categorias

Page 107: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 107

◆ Objeto, seta e composição

• não necessariamente possuem estruturas∗ que lembrem as da Teoria dos Conjuntos

Exp: Conjunto Parcialmente Ordenado como Categoria

0 1 20 ≤ 1 1 ≤ 2

(0 ≤ 2) = (1 ≤ 2) • (0 ≤ 1)

0 ≤ 0 1 ≤ 1 2 ≤ 2

• objetos - não possuem qualquer estrutura (elementos de conjunto)• setas - pares de elementos• composição - transitividade da relação

Page 108: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 108

◆ Uma mesma estrutura, simultaneamente

• pode constituir uma categoria por si só∗ conj. parcialmente ordenado como categoria

• ou ser objeto de uma categoria∗ categoria dos conj. parcialmente ordenados∗ (conjuntos parcialmente ordenados e funções monotônicas)

Exp: Categoria dos Conjuntos Parcialmente Ordenados

• pode ser vista como uma categoria de categorias∗ uma categoria∗ cujos objetos são conjuntos parcialmente ordenados vistos

como categorias

Page 109: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 109

◆ Teoria das Categorias e Ciência da Computação

• possuem muito em comum

• são enriquecidas mutuamente∗ a partir de visões e abordagens de um campo sobre o outro

Page 110: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 110

◆ Entre as características que motivam o seu uso

• destaca-se a expressividade de suas construções• observado nas Diretrizes Curriculares do MEC para Cursos de

Computação e Informática

Teoria das Categorias possui construções cujo poder deexpressão não possui, em geral, paralelo em outras teorias. Esta

expressividade permite formalizar idéias mais complexas de formamais simples, bem como propicia um novo ou melhor

entendimento das questões relacionadas com toda a Ciência daComputação. Como Teoria das Categorias é uma ferramenta

nova, para exemplificar, vale a pena estabelecer um paralelo coma linguagem Pascal: Teoria das Categorias está para a Teoria dosConjuntos assim como Pascal está para a linguagens Assembler.

Page 111: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 111

◆ Apenas o conceito de categoria (como álgebra) éapresentado

• estudo de suas propriedades e aplicações∗ não é objetivo desta disciplina

◆ Categoria é basicamente um grafo

• eventualmente grande

• arcos são componíveis, formando caminhos

• cada nodo possui um endoarco especial: identidade

Page 112: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 112

Def: CategoriaUma álgebra polissortida

C = 〈ObC, MorC, orig, dest, ι, o〉

• ObC - coleção de Objetos

• MorC - coleção de Morfismos ou Setas

• orig: MorC → ObC e dest: MorC → ObC

∗ operações fechadas e totais Origem e Destino∗ um morfismo f tal que orig(f) = A e dest(f) = B é denotado por

f: A → B

Page 113: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 113

• o: (MorC )2 → MorC - operação Composição∗ cada par de morfismos

〈f: A → B, g: B → C〉∗ é associado a um morfismo

g o f: A → C∗ deve satisfazer a propriedade associativa

(h o g) o f = h o (g o f)

• ι: ObC → MorC - operação Identidade∗ cada objeto A é associado a um morfismo

ιA: A → A∗ deve satisfazer a propriedade da identidade (suponha f: A → B)

f o ιA = ιB o f = f

Page 114: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 114

Exp: Categoria SetSet = 〈ObSet, MorSet, orig, dest, ι, o〉

• ObSet - coleção de todos os conjuntos• MorSet - coleção de todas as funções (totais)• orig: MorSet → ObSet e dest: MorSet → ObSet

∗ para qualquer função f com domínio em A e codomínio em B,

orig(f) = A e dest(f) = B

• o: (MorSet  )2 → MorSet∗ operação de composição de funções (é associativa)

• ι: ObSet → MorSet - operação identidade∗ cada conjunto A é associado à função identidade idA: A → A

ι〈A〉 = idA

Page 115: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 115

Exp: Categoria Mon• objetos: todos os monóides• morfismos: todos os homomorfismos de monóides• composição: composição de homomorfismos de monóides• identidade: dada pelo homomorfismo identidade de cada monóide

◆ Análogamente, as categorias

• grupóides e correspondentes homomorfismos• semigrupos e corrrespondentes homomorfismos• grupos e corrrespondentes homomorfismos

Page 116: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 116

Exp: Categoria Gr• objetos: todos os grafos

• morfismos: todos os homomorfismos de grafos

• composição: composição de homomorfismos de grafos

• identidade: dada pelo homomorfismo identidade de cada grafo

Page 117: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 117

Exp: As "Menores" CategoriasCategoria Vazia (justifique cada componente)

〈∅, ∅, ∅, ∅, ∅, ∅〉

Categoria 1• um objeto e um morfismo (identidade desse objeto)

Categoria 1+1• dois objetos e dois morfismos (identidade)

Categoria 2• dois objetos e três morfismos (sendo dois identidade)

2A B

1+1A B

1 A

Page 118: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 118

EXEMPLO Categoria Três Porquinhos e o Lobo Mau

3 porquinhos P1, P2 e P3, o lobo mau L e os morfismos “persegue”com origem no lobo mau e destino em cada um dos porquinhos,

além dos morfismos identidade "outra atividade qualquer"

Page 119: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 119

Matemática Discreta para Ciência da Computação

P. Blauth Menezes

1 Introdução e Conceitos Básicos2 Lógica e Técnicas de Demonstração3 Álgebra de Conjuntos4 Relações5 Funções Parciais e Totais6 Endorrelações, Ordenação e Equivalência7 Cardinalidade de Conjuntos8 Indução e Recursão9 Álgebras e Homomorfismos10 Reticulados e Álgebra Booleana11 Conclusões

Page 120: Matemática Discreta para Ciência da Computaçãoleandroip.com/wp-content/uploads/2018/10/Mat_Discreta9.pdf · Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Matemática Discreta para Ciência da Computação - P. Blauth Menezes 120

Matemática Discreta paraCiência da Computação

P. Blauth Menezes

[email protected]

Departamento de Informática Teórica

Instituto de Informática / UFRGS