250 likes | 364 Views
Categorias e Funtores: doce e carinhosa introdução. Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação. Categoria: Contexto de Discurso. O conceito de categoria nasce da necessidade de formalizar o contexto de um discurso.
E N D
Categorias e Funtores:doce e carinhosa introdução Jorge Muniz Barreto UFSC-INE Curso: Fundamentos da Computação
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.
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.
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).
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.
Sistema Formal Gerando Categoria <,D> (Ob,Mor) Ob2 Mor23 Mor12 Mor11 Ob3 Ob1 Mor13 Nota: frequentemente denota-se morfismos por letras como f, g, h, ...
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?
Representação de um Morfismo Morfismos 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
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.
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.
Epimorfismo A B C Monomorfismo A B C Tipos de Morfismos g g f f h h Se o diagrama é comutativo, gf = hf Se isto implica: gf = hf g = h então f é um epimorfismo Analogamente se fg = fh g = h então f é um monomorfismo Um morfismo que é mono e epi diz-se isomorfismo
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. Categoria dos Conjuntos
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. f h g
Categoria dos Conjuntos g f • Monomorfismos são funções injetoras A B C Tem-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. h
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.
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.
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.
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
Exemplo: Mudança de Base (4/4) Mesmo resultado pode ser obtido por manipulação de diagramas comutativos. A x x C B u T T y TB CT-1 z z T A T-1
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 E SE TIVERMOS DUAS?
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...
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.
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”.
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)