Sunteți pe pagina 1din 25

MODELUL CATEGORIAL

FUNDAMENTAREA MATEMATICA
Motivarea alegerii teoriei categriilor
Teoria categoriilor este o ramura tanara a matematicii
care se ocupa cu descrierea diferitelor concepte structurale din
diverse domenii ale matematicii intr-un mod uniform. Teoria
categoriilor studiaza esenta anumitor concepte, concentrandu-se
pe proprietatile structurilor matematice in loc de reprezentarea
lor. Aceasta teorie aplica principiile conceptualizarii formalizarilor
matematice.
Notiunile categoriale necesare
Definitie. Un multigraf orientat G consta dintr-o
multime de noduri G0 si o multime de muchii G1. Sursa si
destinatia unei muchii pot fi gasite aplicand functiile source si
target, respectiv. Notatia f : A B ne arata ca f este o muchie cu
source(f) = A si target(f) = B.
Definitie. O categorie C este un multigraf orientat a
carui noduri sunt numite obiecte si a carui muchii sunt numite
sageti (arce). Pentru fiecare pereche de sageti f : A B si g : B
C exista o sageata asociata gf : A C, numita compunerea lui f
cu g. Mai mult, (hg)f = h(gf), daca ambele parti sunt definite.
Pentru fiecare obiect A exista o sageata Id A : A A, numita
sageata identica. Daca f : A B, atunci f IdA = IdBf = f.
Definitie. O sageata f : A B este un monomorfism
daca pentru orice obiect X al categoriei si orice sageti x,y : X A,
din relatia fx = fy rezulta x = y.
Definitie. O sageata f : B A este un epimorfism daca
pentru orice obiect X al categoriei si orice sageti x,y : A X, din
relatia xf = yf rezulta x = y.
1

Definitie. Categoria duala a categoriei C, notate cu Cop


are aceleasi obiecte ca si C iar ca sageti toate sagetile lui C
inversate ( daca f : A B este o sageata in C, atunci fop : B A
este o sageata in Cop). Compunerea sagetilor in categoria duala se
defineste inversand sagetile.
Definitie. O sageata f : A B se numeste izomorfism
daca exista o sageata g : B A asa incat fg = IdB si gf = IdA.
Sageata g se numeste inversa sagetii f si reciproc. Daca exista o
astfel de pereche de sageti intre doua obiecte A si B spunem ca A
este izomorf cu B si notam acest lucru cu AB. Sagetile
identitate sunt izomorfisme triviale.
Definitie. Un obiect T al unei categorii C se numeste
obiect terminal daca exista o unica sageata A T, pentru
fiecare obiect A din C. Obiectul terminal se noteaza cu 1.Dual , se
numeste obiect initial si se noteaza cu 0, un obiect al categoriei
care are o unica sageata catre fiecare obiect ( inclusiv el insusi) al
categoriei.
DIAGRAME
Definitie. Fie H si G doua grafuri. O diagrama in G de
model ( tipar) H este un morfism se grafuri D : H G. H se
numeste graful tipar al diagramei D.
Definitie. O diagrama se numeste comutativa daca
fiecare drum dintre doua obiecte in imaginea sa, determina prin
compunere aceeasi sageata.
PRODUSE SI COPRODUSE
Definitie. Un coprodus a doua obiecte( suma directa) A
si B intr-o categorie, consta dintr-un obiect A+B impreuna cu
sagetile IA : A A+B si IB : B A+B astfel incat pentru orice
sageti f : A C si g : B C, exista o unica sageata, notata cu
f,g : A+B C, pentru care urmatoarea diagrama este
comutativa:
2

C
f
A

f,g

IA

A+B

IB

IA : A A+B si IB : B A+B sunt numite sagetile injectii ale


sumei.
Definitie. Un coprodus a doua sageti f : A A si g : B
B este o sageata f+g : A+B A+B care face comutativa
diagrama :
A

IA

A+B

IB

f+g
A

I A

A+B

g
IB

Definitie. Fie A si B doua obiecte intr-o categorie cu


obiectul initial 0 si fie coprodusul A+B. Urmatoarea diagrama
este comutativa:
A+B
IA

IB

0
Daca aceasta diagrama este un con comutativ universal si
injectiile canonice IA si IB sunt monomorfisme, atunci coprodusul
A+B este un coprodus disjunct.
Definitie. O sageata f : A B este complementabila
daca si numai daca exista o sageata g : C B, asa incat B este
izomorf cu A+C, avand pe f si g ca sageti injectii ale sumei. In

acest caz g este un complement a lui f. Obiectul C este notat de


regula cu B A.
Definitie. Un produs al obiectelor A si B intr-o categorie
consta dintr-un obiect AxB impreuna cu sagetile A : AxB A si
B : AxB B asa incat pentru orice sageti f : C A si g : C B,
exista o unica sageata, notata cu f,g : C AxB, astfel incat
urmatoarea diagrama este comutativa:

AxB

B
f

f,g

C
Definitie. Un produs a doua sageti f : A A si g : B
B este o sageata fxg : AxB AxB care face comutativa
diagrama :
A

AxB

fxg
A

AxB

g
B

LIMITE SI COLIMITE
O limita este o versiune categoriala a conceptului de
submultime,definita ecuational, a unui produs. O colimita este
versiunea categoriala a catului unei sume printr-o relatie de
echivalenta.
Definitie. Fie G un graf si C o categorie. Fie D : G C o
diagrama in C cu modelul G. Un cocon cu baza D este un obiect
4

n
D (apex) impreuna cu o familie { D } de sageti ale lui C,
n
indexata dupa nodurile lui G, asa incat D : n D, pentru

fiecare nod din G. Sageata

este componenta coconului la n.

n
Coconul se noteaza { D } : D D, sau simplu D : D D.

Definitie. Un cocon este comutativ daca pentru orice


sageata s : n1 n2 din G, urmatoarea diagrama este comutativa :
D
n1

n2

n1

n2

Definitie. Daca D : D D si D : D D sunt coconi,


o sageata de la primul la al doilea cocon este o sageata f : D
D, asa incat pentru fiecare nod n a lui G , urmatoarea diagrama
este comutativa :
D

' nD

nD

n
Definitie. Un cocon comutativ cu baza D se numeste
universal daca el are o unica sageata catre fiecare alt cocon
comutativ cu aceeasi baza. Un cocon universal, daca exista , se
numeste o colimita a diagramei D.

Grafuri de tip
5

Modelele de date pot fi reprezentate prin grafuri de tip.


Diverselor tipuri de obiecte din modelul de date , le corespund
noduri in graf, iar diversii constructori sunt arcele grafului.
Tipurile de relatii sunt reprezentate tot prin noduri. Un tip de
obiect care participa printr-un rol intr-un tip de relatie este
reprezentat printr-un arc etichetat cu rol, care are ca sursa tipul
de relatie. Daca un tip de obiect participa prin cateva roluri intr-un
tip de relatie, atunci graful de tip asociat trebuie sa fie un
multigraf.
Definitie Un graf de tip G este un multigraf orientat peste o
multime de etichete { role, spec, gen, elt_role, clt_role }.
Muchiile cu etichetele spec sau gen se numesc muchii de
subtipizare.
Graful de tipuri trebuie sa nu contina cicluri formate numai
din muchii de suptipizare. Mai mult, exista o functie bijectiva cit
de la muchiile cu eticheta clt_role la muchii cu eticheta elt_role
care relationeaza muchiile cu surse identice. Functia type
asociaza eticheta unei muchii.
O muchie e, etichetata cu role , de la nodul A la nodul B
indica faptul ca A este un tip de relatie in care B joaca un rol.
Daca muchia e este etichetata cu spec, atunci A este o
specializare a lui B, iar daca e este etichetata cu gen atunci B
este o generalizare a lui A( si posibil a altor tipuri de obiecte).
Daca muchia e : A B este etichetata cu clt_role, muchia f:
A C este etichetata cu elt_role si cit(e) = f, atunci B un tip de
colectie cu tipul de element C.
Definitia ne arata ca un nod poate fi un tip de colectie ca si
un tip de relatie, un tip de relatie binara poate fi un subtip al unui
tip de relatie ternara, un tip de colectie poate sa aiba cateva tipuri
de elemente, etc. Unica restrictie impusa este neexistenta
structurilor de subtipuri ciclice.
6

Modelele de tip
Semantica unui model de date este multimea tuturor
instantierilor posibile, cunoscute si sub numele de populatii. In
actuala abordare, o populatie este definita ca un model de la
graful de tip la o categorie. Un model este un morfism de grafuri
de la graf la o categorie( interpretata ca un graf ).
Definitie Fie F o categorie. Un model de tip Pop pentru un
graf de tip dat G in F este un morfism de grafuri Pop : G F, iar F
se numeste categoria instantierilor a modelului considerat.
Un model de tip aplica tipurile de obiecte din graful de tipuri
in obiecte din categoria instantierilor si muchiile grafului in sageti
ale categoriei.
Definitia anterioara ne arata ca semantica unui model de
date depinde de categoria instantierilor aleasa. Nu toate
categoriile furnizeaza semantici compatibile pentru modelele de
date. Categoriile instantierilor trebuie sa apartina clasei de
categorii Fund.Categoriile acestei clase trebuie sa indeplineasca
anumite cerinte: in primul rand sa permita anumite constructii
categoriale, in al doilea rand trebuie sa aiba anumite proprietati
categoriale speciale ( coprodusul sa fie disjunct ), iar in al treilea
rand , categoria FinSet alcatuita din multimile finite si functiile
totale, poate actiona ca un element de varf al clasei Fund ( un
membru al Fund poate reprezenta fiecare populatie
reprezentabila in FinSet ).
Dam cateva exemple de categorii din clasa Fund:
1. Categoria instantierilor TotRel , in care obiectele sunt
multimile si sagetile sunt relatiile totale. Aceasta categorie
este utila in cazul atributelor multivaluate.
2. Categoria instantierilor Bag in care obiectele sunt
multimultimile (bags), iar sagetile sunt functiile totale,
astfel incat frecventa domeniului nu depaseste niciodata
7

frecventa unei imagini. Aceasta categorie se poate utiliza


cand obiectele nu pot fi diferentiate in baza proprietatilor
lor.
3. Categoria instantierilor Poset in care obiectele sunt
multimile partial ordonate si sagetile functiile monotone
( cu pastrarea ordinii ). Aceasta categorie este utila in
contextul sistemelor cu conditii slabe de timp ( se iau in
considerare numai instantierile de o anumita varsta).
4. Categoria instantierilor FuzzySet in care obiectele sunt
multimi fuzzy si sagetile sunt functiile totale speciale pe
aceste multimi. Aceasta categorie este utila pentru
sistemele care functioneaza cu incertitudine.
O multime fuzzy este o petreche (S,), unde S este o
multime iar este o functie totala definita pe S, care asociaza
fiecarui element din S gradul sau de apartenenta.
Rel
imagini multiple

Poset

FuzzySet

partialitate

PartSet

TotRel

Bag
ordine
multiple

incredere partialitate imagini multiple cazuri


Set
infinitate
FinSet
Clasa de categorii Fund

Tipurile de relatii

Un tip de relatie reprezinta o asociere intre tipurile de


obiecte, care poate sa fie n-ara ( n1) in anumite tehnici de
modelare a datelor si care joaca un rol in alte tipuri de relatii. Un
tip de relatie consta dintr-un numar de roluri, care captureaza
modul in care participa tipurile de obiecte in acest tip de relatie.
De regula relatiile sunt instantiate ca aplicatii de la rolurile
implicate la valori.
In aceasta abordare este posibil ca doua instantieri diferite
de relatii sa contina aceleasi componente.

Relatii de subtipizare
Relatiile de subtipizare sunt folosite pentru a captura
proprietatile de mostenire. Consideram doua tipuri de relatii de
mostenire : specializarea si generalizarea.
Specializarea este utilizata atunci cand trebuiesc inregistrate
fapte specifice pentru instantieri specifice numai pentru un tip de
obiect. Un tip de obiect specializat mosteneste proprietatile
supertipului sau, dar poate sa aiba si proprietati suplimentare.
O forma speciala de mostenire este mostenirea identica.
Exista doua abordari: in prima, obiectele pot fi instantieri ale mai
multor tipuri de obiect, in a doua obiectele pot sa apara numai
intr-un singur tip de obiect. Obiectele corespunzatoare sunt
prezentate prin functii injective. Aceasta abordare are avantajul
principal ca se pot separa efectiv structura si reprezentarile. In
consecinta, o relatie de subtipizare trebuie sa fie aplicata pe un
monomorfism ( in categoria Set un monomorfism coincide cu o
functie injectiva ).
Pot sa apara probleme in mostenirea multipla : un obiect
trebuie sa corespunda unui singur obiect in fiecare supertip.

Generalizarea este un mecanism utilizat pentru crearea de


noi tipuri de obiecte prin unirea tipurilor de obiecte existente.
Generalizarea nu este inversa specializarii.
Populatia unui tip de obiect generalizat este reuniunea
populatiilor tipurilor de obiecte participante, numite tipuri
specificate. Pentru a incorpora tipurile generalizate in modelele de
tip le definim ca fiind coproduse ale tipurilor specificate
corespunzatoare. Tipul e obiect generalizat este aplicat pe un
coprodus in categoria instantierilor si sageatile generalizarii
corespund injectiilor canonice care leaga instantierile tipurilor
specificate cu versiunea lor generalizata. Deoarece coprodusul
reprezinta reuniunea disjuncta in categoria Set aceasta
formalizare impune tipurilor specificate sa fie disjuncte. Daca
acest lucru nu se intampla, utilizam notiunea generala de
colimita.
Fie G un tip generalizat cu multimea de tipuri specificate V.
Observam ca familia de instantieri ale lui G este complet
determinata de relatiile de subtipizare dintre instantierile tipurilor
specificate ale lui G.
Dam o descriere formala a restrictiei impuse unei populatii
de a contine numai relatii de subtipizare relevante dintre tipurile
specificate din V.
Definitie Fie G un graf si NG0 o multime de noduri. Dominatia
lui G prin N este un subgraf D al lui G definit prin : muchiile lui D
sunt muchiile lui G1 care apar intr-un drum orientat ce se incheie
intr-un nod nN. Nodurile lui D sunt nodurile care apar in muchiile
sale.
Populatiile trebuiesc restrictionate la aceste noduri
relevante. Pentru o populatie concreta a unui graf de tip , aceasta
conduce la o diagrama concreta in categoria instantierilor
corespunzatoare.
10

Definitie Fie un morfism de grafuri D : G C si o multime de


noduri V G0. Fie GV dominatia lui G prin V. Atunci dominatia lui
D prin V este restrictia lui D la GV.
Instantierile pot avea manifestari variate in tipuri de obiect
diferite. Aceste manifestari trebuiesc unificate prin introducerea
reprezentarilor canonice pentru aparitiile corespunzatoare.
V
Universul instantierilor U Pop contine reprezentarile canonice ale

tuturor instantierilor a multimii V de tipuri de obiect in modelul de


tip Pop. Din punct de vedere categorial, universul instantierilor
poate sa fie capturat prin notiunea de colimita.
Definirea colimitei pentru o diagrama ,(diagrama pentru noi
reprezinta o baza a colimitei),se face prin selectarea unui obiect,
numit apex si a multimii de sageti ( arce ) din acest apex, cate
una pentru fiecare obiect din diagrama.Pentru fiecare sageata f
de la obiectul D1 la obiectul D2 din diagrama, diagrama formata
din aceasta sageata si sagetile g si h de la D 1 si D2 respectiv la
apex, trebuie sa fie comutativa:
A
g

D1

D2

Astfel, instantierile corespunzatoare in tipuri de obiect


diferite vor fi relatate de aceeasi instantiere in universul
instantierilor. Cerinta ca apex-ul sa fie minimal este realizata
categorical prin cerinta ca sa existe o unica sageata de la apex la
fiacre alt obiect care satisface de asemenea cerinta de
comutativitate. Aceasta asigura neexistenta instantierilor
superflue in universul instantierilor.
Definitie. Universul instantierilor determinat de o
multime de tipuri de obiect V G0 intr-un model de tip dat Pop,

11

notat cu

U Pop

,este apex-ul colimitei care are ca baza diagrama

de subtipuri dominata de V.
In modelul de tip Pop, fiecare obiect generalizat G cu tipurile
V
specificate V este aplicat in universul instantierilor U Pop si

sagetile generalizate sunt aplicate in injectiile colimitei


corespunzatoare.
In categoriile cu coproduse disjuncte, exista colimite de
diagrame constand din monomorfisme complementabile. Sagetile
asociate sunt monomorfisme complementabile. Acest rezultat
este important pentru categoriile care au coproduse disjuncte, dar
nu au toate colimitele, cum ar fi Rel. Astfel putem sa cerem
categoriilor instantierilor ca toate coprodusele finite sa existe si sa
fie disjuncte, in loc de cerinta de a avea toate colimitele.

Tipurile de colectie
Un tip de colectie este un tip de obiect a caror instantieri
corespund multimilor unui alt tip de obiect, numit tip element.
Instantierile unui tip de colectie, ca multimi sunt identice daca si
numai daca ele contin aceleasi elemente. Ele sunt identificate
prin elementele lor si nu necesita o identificare externa.
Tipurile de colectie devin superflue daca introducem un nou
tip de constringere : constrangerea unicitatii extinderii.
Formalizarea categoriala a constrangerii unicitatii extensionale
rezulta din observatia ca o astfel de constrangere este incalcata
daca si numai daca exista o permutare netriviala a multimii
instantierilor asa incat aplicatia de la populatie la tipul de relatie
implicat, duce la aceeasi populatie. Altfel spus , daca schimbam
membrii a doua multimi ( care au primit propria lor identitate ) nu
se pierde informatie,atunci aceste doua multimi trebuie sa aiba
reprezentari identice.

12

Interpretari semantice
Categoriile de instante valide
Fiecare membru al clasei Fund are propriettile :
exista toate produsele si coprodusele finite
coprodusele sunt disjuncte
Desi exista multe categorii ale instantierilor, care satisfac
cele doua cerinte, alegem categoria FinSet , deoarece fiecare
model in aceasta categorie poate avea un duplicat in alte
categorii ale instantierilor.
Definitie O categorie C este o categorie a instantierilor
valida daca si numai daca exista toate produsele si coprodusele
finite, coprodusele sunt disjuncte, si exista un functor ( un
morfism de grafuri care pastreaza identitatile si compunerea ) F :
FinSet C, asa incat pentru toate M1 , M2 : G FinSet are loc
conditia M1 = M2 FM1 = FM2 .
Categorii valide sunt : FinSet , Set , PartSet , Rel ,
FuzzySet.
Orientarea obiectului
Modelele de date OO permit descrierea valorilor
complexe. Valorile complexe pot fi privite ca arbori finiti a caror
noduri interne indica utilizarea tuplelor si multimea
constructorilor. Tipurile in modelele de date OO pot fi definite prin
utilizarea acestor constructori.
Modelele de date conceptuale OO pot prezenta valorile
complexe fara sa utilizeze reprezentarile particulare. In modelele
de date conceptuale OO toate obiectele au propria lor identitate,
independent de compozitia lor structurala. Aceasta se poate face
daca ne concentram pe proprietatile valorilor complexe. In plus
aceste proprietati depend de tipul valorii complexe. De exemplu,
13

o instantiere a unui tip relational, care este un echivalent


conceptual al unui constructor de tuple, poate asigura accesul la
componentele sale, in timp ce o instantiere a unui tip de colectie,
care este un echivalent conceptual al unui constructor de multimi,
este unic determinat de elementele sale. Facand abstractie de
reprezentari, acest cadru este foarte flexibil in raport cu definitiile
tipului.
Din punct de vedere al OO, sagetile etichetate cu role
intr-un graf de tip, pot fi privite ca atribute ale tipului de obiect
corespunzator sursei sale. Alegand categoria instantierilor ca fiind
Rel, atributele pot fi multi-valuate. In acest caz valoarea unui
atribut poate fi o multime ( posibil vida) de valori.
Mostenirea atributelor se realizeaza prin compunerea
sagetilor. Daca un tip de obiect X este un subtip al unui alt tip de
obiect Y, care are un atribut A, atunci X are de asemenea acces la
acest atribut prin compunerea sagetii subtip cu sageata atribut.

rs

Cunostinte incerte si incomplete


Modelele in FuzzySet sunt utilizate pentru modelarea
incertitudinii. Fiecare tip de obiect A este echipat cu o functie A ,
care descrie probabilitatea ca un element sa fie membru a acestui
14

tip de obiect. Sagetile in FuzzySet sunt functii totale si pentru


fiecare sageata trebuie sa aiba loc relatia A(a) B(f(a)). Altfel
spus, probabilitatea ca un element particular sa apartina unui tip
dat de obiect trebuie sa fie mereu mai mare sau egala cu
probabilitatea ca elementul particular sa apartina unui subtip al
acestui tip de obiect. Acest lucru este evident intuitiv, deoarece
daca un element particular apartine unui tip de obiect, el trebuie
cu siguranta sa apartina tuturor subtipurilor acestui tip.In plus
probabilitatile instantierilor tipurilor de relatie sunt mai mici decat
probabilitatile partilor sale.
Astfel modelele in FuzzySet ne arata cum se poate introduce
incertitudinea in modelele de date conceptuale.
Exista si alte cai de introducere a incertitudinii in modelele
de date. Putem alege categoria instantierilor ProbSet, in care un
obiect este o multime de functii probabilistice cu domeniul de
definitie comun. O functie probabilistica asociaza valori din
intervalul [0,1] ,oricarei valori din domeniul comun. Daca notam
cu V multimea de valori din domeniu, trebuie sa fie indeplinita
conditia

(v )

v V

= 1. Sagetile in ProbSet sunt functii totale.

Timp
In bazele de date temporale sau cu istorii este pastrata
istoria crearii si stergerii instantelor obiectelor. Bazele de date cu
istorii nu pierd informatii si ne furnizeaza starile anterioare ale
bazei de date pentru a fi restructurate. Exista tehnici de modelare
a datelor conceptuale, care suporta notiunea explicita de timp si
in consecinta faciliteaza implementarea unei aplicatii in termini ai
sistemului de management a bazelor de date cu istorii.
Cadrul de munca poate furniza semanticile natural pentru
aceste tehnici, prin alegerea unei categorii a instantierilor
adecvata. O astfel de categorie a instantierilor ar putea fi
15

categoria TimeSet, in care fiecare obiect este o multime cu o


functie care asociaza un interval de timp fiecarui element al
multimii. Multimea momentelor de timp este o multime total
ordonata si are un element maximal acum. Un interval de timp
este un element (t1,t2) din x asa incat t1t2. Sagetile in aceasta
categorie sunt functii dintre multimile de obiecte asociate astfel
incat pentru fiecare element din domeniul unei astfel de functii
intervalul de timp este inclus in intervalul de timp al originii
acestui element. Aceasta este o cerinta necesara si , printre
altele, ne arata ca obiectele compuse nu pot exista mai mult
decat diversele parti ale lor.
Dam in continuare o abordare alternativa pentru
incorporarea timpului in cadrul de munca. Aceasta constructie
porneste cu observatia ca este posibil sa construim un nou model
de tip care descrie schimbarile modelului de tip petrecute in timp,
pentru fiecare categorie a instantelor valida.
Data o categorie C putem construi o noua categorie C in
modul urmator:
Obiectele sunt functii totale o : C0.
Sagetile sunt functii totale a : C1.
Sursele si adresele sagetilor sunt definite prin:
source(a) = t.source(a(t)) si target(a) = t.target(a(t)).
Compunerea este definite prin fg = t.f(t) g(t)
Sageata identica pentru un obiect o este definita prin Id o =
t.Ido(t).
Este evident ca pentru orice categorie a instantierilor valida
C , categoria C este de asemenea o categorie a instantierilor
valida.
Data o categorie C se poate construi functia @ : C
C ,definita prin @t(x) = x(t). Pentru fiecare t , @t este un
functor. Aplicarea acestui functor duce la populatia valida la un
moment t.
16

Evolutia in timp a unei populatii pentru un tip de graf dat G,


cu categoria instantierilor C, poate sa fie descrisa ca o functie
totala care aplica domeniul temporal unei populatii pentru acest
tip de graf M : G C. Data o astfel de functie M care descrie
evolutia unei populatii, putem construi un nou model M : G C .
Acest model este definit prin M(x) = t.M(t)(x), sau alternativ prin
@t M = M(t).
Lema. Daca pentru fiecare t , M(t) este un model de tip
valid,atunci M este de asemenea un model de tip valid.
In concluzie, putem adauga timp oricarei categorii de
instantieri.
Transformarile schemei.
Ne ocupam de problema echivalentei schemelor si de
transformarile schemelor. Pentru multe tehnici de modelare a
datelor, transformarile sunt descrise sau la nivel conceptual, sau
de la nivelul conceptual la nivelul intern.
Consideram in continuare, aplicarea cadrului categorical
pentru transformarile schemei. Aceasta abordare ne asigura
anumite avantaje:
1. Deoarece teoria categoriilor ajuta la descoperirea si
exploatarea relatiilor dintre diverse domenii in studiu,
se obtin o serie de teorii pentru transformari.
2. Datorita nivelului inalt de abstractizare a cadrului de
lucru, discutiile despre transformarile schemei pot fi
tinute independent de modelul de date.
3. Transformarile pot fi studiate in raport cu categoriile de
instantieri specifice, daca ele se bazeaza pe existenta
unor trasaturi semantic specifice ( cum ar fi valoarea
nula). Devine mult mai explicit rolul jucat de aceste
trasaturi in determinarea corectitudinii anumitor
transformari.
Utilizam trei notiuni categoriale pentru verificarea formala
a corectitudinii transformarilor schemei. Transformarile care sunt
descrise sunt corect justificate in raport cu notiunea categoriala
de echivalenta a schemei :
17

O schema S1 este cel putin la fel de generica ca si


schema S2, daca fiecare model al lui S2 poate sa fie translatat
prin aplicatia constructorilor categoriali unui model al lui S 1.
Schemele S1 si S2 sunt echivalente daca reciproca este de
asemenea adevarata.
In prima sectiune folosim coprodusele pentru a arata
transformarea de extragere/absorbtie a tipului de obiect, in a
doua sectiune folosim compunerea sagetilor pentru a ilustra
transformarea de grupare/degrupare, iar in sectiunea a treia se
arata cum putem folosi pullback-urile pentru verificarea formala a
corectitudinii transformarii de reuniune/scindare.
1. Absorbtia tipului de obiect-extractia tipului de
obiect
f

absorbtia tipului de obiect


t

v
A

extractia tipului de obiect


g
(f,g)

In schema din stanga tipurile de relatii binare f si g dintre


tipurile de obiecte A si B pot fi inlocuite printr-o relatie ternara
dintre A si B si un tip de obiect concret care are ca domeniu
multimea de instantieri {f,g}.
In urmatoarea diagrama este aratat graful de tip asociat schemei
anterioare.
18

Aceasta diagrama poate sa fie considerata,


de asemenea, ca fiind aplicarea canonica

a grafului de tip intr-o categorie.

In restul sectiunii aplicatia Pop va fi


omisa. Vom arata cum o astfel de
B

populatie poate sa fie transformata intr-o


populatie de tipul celei din schema din dreapta.

s
g

In primul pas este construit coprodusul tipurilor de


relatie f si g. Pentru a evita pierderea de informatii, injectiile
canonoice sunt incluse in diagrama. Cele doua sageti de rol p si q
pot fi inlocuite prin sageata p;q. Analog, sagetile de rol r si s
pot fi inlocuite de sageata r;s. In termini ai teoriei multimilor,
sageata r;s reprezinta o aplicatie de la f + g la B , compunere
a aplicatiei r de la f la B si a aplicatiei s de la g la B, astfel incat r
este aplicata elementelor ce provin din f si s este aplicata
elementelor care provin din g.

g
If

Ig

p;q
A

r;s
f+g

19

In al doilea pas , injectiile canonice If si Ig sunt inlocuite


prin aplicatia de la f+g la 1+1, coprodusul a doua obiecte
terminale. Din punct de vedere categorial, un obiect terminal este
un obiect cu proprietatea ca exista o sageata de la fiecare obiect
la acest obiect. Obiectele terminale ale unei categorii sunt
izomorfe. In categoria Set orice multime cu un element este un
obiect terminal. In diagrama rezultata, sageata t de la f+g la 1+1
este unica sageata care distinge elementele din f si cele din g in
coprodus. Deci, injectiile canonice devin superflue, deci pot fi
omise. Obtinem diagrama
p;q
A

r;s
f+g

1+1
Gruparea degruparea
In tehnicile de modelare a datelor in care tipuri de relatii
pot juca un rol in alte tipuri de relatii, gruparea si degruparea sunt
notiuni comune. Degruparea este o relatie g printr-un rol r , care
este jucat de un alt tip de relatie f corespunzatoare inlocuirii
acestui rol cu rolul lui f direct. Deci, obiectele compuse care joaca
rolul r sunt descompuse in trei parti : in exemplul din figura
urmatoare, tipul de relatie negrupata h are ca participant directi
tipurile de obiect A si B, in locul participantilor indirecti prin tipul
de relatie f. Daca fiecare instantiere a tipului de relatie f are de
jucat un rol in tipul de relatie g ( aceasta este capturata de
constrangerea de cardinalitate 1 : in rolul s in schema din stanga
a figurii urmatoare ),tipul de relatie f devine superfluu dupa ce g
20

este degrupat. Observam ca daca un tip de relatie f in schema din


stanga a figurii, joaca un rol intr-un alt tip de relatie g, este
reprezentat grafic printr-un romb inchis intr-ocutie.

degrupare

h
A
u

B
r

grupare

g
C
s 1:
C

O populatie a schemei din stanga poate sa fie capturata


prin urmatoarea diagrama :
p

q
A
B

pr

qr

21

s
s
C

Compunerea sagetilor fiind mereu definita in orice categorie, sunt


adaugate sagetile pr si qr.
In final,constrangerea de cardinalitate, care stipuleaza ca
fiecare instantiere a lui f, participant in g ,se translateaza
categorial in faptul ca r poate fi aplicat pe un epimorfism. Deci ,
prin omiterea sagetilor p si q nu se pierde nici o informatie,
rezulta
pr

qr

B
s

C
care poate fi privita ca o diagrama din schema din dreapta a
figurii.
Reunuine scindare
In anumite cazuri, tipurile de relatii cu trei sau mai multe
roluri pot fi scindate fara pierdere de informatii. Aceasta este
adevarata in cazul in care exista o cheie pe n doua roluri, unde
n este numarul total de roluri ale tipului de relatie.
f
h
p

reuniune

22

B
A

v
r

scindare
C

C
In schema din dreapta a figurii, exista o cheie pe rolul t a
tipului de relatie ternara . Deci,h poate fi sindat in doua tipuri de
relatie binara, una intre tipurile de obiect A si B, iar cealalta intre
tipurile de obiect A si C. In mod natural, exista chei pe rolurile
jucate de tipul de obiect A. Trsansformarea inversa se numeste
reuniune. Pentru echivalenta, este necesar ca daca o instantiere a
lui A este asociata cu o instantiere a lui B, este de asemenea
asociata cu o instantiere a lui C si viceversa. Acesta este un
rezultat al faptului ca transformarea reuniune este bazata pe
reuniunea interioara( permite valorile nule in instantierile
relationale). Aceasta cerinta este capturata de constrangerea de
egalitate pe rolurile p si r In schema din stanga a figurii
anterioare.
f
q

B
p

A
r

r
g

ep

23

er
g

Prima diagrama arata reprezentatrea generala a unei


populatii in schema din stanga figurii. Din punct de vedere
categorial, faptul ca exista o constrangere de egalitate pe rolurile
p si q, se translateaza in cerinta ca sa existe un obiect M si un
monomorfism m:M A, asa incat exista doua epimorfisme e p : f
M si er : g M, cu p = epm si r = er m. Obiectul M corespunde
unui subobiect al lui A care contine instantierile lui A , jucand
amindoua rolul p si rolul r.
Cerintele p = epm si r = er m implica faptul ca sagetile
p si r pot fi omise din diagrama. Mai mult , poate fi adaugat
pullback-ul sagetilor ep si er. Din punct de vedere al teoriei
multimilor, pullback-ul corespunde unei reuniuni. Dar, nu toate
categoriile de instantieri valide au pullback ( Rel este un exemplu
de astfel de categorie ).
Pullback-ul lui ep si er consta dintr-un obiect , notat cu fg
si doua sageti pf si pg. Se cere ca diagram formata din aceste
patru sageti sa comute.
Deci, exista o unica sageata n asa incat n = e p pf = er pg .
Acum se poate demonstra ca pentru orice categorie a
instantierilor valida , daca ep si eq sunt epimorfisme, pullback-ul
corespunzator al sagetilor pf si pq este de asemenea izomorfism.
Deci, omiterea sagetilor s si q si adaugarea sagetilor compuse
qpf si spq , nu duce la pierderea de informatii.
q
f

B
ep

pf

qpf
A
fg

fg

24

mn

er

pg

spg

Observam ca mn este un monomorfism deoarece


compunerea unuei sageti cu un monomorfism este intotdeauna
un monomorfism. Deci este satisfacuta cerinta ca t, care este
aplicat pe aceasta sageata, ar putea sa fie o cheie pentru h.

25

S-ar putea să vă placă și