1 / 25

Trekkstrukturer

Trekkstrukturer. Bygges opp fra en mengde trekk f,g,h,… og en mengde atomære verdier a,b,c,…. Defineres som en DAG (directed acyclic graph), det vil si en mengde av noder (med en utpekt startnode/rot) og rettede kanter mellom dem. Noen av nodene kan være atomære verdier. Har følgende krav

isla
Download Presentation

Trekkstrukturer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Trekkstrukturer Bygges opp fra en mengde trekk f,g,h,… og en mengde atomære verdier a,b,c,… Defineres som en DAG (directed acyclic graph), det vil si en mengde av noder (med en utpekt startnode/rot) og rettede kanter mellom dem. Noen av nodene kan være atomære verdier. • Har følgende krav • Hver kant er merket med nøyaktig ett trekk • Ingen node har to (eller flere) kanter ut merket med samme trekk • Atomære verdier har ikke kanter ut • Det fins ingen sykler • Alle noder kan nås fra roten

  2. g b f  f b To notasjoner f a g h  a f g g b f f h

  3. Subsumpsjon Vi tenker oss at en trekkstruktur kan vokse til en annen ved at mer informasjon legges til. a f f g g g g b b f f f f h h Ny atomær verdi

  4. Subsumpsjon Vi tenker oss at en trekkstruktur kan vokse til en annen ved at mer informasjon legges til. f g g g g b b f f f f h h Nytt trekk

  5. Subsumpsjon Vi tenker oss at en trekkstruktur kan vokse til en annen ved at mer informasjon legges til. g g f f f f f h h b b Nytt trekk (gjerne langt inne i strukturen)

  6. Subsumpsjon Vi tenker oss at en trekkstruktur kan vokse til en annen ved at mer informasjon legges til. g g f f f f b b f h h Ny stilikhet

  7. Subsumpsjon Vi tenker oss at en trekkstruktur kan vokse til en annen ved at mer informasjon legges til. a f g g g g b f f h b f h Kombinasjon

  8. Subsumpsjon Definisjon: • T1 T2 hviss • alle stier fra roten som fins i T1 fins også i T2 • hvis en sti fra roten fører til atomær verdi a i T1, så fører den også til atomær verdi a iT2 • hvis to stier fra roten fører til samme node i T1, så gjør de også det i T2

  9. Ligninger: Krav til trekkstrukturer Format 1: STI1 = STI2 g f f = g g g f = h a f g g b f Format 2: STI = atomær verdi f h g f f = b f = a

  10. Observasjon Hvis T1 T2 og T1 tilfredsstiller en gitt ligning, så tilfredsstiller også T2 denne ligningen. a f g g g g b f f f h b f h g g = g g g f = h g f f = b

  11. T1 T2 hviss T2 tilfredsstiller alle ligninger som T1 tilfredsstiller. Observasjon a f g g g g b f f f h b f h g g = g g g f = h g f f = b

  12. Observasjon Subsumpsjon er refleksiv og transitiv: T T Hvis T1 T2 og T2 T3 så T1 T3

  13. Ekvivalens To trekkstrukturer er ekvivalente hviss de subsumerer hverandre, altså hviss de tilfredsstiller akkurat de samme ligningene. Skriver T1  T2 for dette. Ekvivalente trekkstrukturer tegnes likt, når man ser bort fra nodenes innbyrdes plassering. Ekvivalente trekkstrukturer er identiske i alle praktiske henseender. Heretter skal vi også tenke på dem som identiske. (Innebærer egentlig at vi redefinerer trekkstruktur til å bety ekvivalensklasse av trekkstrukturer i forrige betydning.)

  14. “Mindre enn” Subsumpsjon blir nå en partiell ordning på trekkstrukturer, det vil si en refleksiv, transitiv og antisymmetrisk relasjon: T T Hvis T1 T2 og T2 T3 så T1 T3 Hvis T1 T2 og T2 T1 så T1 = T2 Naturlig å tenke på denne ordningen som “mindre enn” og si at T1 er mindre enn T2 når vi mener at T1 subsumerer T2.

  15. PATR-regler som ligninger på én trekkstruktur X  Y Z X HEAD = Y HEAD X COMPS = Y COMPS REST Y COMPS FIRST = Z X SPR = Y SPR Z SPR = nil Z COMPS = nil HEAD = ARGS FIRST HEAD COMPS = ARGS FIRST COMPS REST ARGS FIRST COMPS FIRST = ARGS REST FIRST SPR = ARGS FIRST SPR ARGS REST FIRST SPR = nil ARGS REST FIRSTCOMPS = nil ARGS REST REST = nil

  16. Observasjon En mengde av ligninger har alltid en minste trekkstruktur som tilfredsstiler dem. HEAD = ARGS FIRST HEAD COMPS = ARGS FIRST COMPS REST ARGS FIRST COMPS FIRST = ARGS REST FIRST SPR = ARGS FIRST SPR ARGS REST FIRST SPR = nil ARGS REST FIRSTCOMPS = nil ARGS REST REST = nil COMPS HEAD SPR REST COMPS ARGS HEAD SPR FIRST COMPS SPR FIRST FIRST nil REST REST

  17. Unifiserbar To trekkstrukturer sies å være unifiserbare hvis det finnes en trekkstruktur som begge subsumerer.

  18. T1 T2 T1 T2 Unifikasjonsteoremet Hvis to trekkstrukturer er unifiserbare så fins en minste trekkstruktur som begge subsumerer.

  19. T1 T2 T1 T2 Unifikasjonsteoremet To trekkstrukturer som har en felles øvre grense, har en minste felles øvre grense. (Least upper bound, lub.) OBS: Mange liker å snu hele hierarkiet av trekkstrukturer på hodet, med de minste øverst. Slike folk snakker naturlig nok om greatest lower bound, glb.

  20. Unifikasjon Vi legger ofte til en inkonsistent/umulig trekkstruktur som alle trekkstrukturer subsumerer. Vi skriver den som .  At T1 og T2 ikke er unifiserbare kan vi da uttrykke ved likheten T1 T2 =  T1 T2

  21. Unifikasjon g g f =  a h f h b

  22. Unifikasjon g g f =  a h h b

  23. f g h Unifikasjon g g f =  h h

  24. b b b h h h g g g g = f f a a h h h h f f h h h c c c g f a h Likhet vs. identitet g “inntil videre lik” h =  g = h

More Related