categorias e funtores: doce e carinhosa introdução jorge muniz barreto ufsc-ine curso: fundamentos...

25
Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

Upload: luiz-guilherme-leveck-benke

Post on 07-Apr-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

Categorias e Funtores:doce e carinhosa introdução

Jorge Muniz BarretoUFSC-INECurso: Fundamentos da Computação

Page 2: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Categoria: Contexto de Discurso

• O conceito de categoria nasce da necessidade de formalizar o contexto de um discurso.

• Em um discurso tem-se essencialmente objetos de que se fala e ligações entre estes objetos, exatamente as que fazem com que objetos diferentes pertençam à mesma categoria.

Page 3: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Categoria: Contexto de Discurso

• Categorias podem ser:– Reais: as que existem no mundo real e podem

ser representadas por categorias abstratas. Elas podem ainda ser consideradas interpretações de categorias abstratas.

– Abstratas: entidades metemáticas, podendo ter várias interpretações.

Page 4: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Exemplos de Categorias Reais

• Categoria dos artigos sobre esportes. Os objetos são os artigos. As ligações são pares de esportes.

• Categoria dos cursos de PG do mestrado fora de sede ora em desenvolvimento. Os objetos são cursos e as ligações são as de um preceder o outro (no total é conjunto munido de ralação de ordem).

Page 5: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Definição de Categoria

• Categoria é o par (Ob,Mor) onde Ob são os objetos da categoria e Mor os morfismos, satisfazendo a:– Morfismos se referem a pares de objetos; assim

existe Mor(Ob1,Ob2)– Composição de morfismos é morfismo.– Composição de morfismos é associativa.– Existe o morfismo identidade.

Page 6: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Sistema Formal Gerando Categoria<,D>

(Ob,Mor)

Ob1

Ob2

Ob3

Mor13

Mor23Mor12Mor11

Nota: frequentemente denota-se morfismos por letras como f, g, h, ...

Page 7: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Exemplos de Categorias

• Categoria dos conjuntos (Set).• Categoria dos conjuntos parcialmente

ordenados (Poset).• Categoria dos automata.• Categoria dos conjuntos nebulosos.• Categoria dos Espaços topológicos.• E Sistemas formais será categoria?

Page 8: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Representação de um MorfismoMorfismos geralmente são representados por

setas, iniciando no primeiro objeto e terminando no segundo objeto do morfismo.

A B

Sobre a seta se escreve o mome do morfismo.

f

Page 9: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Diagramas

• A utilização da representação de morfismos por setas permite a construção de diagra-mas.

• Diagramas permitem vizualizar claramente composições complexas de morfismos. Não esquecer que o ser humano compreende melhor desenhos do que números em tabelas.

Page 10: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Diagramas Comutativos

• Definição: Diz-se que um diagrama é comutativo quando, em todo par de objetos, o uso de todo percurso indicado pelos morfismos produz o mesmo resultado.

• Observação: Note a ambiguidade do termo isolado comutativo. Por exemplo, pode-se ter uma operação comutativa que significa outra coisa bem definida.

Page 11: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Tipos de Morfismos• Epimorfismo

A B C

• Monomorfismo

A B Cf fgh

g

h

Se o diagrama é comutativo, gf = hf Se isto implica: gf = hf g = h entãof é um epimorfismo

Analogamente se fg = fh g = h entãof é um monomorfismo

Um morfismo que é mono e epi diz-se isomorfismo

Page 12: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Categoria dos Conjuntos

• Identificação dos componentes:

• Ob: conjuntos• Mor: funções

definidas entre conjunto domínio e conjunto contradomínio.

• Monomorfismos são funções injetoras.

• Epimorfismos são funções sobrejetoras

• Isomorfismos são funções bijetoras.

Page 13: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Categoria dos conjuntos• Epimorfismos são funções sobrejetoras.

A B C• Tem-se a definição: Se gf = hf g = h então f é

um epimorfismo• Em Set f,g,h são funções, Suponha que f não é

sobrejetora. Então bB,bf(A). Assim, mesmo que g(b)h(b) a comutatividade do diagrama estará assegurada. Logo, comutatividade não assegura igualdade das funções se f não for sobrejetora.

fgh

Page 14: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Categoria dos Conjuntos• Monomorfismos são funções injetoras

A B CTem-se a definição: Se fg = fh g = h então f é um monomorfismo

• Em Set f,g,h são funções. Suponha f não injetora. Então !(b1,b2), b1 b2 (b1)=f(b2). Decorre que g e f podem ser diferentes, por exemplo, pode existir a1 tal que h(a1)=b1 e g(a1)=b2 mas fg = fh.

• Portanto deve ser injetora.

fgh

Page 15: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Categoria dos Conjuntos

• Observações:– A teoria das categorias ensina a raciocinar com

funções em lugar de elementos.– As demonstrações feitas em termos de

elementos, são válidas na Categoria Set, mas não são válidas em outras categorias, onde o raciocínio primitivo deve ser feito baseado em morfismos.

Page 16: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Exemplo: Mudança de Base (1/4)• Seja as equações dinâmicas de RNA, linearizadas, a

tempo discreto, síncrona, neurônios dinâmicos:x(k+1) = Ax(k)+Bu(k); y(k)=Cx(k)

Onde:x(k): vetor de dimensão n (nº de neurônios);u(k): vetor entrada, dimensão m;y(k): vetor saída, dimensão p;k: etapa de funcionamento da rede.As matrizes A,B,C são obtidas por linearização em torno de ponto de equilíbrio para estudo da parada.

Page 17: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Exemplo: Mudança de Base (2/4)

• Para achar ponto de equilíbrio faz-se em:x(k+1) = Ax(k)+Bu(k)

X(k+1) = x(k)Tendo:

x(k) = Ax(k) + Bu(k)(I-A)x(k) = Bu(k)

Então: x(k) = (I – A)-1Bu(k)Ou operações similares antes de linearizar.

Page 18: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Exemplo: Mudança de Base (3/4)• Deseja-se mudar base de x, por exemplo, usando a

matriz dos autovetores. z=Tx,• Logo: T-1z(k+1) = A T-1z + Bu(k); y(k)=CT-1z• Premultiplicando a primeira por T tem-se o novo

sistema:z(k+1) = T A T-1z + + TBu(k)

y(k)=CT-1z

Page 19: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Exemplo: Mudança de Base (4/4)Mesmo resultado pode ser obtido por manipulação de diagramas comutativos.

u

x x

y

z z

B

A

C

TB CT-1

T A T-1

T T

Page 20: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

E SE TIVERMOS DUAS?

• Calma!• Não são os axiomas de

Peano! Só duas...• Agora vamos ter uma

espécie de função generalizada, mandando Objetos em Objetos e Morfismos em Morfismos.

• Esta função generalizada se chama:

FUNTOR

Page 21: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Mentirinha... Três...• Existe o Funtor identidade, que associa uma

categoria a ela mesma.• Funtores podem ser compostos dando novos

Funtores.• Funtores se compõem de modo associativo.• E pode ir bem mais longe, mas já creio

bastou despertar a curiosidade. Só mais um pouquinho...

Page 22: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Funtor

• Definição: Funtor é o objeto matemático que dadas duas categorias associa elemento a elemento e morfismo a morfismo, satisfazendo a:

• Composição de funtores é um funtor;• existe funtor identidade.

Page 23: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Para pensar:• Um programa pode ser visto como um

transformador de dados. Dados não são amorfos, existem morfismos. Dados de entrada constituem uma categoria e dados de saida outra. O programa, seria um funtor?

• Alguns programas não utilizam tudo que se encontra nos dados de entrada (ex: fichas de pacientes) O funtor correspondente se chama esquecedor “forget”.

Page 24: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Para pensar:

• Como definir morfismos em linguagens formais?• Defina a Categoria dos Automata.• Defina a Categoria das expressões válidas em

Cálculo das Proposições (ver capítulo de Lógica.• Defina a Categoria dos Poset e mostre o funtor

que a liga à Categoria dos Naturais (defina)

Page 25: Categorias e Funtores: doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação

J.M.Barreto UFSC-INE

Que será que podem perguntar destas coisas estranhas todas?