CMD + K

Kapittel 15Begreper & formler · Kunnskapsrepresentasjon
Referanseside · Kapittel 15

Begreper & referanser

Alle nøkkelbegrepene, formlene og referansene fra Kunnskapsrepresentasjon, samlet på én side. Bruk denne som oppslag når du leser, øver flashcards eller tar quiz.

Øv med flashcards25 kort fra dette kapittelet

Begreper

Sentrale begreper fra kapittelet med korte definisjoner.

01Ontologi

En formell beskrivelse av hvilke kategorier, objekter og relasjoner som finnes i et domene, og hvordan de henger sammen. Den gir agenten et felles ordforråd å skrive kunnskapen sin i (ontology).

02Øvre ontologi

Det generelle rammeverket øverst i en ontologi, med begreper som fysiske objekter, hendelser, tid og abstrakte objekter. Domene-ontologier henges på under den (upper ontology).

03Kategori

En mengde objekter som behandles samlet, som Fioliner. Et objekt er medlem av en kategori (), og en kategori kan være en delmengde av en annen () (category).

04Reifisering

Å gjøre et predikat eller en relasjon om til et objekt vi kan si ting om. Kategorien Fioliner blir en konstant, slik at vi kan skrive i stedet for bare predikatet (reification).

05Arv

Det som gjelder alle medlemmer av en kategori, gjelder også medlemmene av hver underkategori. Et objekt i Fioliner arver dermed det som er sagt om Strykeinstrumenter (inheritance).

06Taksonomi

Et hierarki av kategorier bundet sammen med delmengderelasjonen ⊂, fra de mest generelle øverst til de mest spesielle nederst (taxonomy).

07Disjunkte kategorier

Kategorier uten felles medlemmer. sier at hvert par av ulike kategorier i mengden har tomt snitt (disjoint).

08Uttømmende dekomposisjon

En mengde underkategorier som dekker hele foreldrekategorien: hvert medlem av forelderen er med i minst én av dem. Underkategoriene kan overlappe (exhaustive decomposition).

09Partisjon

En uttømmende dekomposisjon der underkategoriene i tillegg er disjunkte, slik at hvert medlem av forelderen er med i nøyaktig én av dem (partition).

10Del-av-relasjonen

Relasjonen sier at objektet er en del av objektet , som peisen i stua. Den er transitiv og refleksiv, og den er noe annet enn medlemskap i en kategori (PartOf).

11Mål og enheter

Verdier som lengde, pris og varighet, skrevet som en enhetsfunksjon brukt på et tall: . Mål kan regnes om mellom enheter og sammenlignes (measures, units).

12Hendelseskalkyle

En logikk for tid der både hendelser og fluenter er objekter. Predikater som , og sier når hendelser skjer og hva de starter og stopper, og sier når en fluent er sann (event calculus).

13Fluent

Et faktum som kan endre seg over tid, som at hytte 7 er opptatt. I hendelseskalkylen er fluenten et objekt, og sier at fluenten er sann ved tidspunktet (fluent).

14Tidsintervall

Et tidsrom med start og slutt . Allen-relasjonene, som Meet, Before, Overlap og During, beskriver hvordan to intervaller ligger i forhold til hverandre (time interval).

15Semantisk nett

En grafnotasjon for en ontologi: noder for kategorier og objekter, og kanter for MedlemAv, DelmengdeAv og egenskaper. Arv finnes ved å følge kantene oppover (semantic network).

16Beskrivelseslogikk

Et logisk språk for å definere kategorier ut fra enklere kategorier og relasjoner, med operatorer som And, All og AtLeast. Språket er begrenset slik at subsumpsjon og klassifisering går raskt (description logic).

17Subsumpsjon

Spørsmålet om én kategori er en delmengde av en annen ut fra definisjonene alene. Strykekvartett er subsumert av Kammerensemble når definisjonen gjør hver strykekvartett til et kammerensemble (subsumption).

18Klassifisering

Å avgjøre ut fra definisjonene hvilke kategorier et objekt eller en ny kategori hører til (classification).

Formler

Hver formel: hva den heter, hvordan den ser ut, og hva symbolene betyr.

subklasse-arv

Arv gjennom delmengder

Brukes når et objekt skal arve medlemskap, og dermed egenskaper, fra en overkategori. Regelen kan brukes flere ganger oppover i taksonomien. Vanlig feil: å skrive ⊂ mellom et objekt og en kategori; et objekt er medlem (∈), aldri delmengde.

xet objekt
c₁, c₂kategorier
∈er medlem av
⊂er delmengde av
partisjon

Definisjonen av partisjon

Brukes for å avgjøre om en inndeling av kategorien er en partisjon: sjekk disjunkthet og uttømming hver for seg. betyr at hvert medlem av er med i minst én kategori i . Vanlig feil: å tro at disjunkte kategorier alltid dekker hele forelderen.

sen mengde underkategorier
cforeldrekategorien
disjunkt

Definisjonen av disjunkthet

Brukes for å vise at ingen objekter er med i to av kategoriene i . Det sier ingenting om at kategoriene dekker hele forelderen.

sen mengde kategorier
c₁, c₂to ulike kategorier i s
allen-relasjoner

Definisjonene av Meet og Before

To av Allen-relasjonene mellom tidsintervaller. Meet betyr at starter i samme øyeblikk som slutter, Before at det er et mellomrom. Vanlig feil: å bytte om rekkefølgen på argumentene.

i, jtidsintervaller
\text{Begin}(i), \text{End}(i)start og slutt på intervallet i
fluent-aksiom

Fluent-aksiomet

En fluent er sann fra en hendelse starter den, så lenge ingen hendelse har avbrutt den. Happens og Clipped tar ett intervall-argument , mens , Initiates og Terminates tar et tidspunkt. Vanlig feil: å gi samme predikat ulikt antall argumenter i ulike setninger.

een hendelse
fen fluent
T(f, t)f er sann ved tidspunktet t
\text{Happens}(e, (t₁, t₂))e skjer over intervallet fra t₁ til t₂
\text{Clipped}(f, (t₁, t))f blir usann et sted i intervallet fra t₁ til t

Kodesnutter

Kodesnutter fra kapittelet, vist literal.

Kode

Allen-relasjonen mellom to bookinger

Python
start_a = 2  # @param 0..10slutt_a = 6  # @param 1..12start_b = 4  # @param 0..10slutt_b = 9  # @param 1..12 # To bookinger av samme hytte, i dager. Relasjonene sjekkes i fast rekkefølge.def relasjon(sa, ea, sb, eb):    if ea < sb: return "Before(A, B)"    if eb < sa: return "Before(B, A)"    if ea == sb: return "Meet(A, B)"    if eb == sa: return "Meet(B, A)"    if (sa, ea) == (sb, eb): return "Equals(A, B)"    if sa == sb: return "Starts(A, B)" if ea < eb else "Starts(B, A)"    if ea == eb: return "Finishes(A, B)" if sa > sb else "Finishes(B, A)"    if sb < sa and ea < eb: return "During(A, B)"    if sa < sb and eb < ea: return "During(B, A)"    return "Overlap(A, B)" if sa < sb else "Overlap(B, A)" def vis(s, e):    return f"[{s}, {e}]" if s < e else "ugyldig (start etter eller lik slutt)" print(f"Intervall A: {vis(start_a, slutt_a)}")print(f"Intervall B: {vis(start_b, slutt_b)}")if start_a < slutt_a and start_b < slutt_b:    print(f"Relasjon: {relasjon(start_a, slutt_a, start_b, slutt_b)}")else:    print("Relasjon: ingen (et intervall er ugyldig)")

Prøv: sett start_b til 6 og se at linja Relasjon: går fra til , og til når den er 7.

Kode

Arv med unntak i et semantisk nett

Python
unntak = 0  # @param 0..1 # Semantisk nett som strengt hierarki: hver kategori har én DelmengdeAv-kant opp.delmengde_av = {"Treblås": "Blåseinstrumenter",                "Blåseinstrumenter": "Instrumenter", "Instrumenter": None}egenskaper = {"Instrumenter": {"lager lyd": "ja"},              "Blåseinstrumenter": {"lyd fra": "luftsøyle"},              "Treblås": {"materiale": "tre"}}medlem_av = {"S1": "Treblås"}  # S1 er en saksofonegne = {"S1": {"materiale": "messing"} if unntak == 1 else {}} def slaa_opp(objekt, egenskap):    if egenskap in egne[objekt]:  # en egen verdi overstyrer arven        return egne[objekt][egenskap], f"ingen ({objekt} har egen verdi)"    k = medlem_av[objekt]    while k is not None:  # følg MedlemAv, så DelmengdeAv oppover        if egenskap in egenskaper[k]:            return egenskaper[k][egenskap], k        k = delmengde_av[k]    return "ukjent", "ingen kategori" verdi, kilde = slaa_opp("S1", "materiale")print(f"Egenskap for S1: materiale = {verdi}")print(f"Arvet fra: {kilde}")lyd, fra = slaa_opp("S1", "lyd fra")print(f"Lyd fra for S1: {lyd} (arvet fra {fra})")kjede, k = [], medlem_av["S1"]while k is not None:    kjede.append(k)    k = delmengde_av[k]print(f"Kategorier S1 er medlem av: {len(kjede)} ({', '.join(kjede)})")

Prøv: sett unntak til 1 og se at linja Egenskap for S1: blir messing og Arvet fra: sier at S1 har egen verdi, mens Lyd fra for S1: fortsatt arves.

Læringsmål

Hva du skal kunne etter å ha lest kapittelet.

  1. 01Forklar hva en ontologi og en øvre ontologi er, og hvorfor domene-ontologier bygger på en felles topp
  2. 02Formaliser en taksonomi i førsteordens logikk med , , Disjoint og Partition
  3. 03Avgjør om en inndeling av en kategori er disjunkt, uttømmende eller en partisjon
  4. 04Bruk del-av-relasjonen og mål med enheter til å beskrive sammensatte objekter
  5. 05Gjenkjenn Allen-relasjonen mellom to tidsintervaller, og forklar hva en fluent er i hendelseskalkylen
  6. 06Forklar arv i semantiske nett, også konflikter når en kategori har flere foreldre, og hva subsumpsjon og klassifisering er