Basisconstructies gm v2.2 2013 10-11
description
Transcript of Basisconstructies gm v2.2 2013 10-11
Basisconstructies GM 5 juni 2012 1
Basisconstructies GM
1. Gegevensverzameling en –model
2. Recursie: interne samenhang
3. Isomorfiefamilie
4. Limietfamilie
5. Optionaliteit
Basisconstructies GM 25 juni 2012
Gegevensverzameling
en –model
1. Verwijzing
2. Injectie en surjectie
3. GV als categorie
4. GM als afbeelding van GV
5. GM als categorie
6. Functor van GV naar GM
Basisconstructies GM 35 juni 2012
Verwijzing
Basisconstructies GM 45 juni 2012
A B
f
0..*
1
A B
bron(source,
domein)
doel(target,
codomein)
verwijzing van A naar B
veroorzaakt B-vezels in A
f
extern schema intern schema
f = A.B
aantal mogelijke f‟s is |B||A|
f = B.Aop
•f is een verzameling interne pijlen
•f is eenduidig (= geen lijst)
• (voorlopig:)f is volledig (= niet optioneel)
GV, injectie en surjectie
Basisconstructies GM 55 juni 2012
A B
f
0..1
1
injectie (monomorfie)
elk tupel van B heeft hoogstens één origineel
A B
A B
f
1..*
1
A B
surjectie (epimorfie)
elk tupel van B heeft minstens één origineel
in op
huis bewoonde
straatstraat
e mhuis straat
f
epimonische ontbinding Im(e)
GV als categorie
Basisconstructies GM 65 juni 2012
compositie:er bestaat een f waarvoor
x.g.h = x.f voor alle x in „mens‟
identiteit
A
GV is categorie:
1. objecten: relaties (mens, huis, straat)
2. pijlen: verwijzingsverzamelingen (f, g, h)
3. compositie van verwijzingen:
(f(mens) = h g(mens))
4. identiteitsverwijzingen (1A)
1A
straat
mens
huis
f
g
h
GM, afbeelding van GV
Basisconstructies GM 5 juni 2012 7
m
aGV
A
GM
B
b
fAB
fAB
P
j(A)
j(B)
j(P)
j
j(GM)
„relatieschema‟
j(relatieschema)
tupel
relatie
(relatie-)schema
GM als categorie
Basisconstructies GM 5 juni 2012 8
mens huis
straat
g
hf
compositie:er bestaat een f waarvoor
mens.g.h = mens.f
A
identiteit
A
GM is categorie:
1. objecten: relatieschema‟s
2. pijlen: verwijzingstypen
3. compositie van verwijzingstypen
4. identiteitsverwijzingstype
het 1-verw.type
niet tekenen
m als functor
Basisconstructies GM 5 juni 2012 9
m
a
GV
A
GM
B
b
fBA
fBA
P
j(A)
j(B)
j(P)
j
j(GM)
„relatieschema‟
j(relatieschema)
fAP
fAP
m: GV → GM is functor, want:
1. voor elk object X in GV is er
een object m(X) = X in GM
2. voor alle fBA in GV bestaat er
een fBA: m(B) → m(A) in GM
3. m id{A} = idm{A} = idA
4. m (fAP fBA)
= (mfAP mfBA)
= (fAP fBA)
m legt verband tussen
• GV: een intern schema
• GM: extern schema
Interne samenhang van relatieofwel: recursie
Basisconstructies GM 5 juni 2012 10
1. Automorfismen
2. Ketens
3. Heesters
4. Bomen
5. Overzicht recursies
Basisconstructies GM 11
Automorfismen (1)
A B A
f
f
1
1
1
1
isomorfisme: A ≅ Bautomorfisme(permutatie)
A B A
5 juni 2012
Basisconstructies GM 12
Nieuwe interne structuren?
A B A
f
f
0..1 0..1
A B
1..*
1..*
5 juni 2012
Teken inwendig schema van
de recursie.
Welke nieuwe interne structuren
zijn nu mogelijk?
Basisconstructies GM 13
Automorfismen (2)
A B A
f
f
0..1 0..1
A B
automorfisme!(permutatie)
A
1..*
1..*
5 juni 2012
Basisconstructies GM 14
Ketens
A B A
f
f
0..1
0..1
0..1
0..1
ketens, cycli,
geïsoleerde elementen
A B A
5 juni 2012
mens
0..1
0..1
mens
AWIRpartner
involutie:
AWIRpartner2 = 1
Basisconstructies GM 15
Heesters
A B A
f
f
0..*
1
0..*
1
A B A
5 juni 2012
Basisconstructies GM 16
Bomen
A B A
f
f
0..*
0..1
0..*
0..1
A B A
ketens, cycli, bomen,
geïsoleerde elementen
5 juni 2012
Basisconstructies GM 17
Overzicht recursies
A
f
0..*
0..1
A
f
0..*
1
A
f
0..1
1..*
A
f
1
1..*
A
f
0..1
0..1
A
f
0..1
1A
f
1
1
1 2
3 4
5 6
7
5 juni 2012
Basisconstructies GM 18
Isomorfiefamilie
1. Isomorfie
2. Sectie
3. Retractie
5 juni 2012
Basisconstructies GM 19
Isomorfie
A B
f
1
1
isomorfisme: A ≅ B
A B
5 juni 2012
Basisconstructies GM 20
Sectie
f
5 juni 2012
A B
* 1
A B
s
f
vestiging onderneming
* 1
hoofdvestiging
Vergelijk:
nevenadres
adres object
0..* 1
hoofdadres
Basisconstructies GM 21
Sectie in (n):(m)
5 juni 2012
CWZ
CWZ
*CTR
s
CTR
CWZ
CTR
CWZ
CTR
p2
p1t
Basisconstructies GM 22
Projectief object
e
5 juni 2012
A B* 1
f
Voorbeeld uit B&TM:
P
f• P = beoordeling uit te voeren door
• B = kenniscentrum
• A = medewerker pakt P op
Basisconstructies GM 23
Retractie
r
5 juni 2012
* 1
A B
s
A
bA
0..*
0..1B
bB
0..*
0..1
Structuurbehoud retract
niet vanzelfsprekend:
B,bB
x0x1
A,bA
y0y1y2
ss
A
B
Bijvoorbeeld:
•A = geval
•B = gevalstype
•bA= ontstaan uit
•bB= beperking op bA
rr
Basisconstructies GM 24
Limieten (1)equaliser en co-equaliser
1. Colimiet: „akte‟ en co-equaliser
2. Limiet: equaliser
5 juni 2012
Basisconstructies GM 5 juni 2012 25
Voorbeeld: „akte‟ en co-equaliser
betrokkene-
relatie
betrokkene
betrokkene/
betr-rel
f g
c
Kenmerken van een co-equaliser c:
• f ≠ g
• c◦f = c◦g
• c is een (co)limiet, d.w.z.:
als er een X en een h bestaan waarvoor h◦f
= h◦g, dan is er één k zodanig dat h = k◦c
Quotient „betrokkene/betr-rel‟ is de kleinste
klasse van betrokkenen die volgens de akte
d.m.v. betrokkene-relaties met elkaar zijn
verbonden.
Elke component (quotient-element) behoort tot
een akte.
Voorbeeld van een component: een echtpaar
dat aan een stichting een schenking doet.
aktek
h
Kenmerken van equaliser e:
• f ≠ g
• f◦e = g◦e
• e is limiet, d.w.z.:
als er een X en een h bestaan waarvoor f◦h
= g◦h, dan is er een k zodanig dat h = e◦k
Een equaliser is een injectief verwijzingstype.
Basisconstructies GM 5 juni 2012 26
Equaliser
burger
land
f g
e
X
h
autochtoonk
woont
in
geboren
in
C A Qf
g
e
(gelegenheids)definitie:
een burger waarvan f=g
{(x,y)}
x,y in Qg(x,y) = 1
f(x,y) = x2+y2
elementen van A
waarvoor x2+y2 = 1
Basisconstructies GM 27
Limieten (2)pullback en pushout
1. Voorbeeld „huis – woonplaats‟
2. Limiet: pullback
3. Pullback als vezelproduct
4. Colimiet: pushout
5. Constructie van pushout
6. Vb: postcode – straatpullback en pushout in één matrix
5 juni 2012
Basisconstructies GM 28
Voorbeeld „huis – woonplaats‟
5 juni 2012
huis
postcode straat
woonplaats
Elke commutatie
vereist
beperkingsregel!
Basisconstructies GM 29
Limiet: pullback
5 juni 2012
huis
postcode straat
woonplaats
postcode
*WPL straat
Pullback:
1.is de “grootste eenheid” die de
cospan onder „woonplaats‟ aanvult tot
een commuterende maas;
2.is limiet, dus elke andere aanvulling
van de cospan tot commuterende
maas verwijst naar de pullback
„postcode *WPL straat‟.
straten
WPL1
straten
WPL2
straten
WPL(n)
pc‟s
WPL1
pc*str
WPL1
pc‟s
WPL2
pc*str
WPL2
pc‟s
WPL(n)
pc*str
WPL(n)
Basisconstructies GM 30
Pullback als vezelproduct
5 juni 2012
postcode
*WPL straat
postcode straat
woonplaats
Vezelproduct:
•„straat‟ en „pc‟ hebben WPL-vezels
•„postcode *WPL straat‟ heeft WPL-vezels
•vezelproduct ~ diagonaalmatrix
•dus inductieverwijzing
van „postcode *WPL straat‟ naar WPL
Basisconstructies GM 31
Colimiet: pushout
5 juni 2012
huis
postcode straat
woon-
plaats
postcode
+huis straat
Pushout:
1.is de “kleinste eenheid” die de
span boven „huis‟ aanvult tot een
commuterende maas;
2.is colimiet, dus pushout „postcode
+huis straat‟ verwijst naar elke andere
aanvulling van de span boven „huis‟ tot
commuterende maas.
Basisconstructies GM 5 juni 2012 32
postcode straat
postcode
*WPL straat
postcode
+huis straat
1
2
3
Constructie van pushout
postcode
+straat
component
pushout
som
pullback
Vb: postcode-straat
stukje van diagonaal met
pullback en pushout:
• enkele „meerstratige‟
postcodes
• met bijbehorende straten
rood: postcode *WPL straat
rechthoek: postcode +huis straat
Basisconstructies GM 34
Limieten (3)product en coproduct
1. Voorbeeld „meting‟
2. Relaties als subobjecten
3. Product is associatief
4. Colimiet: coproduct
5. Som is associatief
6. Distributieve eigenschap
7. Specificatie (n):(m)
8. Beperkingsregel pullback (n):(m)
5 juni 2012
Basisconstructies GM 35
Voorbeeld: metinglimiet: product
5 juni 2012
metinggeval
meet-
punt
gevals-
groep
gev.grp
*meetpt
1. „meting‟ verwijst naar „meetpunt‟ en
(via „geval‟) naar „gevalsgroep‟;
2. „gev.grp*meetpt‟ is “grootste object”
dat naar beide verwijst:
projecties p1 en p2 vormen
sleuteltype van product;
3. „gev.grp*meetpt‟ vormt matrixcel;
4. „meting‟ verwijst impliciet naar
„gev.grp*meetpt‟ – “zit in matrixcel”.
p1 p2telbasis
Basisconstructies GM 36
Relaties als subobjecten
5 juni 2012
A*B
rel-1
BA A*B
pA pB
A*B
rel-2
1. „A*B rel-1‟ ≠ „A*B rel-2‟ worden beide
geïdentificeerd door hun
verwijzingen naar A en naar B.
2. Dan is geen van beide het
product, want product is een limiet.
3. Beide zijn dan subobjecten (injecties
in) het product A*B.
4. De bijbehorende gegevens-
verzamelingen vormen delen van de
matrix opgespannen door A en B.
Basisconstructies GM 37
Product is associatief
5 juni 2012
C
A*B B
(A*B)*C
A
pA pB
pA*B
pC
(A*B)*C C
A*B*C BA
pA pB
pC
A*B*C
≅
Basisconstructies GM 38
Colimiet: wat is coproduct?
5 juni 2012
Duaal is er een coproduct:
•Neem weer schema‟s A en B;
•Met uitgaande pijlen (verwijzingstypen) naar C;
Zoek nu een schema X zodanig dat:
1.fA: A → X en fB: B → X;
2.Elk verwijzingstype van A naar elke willekeurige C
kan worden ontbonden in fA;
3.Elk verwijzingstype van B naar deze C
kan worden ontbonden in fB.
Basisconstructies GM 39
Colimiet: coproduct
5 juni 2012
A B
A+B
C
inwendig schema: 1. fA: A → C, fB: B → C
2. |{fA}| = |C||A|, |{fB}| = |C||B|
3. Aantal combinaties is
|{fA}|.|{fB}| = |C||A|.|C||B| = |C||A|+|B|
4. Coproduct A+B verwijst:
fA+B: A+B → C met |{fA+B}| = |C||A+B|
5. Coproduct is disjoint union, ofwel
supertype van A en B,
waarbij |A+B| = |A| + |B|
fA fBfA+B
Basisconstructies GM 40
Som is associatief
5 juni 2012
B1 B2
B1+B2
B3
(B1+B2)+B3
B1 B2 B3
B1+B2+B3
(B1 + B2) + B3 ≅ B1 + B2 + B3
Basisconstructies GM 41
Distributieve eigenschap
5 juni 2012
A A
B2
B1
B1+B2
A*(B1+B2)
A*B2
A*B1
f
A
B1
A*B1
B2
A*B2
A
B1
A*(B1+B2)
B2
B1+B2
A*B1 + A*B2
inwendig schema: uitwendig schema:
distributief =
(supertype van koppelingen
≅ koppeling met supertype)A*B1 + A*B2
Basisconstructies GM 42
Specificatie (n):(m)
5 juni 2012
R(A,B)
A B
A B
C(A,B)
A B(n):(m)
wat bedoelen we?
relatie
corelatie
A
B
elke A kan verbonden
zijn met elke B; elke verbinding
is een voorkomen R(A,B)
A
B
verzamelingen A‟s behoren
bij verzamelingen B‟s; elke
groep is een voorkomen C(A,B)bijv: voor m mensen zijn n tafels
gereserveerd, maar wie aan welke tafel
zit, is niet interessant
Basisconstructies GM 5 juni 2012 43
Beperkingsregel
voor pullback (n):(m)
A B
W
A *W B
f g
pA pB
f◦pA = g◦pB
A B
W
f g
hA
hB
f = g◦hA
g = f◦hBbeperkingsregel(s)
Basisconstructies GM 44
Optionaliteit
1. Basepoint sets
2. Injectie en surjectie
3. Epimonische ontbinding
4. Exacte rijtjes
5. Product
6. Coproduct
7. Distributief?
5 juni 2012
Basisconstructies GM 45
Base point sets
5 juni 2012
X Yf
X Yf
X Yf
≅
optionaliteit:
partiële functie f
Met basispunt:
volledige functie f
1. * → *
2. Ker(f)
1222
(1):(1)-verwijzing is niet meer injectief
Basisconstructies GM 46
Injectie en surjectie
5 juni 2012
A B
f
0..1
0..1
injectie (monomorfie)
elk tupel van B heeft hoogstens één origineel
A B
A B
f
1..*
0..1
A B
surjectie (epimorfie)
elk tupel van B heeft minstens één origineel
in op
n:(1)-verwijzing is wel surjectief
Basisconstructies GM 47
Epimonische ontbinding
5 juni 2012
gebouw straat
gebouw bebouwde
straatstraat
e mgebouw straat
f
epimonische ontbinding
gebouw straat
gebouw.f =
bijv. als gebouw langs snelweg
Basisconstructies GM 48
Exacte rijtjes
5 juni 2012
bevinding register EW-
gebruik
bevindingEW-gebruik
g f
register
bevinding.g.f =
bevinding intern
registerEW-
gebruik
g fextern
register
register
Basisconstructies GM 49
Product
5 juni 2012
A
B2
A*B2
A*B2
A
B2
1. |A*B2| = |A| * |B2|
2. De rij zwarte punten langs de rand
met het basispunt heet de wigsom;
notatie: A⋀B2.
3. De wigsom in GV* is de
verzameling van matrixcellen die
één of meer projecties “missen”.
Basisconstructies GM 50
Coproduct (concept)
5 juni 2012
B2
B1B1 ∐ B2
1. In het coproduct B1∐B2 zijn de
basispunten van B1 en van B2 op elkaar
gelijmd,
dus |B1∐B2| < |B1| + |B2|.
<let op de notatie van het coproduct>
2. Het coproduct is isomorf met de wigsom:
B1∐B2 ≅ B1⋀B2.
3. Het coproduct is niet een supertype, want
geen disjoint union.
B1∐B2
B1
B2
Basisconstructies GM 51
Coproduct (voorbeeld)
5 juni 2012
B1∐B2
B1
B2
adres
bezoek-
adres
post-
adres
mens
adres
bezoek-
adres
post-
adres
verband2
verband1
verband3
mensWat is het verschil tussen:
•optionele verbanden met twee
verschillende schema‟s en
•optionele verbanden met hun
coproduct?
Basisconstructies GM 52
Distributief?
5 juni 2012
A A
B2
B1B1∐B2 A*(B1∐B2)
A*B2
A*B1A*B1 ∐ A*B2
A*B1 ∐ A*B2 ≅ A*(B1 ∐ B2)/
A
B1
A*B1
B2
A*B2
A
B1
A*(B1∐B2)
B2
B1∐B2
A*B1 ∐ A*B2
Basisconstructies GM 5 juni 2012 53