Efficint redeneren over kennis Complexiteit van redeneren Beschrijvende
Efficiënt redeneren over kennis Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Tot nu toe • Eerste-orde logica en uitbreidingen • Maar hoe moeilijk is het redeneren in EOL? Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Maat 1: beslisbaarheid • Beslissingsprobleem: – Antwoorden: “ja” of “nee” – Voorbeeld: • Consistentie: Δ ² false? • Het probleem is beslisbaar als – Turing machine zodanig dat • voor ieder invoer To be or not to be? – een ja/nee antwoord – wordt gevonden na eindig veel stappen. Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Slecht nieuws Alan Turing (1912 -1954) Complexiteit van redeneren Consistentie is onbeslisbaar voor EOL Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging Alonzo Church (1903 -1995)
Voorbije Klassiek weken redeneren in eerste Vandaag orde logica Niet expressief genoeg: • redeneren moet Te expressief: niet monotoon zijn; • beperk de taal om • onzekerheid en het redeneren vaagheid; beslisbaar/efficiënt • uitleg en diagnose te maken Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Beschrijvende logica’s • description logics • speciale logische talen • beperkter dan EOL – van de meeste beperkte tem meer expressieve • basis voor OWL: web-ontology language – OWL Lite: beschrijvende logica SHIF(D) – OWL DL: beschrijvende logica SHOIN(D) – OWL Full: beschrijvende logica s. ROIQ(D) Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Goed nieuws Consistentie is beslisbaar voor deze logica’s Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
We willen de logica’s met mekaar vergelijken… • Maat: complexiteit – Groote van het invoer: n – Complexiteit van algoritme: • functie van n – sorteren: O(n log n) • klasse: polynoom, exponent, … – Complexiteit van probleem: • complexiteit van het best mogelijke oplossing! – Wij kijken naar consistentie Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Welke complexiteitsklassen kennen jullie? Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Moeilijkheidsgraad Complexiteitszoo Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Waar zitten de beslisbare problemen? Beslisbaar Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Voorbeeld 1 • Attributive language (AL) with complement (C) Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
ALC • atomaire klassen of concepten: vrouw, mens, >, ? … – predicaten met één argument • eigenschappen of rollen: heeft. Kind – predicaten met twee argumenten • doorsnee van klassen: u – vrouw volwassen u mens u vrouwelijk • complement van klassen: – man volwassen u mens u vrouwelijk • beperking: R. K – alle x zodanig dat zodra R(x, y) dan ook K(y) – vader. Zonen vader u heeft. Kind. dochter Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
• Voor klassen C en D: C t D kan uitgedrukt worden in ALC (vereniging van C en D) A. Ja B. Nee Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Voorbeeld 2 Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
SHOIN ALC + • S: rollen kunnen transitief zijn – voorouder. Van • H: rollenhiërarchie – heeft. Kind v is. Voorouder. Van • O: individuele objecten die een concept vormen – {Ram, Stier, Tweelingen, …, Waterman, Vissen} • I: inversierollen – heeft. Kind heeft. Ouder-1 • N: numerieke beperkingen ( n R) – polygame_mens u >1 leeft. Samen. Met Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
(>1 leeft. Samen. Met) in SHOIN betekent A. ( ( 1 leeft. Samen. Met)) B. ( ( 1) leeft. Samen. Met) Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
ALC S , u, t, , + transitieve rollen (=ALCtrans) PSPACE SH SHI + hiërarchische rollen + inversierollen EXPTIME SHIF SHOIN + functionele rollen ( 1 R) + individuele objecten + (algemene) numerieke beperkingen ( n R) EXPTIME NEXPTIME SHOIQ + gekwalificeerde numerieke beperkingen ( n R. C) + speciale eigenschappen NEXPTIME s. ROIQ: Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging NEXPTIME beslisbaar
Hoe expressiever de taal, hoe complexer het redeneren Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Dus • Hoe beperkter de taal, hoe efficiënter het redeneren. • Als je een kennisvoorstellingsformalisme kiest probeer de taal te beperken! Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Opdracht 1 • Vraag 8: Wat is de complexiteit van het klassiek redeneren over het gekozen domein? – Welke aspecten van de EOL hebben jullie nodig? – Kunnen jullie tot een of andere beschrijvende logica beperken? – Wat is de complexiteit van het redeneren? – Zie ook: http: //www. cs. man. ac. uk/~ezolin/logic/complexity. ht ml Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Huiswerk 12 ALC kan verder beperkt worden • Schrijf een verslag over dergelijke logica’s – Wat zijn ze? – Hoe complex is het redeneren? • Deadline: 15 mei 2007. Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Maar… EOL niet efficiënt genoeg niet expressief genoeg beschrijvende vaagheid, logica’s onzekerheid… Is het onverenigbaar? Kunnen we niet van beide aanpakken profiteren? uitbreidingen van Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging beschrijvende logica’s
Beschrijvende logica's + • Gaat niet! • Beschrijvende logica's neemt aan dat de wereld open is. • Wat is het verschil tussen de twee aannames? Σοφοκλής Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Koning Oedipus • Wie kent het verhaal? Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Koning Oedipus • • • heeft. Kind(Iocaste, Oedipus). heeft. Kind(Iocaste, Polyneikes). heeft. Kind(Oedipus, Polyneikes). heeft. Kind(Polyneikes, Thersandros). vadermoordenaar(Oedipus). vadermoordenaar(Thersandros). Σοφοκλής Heeft Iocaste een kind die een vadermoordenaar is en die een kind heeft die geen vadermoordenaar is? Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Aanname van een gesloten wereld Aanname van een open wereld • Oedipus is een kind van Iocaste. • Hij is een vadermoordenaar. • Zijn kind is Polyneikes. • Wij weten niet of hij een vadermoordenaar is. • Neem aan dat hij geen vadermoordenaar is. • Antwoord: ja • Polyneikes is een kind van Iocaste. • Als Polyneikes een vadermoordenaar is, dan: Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen – Zijn kind is Thersandros. – Th is geen vadermoordenaar. – Antwoord: ja. • Als Polyneikes geen vadermoordenaar is, dan: – Hij is een kind van Oedipus, die ook een kind van Iocaste is. – Oe. Kennisblootlegging is een vadermoordenaar. Verwerven van – Antwoord: ja.
Veel andere uitbreidingen gaan wel! Circumscriptie Bonatti, Lutz, Wolter 2006 Default waarden Baader, Hollunder 1995 Autoepistemische logica Donini, Nardi, Rosati 1997 Onzekerheid Koller, Levy, Pfeffer, 1997 Vaagheid Straccia 2001, 2006 Uitleg Deng, Haarslev, Shiri 2006 Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Beschrijvende logica's + • Zoogdieren zijn meestal levendbarend – • maar het vogelbekdier is niet Circumscriptie (herhaling): – Trek conclusies die de verzameling van de abnormale objecten zo klein mogelijk maken. • • Klassen ipv predicaten – • sommige predicaten veranderen niet Alleen klassen kunnen abnormaal zijn Beschrijvende logica EOL, dus 1. vertaal de formules naar EOL 2. bereken circumscriptie • Meer in [Bonatti, Lutz, Wolter 2006] Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Beschrijvende logica's + • Verstekregels (herhaling): – Neem g aan, als geldt en niet geldt. • • Klassen ipv predicaten Verstekregels alleen voor de individuen – Arts(An) en Arts(x): Rijk(x)/Rijk(x) Rijk(An) – ( heeft. Kind. Arts)(Piet) ; ( heeft. Kind. Rijk)(Piet) – Anders onbeslisbaar… • [Baader, Hollunder 1995] geven een algoritme ervoor. Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Beschrijvende logica's + onzekerheid • Ipv zoogdier v dier – Wat is een kans dat een dier een zogdier is? Dier P(zoogdier|dier) = 0. 3 P(zoogdier|: dier) = 0 Zoogdier Zie verder bij [Koller, Levy, Pfeffer 1997]! Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Beschrijvende logica's + Vaagheid • Vage concepten: jong – jonge. Mens mens u leeftijd. jong • n – - een formule van beschrijvende logica – n – getal tussen 0 en 1. – (jan: jong. Mens 0. 2) • Meer [Straccia 2001, 2006] Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
• • • Interpretatie van Cu. D: min(C(x), D(x)) Interpretatie van Cv. D: infx(C(x) → D(x)) Interpretatie van a → b: max(1 -a, b) – er zijn ook andere interpretaties mogelijk • Gegeven: – minderjarig mens u leeftijd. (kleiner. Dan 18) – jonge. Mens mens u leeftijd. jong • ² ((minderjarig v jonge. Mens) 0. 5) A. Waar. B. Niet waar Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging (30 -x)/20
Wat hebben we gedaan? • Complexiteit van het rederenen • Speciale klasse logica’s met lagere complexiteiten – beschrijvende logica’s – relatie met OWL Lite/DL/Full • Uitbreidingen blijven mogelijk! Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Iets totaal anders… Onderwijsenquête Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Het verwerven van kennis Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Ter herinnering: Kennissysteem Softwaresysteem, die kennis verwerft, op een expliciete manier voorstelt, over deze kennis redeneert en gebruikt om een opdracht uit te voeren. Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Kennissystemen onder het Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Het verwerven van kennis kijk naar de voorbeelden, probeer de regels te achterhalen analyseer de tekst stel vragen aan de expert Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
machinaal leren informatie-retrieval (ook vervolgvak) kennisblootlegging Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Kennisblootlegging Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Kennis uithalen? Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Ongestructureerde interview C Een goede relatie met een expert C Brede kijk op het probleem D Inefficiënt D Te subjectief in keuze en behandeling van onderwerpen Goed voor het beginfase Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Gestructureerde interview • Omschrijving van – de taak – variabelen die de uitkomst beïnvloeden – regels die de variabelen met de uitkomsten verbinden • Voor iedere regel vraag – wanneer van toepassing – wat gebeurt als niet van toepassing – wat zijn de alternatieven Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Gestructureerde interview C Efficiënt D Niet alle informatie is verbaal – patroonherkenning? – “Ik weet niet hoe ik het doe…” Goed om kennis te vervolledigen maar op zich onvoldoende! Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Ladders bouwen • Techniek om informele hiërarchieën te bouwen. • Expert + kennisingenieur samen. • Begin met een ladder van één begrip: ñ Veralgemeen begrip in de ladder ò Maak een begrip in de ladder meer specifiek Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Ladders bouwen … Grieks aardewerk drinkgerei Oorspronkelijk begrip: een krater (P. v. Hielten 2003) opslag … Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging Goed voor het beginfase amfora
Repertory Grid Interviewtechniek, komt uit het psychologisch onderzoek • Zoek een drietal: A, B, C – A en B zijn gelijk, maar C is sterk verschillend • Bepaal een maat van (on)gelijkenis • Rangschik alle andere elementen tov deze maat • Herhaal tot dat de expert geen dergelijke maten meer kan vinden. • Verzamel de informatie en zoek naar groepjes Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Swanage 5 Bali 3 Kaapstad 1 Washington, DC 1 Hong Kong 3 Singapore 3 Sidney 3 Brisbane 4 Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Vakantieplannen Verwerven van Veel culturele evenementen 1 5 Weinig culturele evenementen Kennisblootlegging
Mercurius, Venus, Aarde, Mars, Jupiter, Saturnus, Uranus, Neptunus Een geschikte drietal tov “het oppervlak is opgebouwd uit vaste stoffen” is… A. Mercurius, Venus, Jupiter B. Mercurius, Venus, Aarde Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Swanage 5 5 5 Bali 3 2 1 1 1 Kaapstad 1 3 3 4 4 Washington, DC 1 1 3 4 4 Hong Kong 3 3 Singapore 3 5 5 2 3 Sidney 3 4 4 5 4 Brisbane 4 5 5 5 4 Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van … Kennisblootlegging 4 1 1
Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Huiswerk 13 • Er zijn ook andere kennisblootleggingtechnieken: sorteren van begrippen, regelinductie, protocolanalyse, … • Schrijf een verslag over een (aantal) van deze technieken. – Vergelijk ze met interviews, het bouwen van ladders en reportory grid. Wat zijn hun voor- en nadelen? – Wanneer zal je deze technieken toepassen? • Deadline: 15 mei 2007 Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Wat hebben we gedaan? • Verwerven van kennis: – kennisblootlegging – machinaal leren – informatie-retrieval • Technieken voor de kennisblootlegging: – interviews – het bouwen van ladders – “repertory grid” Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Een soortgelijk probleem in machinaal leren • Gegeven grote verzameling gegevens, vind categorieën waarin ze vallen. Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Drie vormen van leren gesuperviseerd leren = voorbeeld + klasse KB, 71 A 23, 276 r Complexiteit van redeneren Beschrijvende logica’s leren door bekrachtiging = voorbeeld + beloning/afstraffing Uitbreidingen Verwerven van niet gesuperviseerd leren = voorbeeld Kennisblootlegging
Welk vorm van leren is dat? A. Gesuperviseerd B. Leren door bekrachtiging C. Niet gesuperviseerd. Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Vandaag Dus, clustering probleem Invoer: grote verzameling voorbeelden Uitvoer: clusters waarin ze vallen Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van niet gesuperviseerd leren = voorbeeld Kennisblootlegging
Clustering technieken • Hiërarchisch • Scheidend Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Hiërarchisch clustering • Bepaal een afstandsmetriek voor clusters van gegevens. Vaak – d(A, B) = max{d(x, y), x A, y B} of – d(A, B) = min{d(x, y), x A, y B} of – statistische correlatie • Neem twee dichtstbijzijnde clusters en combineer ze • Herhaal tot er maar een cluster overblijft Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
• Afstand(X, Y) = kleinste aantal paardensprongen van een figuur uit X naar een figuur uit Y • Combineer(X, Y) = unie Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Scheidend clustering • OGO 2. 1 – klinkt bekend? • Wij willen k clusters hebben • Technieken: – Grafentheorie • minimaal opspannende boom • maximale cut – Statistisch: • k gemiddeld • k centroïde • vage c gemiddeld (soms vage k gemiddeld) Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Ter herinnering: Minimaal opspannende boom • Gegeven een graaf G, T is een minimaal opspannende boom als – T bestaat uit die kanten van de graaf – alle knopen in de graaf zijn met elkaar verbonden in T – de som van de gewichten verbonden aan de kanten zo klein mogelijk is. Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
B 3 5 A 5 4 5 1 D A. B. C. D. Complexiteit van redeneren 1 4 5 Wat is de lengte C van de minimaal opspannende 5 boom? E 9 10 11 geen enkele antwoord is juist Beschrijvende logica’s Uitbreidingen Verwerven van Kennisblootlegging
Minimaal opspannende boom 1) Voorbeelden vormen een kliek met afstanden als gewichten van kanten 2) Bereken de minimaal opspannende boom Complexiteit van redeneren Beschrijvende logica’s Uitbreidingen 3) Verwijder k-1 langste kanten 4) Stukjes zijn clusters Hier k = 2 Verwerven van Kennisblootlegging
B 3 5 A 5 4 5 1 D 4 wie zit dan in dezelfde cluster? Complexiteit van redeneren 1 Beschrijvende logica’s Uitbreidingen 5 Als we minimaal C opspannende boom 5 gebruiken… E A. A en B B. D en E Verwerven van Kennisblootlegging
- Slides: 68