Basisconstructies gm v2.2 2013 10-11

53
Basisconstructies GM 5 juni 2012 1

description

I have no credits for this presentation whatsoever. One of my colleagues at Belastingdienst is the author. I will ask him whether I can reveal his name.

Transcript of Basisconstructies gm v2.2 2013 10-11

Page 1: Basisconstructies gm v2.2 2013 10-11

Basisconstructies GM 5 juni 2012 1

Page 2: Basisconstructies gm v2.2 2013 10-11

Basisconstructies GM

1. Gegevensverzameling en –model

2. Recursie: interne samenhang

3. Isomorfiefamilie

4. Limietfamilie

5. Optionaliteit

Basisconstructies GM 25 juni 2012

Page 3: Basisconstructies gm v2.2 2013 10-11

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

Page 4: Basisconstructies gm v2.2 2013 10-11

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)

Page 5: Basisconstructies gm v2.2 2013 10-11

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)

Page 6: Basisconstructies gm v2.2 2013 10-11

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

Page 7: Basisconstructies gm v2.2 2013 10-11

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

Page 8: Basisconstructies gm v2.2 2013 10-11

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

Page 9: Basisconstructies gm v2.2 2013 10-11

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

Page 10: Basisconstructies gm v2.2 2013 10-11

Interne samenhang van relatieofwel: recursie

Basisconstructies GM 5 juni 2012 10

1. Automorfismen

2. Ketens

3. Heesters

4. Bomen

5. Overzicht recursies

Page 11: Basisconstructies gm v2.2 2013 10-11

Basisconstructies GM 11

Automorfismen (1)

A B A

f

f

1

1

1

1

isomorfisme: A ≅ Bautomorfisme(permutatie)

A B A

5 juni 2012

Page 12: Basisconstructies gm v2.2 2013 10-11

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?

Page 13: Basisconstructies gm v2.2 2013 10-11

Basisconstructies GM 13

Automorfismen (2)

A B A

f

f

0..1 0..1

A B

automorfisme!(permutatie)

A

1..*

1..*

5 juni 2012

Page 14: Basisconstructies gm v2.2 2013 10-11

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

Page 15: Basisconstructies gm v2.2 2013 10-11

Basisconstructies GM 15

Heesters

A B A

f

f

0..*

1

0..*

1

A B A

5 juni 2012

Page 16: Basisconstructies gm v2.2 2013 10-11

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

Page 17: Basisconstructies gm v2.2 2013 10-11

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

Page 18: Basisconstructies gm v2.2 2013 10-11

Basisconstructies GM 18

Isomorfiefamilie

1. Isomorfie

2. Sectie

3. Retractie

5 juni 2012

Page 19: Basisconstructies gm v2.2 2013 10-11

Basisconstructies GM 19

Isomorfie

A B

f

1

1

isomorfisme: A ≅ B

A B

5 juni 2012

Page 20: Basisconstructies gm v2.2 2013 10-11

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

Page 21: Basisconstructies gm v2.2 2013 10-11

Basisconstructies GM 21

Sectie in (n):(m)

5 juni 2012

CWZ

CWZ

*CTR

s

CTR

CWZ

CTR

CWZ

CTR

p2

p1t

Page 22: Basisconstructies gm v2.2 2013 10-11

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

Page 23: Basisconstructies gm v2.2 2013 10-11

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

Page 24: Basisconstructies gm v2.2 2013 10-11

Basisconstructies GM 24

Limieten (1)equaliser en co-equaliser

1. Colimiet: „akte‟ en co-equaliser

2. Limiet: equaliser

5 juni 2012

Page 25: Basisconstructies gm v2.2 2013 10-11

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

Page 26: Basisconstructies gm v2.2 2013 10-11

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

Page 27: Basisconstructies gm v2.2 2013 10-11

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

Page 28: Basisconstructies gm v2.2 2013 10-11

Basisconstructies GM 28

Voorbeeld „huis – woonplaats‟

5 juni 2012

huis

postcode straat

woonplaats

Elke commutatie

vereist

beperkingsregel!

Page 29: Basisconstructies gm v2.2 2013 10-11

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‟.

Page 30: Basisconstructies gm v2.2 2013 10-11

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

Page 31: Basisconstructies gm v2.2 2013 10-11

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.

Page 32: Basisconstructies gm v2.2 2013 10-11

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

Page 33: Basisconstructies gm v2.2 2013 10-11

Vb: postcode-straat

stukje van diagonaal met

pullback en pushout:

• enkele „meerstratige‟

postcodes

• met bijbehorende straten

rood: postcode *WPL straat

rechthoek: postcode +huis straat

Page 34: Basisconstructies gm v2.2 2013 10-11

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

Page 35: Basisconstructies gm v2.2 2013 10-11

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

Page 36: Basisconstructies gm v2.2 2013 10-11

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.

Page 37: Basisconstructies gm v2.2 2013 10-11

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

Page 38: Basisconstructies gm v2.2 2013 10-11

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.

Page 39: Basisconstructies gm v2.2 2013 10-11

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

Page 40: Basisconstructies gm v2.2 2013 10-11

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

Page 41: Basisconstructies gm v2.2 2013 10-11

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

Page 42: Basisconstructies gm v2.2 2013 10-11

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

Page 43: Basisconstructies gm v2.2 2013 10-11

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)

Page 44: Basisconstructies gm v2.2 2013 10-11

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

Page 45: Basisconstructies gm v2.2 2013 10-11

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

Page 46: Basisconstructies gm v2.2 2013 10-11

(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

Page 47: Basisconstructies gm v2.2 2013 10-11

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

Page 48: Basisconstructies gm v2.2 2013 10-11

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

Page 49: Basisconstructies gm v2.2 2013 10-11

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”.

Page 50: Basisconstructies gm v2.2 2013 10-11

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

Page 51: Basisconstructies gm v2.2 2013 10-11

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?

Page 52: Basisconstructies gm v2.2 2013 10-11

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

Page 53: Basisconstructies gm v2.2 2013 10-11

Basisconstructies GM 5 juni 2012 53