Logische agenten en planning

Leer hoe een AI-systeem zijn kennis kan opslaan als logische uitspraken en kan afleiden wat daaruit volgt. Geef kennis weer in propositielogica en eerste-ordelogica, bewijs conclusies met resolutie en voorwaarts en achterwaarts redeneren, vind modellen met SAT-oplossers, orden feiten in ontologieën en kennisgrafen en beschrijf planningsproblemen zodat een planner een reeks acties kan vinden die een doel bereikt.

GemiddeldLes 5 van 10 in Cursus Kunstmatige intelligentie

Wat je leert

  1. Leg uit hoe een kennisgebaseerde agent feiten opslaat en conclusies trekt, schrijf zijn kennis als propositionele uitspraken en bepaal door modellen te controleren wat uit die uitspraken volgt.
    • Beschrijf hoe een kennisgebaseerde agent werkt
      Leg de kennisbank, de bewerkingen TELL en ASK en de cyclus van waarnemen, redeneren en handelen van de agent uit, met de wumpuswereld als doorlopend voorbeeld.
    • Schrijf uitspraken in propositielogica
      Gebruik de syntaxis en de betekenis volgens waarheidstabellen van propositielogica om regels over een wereld te coderen, waaronder feiten die in de loop van de tijd veranderen.
    • Bepaal door modellen te controleren of een uitspraak logisch volgt
      Definieer logisch gevolg, algemeengeldigheid en vervulbaarheid en bepaal met enumeratie via waarheidstabellen of een conclusie uit een kennisbank volgt.
  2. Bouw bewijzen op met afleidingsregels en resolutie, redeneer efficiënt met Hornclausules door voorwaarts en achterwaarts te redeneren en gebruik SAT-oplossers om modellen te vinden of aan te tonen dat er geen bestaan.
    • Bouw bewijzen op met afleidingsregels
      Pas modus ponens, en-eliminatie en standaard equivalenties toe om stap voor stap bewijzen op te bouwen en beschouw het vinden van een bewijs als een zoekprobleem.
    • Bewijs met resolutie dat een uitspraak logisch volgt
      Zet uitspraken om naar conjunctieve normaalvorm en gebruik weerlegging met resolutie om aan te tonen dat een zoekvraag logisch volgt uit een kennisbank.
    • Redeneer met Hornclausules door voorwaarts en achterwaarts te redeneren
      Herken definiete clausules en Hornclausules, bepaal door voorwaarts en achterwaarts te redeneren of een uitspraak logisch volgt en vergelijk wanneer elke methode geschikt is.
    • Vind modellen met SAT-oplossers
      Bepaal de vervulbaarheid met het backtrackingalgoritme DPLL en de lokale zoekmethode WalkSAT en beoordeel wat elk resultaat aantoont.
  3. Lees, beoordeel en schrijf eerste-ordeuitspraken over objecten en relaties en bouw een kleine kennisbank voor een domein.
    • Lees en beoordeel uitspraken in eerste-ordelogica
      Gebruik de syntaxis en semantiek van eerste-ordelogica, beoordeel uitspraken in een model en vergelijk standaardsemantiek met databasesemantiek.
    • Vertaal uitspraken naar eerste-ordelogica
      Schrijf uitspraken in natuurlijke taal als eerste-ordeuitspraken, kies kwantoren, connectieven en gelijkheid correct en vermijd de klassieke vertaalfouten.
    • Bouw een kennisbank voor een domein
      Volg het proces van kennistechnologie om een vocabulaire te kiezen, algemene axioma's en feiten over een specifieke probleemsituatie op te schrijven, zoekvragen te stellen en fouten in een kleine kennisbank op te sporen.
  4. Breng eerste-ordeuitspraken met unificatie met elkaar in overeenstemming, redeneer voorwaarts en achterwaarts met eerste-orderegels en bewijs zoekvragen met eerste-orderesolutie.
    • Breng uitspraken met elkaar in overeenstemming door substitutie en unificatie
      Pas universele en existentiële instantiatie toe, leg propositionele omzetting uit en bereken meest algemene unificatoren voor gegeneraliseerde modus ponens.
    • Redeneer voorwaarts en achterwaarts met eerste-orderegels
      Voer voorwaarts redeneren uit tot een vast punt en redeneer achterwaarts vanuit doelen met eerste-ordedefiniete clausules, en leg uit hoe logisch programmeren in Prolog werkt.
    • Bewijs met resolutie dat eerste-ordezoekvragen uit de kennisbank volgen
      Zet eerste-ordeuitspraken met Skolemisatie om naar clausulevorm en bewijs zoekvragen door weerlegging met resolutie, met strategieën die de zoekruimte klein houden.
  5. Structureer algemene kennis met categorieën, ontologieën en semantische netwerken en leg uit hoe kennisgrafen feiten opslaan, bevragen en uitbreiden.
    • Structureer kennis met categorieën en ontologieën
      Geef categorieën, lidmaatschap, subklassen en onderdelen weer, beschrijf semantische netwerken en beschrijvingslogica's en leg redeneren met standaardveronderstellingen en uitzonderingen uit.
    • Leg uit hoe kennisgrafen feiten opslaan en gebruiken
      Beschrijf kennisgrafen als verzamelingen tripels met een schema, bevraag ze, leid met regels nieuwe feiten af en herken hun toepassingen en beperkingen.
  6. Beschrijf planningsproblemen in PDDL, zoek voorwaarts en achterwaarts naar plannen met domeinonafhankelijke heuristieken en vergelijk planningsbenaderingen en hun beperkingen.
    • Beschrijf een planningsprobleem in PDDL
      Schrijf toestanden, actieschema's, begintoestanden en doelen in PDDL en bereken hoe een actie een toestand verandert.
    • Zoek naar plannen met domeinonafhankelijke heuristieken
      Voer voorwaarts en achterwaarts zoeken in de toestandsruimte uit op planningsproblemen en schat de planlengte met heuristieken op basis van gerelaxeerde problemen.
    • Vergelijk planningsbenaderingen en hun beperkingen
      Leg interactie tussen deeldoelen, planning met SAT, partiële ordening en hiërarchische planning uit, evenals de complexiteit van planning en wat klassieke planning niet kan modelleren.

Logische agenten en planning: uitleg

6 hoofdstukken

1

Geef de kennis van een agent weer in propositielogica

Een agent kan nuttige conclusies uit waarnemingen trekken voordat hij de hele wereld ziet. Formele uitspraken maken die conclusies controleerbaar: je kunt vragen welke mogelijke werelden bij de waarnemingen passen en of elk daarvan de voorgestelde actie ondersteunt. Begin met de kennisgebaseerde agent, codeer zijn regels met propositionele connectieven en gebruik daarna modellen om gerechtvaardigde conclusies te onderscheiden van feiten die onbekend blijven.

1.1 Beschrijf hoe een kennisgebaseerde agent werkt

Een kennisgebaseerde agent handelt op basis van een beschrijving van zijn wereld. Zijn kennisbank (KB) bevat formele uitspraken: aanvankelijke feiten en regels, axioma's genoemd, en informatie die tijdens de werking wordt toegevoegd. Inferentie verbindt die uitspraken met conclusies die de agent nooit rechtstreeks heeft waargenomen.

Verbind waarneming met actie

TELL voegt een uitspraak toe aan de KB. ASK vraagt om een antwoord dat door de KB wordt ondersteund, al opgeslagen of afgeleid. Bij elke tijdstap legt de agent zijn waarneming vast, vraagt hij welke actie hij moet kiezen, legt hij de gekozen actie vast en voert hij die uit. Acties vastleggen is belangrijk omdat latere redeneringen moeten weten hoe de wereld is veranderd.

Op het kennisniveau kunnen we zeggen dat een robot weet dat een doorgang geblokkeerd is en een opslagruimte wil bereiken. Op het implementatieniveau beschrijven we datastructuren en inferentieprocedures. Een declaratief ontwerp levert feiten en regels; een procedureel ontwerp schrijft gedrag rechtstreeks in code. Een werkende agent kan beide combineren.

Lees de wumpuswereld

De wumpuswereld is een rooster van 4 × 4. Coördinaten zijn [kolom, rij]; de agent begint in [1, 1] en kijkt naar rechts. Er is één wumpus, één stuk goud en in elk vak behalve het startvak is de kans op een put 0,2. Putten en de wumpus blijven op hun plaats. De wereld is discreet, deterministisch en bevat één agent, maar is gedeeltelijk waarneembaar: de indeling is verborgen.

Een Bries geeft aan dat er een put in een direct aangrenzend vak is; Stank geeft aan dat de wumpus daar zit. Diagonale vakken tellen niet mee. Schittering duidt op goud in het huidige vak, Botsing meldt een muur en Kreet meldt de dood van de wumpus, waar die ook in de grot plaatsvindt. De acties zijn Vooruit, DraaiLinks, DraaiRechts, Pak, Schiet en Klim. De agent heeft één pijl; Klim verlaat de grot alleen vanuit [1, 1]. Vertrekken met goud levert 1000 punten op, sterven kost 1000 punten, elke actie kost 1 punt en schieten kost nog eens 10 punten.

Combineer waarnemingen

In [1, 1] sluit de afwezigheid van een Bries putten in [1, 2] en [2, 1] uit; de afwezigheid van Stank sluit de wumpus daar uit. Beide vakken zijn veilig. In [2, 1] geeft een Bries aan dat er een put in [2, 2] of [3, 1] zit, omdat het startvak er geen heeft. De afwezigheid van Stank sluit de wumpus in [2, 2] en [3, 1] uit.

De agent bezoekt daarna [1, 2]. De afwezigheid van een Bries sluit een put in [2, 2] uit, dus dwingt de eerdere disjunctie een put in [3, 1] af. Stank in [1, 2] plaatst de wumpus in [1, 3] of [2, 2]. De eerdere waarneming zonder Stank sluit [2, 2] uit, zodat [1, 3] overblijft. De agent heeft vastgesteld dat [2, 2] geen van beide gevaren bevat zonder het vak te betreden.

Deze redenering hangt af van zowel de waarnemingen als de regels die waarnemingen aan gevaren verbinden. Een onverkend vak is onbekend wanneer de KB noch veiligheid, noch gevaar ondersteunt. Gevaar niet kunnen afleiden is onvoldoende om te stellen dat het veilig is. Kiezen om zo'n vak te betreden vereist een beslissing over risico, die verder gaat dan alleen de logische gevolgen.

Belangrijkste punten

  • Een KB combineert achtergrondaxioma's met vastgelegde waarnemingen en acties.
  • TELL voegt uitspraken toe; ASK geeft onderbouwde antwoorden terug.
  • De agent legt een waarneming vast, kiest en registreert een actie en handelt daarna.
  • Kennis kan feiten over niet-bezochte vakken vaststellen.
  • Onbekend en veilig zijn verschillende conclusies.

1.2 Schrijf uitspraken in propositielogica

Propositielogica geeft een agent precieze regels om beweringen met een ja-of-neeantwoord te combineren. Een atomair symbool benoemt een volledige bewering, zoals P₁₂ voor “er is een put in [1, 2]”. Een literaal is een atomaire uitspraak of de negatie daarvan. Grotere uitspraken combineren die met ¬, ∧, ∨, ⇒ en ⇔.

Beoordeel de connectieven

Een model kent aan elk symbool waar of onwaar toe. Met n symbolen zijn er 2ⁿ waardetoekenningen. Negatie keert een waarheidswaarde om; bij een conjunctie moeten beide kanten waar zijn; bij een inclusieve disjunctie minstens één. Een implicatie is alleen onwaar als de voorwaarde waar en de conclusie onwaar is. Bij een bi-implicatie moeten de waarheidswaarden aan beide kanten gelijk zijn.

PQP ⇒ QP ⇔ Q
WaarWaarWaarWaar
WaarOnwaarOnwaarOnwaar
OnwaarWaarWaarOnwaar
OnwaarOnwaarWaarWaar

De bindingsvolgorde is ¬, ∧, ∨, ⇒, ⇔. Dus ¬A ∧ B ⇒ C betekent ((¬A) ∧ B) ⇒ C. Gebruik haakjes als de bedoelde groepering onduidelijk kan zijn. Als A waar, B onwaar en C waar is, dan is (A ∨ B) ⇒ C waar, terwijl A ⇒ (B ∧ C) onwaar is.

Een logische implicatie stelt een beperking aan waarheidswaarden, geen oorzaak. Een onware voorwaarde maakt de implicatie waar. Je mag ook de richting niet omkeren: uit “als de batterij leeg is, stopt de robot” kun je niet alleen op grond van het stoppen vaststellen dat de batterij leeg is.

Codeer beide richtingen van een regel

De briesregel voor het startvak is B₁₁ ⇔ (P₁₂ ∨ P₂₁). Die zegt dat er precies dan een bries is als er een put in een aangrenzend vak zit. De richting B₁₁ ⇒ (P₁₂ ∨ P₂₁) maakt het mogelijk om uit een bries gevaar af te leiden. De omgekeerde richting maakt het mogelijk om uit de afwezigheid van een bries een put uit te sluiten. Als je die weglaat, verlies je de afleiding van ¬P₁₂ ∧ ¬P₂₁ uit ¬B₁₁.

Elk vak heeft zijn eigen propositionele regel nodig. Om precies één wumpus onder 16 vakken te coderen, heb je een disjunctie voor minstens één nodig en een constraint voor hoogstens één per paar. Er zijn 16 × 15 / 2 = 120 verschillende paren. Propositionele symbolen kunnen niet over vakken kwantificeren, dus worden algemene regels veel afzonderlijke uitspraken.

Geef verandering weer zonder behoud te verliezen

Een veranderlijke toestandsuitspraak is een feit waarvan de waarheidswaarde kan veranderen. Een tijdstip in superscript onderscheidt de waarden: L₁₁⁰ legt de locatie op tijdstip 0 vast. Een effectaxioma kan zeggen dat naar rechts bewegen vanuit [1, 1] op tijdstip 1 de locatie [2, 1] oplevert en de oude locatie verwijdert. Het laat open wat er gebeurt met niet-gerelateerde feiten, zoals het bezit van de pijl. Al deze onveranderde feiten beschrijven is het frameprobleem.

Een opvolgertoestandsaxioma geeft één volledige actualisatieregel per veranderlijke toestandsuitspraak: Fᵗ⁺¹ ⇔ (een actie maakt F waar) ∨ (Fᵗ ∧ geen actie maakt F onwaar). Voor de pijl: HeeftPijlᵗ⁺¹ ⇔ (HeeftPijlᵗ ∧ ¬Schietᵗ). Zonder een actie die een andere pijl levert, blijft de agent de pijl houden totdat hij schiet en heeft hij daarna geen pijl meer.

Belangrijkste punten

  • Een implicatie is alleen onwaar als de voorwaarde waar en de conclusie onwaar is.
  • Bij de inclusieve of mogen beide mogelijkheden gelden.
  • Een bi-implicatie codeert twee implicaties.
  • Algemene propositionele regels vereisen afzonderlijke instanties.
  • Opvolgertoestandsaxioma's beschrijven zowel verandering als behoud.
  • Precies één combineert minstens één met uitsluiting per paar.

1.3 Bepaal door modellen te controleren of een uitspraak logisch volgt

Een agent heeft een criterium nodig om te bepalen of een conclusie gerechtvaardigd is. Logisch gevolg, geschreven als KB ⊨ α, betekent dat α waar is in elk model dat aan de KB voldoet. Eén passende wereld waarin α onwaar is, weerlegt het logische gevolg.

Houd precies de passende modellen over

Modelcontrole somt waardetoekenningen op, verwerpt die welke een uitspraak in de KB onwaar maken en toetst de zoekvraag in de overgebleven modellen. Stel dat de KB A ∨ B en ¬A bevat. Van de vier waardetoekenningen aan A en B voldoet alleen A onwaar, B waar aan beide uitspraken. Uit de KB volgen B en ¬A. A volgt er niet uit, omdat het overgebleven model A onwaar maakt.

In de wumpus-KB gebruiken ¬P₁₁, B₁₁ ⇔ (P₁₂ ∨ P₂₁), B₂₁ ⇔ (P₁₁ ∨ P₂₂ ∨ P₃₁), ¬B₁₁ en B₂₁ zeven symbolen. Er zijn 128 waardetoekenningen. Precies drie voldoen aan de KB: P₁₂ en P₂₁ zijn onwaar, terwijl P₂₂ en P₃₁ respectievelijk waar/onwaar, onwaar/waar of waar/waar zijn. Dus volgt ¬P₁₂ logisch. P₂₂ verschilt tussen de drie modellen, dus volgt noch P₂₂, noch ¬P₂₂ logisch. Deze putregels alleen stellen vast dat er geen put is, niet dat de wumpus afwezig is.

Onderscheid de belangrijkste logische toetsen
ToetsWat wordt gevraagd?
VervulbaarIs de uitspraak in minstens één model waar?
OnvervulbaarIs de uitspraak in geen enkel model waar?
AlgemeengeldigIs de uitspraak in elk model waar?
EquivalentHebben twee uitspraken precies dezelfde modellen?

P ∨ ¬P is algemeengeldig; P ∧ ¬P is onvervulbaar. P ⇒ Q en ¬P ∨ Q zijn equivalent. Equivalentie vereist logisch gevolg in beide richtingen. Uit A ∧ B volgt A, maar A laat modellen toe waarin B onwaar is, dus geldt de omgekeerde gevolgtrekking niet.

Maak van een zoekvraag een tegenspraaktoets

KB ⊨ α precies wanneer KB ∧ ¬α onvervulbaar is. Door de ontkende zoekvraag toe te voegen, zoek je een wereld waarin de KB geldt en de zoekvraag niet. Als je die niet vindt, bewijst dat het logische gevolg; als je die wel vindt, geeft dat een tegenmodel. Gelijkwaardig daaraan geldt α ⊨ β precies wanneer α ⇒ β algemeengeldig is. Je kunt de algemeengeldigheid van α zelf toetsen door te controleren of ¬α onvervulbaar is.

Het connectief ⇒ hoort binnen een uitspraak. Het symbool ⊨ beschrijft een relatie tussen uitspraken en hun modellen. Zo kan “volgt niet logisch” betekenen dat de zoekvraag is uitgesloten of dat die onbekend blijft. Controleer of de negatie logisch volgt voordat je tussen beide kiest.

Enumeratie is correct en volledig voor propositielogica omdat ze een eindige verzameling uitputtend controleert. Diepte-eerst enumereren kost O(2ⁿ) tijd en O(n) geheugen; 50 symbolen leveren al ongeveer 1,13 × 10¹⁵ waardetoekenningen op. Bepalen of een propositionele uitspraak logisch volgt, is co-NP-volledig. Controleer ook de consistentie: uit een KB zonder modellen volgt elke uitspraak, omdat er geen passend model is dat een zoekvraag zou kunnen schenden.

Belangrijkste punten

  • Logisch gevolg betekent waarheid in elk model van de KB.
  • Een tegenmodel voldoet aan de KB en maakt de zoekvraag onwaar.
  • Onbekend betekent dat noch een bewering, noch de negatie ervan logisch volgt.
  • KB ⊨ α precies wanneer KB ∧ ¬α onvervulbaar is.
  • Uit een inconsistente klassieke KB volgt elke uitspraak.
2

Bewijs conclusies met propositionele inferentie en SAT-oplossers

Elke mogelijke wereld opsommen kan veel kosten, zelfs wanneer een conclusie een kort bewijs heeft. Afleidingsregels, resolutie en voorwaarts en achterwaarts redeneren met Hornclausules bieden verschillende manieren om gevolgen uit een kennisbank af te leiden. SAT-oplossers benaderen dezelfde logische beperkingen door naar vervullende waardetoekenningen te zoeken. Als je begrijpt wat elke procedure teruggeeft, kun je een bewezen conclusie onderscheiden van een tegenvoorbeeld en van een zoekprocedure die eenvoudigweg is gestopt.

2.1 Bouw bewijzen op met afleidingsregels

Een bewijs leidt een zoekvraag af door regels toe te passen op al bekende uitspraken. KB ⊢ α legt een afleiding vast; KB ⊨ α legt een semantische garantie over modellen vast. Een correcte bewijsprocedure verbindt de twee: elke conclusie die ze afleidt, volgt werkelijk logisch. Een volledige procedure kan binnen de bedoelde taal elke conclusie afleiden die logisch volgt.

Pas regels toe op hun premissen

Modus ponens leidt uit P ⇒ Q en P de uitspraak Q af. En-eliminatie leidt uit P ∧ Q een van beide conjuncten af. Als SensorAan ∧ Gekalibreerd en SensorAan ⇒ MetingBeschikbaar bekend zijn, levert en-eliminatie SensorAan op en vervolgens modus ponens MetingBeschikbaar. Elke regel van het bewijs vermeldt de informatie en de regel die haar rechtvaardigen.

Deze regels behouden de waarheid, maar door hun beperkte vocabulaire zijn ze onvolledig als volledig bewijssysteem. Uit P volgt semantisch de uitspraak P ∨ Q, maar geen van beide regels introduceert ∨. Een verzameling correcte regels kan toch geldige conclusies missen.

Herschrijf zonder de betekenis te veranderen

Nuttige equivalenties kun je in beide richtingen toepassen:

  • Dubbele negatie: ¬¬P ≡ P.
  • Implicatie: P ⇒ Q ≡ ¬P ∨ Q.
  • Contrapositie: P ⇒ Q ≡ ¬Q ⇒ ¬P.
  • Bi-implicatie: P ⇔ Q ≡ (P ⇒ Q) ∧ (Q ⇒ P).
  • De Morgan: ¬(P ∨ Q) ≡ ¬P ∧ ¬Q, en ¬(P ∧ Q) ≡ ¬P ∨ ¬Q.
  • Distributie: P ∨ (Q ∧ R) ≡ (P ∨ Q) ∧ (P ∨ R), met de overeenkomstige omgekeerde wet voor ∧ over ∨.

Conjunctie en disjunctie laten ook hergroepering en verwisseling van de volgorde toe. Deze herschrijvingen leggen de nuttige structuur van een uitspraak bloot zonder een nieuwe feitelijke aanname toe te voegen.

Splits bij B₁₁ ⇔ (P₁₂ ∨ P₂₁) en ¬B₁₁ de bi-implicatie en kies (P₁₂ ∨ P₂₁) ⇒ B₁₁. Contrapositie geeft ¬B₁₁ ⇒ ¬(P₁₂ ∨ P₂₁). Modus ponens levert ¬(P₁₂ ∨ P₂₁) op; De Morgan levert ¬P₁₂ ∧ ¬P₂₁ op. En-eliminatie bewijst vervolgens ¬P₁₂. Het bewijs hoeft nooit elke indeling van de grot op te sommen.

Toets een ongeldige verkorte redenering

Uit P ⇒ Q en Q de uitspraak P afleiden is bevestiging van het gevolg. Uit P ⇒ Q en ¬P de uitspraak ¬Q afleiden is ontkenning van de voorwaarde. Beide gaan niet op in het model P onwaar, Q waar. Een serverstoring kan verhinderen dat een pagina laadt, maar een laadfout heeft ook andere mogelijke oorzaken; de afwezigheid van een storing garandeert evenmin dat het laden lukt.

Een bewijs vinden is een zoekprobleem. De begintoestand bevat de KB; een actie past een afleidingsregel toe en voegt de conclusie toe; de doeltoestand bevat de zoekvraag. De lengte van het bewijs kan als padkosten dienen. Door relevante uitspraken te kiezen, voorkom je dat je moeite steekt in niet-gerelateerde redeneringen. Klassieke logica is monotoon: premissen toevoegen behoudt eerdere logische gevolgen. Standaardregels met uitzonderingen vereisen een andere aanpak, omdat latere informatie een eerdere standaardconclusie kan intrekken.

Belangrijkste punten

  • Correcte inferentie behoudt de waarheid van premissen naar conclusie.
  • Modus ponens heeft zowel een implicatie als de voorwaarde daarvan nodig.
  • Met equivalenties kun je een uitspraak in beide richtingen herschrijven.
  • Bevestiging van het gevolg en ontkenning van de voorwaarde zijn ongeldig.
  • Zoeken naar een bewijs voegt gerechtvaardigde uitspraken toe totdat de zoekvraag is bereikt.
  • Klassiek logisch gevolg is monotoon.

2.2 Bewijs met resolutie dat een uitspraak logisch volgt

Resolutie bewijst logisch gevolg door naar een tegenspraak te zoeken. De invoer is conjunctieve normaalvorm (CNF): een EN van clausules, elk een OF van literalen. Een clausule met één literaal is een eenheidsclausule. De lege clausule kan geen ware literaal bevatten en staat voor onwaarheid.

Zet uitspraken om naar clausules

Elimineer eerst ⇔ en ⇒. Verplaats vervolgens negaties naar binnen met de wetten van De Morgan en eliminatie van dubbele negaties. Distribueer ten slotte ∨ over ∧. Een bi-implicatie kan daardoor meerdere clausules opleveren.

Voor B₁₁ ⇔ (P₁₂ ∨ P₂₁) geeft de voorwaartse richting ¬B₁₁ ∨ P₁₂ ∨ P₂₁. De omgekeerde richting geeft ¬(P₁₂ ∨ P₂₁) ∨ B₁₁. De negatie naar binnen verplaatsen en distribueren levert ¬P₁₂ ∨ B₁₁ en ¬P₂₁ ∨ B₁₁ op. Alle drie de clausules zijn nodig voor de volledige bi-implicatie.

Pas resolutie toe op één complementair paar

Uit P ∨ A en ¬P ∨ B leidt resolutie A ∨ B af. Welke waarde P ook heeft, minstens één overgebleven deel moet gelden. Eenheidsresolutie gebruikt een clausule met één literaal: P met ¬P ∨ B levert B op. Dubbele literalen worden weggenomen door factorisatie, zodat resolutie van A ∨ B met A ∨ ¬B de uitspraak A oplevert.

Pas resolutie steeds op precies één complementair paar toe. A ∨ B en ¬A ∨ ¬B zijn samen vervulbaar als A waar en B onwaar is. Beide paren verwijderen zou ten onrechte de lege clausule opleveren. Resolutie op alleen A levert B ∨ ¬B op, een tautologie die geen beperking toevoegt.

Weerleg de ontkende zoekvraag

Om KB ⊨ α te bewijzen, voeg je ¬α toe, zet je de gecombineerde uitspraak om naar CNF en leid je nieuwe resolventen af. Als je de lege clausule bereikt, bewijs je dat er geen tegenmodel bestaat.

Voeg voor de putzoekvraag ¬P₁₂ de uitspraak P₁₂ toe. Pas daarop resolutie toe met ¬P₁₂ ∨ B₁₁ om B₁₁ te krijgen. Pas daarop resolutie toe met de waargenomen ¬B₁₁ om de lege clausule te bereiken. Het bewijs stelt de afwezigheid van de put vast, niet de aanwezigheid ervan: de positieve putliteraal was een tijdelijke ontkende zoekvraag.

Een tweede voorbeeld gebruikt R ⇒ C, (C ∨ I) ⇒ G en R. De CNF-clausules zijn ¬R ∨ C, ¬C ∨ G, ¬I ∨ G en R. Voeg ¬G toe. Resolutie daarvan met ¬C ∨ G geeft ¬C, wat met de eerste clausule ¬R oplevert. Resolutie van ¬R met R voltooit de weerlegging. Er was geen feit over I nodig.

Propositionele resolutie is correct en weerleggingsvolledig. Ze stopt omdat eindig veel symbolen eindig veel verschillende clausules toelaten. Als uitputtende afsluiting geen nieuwe clausule en geen tegenspraak oplevert, volgt de zoekvraag niet logisch. Resolutie hoeft niet elke uitspraak die logisch volgt rechtstreeks af te leiden: uit alleen A construeert resolutie niet A ∨ B.

Distributie kan CNF exponentieel vergroten. Een Tseitin-codering introduceert symbolen voor deelformules en levert CNF van lineaire omvang op. De nieuwe uitspraak is precies dan vervulbaar als de oorspronkelijke; ze hoeft niet logisch equivalent te zijn over het uitgebreide vocabulaire. Behoud van vervulbaarheid is voldoende voor tegenspraaktoetsen met SAT.

Belangrijkste punten

  • CNF is een conjunctie van disjuncties van literalen.
  • Resolutie elimineert per stap één complementair paar.
  • Bij weerlegging voeg je de negatie van de zoekvraag toe.
  • De lege clausule bewijst onvervulbaarheid.
  • Propositionele resolutie is weerleggingsvolledig en stopt.
  • Tseitin-codering behoudt vervulbaarheid en houdt de omvang van CNF beperkt.

2.3 Redeneer met Hornclausules door voorwaarts en achterwaarts te redeneren

Regels met één positieve conclusie maken een eenvoudiger inferentieprocedure mogelijk dan algemene resolutie. Een definiete clausule heeft precies één positieve literaal; ¬A ∨ ¬B ∨ C wordt geschreven als A ∧ B ⇒ C. Een feit heeft een lege romp. Een Hornclausule heeft hoogstens één positieve literaal, waaronder een doelclausule zonder positieve literaal, zoals A ∧ B ⇒ Onwaar.

Laat feiten de regels aansturen

Voorwaarts redeneren begint met bekende feiten. Als elke premisse van een regel bekend is, voeg je de kop toe. Ga door totdat de zoekvraag verschijnt of een vast punt niets toevoegt. Efficiënte implementaties houden een agenda van nieuwe feiten en per regel een teller van nog niet vervulde premissen bij.

Neem StroomAan, VentilatorDraait en BelastingLaag als feiten. De regels zijn StroomAan ∧ VentilatorDraait ⇒ Koeling; Koeling ∧ BelastingLaag ⇒ TemperatuurNormaal; StroomAan ⇒ LedBrandt; LedBrandt ∧ TemperatuurNormaal ⇒ SysteemInOrde; VentilatorDraait ⇒ GeluidHoorbaar. Door StroomAan te verwerken kun je LedBrandt afleiden en wordt gedeeltelijk aan de koelingsregel voldaan. VentilatorDraait maakt Koeling en GeluidHoorbaar mogelijk. Koeling plus BelastingLaag geeft TemperatuurNormaal, waarna TemperatuurNormaal plus LedBrandt SysteemInOrde geeft. GeluidHoorbaar is een geldige extra conclusie, ook al was die voor de zoekvraag niet nodig.

Laat een zoekvraag de regels kiezen

Achterwaarts redeneren begint met SysteemInOrde. De bijbehorende regel vereist LedBrandt en TemperatuurNormaal. LedBrandt wordt herleid tot het bekende StroomAan. TemperatuurNormaal vereist Koeling en BelastingLaag; Koeling vereist StroomAan en VentilatorDraait. Elk blad is een feit, dus slaagt de zoekvraag. De geluidsregel wordt nooit bekeken.

MethodeUitgangspuntGeschikte situatie
Voorwaarts redenerenBeschikbare feitenGevolgen bijhouden terwijl waarnemingen binnenkomen
Achterwaarts redenerenEen gevraagde conclusieEen specifieke zoekvraag beantwoorden met relevante regels

Voor KB's met definiete clausules en atomaire zoekvragen zijn beide methoden met passende zoeksturing correct en volledig. Propositioneel voorwaarts redeneren kan worden uitgevoerd in tijd lineair in de omvang van de KB. Als je in het vaste punt afgeleide symbolen waar maakt en alle andere onwaar, krijg je een model van de definiete clausules.

Handel cycli af zonder antwoorden te verliezen

A ⇒ B en B ⇒ A bezorgen een naïeve achterwaartse procedure een oneindige lus. Een tak kan stoppen wanneer het doel al op de actieve doelstapel staat. Geslaagde subdoelen kunnen worden onthouden, maar een mislukking door een lus is tijdelijk. Met B ⇒ A, A ⇒ B, C ⇒ A en het feit C kan een vroege poging om B te bewijzen mislukken terwijl A actief is. Nadat A uit C is bewezen, slaagt een nieuwe poging voor B. Als je die eerste mislukking permanent onthoudt, gaat het bewijs verloren. Antwoorden opslaan in tabellen houdt afhankelijke doelen bij en bekijkt ze opnieuw wanneer antwoorden verschijnen.

Deze manier van redeneren hangt af van de regelvorm. A ∨ B heeft twee positieve literalen en is dus geen Hornclausule. Samen met A ⇒ C en B ⇒ C volgt daaruit C door beide mogelijkheden te beschouwen. Vanuit alleen de disjunctie wordt geen definiete regel geactiveerd. Algemene resolutie kan deze conclusie bewijzen, ook al loopt eenvoudig voorwaarts of achterwaarts redeneren vast.

Belangrijkste punten

  • Definiete clausules hebben één positieve literaal; Hornclausules hebben er hoogstens één.
  • Voorwaarts redeneren is gegevensgestuurd.
  • Achterwaarts redeneren is doelgestuurd.
  • Een vast punt voegt geen nieuwe feiten toe.
  • Mislukkingen door een lus mogen niet als definitief worden opgeslagen.
  • Disjunctieve premissen kunnen meer vereisen dan voorwaarts of achterwaarts redeneren.

2.4 Vind modellen met SAT-oplossers

Een SAT-oplosser zoekt naar een waardetoekenning die elke clausule in een CNF-uitspraak vervult. Een teruggegeven model kun je rechtstreeks controleren. Een resultaat dat de uitspraak onvervulbaar is, sluit alle waardetoekenningen uit. SAT is NP-volledig, maar gestructureerde probleeminstanties laten vaak veel snellere oplossingen toe dan uitputtende enumeratie met waarheidstabellen.

Verklein de zoekruimte met DPLL

DPLL is diepte-eerst zoeken met backtracking en drie verkortingen. Een ware literaal vervult de hele clausule, terwijl een volledig onware clausule de tak beëindigt. Een zuiver symbool komt onder onvervulde clausules maar met één teken voor en kan dus zo worden ingesteld dat het die voorkomens vervult. Een eenheidsclausule heeft nog maar één mogelijk ware literaal, die waar moet worden gemaakt. Zulke gedwongen keuzes herhalen is eenheidspropagatie.

Neem (A), (¬A ∨ B), (¬B ∨ C ∨ D), (¬C ∨ ¬D), (D ∨ E). E is zuiver, dus maak E waar. De eenheidsclausule A dwingt A waar te zijn, wat B waar dwingt te zijn. De resterende constraint C ∨ D en de clausule ¬C ∨ ¬D vereisen dat precies één van C en D waar is. Vertak op C waar; propagatie dwingt D onwaar te zijn. A, B, C en E waar met D onwaar vervullen elke clausule.

Vertak voor (A ∨ B), (A ∨ ¬B), (¬A ∨ C), (¬A ∨ ¬C) op A. A onwaar dwingt zowel B als ¬B af; A waar dwingt zowel C als ¬C af. Beide takken geven een conflict, dus is de hele uitspraak onvervulbaar.

Leer van conflicten

Conflictgestuurd clausules leren (CDCL) breidt deze zoekmethode uit. Een geleerde clausule blokkeert een combinatie die verantwoordelijk is voor een conflict. Terugspringen slaat irrelevante keuzes over; variabeleactiviteit stuurt de vertakking; herstarts veranderen de zoekroute; bewaakte literalen versnellen propagatie. Geleerde clausules worden door de formule gerechtvaardigd en behouden dus de mogelijke oplossingen ervan.

Zoek door een volledige waardetoekenning te veranderen

WalkSAT begint met een willekeurige volledige waardetoekenning. Het kiest een onvervulde clausule en keert een variabele daarin om, soms willekeurig en soms zo dat de meeste clausules vervuld blijven. Willekeurige stappen helpen om aan lokale valkuilen te ontsnappen. Als in het eerdere voorbeeld alle vijf symbolen onwaar zijn, blijven (A) en (D ∨ E) onwaar. A omkeren herstelt (A), maar maakt (¬A ∨ B) onwaar. Een stap kan de ene clausule herstellen terwijl een andere onwaar wordt.

ResultaatDPLL of CDCLWalkSAT
Vervullend model gevondenToont vervulbaarheid aanToont vervulbaarheid aan
Zoeken eindigt zonder modelUitputtend falen bewijst onvervulbaarheidEen limiet voor omkeringen laat het antwoord onbeslist

Geef voor logisch gevolg KB ∧ ¬α als invoer. Onvervulbaarheid bewijst α; een model is een tegenvoorbeeld. Als WalkSAT de tijdslimiet bereikt, blijven beide mogelijkheden open. Bij grote willekeurige 3-CNF-formules ligt een geschatte overgang in de verhouding tussen clausules en variabelen rond 4,26, met vaak moeilijke probleeminstanties in de buurt. Dit is een patroon voor een verzameling formules, geen grens die een afzonderlijke formule beslist. Ook de clausulestructuur en de strategie van de oplosser beïnvloeden de moeilijkheid.

Belangrijkste punten

  • Eenheidspropagatie voert gedwongen waardetoekenningen uit.
  • Keuzes voor zuivere symbolen behouden de vervulbaarheid.
  • DPLL vertakt en gebruikt backtracking; CDCL leert ook van conflicten.
  • WalkSAT zoekt tussen volledige waardetoekenningen.
  • Als WalkSAT de tijdslimiet bereikt, blijft de vervulbaarheid onbeslist.
  • SAT toetst logisch gevolg door KB ∧ ¬α te controleren.
  • De drempel voor willekeurige 3-SAT beschrijft een verdeling, niet elke afzonderlijke probleeminstantie.
3

Geef kennis weer in eerste-ordelogica

Een regel over elk object zou niet voor elk object een apart symbool nodig moeten hebben. Eerste-ordelogica voegt objecten, relaties, functies en kwantoren toe, zodat een compacte uitspraak een heel domein kan beschrijven. De uitdrukkingskracht maakt modelleringskeuzes ook belangrijker: de volgorde van kwantoren, identiteit en aannamen over ontbrekende feiten kunnen de antwoorden veranderen. Bouw een kleine kennisbank om te zien hoe deze keuzes samenwerken.

3.1 Lees en beoordeel uitspraken in eerste-ordelogica

Eerste-ordelogica beschrijft objecten en hun relaties. In plaats van elk vak een niet-gerelateerd symbool te geven, kan ze een regel voor alle vakken uitdrukken: ∀s (Bries(s) ⇔ ∃r (GrenstAan(r, s) ∧ Put(r))). Kwantoren maken algemeenheid onderdeel van de taal.

Onderscheid objecten van beweringen

Een constante benoemt een object, zoals Ada. Een variabele, zoals x, loopt over objecten. Een functie beeldt objecten af op een object: MoederVan(Ada) is een term die naar iemand verwijst. Een predicaat vormt een bewering: Bezit(Ada, Atlas) is waar of onwaar. Een term kan een constante, variabele of op termen toegepaste functie zijn.

Boek(x) is een uitspraak, geen object, dus plaatst Bezit(Ada, Boek(x)) het verkeerde soort uitdrukking op een argumentpositie. Gelijkheid vergelijkt waarnaar termen verwijzen: MoederVan(Ada) = Clara zegt dat beide termen hetzelfde object aanduiden.

Beoordeel een uitspraak in een model

Een eerste-ordemodel levert een niet-leeg domein en een interpretatie. Constanten duiden objecten uit het domein aan, predicaten duiden relaties aan en functies geven uitkomsten voor elk geschikt tupel van objecten uit het domein. Een universeel gekwantificeerde uitspraak moet voor elke mogelijke waarde van de variabele gelden; een existentiële uitspraak heeft minstens één getuige nodig.

Laat het domein {a, b, k} zijn; Ada benoemt a, Ben benoemt b en Atlas benoemt k. Persoon bevat a en b, Boek bevat k en Bezit bevat alleen (a, k). Bezit(Ada, Atlas) is waar. ∃x (Boek(x) ∧ Bezit(Ben, x)) is onwaar omdat Ben geen object bezit. ∀x (Persoon(x) ⇒ ∃y (Boek(y) ∧ Bezit(x, y))) is onwaar omdat Ben een tegenvoorbeeld is. Toch heeft elk boek een eigenaar: ∀x (Boek(x) ⇒ ∃y Bezit(y, x)) geldt.

Maak modelleringsaannamen expliciet
AannameBetekenis
Unieke namenVerschillende constantenamen duiden verschillende objecten aan
Gesloten wereldEen atomair feit dat niet uit de bekende gevolgen blijkt, geldt als onwaar
DomeinafsluitingElk object is benoemd

Standaard eerste-ordelogica legt deze databaseaannamen niet op. Boek(Atlas), Boek(Beowulf), Bezit(Ada, Atlas) en Bezit(Ada, Beowulf) laten open of de twee namen hetzelfde boek aanduiden en of Ada meer boeken bezit. Volgens databasesemantiek beschrijven ze precies twee boeken die Ada bezit.

Om die precieze bewering onder standaardsemantiek te krijgen, behoud je de vier feiten en voeg je ¬(Atlas = Beowulf) en ∀x ((Boek(x) ∧ Bezit(Ada, x)) ⇒ (x = Atlas ∨ x = Beowulf)) toe. De ongelijkheid stelt twee verschillende boeken vast; de universele beperking sluit extra boeken in Ada's bezit uit.

Eerste-ordemodellen kunnen willekeurig grote domeinen hebben, dus biedt de eindige enumeratiemethode voor propositionele modellen hier geen algemene beslisprocedure. Bewijsmethoden werken in plaats daarvan met de structuur van de uitspraken. Een vrije variabele heeft voor beoordeling een waardetoekenning nodig; bind variabelen wanneer je een gesloten bewering voor de KB schrijft.

Belangrijkste punten

  • Termen verwijzen naar objecten; predicaten vormen beweringen.
  • Een model levert een domein en interpretaties van symbolen.
  • ∀ controleert elk object; ∃ heeft een getuige nodig.
  • Standaard eerste-ordelogica neemt geen unieke namen of een gesloten domein aan.
  • Exacte aantallen vereisen onderscheid en een voorwaarde voor de bovengrens.

3.2 Vertaal uitspraken naar eerste-ordelogica

Vertalen begint met bepalen wat de uitspraak over elk object beweert. Het bereik van kwantoren, de richting van implicaties en gelijkheid bepalen de betekenis; predicaatnamen alleen leggen die niet vast. Haakjes maken het bedoelde bereik zichtbaar.

Gebruik het juiste connectief bij een kwantor

“Elke kat is een zoogdier” wordt ∀x (Kat(x) ⇒ Zoogdier(x)). Voor een object buiten de categorie is de implicatie waar zonder dat het een kat is. Als je ∀x (Kat(x) ∧ Zoogdier(x)) schrijft, maak je ten onrechte alles tot een kat.

“Er is een zwarte kat” wordt ∃x (Kat(x) ∧ Zwart(x)). De getuige moet aan beide eigenschappen voldoen. Bij ∃x (Kat(x) ⇒ Zwart(x)) is alles wat geen kat is al een getuige, zelfs in een wereld zonder zwarte katten. Universele categorieregels gebruiken meestal implicatie; existentiële categoriebeweringen gebruiken meestal conjunctie.

Controleer wie van wie kan afhangen

∀x ∃y HoudtVan(x, y) laat voor elke x een andere geliefde persoon toe. ∃y ∀x HoudtVan(x, y) vereist één persoon van wie iedereen houdt. In een wereld met twee personen die elk alleen van de ander houden, geldt de eerste uitspraak en niet de tweede. Het verwisselen van kwantoren van verschillende soorten kan een bewering veranderen; het verwisselen van twee aangrenzende universele kwantoren of twee aangrenzende existentiële kwantoren behoudt die.

Negatie verwisselt kwantoren: ¬∀x P(x) ≡ ∃x ¬P(x), en ¬∃x P(x) ≡ ∀x ¬P(x). Daarom betekent “Niet elke student is geslaagd” hetzelfde als ∃x (Student(x) ∧ ¬Geslaagd(x)). Dat vereist een student die niet is geslaagd; het beweert niet dat elke student niet is geslaagd.

Druk richting en aantal uit

“Alleen leden lenen” betekent ∀x (Leent(x) ⇒ Lid(x)). Lenen is voldoende om lidmaatschap vast te stellen, terwijl lidmaatschap alleen niets zegt over lenen. “Geen reptiel is een zoogdier” betekent ∀x (Reptiel(x) ⇒ ¬Zoogdier(x)).

Om minstens twee boeken in bezit uit te drukken, schrijf je ∃x ∃y (Boek(x) ∧ Boek(y) ∧ Bezit(Ada, x) ∧ Bezit(Ada, y) ∧ ¬(x = y)). De ongelijkheid is van belang: twee variabelenamen kunnen naar hetzelfde object verwijzen. Precies één gebruikt een getuige plus uniciteit: ∃x (Boek(x) ∧ Bezit(Ada, x) ∧ ∀y ((Boek(y) ∧ Bezit(Ada, y)) ⇒ y = x)).

Geef definities beide richtingen

Een definitie van broer of zus kan zijn: ∀x ∀y (BroerOfZus(x, y) ⇔ (¬(x = y) ∧ ∃p (Ouder(p, x) ∧ Ouder(p, y)))). De voorwaartse richting legt beperkingen op aan wie broer of zus is; de omgekeerde maakt het mogelijk om uit feiten over een gedeelde ouder af te leiden dat mensen broer of zus zijn. Een eenzijdige implicatie levert slechts de helft van die betekenis.

In een agentdomein lopen diagnostische regels van waarnemingen naar mogelijke oorzaken, terwijl causale regels van oorzaken naar gevolgen lopen. “Elk vak met een bries heeft een aangrenzende put” is diagnostisch. “Elke put veroorzaakt een bries in elk aangrenzend vak” is causaal. Samen ondersteunen ze de volledige bries-bi-implicatie. Rond een vertaling af door de binding van elke variabele te controleren en een kleine wereld te toetsen waarin de uitspraak in natuurlijke taal onwaar zou moeten zijn.

Belangrijkste punten

  • Universele categorieregels gebruiken implicatie; existentiële getuigen gebruiken conjunctie.
  • De volgorde van kwantoren bepaalt of getuigen kunnen verschillen.
  • Negatie verwisselt ∀ en ∃.
  • Alleen keert een veelvoorkomende onjuiste implicatierichting om.
  • Tellen vereist gelijkheid of ongelijkheid.
  • Definities hebben vaak een bi-implicatie nodig.

3.3 Bouw een kennisbank voor een domein

Een bruikbare kennisbank bouwen is een modelleringstaak. Formele notatie helpt pas nadat de relevante vragen, objecten en relaties zijn gekozen. Kennistechnologie zet die keuzes om in axioma's die je aan de hand van bedoelde voorbeelden kunt controleren.

Bouw rond de vragen

Een praktische volgorde is de taak bepalen, relevante kennis verzamelen, een vocabulaire kiezen, algemene axioma's schrijven, feiten over een specifieke probleemsituatie toevoegen, zoekvragen stellen en fouten in de resultaten opsporen. Begin met concrete vragen zoals “Kan deze student zich voor deze cursus inschrijven?” Die vraag bepaalt wat de representatie moet ondersteunen.

Gebruik voor inschrijving Student(s), Cursus(c), Voorkennis(p, c), Behaald(s, c) en KanInschrijven(s, c). Voorkennis(p, c) betekent dat p vóór c moet zijn behaald; de argumenten omkeren zou de afhankelijkheid omkeren. Een regel is ∀s ∀c ((Student(s) ∧ Cursus(c) ∧ ∀p (Voorkennis(p, c) ⇒ Behaald(s, p))) ⇒ KanInschrijven(s, c)). Die vereist elke vereiste cursus, niet slechts één.

Scheid herbruikbare regels van een probleemsituatie

Stel dat de feiten Student(Mia), Cursus(AI), Voorkennis(Logica, AI), Voorkennis(Programmeren, AI), Behaald(Mia, Logica) en Behaald(Mia, Programmeren) zijn. De algemene regel kan voor andere studenten en cursussen worden hergebruikt, terwijl deze feiten één specifieke situatie beschrijven.

Volgens standaard eerste-ordelogica laten deze feiten extra vereiste cursussen voor AI open. Een passend model kan een niet-behaalde derde vereiste cursus bevatten, dus volgt KanInschrijven(Mia, AI) nog niet logisch. Voeg ∀p (Voorkennis(p, AI) ⇔ (p = Logica ∨ p = Programmeren)) toe om de lijst te voltooien. Nu is elke vereiste cursus een van de twee behaalde cursussen en is de inschrijvingsregel van toepassing. Een database met een gesloten wereld kan hetzelfde antwoord krijgen door ontbrekende feiten over vereiste cursussen als onwaar te behandelen.

Kies wat een object wordt

Een ontologie is het vocabulaire met zijn structurele aannamen. Rood(x) behandelt rood als een eigenschap. Kleur(x, Rood) maakt Rood tot een object, waardoor ∃c (Kleur(x, c) ∧ Kleur(y, c)) een gedeelde kleur kan uitdrukken. Deze stap is reïficatie: ze laat de taal spreken over een eigenschap of categorie als iets op zichzelf.

ASK kan vragen of KanInschrijven(Mia, AI) logisch volgt. ASKVARS kan bindingen voor KanInschrijven(x, AI) opvragen en een substitutie zoals {x/Mia} teruggeven. Dezelfde KB ondersteunt zowel waarheidsvragen als zoekvragen naar passende objecten.

Spoor fouten in betekenis op, niet alleen in syntaxis

Een ontbrekend axioma kan een gewenst logisch gevolg blokkeren; een onjuist axioma kan een ongewenst gevolg ondersteunen. Toets positieve voorbeelden, negatieve voorbeelden en grensgevallen. De regel ∀c (Cursus(c) ⇒ ∃t GeeftLes(t, c)) is te sterk als sommige cursussen nog geen docent hebben. De regel ∀p ∀c (Voorkennis(p, c) ⇒ Behaald(Mia, p)) is te sterk omdat die Mia elke vereiste cursus van elke cursus toekent als behaald.

Predicaatnamen zijn labels voor het redeneersysteem. Een relatie Voorkennis noemen levert op zichzelf geen inschrijvingsbeleid op. De regels moeten feiten over vereiste cursussen, behaalde cursussen en toelating in de bedoelde richting verbinden.

Belangrijkste punten

  • Kies de vragen voordat je het vocabulaire kiest.
  • Houd algemene axioma's gescheiden van feiten over een specifieke probleemsituatie.
  • Een universele eis kan onder openwereldsemantiek een voltooide lijst vereisen.
  • ASKVARS geeft vervullende substituties terug.
  • Reïficatie maakt een eigenschap of categorie beschikbaar als object.
  • Spoor zowel ontbrekende als te sterke axioma's op.
4

Leid conclusies af in eerste-ordelogica

Regels met variabelen worden pas bruikbaar wanneer het redeneersysteem ze met specifieke feiten in overeenstemming kan brengen. Substitutie en unificatie zorgen voor die overeenstemming, zodat voorwaarts en achterwaarts redeneren en resolutie rechtstreeks met eerste-ordeuitspraken kunnen werken. Volg hoe bindingen door een bewijs lopen, hoe existentiële getuigen hun afhankelijkheden behouden en hoe zoeksturing bepaalt of een implementatie een logisch gerechtvaardigd antwoord daadwerkelijk bereikt.

4.1 Breng uitspraken met elkaar in overeenstemming door substitutie en unificatie

Eerste-orde-inferentie werkt met patronen die variabelen bevatten. Substitutie vervangt variabelen door termen; unificatie vindt vervangingen die twee uitdrukkingen identiek maken. Samen laten ze één algemene regel voor veel specifieke feiten werken zonder eerst elke mogelijke instantie te genereren.

Instantieer gekwantificeerde uitspraken zorgvuldig

Universele instantiatie vervangt een universeel gebonden variabele door een willekeurige gesloten term. Leid uit ∀x (Kat(x) ⇒ Zoogdier(x)) de uitspraak Kat(Tom) ⇒ Zoogdier(Tom) af, of de overeenkomstige instantie met MoederVan(Tom). Een gesloten term bevat geen variabele.

Existentiële instantiatie introduceert een nieuwe naam voor een getuige. Introduceer uit ∃x (Kroon(x) ∧ OpHoofd(x, Jan)) een nieuwe constante C₁ en voeg Kroon(C₁) en OpHoofd(C₁, Jan) toe. In plaats daarvan Ben als getuige noemen zou een niet-gespecificeerd object ten onrechte gelijkstellen aan een bestaand object. De uitgebreide KB behoudt vervulbaarheid, geen equivalentie in het uitgebreide vocabulaire.

Propositionele omzetting genereert gesloten instanties en gebruikt daarna propositioneel redeneren. Functiesymbolen kunnen oneindig veel termen opleveren: Ada, MoederVan(Ada), MoederVan(MoederVan(Ada)), enzovoort. Eerste-ordezoekvragen die logisch volgen, hebben eindige bewijzen, maar een algemene bewijzer kan oneindig blijven draaien als de zoekvraag niet logisch volgt. Dit is semibeslisbaarheid.

Vind een consistente substitutie

Om Kent(Ana, x) met Kent(y, Bo) te unificeren, vergelijk je eerst het predicaat en de ariteit. De eerste argumenten vereisen y = Ana; de tweede vereisen x = Bo. De substitutie {y/Ana, x/Bo} maakt beide uitdrukkingen gelijk aan Kent(Ana, Bo).

Kent(Ana, x) en Kent(y, MoederVan(y)) geven daarentegen {y/Ana, x/MoederVan(Ana)}. Een binding moet in de andere termen worden doorgevoerd. Als dezelfde variabele x in beide uitdrukkingen Kent(Ana, x) en Kent(x, Bo) voorkomt, zou die zowel Ana als Bo moeten worden, zodat syntactische unificatie mislukt.

Variabelen in afzonderlijk gekwantificeerde uitspraken zijn onafhankelijk. Bij variabelen disjunct hernoemen hernoem je ze voordat je uitspraken combineert. Door in dat laatste paar de tweede x te hernoemen tot z wordt {z/Ana, x/Bo} mogelijk. Dit behoudt de bedoelde onafhankelijkheid van de lokale variabelen van twee regels.

Een meest algemene unificator legt geen onnodige bindingen op. Kent(Ana, x) en Kent(y, z) unificeren met {y/Ana, x/z}; ook z gelijkstellen aan Ana zou het resultaat zonder noodzaak specificeren. De voorkomenscontrole verwerpt x = MoederVan(x), omdat een eindige term zichzelf niet kan bevatten. Gewone unificatie in Prolog kan cyclische termen toestaan, dus is voorzichtigheid nodig wanneer eerste-ordelogica met eindige termen is bedoeld.

Pas de overeenkomende regel toe

Gegeneraliseerde modus ponens brengt elke premisse onder één consistente substitutie in overeenstemming. Bezit(Ada, Atlas) en Boek(Atlas) komen overeen met Bezit(x, y) ∧ Boek(y) ⇒ Lezer(x) met {x/Ada, y/Atlas}, wat Lezer(Ada) oplevert. Eén premisse met y = Atlas en een andere met y = Beowulf laten overeenkomen zou de toepassing van de regel niet rechtvaardigen: gedeelde variabelen dwingen gedeelde objecten af.

Belangrijkste punten

  • Substituties vervangen variabelen door termen.
  • Existentiële getuigen hebben nieuwe namen nodig.
  • Unificatie moet alle argumenten consistent met elkaar in overeenstemming brengen.
  • Hernoem onafhankelijke variabelen disjunct.
  • Een meest algemene unificator laat onnodige keuzes open.
  • De voorkomenscontrole sluit eindige termen uit die zichzelf bevatten.
  • Gegeneraliseerde modus ponens gebruikt één substitutie voor alle premissen.

4.2 Redeneer voorwaarts en achterwaarts met eerste-orderegels

Een eerste-ordedefiniete clausule heeft atomaire premissen en één atomaire conclusie, waarbij de variabelen als universeel gekwantificeerd worden opgevat. Voorwaarts en achterwaarts redeneren gebruiken unificatie om deze regels op benoemde objecten toe te passen. Datalog behoudt deze regelvorm en sluit functiesymbolen uit, wat in de gebruikelijke situatie met een eindige database een eindige ruimte van mogelijke gesloten feiten oplevert.

Leid bereikbare locaties af

Neem Verbinding(A, B), Verbinding(B, C) en Verbinding(C, D). Gebruik Verbinding(x, y) ⇒ Bereikbaar(x, y) en Verbinding(x, y) ∧ Bereikbaar(y, z) ⇒ Bereikbaar(x, z). In synchrone rondes leest elke regel de feiten die vóór die ronde beschikbaar waren.

Ronde 1 leidt Bereikbaar(A, B), Bereikbaar(B, C) en Bereikbaar(C, D) af. Ronde 2 voegt Bereikbaar(A, C) en Bereikbaar(B, D) toe. Ronde 3 voegt Bereikbaar(A, D) toe. Ronde 4 voegt niets toe. Er zijn zes Bereikbaar-feiten in het vaste punt. Een implementatie die nieuwe feiten direct hergebruikt, kan ze in een andere volgorde vinden, maar bereikt dezelfde afsluiting.

Met n constanten en predicaten met ariteit hoogstens k zijn slechts eindig veel tupels mogelijk; een bovengrens is p · nᵏ voor p predicaten. Daarentegen genereren NatGetal(0) en NatGetal(n) ⇒ NatGetal(S(n)) voortdurend diepere termen. Functiesymbolen nemen de garantie van een eindig domein weg.

Een regel met meerdere premissen met feiten in overeenstemming brengen is een constraintprobleem. Een selectieve premisse kan het aantal substituties dat daarna wordt bekeken sterk verminderen. Incrementeel voorwaarts redeneren richt zich op regels die door nieuw toegevoegde feiten worden beïnvloed. Rete-netwerken bewaren gedeeltelijke overeenkomsten tussen actualisaties, zodat productieregelsystemen werk niet hoeven te herhalen.

Werk achterwaarts met bindingen

Om Bereikbaar(A, D) te bewijzen, probeer je de regel voor directe verbindingen, die het ontbrekende Verbinding(A, D) vereist. De recursieve regel vereist in plaats daarvan Verbinding(A, y) en Bereikbaar(y, D). De eerste bindt y aan B. Als je verdergaat via B en C, bereik je het bekende Verbinding(C, D). De zoekvraag Bereikbaar(A, w) heeft drie antwoorden: w = B, C of D.

Prolog schrijft regels met de kop voorop en gebruikt hoofdletters voor variabelen en kleine letters voor constanten:

reach(X, Y) :- link(X, Y).
reach(X, Z) :- link(X, Y), reach(Y, Z).

Prolog probeert clausules van boven naar beneden en premissen van links naar rechts met diepte-eerst achterwaarts redeneren. Rekenkunde kan N is M + 1 gebruiken. Negatie als falen, geschreven als \+ p, slaagt als de poging om p te bewijzen na eindig veel stappen mislukt. Het is een operationele toets op mislukking, geen algemeen bewijs van klassieke negatie.

Voorkom dat recursie het zoeken vasthoudt

Als je reach(X, Y) voorop in de recursieve romp zet, kan direct hetzelfde onopgeloste doel opnieuw worden aangeroepen. Basisclausules voorop en recursie die een verbinding verwerkt helpen, maar cycli kunnen onsuccesvolle zoekprocedures nog steeds vasthouden. Antwoorden opslaan in tabellen legt antwoorden op subdoelen vast en beheert herhaalde afhankelijkheden. Voorwaarts redeneren is volledig voor eindige Datalog; naïef diepte-eerst achterwaarts zoeken heeft dit soort sturing nodig om bereikbare antwoorden achter oneindige takken niet te missen.

Belangrijkste punten

  • Voorwaarts en achterwaarts redeneren in eerste-ordelogica brengt regels met substituties in overeenstemming.
  • Datalog sluit functiesymbolen uit en heeft eindig veel gesloten feiten.
  • Voorwaarts redeneren bereikt een vast punt.
  • Prolog gebruikt geordend diepte-eerst achterwaarts redeneren.
  • Negatie als falen vereist een mislukking na eindig veel stappen.
  • Antwoorden opslaan in tabellen beheert herhaalde subdoelen en hun antwoorden.

4.3 Bewijs met resolutie dat eerste-ordezoekvragen uit de kennisbank volgen

Eerste-orderesolutie breidt redeneren met clausules uit met unificatie. Ze kan conclusies over niet-benoemde objecten bewijzen doordat Skolemtermen de afhankelijkheden van existentiële getuigen behouden. Begin, net als bij propositionele weerlegging, met de KB en de negatie van de zoekvraag.

Bereid eerste-ordeclausules voor

Elimineer ⇔ en ⇒, verplaats negaties naar binnen, hernoem gebonden variabelen, Skolemiseer existentiële variabelen, laat universele kwantoren weg en distribueer daarna ∨ over ∧. Het is van belang eerst de negatie te verplaatsen, omdat ¬∀x P(x) verandert in ∃x ¬P(x), waardoor een ander soort getuige nodig is.

Voor “Elke cursus heeft een docent”, ∀c (Cursus(c) ⇒ ∃t GeeftLes(t, c)), kan de existentiële getuige voor de docent afhangen van c. Introduceer een nieuwe functie T(c) om ¬Cursus(c) ∨ GeeftLes(T(c), c) te krijgen. Eén constante zou één gemeenschappelijke docent opleggen, wat de oorspronkelijke uitspraak niet vereist. Voor ∃t ∀c (Cursus(c) ⇒ GeeftLes(t, c)) is een nieuwe constante passend, omdat de getuige aan de universele kwantor voorafgaat.

“Niet elke vogel vliegt” wordt ∃x (Vogel(x) ∧ ¬Vliegt(x)), vervolgens Vogel(B₁) en ¬Vliegt(B₁). Beide clausules gebruiken dezelfde nieuwe getuige. Skolemisatie behoudt vervulbaarheid; het is geen gewone equivalentie over het uitgebreide vocabulaire.

Pas een unificator toe op de hele resolvent

Hernoem de variabelen van de twee clausules disjunct. Zoek complementaire literalen die unificeren, verwijder ze en pas hun meest algemene unificator toe op elke overgebleven literaal. Factorisatie voegt ook unificeerbare literalen binnen een clausule samen. Resolutie met factorisatie is weerleggingsvolledig voor eerste-ordeclausules.

Neem ¬Cursus(c) ∨ GeeftLes(T(c), c), ¬GeeftLes(u, v) ∨ Medewerker(u) en Cursus(Logica). De zoekvraag is ∃w Medewerker(w); de negatie ervan geeft ¬Medewerker(w), universeel gekwantificeerd. Pas resolutie toe op het cursusfeit en de eerste clausule om GeeftLes(T(Logica), Logica) te krijgen. Resolutie met de tweede clausule onder {u/T(Logica), v/Logica} geeft Medewerker(T(Logica)). Resolutie met ¬Medewerker(w) onder {w/T(Logica)} levert de lege clausule op. Er bestaat een medewerker, hoewel de KB die persoon nooit een gewone naam geeft.

Stuur het zoeken naar clausules

Voorkeur voor eenheidsclausules kiest eerst korte clausules. De ondersteuningsverzameling vereist een ouderclausule uit de ontkende zoekvraag of uit de afstammelingen daarvan en behoudt volledigheid wanneer de resterende KB vervulbaar is. Invoerresolutie vereist bij elke stap een oorspronkelijke ouderclausule en is volledig voor Horn-KB's. Subsumptie verwijdert een zwakkere clausule die al door een sterkere algemene clausule wordt gedekt, zoals P(Ana) ∨ Q(Bo) verwijderen wanneer P(x) bekend is.

Gelijkheid vereist een specifieke behandeling: gelijkheidsaxioma's, herschrijven met vergelijkingen door demodulatie of afleidingen zoals paramodulatie. Zuiver syntactische resolutie alleen omvat niet elke betekenis van gelijkheid. Een eerlijke volledige zoekprocedure vindt voor elke onvervulbare eerste-ordeclausuleverzameling een tegenspraak, maar kan anders oneindig doorgaan. Voorbeelden van bewijzers op basis van resolutie zijn Vampire en E; EQP bewees het vermoeden van Robbins in 1996.

Belangrijkste punten

  • Ontken de zoekvraag vóór de omzetting.
  • Verplaats negatie naar binnen voordat je Skolemgetuigen kiest.
  • Een Skolemfunctie legt afhankelijkheid van universele variabelen vast.
  • Pas de unificator toe op elke overgebleven literaal.
  • Resolutie met factorisatie is weerleggingsvolledig.
  • Gelijkheid en zoeksturing vereisen een expliciete behandeling.
5

Orden kennis in ontologieën en kennisgrafen

Grote verzamelingen feiten hebben een gemeenschappelijke structuur nodig. Categorieën en ontologieën ordenen welke soorten dingen bestaan en hoe ze samenhangen, terwijl kennisgrafen specifieke entiteiten en verbindingen vastleggen. Redeneren kan die verbindingen uitbreiden, zoekvragen kunnen passende objecten ophalen en statistische modellen kunnen aanvullingen voorstellen. Deze bewerkingen beantwoorden verschillende vragen, dus vereisen hun resultaten een verschillende interpretatie wanneer een graaf onvolledig is.

5.1 Structureer kennis met categorieën en ontologieën

Een ontologie ordent de categorieën, objecten, relaties en aannamen van een domein. Een bovenliggende ontologie levert algemene begrippen zoals objecten, gebeurtenissen en tijd; een domeinontologie levert de onderscheidingen die in een bepaald vakgebied nuttig zijn. Klinische en biologische ontologieën laten zien waarom een bruikbaar gemeenschappelijk vocabulaire vaak een specifieke gemeenschap dient.

Houd lidmaatschap en subklasse gescheiden

Een categorie kan voorkomen als predicaat, Laptop(x), of als object, Laptops. Lidmaatschap x ∈ Laptops zegt dat een individu ertoe behoort. Laptops ⊂ Computers zegt dat elke laptop een computer is. Een taxonomie ordent zulke subklasserelaties in een hiërarchie. Als elke computer een processor heeft, erven laptops die eigenschap.

De subklasserelatie is transitief: Pinguïns ⊂ Vogels en Vogels ⊂ Dieren geven Pinguïns ⊂ Dieren. Lidmaatschap is niet transitief. Pingu ∈ Pinguïns en Pinguïns ∈ Soorten maken Pingu niet tot een soort. De ene uitspraak gaat over een individuele vogel; de andere gaat over een categorie die als object wordt behandeld.

Categorieën zijn disjunct als ze geen leden delen. Een uitputtende decompositie omvat elk lid van de bovenliggende categorie. Een partitie doet beide: negatieve gehele getallen, nul en positieve gehele getallen vormen een partitie van de gehele getallen. Uitputtendheid laat overlap toe, tenzij ook disjunctheid is vermeld.

Geef onderdelen, gebeurtenissen en overgeërfde waarden weer

DeelVan beschrijft samenstelling, geen categorielidmaatschap. DeelVan is transitief: een spaak die bij een wiel hoort dat bij een fiets hoort, is onderdeel van de fiets. Een fiets is daarmee geen soort wiel. Gebeurtenissen kunnen ook objecten zijn: Gebeurt(e, t), Initieert(e, f, t) en GeldtOp(f, t) verbinden gebeurtenissen met veranderlijke toestandsuitspraken. Een lamp inschakelen initieert een veranderlijke toestandsuitspraak die blijft gelden totdat een gebeurtenis die beëindigt.

Een semantisch netwerk tekent objecten en categorieën als knopen met gelabelde relaties. In een netwerk met standaardveronderstellingen kan “vogels vliegen normaal gesproken” een waarde leveren die gewone vogels erven, terwijl een specifiekere pinguïncategorie die waarde vervangt. Dit verschilt van het vastleggen van het uitzonderingsloze klassieke axioma ∀x (Vogel(x) ⇒ Vliegt(x)), dat ook voor pinguïns zou gelden.

Kies de redeneertaal
AanpakBelangrijkste krachtBelangrijke beperking
Semantisch netwerkLeesbare relatie- en overervingspadenEen eenvoudig netwerk mist willekeurige negatie en disjunctie uit eerste-ordelogica
BeschrijvingslogicaCategoriedefinities en beslisbaar redenerenDe uitdrukkingskracht is bewust beperkt
Redeneren met standaardveronderstellingenTypische regels met uitzonderingenConclusies kunnen worden ingetrokken

Beschrijvingslogica's ondersteunen subsumptie, classificatie en consistentiecontroles. Een definitie kan een persoon met minstens drie kinderen in een passende categorie indelen. Deze logica's vormen de basis van de beschrijvingslogicatalen van OWL.

Redeneren met standaardveronderstellingen is niet-monotoon: als je leert dat een vogel een pinguïn is, kan de standaardconclusie dat die vliegt worden ingetrokken. Circumscriptie minimaliseert afwijkende gevallen in regels zoals Vogel(x) ∧ ¬Afwijkend(x) ⇒ Vliegt(x). Standaardlogica staat conclusies toe zolang ze consistent blijven met de kennis. Waarheidsonderhoudssystemen leggen onderbouwing vast, zodat conclusies die afhangen van een ingetrokken overtuiging kunnen worden verwijderd.

Belangrijkste punten

  • Een ontologie geeft een formeel vocabulaire en aannamen.
  • Lidmaatschap verschilt van de subklasserelatie; alleen de subklasserelatie is transitief in de categoriehiërarchie.
  • Een partitie is zowel disjunct als uitputtend.
  • DeelVan en de subklasserelatie beschrijven verschillende relaties.
  • Beschrijvingslogica's wegen uitdrukkingskracht af tegen beslisbaar redeneren.
  • Standaardconclusies kunnen worden ingetrokken wanneer uitzonderingen verschijnen.

5.2 Leg uit hoe kennisgrafen feiten opslaan en gebruiken

Een kennisgraaf slaat entiteiten en hun relaties op als een gerichte graaf. Een eenvoudige verbinding wordt een tripel: subject, predicaat, object. Bijvoorbeeld (Ada, werktBij, Lab) komt overeen met WerktBij(Ada, Lab); (Ada, type, Onderzoeker) geeft categorielidmaatschap aan. Een schema geeft deze labels een gemeenschappelijke betekenis en maakt verdere inferentie mogelijk.

Onderscheid de webstandaarden

RDF geeft grafen weer als tripels. Subjecten zijn IRI's of anonieme knopen, predicaten zijn IRI's en objecten kunnen ook letterlijke waarden zijn. IRI's identificeren bronnen over datasets heen; een anonieme knoop vertegenwoordigt een bron zonder die een globale identificator te geven. RDFS voegt klassen, subklasserelaties en het domein en bereik van eigenschappen toe. OWL biedt uitgebreidere ontologiedefinities. SPARQL vergelijkt graafpatronen om variabelenbindingen terug te geven. Eigenschapsgrafen bieden een ander model met sleutel-waarde-eigenschappen op knopen en verbindingen; Cypher en GQL zijn zoektalen voor die familie.

Als Ada als Onderzoeker is getypeerd en Onderzoeker een subklasse van Wetenschapper is, leidt een subklasseregel af dat Ada een Wetenschapper is. Dit is eerste-ordevoorwaarts redeneren met Lid(x, c) ∧ Deelverzameling(c, d) ⇒ Lid(x, d). Een zoekmachine voor grafen heeft de relevante ondersteuning voor logisch gevolg of opgeslagen afgeleide conclusies nodig om dit afgeleide feit zichtbaar te maken.

Vergelijk een zoekvraag en behoud details

Als ex: als IRI-voorvoegsel is gedeclareerd, kan een zoekvraag zijn:

SELECT ?p WHERE {
  ?p a ex:Researcher .
  ?p ex:worksAt ex:Lab .
}

Dezelfde ?p moet aan beide patronen voldoen. Het is een koppeling, geen twee afzonderlijke zoekopdrachten. Resultaten zijn bindingen zoals ?p = ex:Ada, net als substituties in logische zoekvragen.

Een binaire verbinding kan niet op zichzelf elke rol in een gebeurtenis met een datum uitdrukken. Maak voor een prijs een gebeurtenis- of uitspraaksknoop en verbind die met de ontvanger, prijs en het jaar. Dit houdt de details van één prijs bij elkaar en voorkomt dat je de datum per ongeluk aan elke prijs van dat type koppelt. Wikidata ondersteunt uitspraakkwalificaties voor zulke details.

Onderscheid ontbrekende, afgeleide en voorspelde verbindingen

RDF en OWL gebruiken een openwereldinterpretatie: een ontbrekende verbinding naar een echtgenoot laat de relatie onbekend. Toepassingen met een gesloten wereld maken een andere keuze over ontbrekende feiten. Een leeg zoekresultaat meldt dat er onder die zoekinstellingen geen overeenkomst is; het stelt op zichzelf geen universeel negatief feit vast.

Wikidata, DBpedia, Google's Knowledge Graph en interne organisatiegrafen ondersteunen feitelijke zoekvragen, gegevenskoppeling, aanbevelingen en het ophalen van informatie voor generatieve systemen. Hun feiten kunnen onvolledig of verouderd zijn. Entiteitsresolutie herkent gegevens die naar hetzelfde verwijzen, ook wanneer identificatoren verschillen.

Vectorinbeddingen kennen vectoren toe aan entiteiten en relaties. In TransE wordt de beginvector plus de relatievector zo getraind dat die dicht bij de eindvector ligt. Een hoge score suggereert een ontbrekende verbinding; het is een statistische voorspelling. Logische inferentie leidt een gevolg af uit vastgelegde feiten en regels. Houd dit verschil zichtbaar wanneer je beslist of een nieuwe verbinding bij geverifieerde feiten hoort.

Belangrijkste punten

  • Een tripel legt een gerichte subject-predicaat-objectrelatie vast.
  • RDF, RDFS, OWL en SPARQL hebben verschillende rollen.
  • Gedeelde zoekvariabelen koppelen patronen.
  • Gebeurtenisknopen houden feiten met meerdere onderdelen bij elkaar.
  • Een ontbrekende verbinding is onbekend onder openwereldsemantiek.
  • Voorspelde verbindingen vereisen controle; ze zijn geen logische gevolgen.
  • Entiteitsresolutie verbindt verschillende identificatoren voor hetzelfde.
6

Formuleer klassieke planningsproblemen en los ze op

Een planningsprobleem verbindt logische beschrijvingen met actie. Geef de huidige toestand weer, de voorwaarden die elke actie nodig heeft en de feiten die ze verandert; zoek vervolgens naar een reeks die het doel bereikt. De actiestructuur ondersteunt achterwaarts redeneren en nuttige heuristieken, maar deeldoelen kunnen elkaar hinderen. Een vergelijking van zoeken door toestanden, SAT-coderingen en taakverfijning laat zien hoe planners met die moeilijkheid omgaan en waar klassieke aannamen uitbreiding nodig hebben.

6.1 Beschrijf een planningsprobleem in PDDL

Klassieke planning zoekt acties die een bekende begintoestand naar een doel leiden. Het model is volledig waarneembaar, deterministisch en discreet en bevat één agent; de wereld verandert door de gemodelleerde acties. Een gefactoriseerde representatie beschrijft elke toestand met veranderlijke toestandsuitspraken, zodat een planner kan redeneren over wat elke actie verandert.

Schrijf de toestand en actieschema's op

In het basisfragment van PDDL in STRIPS-stijl vermeldt een toestand ware gesloten atomaire veranderlijke toestandsuitspraken. Niet-vermelde veranderlijke toestandsuitspraken zijn volgens de geslotenwereldaanname onwaar. Het herbruikbare domein declareert predicaten en actieschema's; het probleem declareert objecten, de begintoestand en een doel. PDDL werd voor de planningswedstrijd van 1998 geïntroduceerd en bouwde voort op STRIPS.

Een actieschema heeft parameters, een voorwaarde vooraf en effecten. Ga(r, van, naar) vereist Op(r, van) en Verbonden(van, naar); het voegt Op(r, naar) toe en verwijdert Op(r, van). Pak(r, p, l) vereist Op(r, l), In(p, l) en HandLeeg(r); het voegt Vast(r, p) toe en verwijdert In(p, l) en HandLeeg(r). ZetNeer vereist de locatie en het vasthouden; het voegt de locatie van het pakket en een lege hand toe en verwijdert het vasthouden.

Een gesloten actie is alleen toepasbaar wanneer haar voorwaarden vooraf gelden. De actualisatie is RESULT(s, a) = (s − DEL(a)) ∪ ADD(a). Andere veranderlijke toestandsuitspraken blijven gelden, waaronder statische Verbonden-feiten. Dit impliciete behoud behandelt het frameprobleem zonder een apart axioma voor elke onveranderde toestandsuitspraak.

Volg een bezorging in vier acties

Aanvankelijk is R op het Laadperron, staat Doos bij Stelling en is de hand van R leeg. Verbonden-verbindingen verbinden Laadperron met Stelling en Stelling met Inpakplek in beide richtingen. Het doel is In(Doos, Inpakplek).

  1. Ga(R, Laadperron, Stelling) verandert de locatie van R en behoudt de feiten over de doos en de hand.
  2. Pak(R, Doos, Stelling) verwijdert de doos van de stelling en zorgt dat R die vasthoudt.
  3. Ga(R, Stelling, Inpakplek) verplaatst R en behoudt Vast(R, Doos).
  4. ZetNeer(R, Doos, Inpakplek) plaatst de doos bij Inpakplek en maakt de hand vrij.

Het doel laat de eindlocatie van de robot ongespecificeerd, behalve waar de acties die vereisen. Doelen beschrijven doorgaans veel aanvaardbare toestanden, niet één volledige toestand.

Lees en controleer een schema
(:action pick
 :parameters (?r ?p ?l)
 :precondition (and (at ?r ?l) (in ?p ?l) (hand-empty ?r))
 :effect (and (holding ?r ?p)
              (not (in ?p ?l)) (not (hand-empty ?r))))

Een verwijderingseffect weglaten kan een robot op twee plaatsen achterlaten of een pakket zowel vastgehouden als op een stelling. Een vereiste voorwaarde alleen in een effect opnemen zorgt dat de actie die voorwaarde creëert in plaats van controleert.

In de blokkenwereld vereist het verplaatsen van een vrij blok b van x naar een vrij blok y de uitspraken Op(b, x), Vrij(b), Vrij(y), Blok(b), Blok(y) en ¬(b = y). De actie voegt Op(b, y) en Vrij(x) toe en verwijdert Op(b, x) en Vrij(y). De controles op onderscheid en blokken voorkomen dat een blok op zichzelf wordt gestapeld en dat de tafel als één blok wordt behandeld. Een afzonderlijke actie VerplaatsNaarTafel houdt de tafel beschikbaar voor andere blokken.

Belangrijkste punten

  • Toestanden bevatten ware gesloten veranderlijke toestandsuitspraken; ontbrekende zijn onwaar.
  • Vóór uitvoering van een actie moet aan de voorwaarden vooraf zijn voldaan.
  • Verwijderingseffecten verwijderen feiten en toevoegingseffecten voegen feiten toe.
  • Niet-vermelde feiten blijven gelden.
  • Een domein is herbruikbaar; een probleem levert objecten, beginfeiten en doelen.
  • Controles in het model voorkomen onmogelijke gesloten acties.

6.2 Zoek naar plannen met domeinonafhankelijke heuristieken

Een planningsmodel definieert een zoekruimte, maar nuttige acties kiezen blijft moeilijk. Voorwaarts plannen zoekt voorwaarts door volledige toestanden. Regressie zoekt achterwaarts door de voorwaarden waaraan een voorafgaande toestand moet voldoen. Beide kunnen algemene zoekmethoden hergebruiken en tegelijk de actiestructuur benutten.

Zoek vanaf beide kanten

Voorwaarts plannen begint bij de begintoestand en past toepasbare gesloten acties toe. Het kan moeite verspillen aan irrelevante acties: één robot, 20 dozen en 10 locaties geven al 200 mogelijke gesloten Pak-combinaties voordat op toepasbaarheid wordt gefilterd.

Regressie beschouwt een actie die een doelliteraal bereikt zonder een andere doelliteraal te ontkennen. Pas regressie toe op een doelverzameling g door a door bereikte literalen te verwijderen en voorwaarden vooraf toe te voegen: g′ = (g − EFFECT(a)) ∪ PRECOND(a). EFFECT bevat positieve en negatieve literalen met hun teken. Verwerp een inconsistent resultaat dat een literaal en de negatie ervan bevat.

Voor In(Doos, Inpakplek) ∧ Op(R, Laadperron) geeft regressie door ZetNeer(R, Doos, Inpakplek) de uitspraak Vast(R, Doos) ∧ Op(R, Inpakplek) ∧ Op(R, Laadperron). Deze voorwaarden zijn in strijd met de bedoelde invariant dat de robot zich op één locatie bevindt. Een geldig plan moet de doos bezorgen voordat de robot definitief terugkeert. Regressie door Ga(R, Stelling, Laadperron) geeft daarentegen In(Doos, Inpakplek) ∧ Op(R, Stelling) ∧ Verbonden(Stelling, Laadperron), waarbij het bezorgde pakket behouden blijft.

Schat de afstand met eenvoudigere problemen

Een heuristiek is toelaatbaar wanneer ze de resterende optimale kosten nooit overschat. A* met een toelaatbare heuristiek vindt een optimaal plan. Onvervulde doelen tellen is niet altijd toelaatbaar: één actie kan meerdere doelen bereiken.

Voorwaarden vooraf negeren maakt alle acties direct bruikbaar. Verwijderingseffecten negeren maakt vooruitgang blijvend, voor problemen die met positieve voorwaarden vooraf en doelen zijn uitgedrukt. Negatieve voorwaarden moeten eerst worden omgezet in expliciet bijgehouden positieve veranderlijke toestandsuitspraken. De optimale gerelaxeerde planlengte h⁺ is een ondergrens voor de werkelijke planlengte, maar de berekening ervan is NP-moeilijk. FF vindt snel een gerelaxeerd plan zonder de optimaliteit ervan te garanderen; de lengte kan h⁺ overschatten en is niet gegarandeerd toelaatbaar.

Voor het doel van magazijnbezorging plus terugkeer heeft het werkelijke kortste plan zes acties: ga naar Stelling, pak de doos, ga naar Inpakplek, zet de doos neer, keer terug naar Stelling en keer terug naar Laadperron. De relaxatie zonder verwijderingseffecten heeft alleen de eerste vier nodig, omdat Op(R, Laadperron) waar blijft na vertrek. Dus h⁺ = 4 terwijl de werkelijke kosten 6 zijn. Het aantal onvervulde doelen begint bij slechts 1 en mist het grootste deel van dat werk.

Combineer schattingen zonder dubbel te tellen

Een planningsgraaf wisselt niveaus met mogelijke veranderlijke toestandsuitspraken en acties af, met verbindingen voor wederzijdse uitsluiting die onverenigbare paren markeren. Het eerste verschijnen van een doel geeft een niveauschatting. Het maximum van afzonderlijke doelniveaus nemen is toelaatbaar; ze optellen kan gedeeld werk herhaaldelijk meetellen. Toestandsabstractie verwijdert sommige veranderlijke toestandsuitspraken om de toestandsruimte te verkleinen. Ook bij deeldoeldecompositie helpt het om gedeelde acties te controleren: het maximum van toelaatbare deeldoelkosten is veilig, terwijl hun som extra onderbouwing vereist.

Belangrijkste punten

  • Voorwaarts plannen doorzoekt volledige toestanden; regressie doorzoekt doelvoorwaarden.
  • Regressie vereist dat een doel wordt bereikt zonder conflicterende doeleffecten.
  • Relaxaties verwijderen beperkingen om resterend werk te schatten.
  • De optimale kosten h⁺ zonder verwijderingseffecten zijn toelaatbaar maar moeilijk te berekenen.
  • De gerelaxeerde planlengte van FF is niet gegarandeerd toelaatbaar.
  • Deeldoelkosten optellen kan gedeeld werk dubbel tellen.

6.3 Vergelijk planningsbenaderingen en hun beperkingen

Planningsmethoden verschillen in wat ze doorzoeken: toestanden, waardetoekenningen, ordeningsconstraints of verfijningen van procedures van experts. Hun bruikbaarheid hangt af van interactie tussen deeldoelen en de aannamen die het model over de uitvoering maakt.

Herken samenwerkende en conflicterende deeldoelen

In de Sussman-anomalie ligt C op A, terwijl A en B op de tafel staan. Het doel is Op(A, B) ∧ Op(B, C). Eerst het deeldoel A-op-B voltooien blokkeert de latere plaatsing van B. B direct op C plaatsen laat A ingesloten achter. Een kortste plan maakt eerst A vrij en bouwt daarna de stapel van onderaf op: verplaats C naar de tafel, verplaats B op C en verplaats daarna A op B. De drie verplaatsingen verweven voorbereiding en het bereiken van doelen.

Codeer een begrensd plan als SAT

SATPlan kiest een horizon T. Het stelt veranderlijke toestandsuitspraken aan het begin op tijdstip 0, doeluitspraken op T, voorwaarden vooraf voor acties, opvolgertoestandsconstraints en uitsluitingen voor onverenigbare acties. Een vervullende waardetoekenning selecteert acties die een plan vormen. Een onvervulbaar resultaat sluit plannen binnen die codering en horizon uit.

Horizonten op volgorde proberen vindt de kleinste vervulbare horizon. Bij parallelle acties minimaliseert dit het aantal lagen, niet noodzakelijk het totale aantal acties. Er is een stopgrens nodig om uit herhaaldelijk onvervulbare horizonten te kunnen concluderen dat er geen plan bestaat.

Houd alleen de noodzakelijke volgorde aan

Planning met partiële ordening legt acties, ordeningsconstraints en causale koppelingen vast. Een koppeling A -p→ B zegt dat A voorwaarde vooraf p voor B tot stand brengt. Een actie C die p daartussen zou kunnen verwijderen, is een bedreiging. Demotie plaatst C vóór A; promotie plaatst C na B. Niet-gerelateerde acties kunnen tot de uitvoering ongeordend blijven, volgens het principe om zo weinig mogelijk vast te leggen.

HTN-planning verfijnt taken op hoog niveau via een verzameling methoden. BezorgDoos kan worden: reis naar de doos, pak die op, reis naar de bestemming en zet die neer. Deze methoden coderen procedures van experts, zodat het zoeken zich kan richten op nuttige verfijningen in plaats van op elk punt elke primitieve actie te beschouwen.

MethodeBelangrijkste zoekobject
Planning in de toestandsruimteToestanden en toepasbare acties
SATPlanTijdgeïndexeerde vervullende waardetoekenningen
Planning met partiële ordeningActies, causale koppelingen en ordeningsconstraints
HTN-planningTaakdecomposities met gegeven methoden
Stem het model af op de wereld

Het bestaan van een plan voor algemeen propositioneel STRIPS is PSPACE-volledig. De blokkenwereld heeft voor mogelijke rangschikkingen een eenvoudiger bestaansprobleem: verplaats de blokken naar de tafel en bouw opnieuw op, met hoogstens 2n verplaatsingen voor n blokken. Een kortste plan voor de blokkenwereld vinden is nog steeds NP-moeilijk.

Klassieke modellen laten onzekere uitkomsten, verborgen toestand en de duur van acties buiten beschouwing. Sensorloze plannen werken zonder waarnemingen, conditionele plannen vertakken op basis van waarnemingen, online herplanning reageert op verschillen tijdens de uitvoering en tijdsplanning behandelt tijden en middelen. Een ontbrekende voorwaarde vooraf voor de batterij kan een plan dat in het model geldig is in de werkelijkheid laten mislukken. Bewaking van de uitvoering controleert deze kloof. Automatische planning heeft echte systemen bereikt, waaronder NASA's Remote Agent op Deep Space 1 in 1999.

Belangrijkste punten

  • Interactie tussen deeldoelen kan vereisen dat acties worden verweven.
  • SATPlan toetst één horizon tegelijk.
  • Een minimale parallelle horizon hoeft het aantal acties niet te minimaliseren.
  • Bedreigingen van causale koppelingen worden opgelost door promotie of demotie.
  • HTN-methoden coderen taakverfijningen van experts.
  • Het bestaan van een plan voor algemeen STRIPS is PSPACE-volledig.
  • Bewaking van de uitvoering controleert of de wereld het model volgt.

Logische agenten en planning: voorbeelden

6 Walkthroughs

1

Van een waarneming naar een gerechtvaardigde zet

12 stappen
Bouw de kennis van een agent op, codeer zijn regels en controleer wat elk passend model ondersteunt.
  1. 1
    IntroductieRedeneer voordat je een vak betreedt

    Een agent in een grot kan iets over een vak leren zonder het te betreden. Zijn waarnemingen beperken de mogelijke indelingen en zijn achtergrondregels verbinden die waarnemingen met gevaren.

    Volg één redenering van een vastgelegde waarneming naar een propositionele uitspraak en vervolgens naar een logisch gevolg. De belangrijke vraag is of elke passende indeling de voorgestelde conclusie ondersteunt.

  2. 2
    UitlegLeg vast, redeneer en handel

    De kennisbank slaat formele uitspraken op. TELL voegt informatie toe; ASK vraagt om een antwoord dat al is opgeslagen of met inferentie is afgeleid.

    Bij een tijdstap legt de agent zijn waarneming vast, vraagt hij wat hij moet doen, legt hij zijn gekozen actie vast en voert hij die uit. Die vastgelegde actie helpt latere redeneringen om te onderscheiden wat vóór de verplaatsing waar was en wat erna waar zou moeten zijn.

  3. 3
    VoorbeeldGebruik de afwezigheid van een bries

    De agent begint in [1, 1] en neemt geen Bries waar. De briesregel zegt dat er in een vak precies dan een bries is als een direct aangrenzend vak een put bevat.

    De enige aangrenzende vakken van het startvak zijn [1, 2] en [2, 1]. Als een van beide een put had, zou er in het startvak een bries zijn. De waarneming sluit daarom een put in beide aangrenzende vakken uit, zonder dat de agent ze hoeft te bezoeken.

  4. 4
    UitdagingIs geen put voldoende?

    De agent heeft een put in [1, 2] uitgesloten, maar heeft geen informatie over stank. Kan hij het vak al volledig veilig noemen?

    ---reveal---

    Nee. Voor volledige veiligheid moet ook de wumpus worden uitgesloten. Een bewijs over putten geeft op zichzelf geen informatie over de wumpus. Geen Stank in [1, 1] zou samen met de stankregel de ontbrekende uitsluiting voor de aangrenzende vakken opleveren.

  5. 5
    UitlegGeef de regel beide richtingen

    Schrijf B₁₁ ⇔ (P₁₂ ∨ P₂₁). Hier betekent B₁₁ een bries in het startvak en geeft elke P een vak met een put aan. De bi-implicatie zegt zowel dat een bries een put in een aangrenzend vak vereist als dat een put in een aangrenzend vak een bries veroorzaakt.

    De omgekeerde richting maakt geen bries bruikbaar om putten uit te sluiten. Een eenzijdige regel van waarneming naar oorzaak zou die afleiding verliezen.

  6. 6
    VoorbeeldBeoordeel een implicatie

    Stel bij B₁₁ ⇒ (P₁₂ ∨ P₂₁) dat B₁₁ onwaar is en beide putsymbolen waar zijn. De implicatie is waar omdat de voorwaarde onwaar is.

    Die waardetoekenning laat zien waarom deze eenzijdige regel putten zonder bries toelaat. Door de omgekeerde implicatie toe te voegen, sluit je die waardetoekenning uit. Logische waarheid volgt uit de tabel van het connectief, zelfs als een uitspraak een onvolledig model van de werkelijkheid is.

  7. 7
    UitdagingKies de actualisatie voor de volgende tijdstap

    Een agent heeft één pijl en niets levert een andere. Welke voorwaarde voor de volgende stap beschrijft precies wanneer de agent de pijl houdt?

    ---reveal---

    HeeftPijlᵗ⁺¹ ⇔ (HeeftPijlᵗ ∧ ¬Schietᵗ). De agent houdt de pijl als hij die had en schieten die niet verwijdert. Als hij zonder pijl begint, blijft die afwezig. Dit opvolgertoestandsaxioma omvat zowel behoud als verandering.

  8. 8
    UitlegHoud alleen passende werelden over

    Logisch gevolg betekent dat een zoekvraag waar is in elk model dat aan de KB voldoet. Om dit rechtstreeks te toetsen, som je waardetoekenningen op, verwerp je de waardetoekenningen die de KB schenden en bekijk je de zoekvraag in elk overgebleven model.

    Eén overgebleven model waarin de zoekvraag onwaar is, is een tegenmodel. Als zowel modellen met een ware als modellen met een onware zoekvraag overblijven, is de zoekvraag op basis van deze KB onbekend.

  9. 9
    VoorbeeldBekijk drie indelingen

    Geen Bries in het startvak sluit P₁₂ en P₂₁ uit. Een Bries in [2, 1] vereist samen met de afwezigheid van een put in het startvak de uitspraak P₂₂ ∨ P₃₁.

    Er zijn drie passende keuzes voor die laatste twee putsymbolen: waar/onwaar, onwaar/waar en waar/waar. Dus is ¬P₁₂ overal waar, maar verschilt P₂₂. De eerste bewering volgt logisch uit de KB en de tweede blijft onbekend.

  10. 10
    UitdagingVind het tegenmodel

    Volgt A uit KB = {A ∨ B}? Geef een passende waardetoekenning die de vraag beslist.

    ---reveal---

    Nee. A onwaar en B waar voldoet aan de KB terwijl A onwaar is, dus is dit een tegenmodel. De omgekeerde waardetoekenning voldoet ook aan de KB. A is daarom onbekend, niet uitgesloten: uit de KB volgt noch A, noch ¬A.

  11. 11
    VerbandMaak van de zoekvraag over de zet een SAT-probleem

    Om een voorgestelde veiligheidsconclusie α te toetsen, vraag je of KB ∧ ¬α vervulbaar is. Een model beschrijft een passende wereld waarin de conclusie niet geldt; onvervulbaarheid stelt het logische gevolg vast.

    Dit verbindt de beslissing van de agent met een formeel resultaat van een oplosser. Een ontbrekend veiligheidsbewijs laat een risico onbeslist; het maakt van het niet-bezochte vak geen bewezen gevaar.

  12. 12
    SamenvattingHoud de drie uitkomsten uit elkaar

    TELL legt de waarnemingen vast en de codering bepaalt wat ze betekenen. Inferentie onderscheidt vervolgens een ondersteunde conclusie, een ondersteunde negatie en een onbekende bewering.

    Controleer voordat je handelt of de gecodeerde regel de richtingen bevat die voor de afleiding nodig zijn en of de conclusie elk relevant gevaar uitsluit. Een tegenmodel wijst precies aan waarom een voorgestelde conclusie niet volgt.

2

Bewijs een zoekvraag en interpreteer resultaten van oplossers

16 stappen
Doorloop bewijsregels, resolutie, voorwaarts en achterwaarts redeneren en SAT-zoeken zonder hun garanties te verwarren.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieEén zoekvraag, meerdere methoden
  2. 2
    VoorbeeldHaal een premisse uit een conjunctie
  3. 3
    UitdagingControleer een verleidelijke omkering
  4. 4
    UitlegBereid de clausulevorm voor
  5. 5
    VoorbeeldOntken de zoekvraag over vrijgave
  6. 6
    VoorbeeldVoltooi de weerlegging
  7. 7
    UitdagingKunnen twee paren verdwijnen?
  8. 8
    UitlegBenut één regelkop
  9. 9
    VoorbeeldVolg de relevante redenering
  10. 10
    UitdagingHandel een cyclus zorgvuldig af
  11. 11
    UitlegPropageer gedwongen waardetoekenningen
  12. 12
    VoorbeeldOnderzoek beide takken
  13. 13
    KernpuntLeren en herstellen
  14. 14
    UitdagingInterpreteer een tijdslimiet bij lokaal zoeken
  15. 15
    UitdagingVerbind regels met een resultaat van een oplosser
  16. 16
    SamenvattingWeet wat elk resultaat oplevert
3

Laat een gekwantificeerde regel zeggen wat je bedoelt

12 stappen
Kies termen, bereik en domeinaxioma's en spoor vervolgens fouten op in een kleine kennisbank.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieVan afzonderlijke feiten naar algemene regels
  2. 2
    UitlegBepaal de rol van elk symbool
  3. 3
    VoorbeeldBeoordeel een kleine wereld
  4. 4
    UitdagingBetekenen twee namen twee boeken?
  5. 5
    UitlegCombineer de kwantor met het connectief
  6. 6
    VoorbeeldVerplaats de gemeenschappelijke getuige
  7. 7
    UitdagingOntken de universele uitspraak correct
  8. 8
    UitlegBegin bij de bedoelde zoekvraag
  9. 9
    VoorbeeldVoltooi de relatie voor vereiste cursussen
  10. 10
    UitdagingVind het ontbrekende beleid
  11. 11
    UitdagingCombineer bereik en volledigheid
  12. 12
    SamenvattingControleer de betekenis in een klein model
4

Volg bindingen door een eerste-ordebewijs

15 stappen
Unificeer regelpatronen, voer recursieve zoekvragen uit en behoud existentiële afhankelijkheden bij resolutie.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieLaat de regel zijn objecten vinden
  2. 2
    VoorbeeldBreng de eerste premisse in overeenstemming
  3. 3
    KernpuntLaat onnodige keuzes open
  4. 4
    UitdagingControleer alle argumentconstraints
  5. 5
    TipGebruik een nieuwe existentiële getuige
  6. 6
    VoorbeeldBouw paden in rondes op
  7. 7
    UitlegLees de zoekvraag als een zoekopdracht
  8. 8
    UitdagingToets een zichzelf herhalende aanroep
  9. 9
    VerbandWeet waar eindigheid vandaan komt
  10. 10
    UitlegBehoud de afhankelijkheid van een getuige
  11. 11
    VoorbeeldVoeg de ontkende zoekvraag over medewerkers toe
  12. 12
    VoorbeeldPas de binding toe op het resultaat
  13. 13
    UitdagingNegatie verandert de getuige
  14. 14
    UitdagingOnderscheid bewijs van stoppen
  15. 15
    SamenvattingBehoud één betekenis in elke stap
5

Volg een feit door een ontologie en graaf

11 stappen
Onderscheid lidmaatschap, overerving, overeenkomsten met zoekvragen, standaardconclusies en voorspellingen.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieVerschillende soorten beweringen in een graaf
  2. 2
    UitlegOnderscheid categorie en individu
  3. 3
    VoorbeeldVoeg een uitzondering toe zonder tegenspraak
  4. 4
    UitdagingControleer of een indeling een partitie is
  5. 5
    VerbandKies een redeneersysteem voor categorieën
  6. 6
    VoorbeeldZet de relatie om in tripels
  7. 7
    VoorbeeldKoppel twee patronen
  8. 8
    UitdagingInterpreteer een ontbrekende relatie
  9. 9
    KernpuntHoud de status van een voorspelling zichtbaar
  10. 10
    UitdagingAchterhaal de onderbouwing van een nieuw type
  11. 11
    SamenvattingVraag wat de verbinding rechtvaardigt
6

Bouw en controleer een bezorgplan en zoek ernaar

16 stappen
Actualiseer toestanden, pas regressie toe op doelen, vergelijk gerelaxeerde kosten en handel op elkaar inwerkende acties af.

Sla deze les op om elke Walkthrough stap voor stap te volgen.

  1. 1
    IntroductieMaak actiegevolgen expliciet
  2. 2
    UitlegLees de begintoestand
  3. 3
    VoorbeeldGa naar de doos en pak die op
  4. 4
    VoorbeeldVerplaats de doos en zet die neer
  5. 5
    UitdagingVind het ontbrekende verwijderingseffect
  6. 6
    UitlegZoek door toestanden of voorwaarden
  7. 7
    VoorbeeldWerk achterwaarts vanuit de bezorging
  8. 8
    UitdagingVoeg het terugkeerdoel toe
  9. 9
    VoorbeeldVerwijder verwijderingseffecten voor een schatting
  10. 10
    UitdagingKan doelen tellen overschatten?
  11. 11
    VoorbeeldVerweef doelen in de blokkenwereld
  12. 12
    UitlegCodeer een tijdshorizon
  13. 13
    UitdagingBescherm een bezorgvoorwaarde
  14. 14
    VerbandGebruik methoden en bewaak de uitvoering
  15. 15
    UitdagingKies een uitbreiding voor waarneming
  16. 16
    SamenvattingControleer het plan tegen de doelstelling

Logische agenten en planning: oefenvragen

50 Oefenvragen in 5 sets

Set 1: Van waarnemingen naar gerechtvaardigde conclusies10 Oefenvragen

Vraag 1 van 10

Een robot heeft zojuist waargenomen dat een doorgang geblokkeerd is. Welke KB-bewerking legt deze waarneming vast?
  1. ASK
  2. Resolutie
  3. TELL
  4. Unificatie
Toon antwoordVerberg antwoord
Antwoord: C
TELL voegt de uitspraak toe die de geblokkeerde doorgang weergeeft. ASK vraagt om een antwoord uit al opgeslagen of afgeleide informatie en voert dus niet de stap uit die de waarneming vastlegt. Resolutie en unificatie zijn inferentiebewerkingen, niet de interfacebewerking die een waarneming toevoegt.

Vraag 2 van 10

Wat is de waarheidswaarde van P ⇒ Q wanneer P en Q beide onwaar zijn?
  1. Waar
  2. Onwaar
  3. Onbekend
  4. Inconsistent
Toon antwoordVerberg antwoord
Antwoord: A
Een implicatie is alleen onwaar bij een ware voorwaarde en een onware conclusie. Hier is de voorwaarde onwaar, dus is de implicatie waar. Een onware voorwaarde voldoende vinden om de hele implicatie onwaar te maken verwart de implicatie met een conjunctie die beide delen vereist.

Vraag 3 van 10

Een KB bevat U ∨ V en ¬V. Wat volgt daaruit over U?
  1. U is onwaar.
  2. U blijft onbekend.
  3. De KB heeft geen model.
  4. U is waar.
Toon antwoordVerberg antwoord
Antwoord: D
¬V verwijdert elke waardetoekenning waarin V waar is. Om in de overgebleven waardetoekenningen aan U ∨ V te voldoen, moet U waar zijn. De disjunctie laat U niet onbekend nadat één mogelijkheid is uitgesloten; de waardetoekenning met zowel U als V onwaar zou de KB schenden.

Vraag 4 van 10

Welke conclusie mag je met modus ponens afleiden uit Getest en Getest ⇒ Goedgekeurd?
  1. ¬Goedgekeurd
  2. Goedgekeurd
  3. Goedgekeurd ⇒ Getest
  4. ¬Getest
Toon antwoordVerberg antwoord
Antwoord: B
De regel is van toepassing omdat zowel de voorwaarde Getest als de implicatie aanwezig is. De regel leidt Goedgekeurd af zonder een omgekeerde regel toe te voegen. Goedgekeurd ⇒ Getest is de omkering van de gegeven implicatie en modus ponens stelt die omkering niet vast.

Vraag 5 van 10

Een sensorregel is Alarm ⇔ (Hitte ∨ Rook). De KB legt ¬Alarm vast. Wat volgt over Hitte en Rook?
  1. Beide zijn onwaar.
  2. Rook is onbekend.
  3. Hitte is onbekend.
  4. Slechts één is onwaar.
Toon antwoordVerberg antwoord
Antwoord: A
De bi-implicatie omvat (Hitte ∨ Rook) ⇒ Alarm. Met ¬Alarm sluit de contrapositie Hitte ∨ Rook uit, zodat De Morgan ¬Hitte ∧ ¬Rook oplevert. Slechts één oorzaak uitsluiten zou toelaten dat de andere een alarm veroorzaakt, in strijd met dezelfde regel.

Vraag 6 van 10

Welke CNF geeft (M ∨ N) ⇒ R weer?
  1. (¬M ∨ ¬N ∨ R)
  2. (M ∨ R) ∧ (N ∨ R)
  3. (¬M ∨ R) ∧ (¬N ∨ R)
  4. (¬R ∨ M) ∧ (¬R ∨ N)
Toon antwoordVerberg antwoord
Antwoord: C
Elimineer de implicatie om ¬(M ∨ N) ∨ R te krijgen, verplaats daarna de negatie naar binnen en distribueer. Dit geeft (¬M ∨ R) ∧ (¬N ∨ R). De enkele clausule ¬M ∨ ¬N ∨ R codeert daarentegen (M ∧ N) ⇒ R en vereist beide aanleidingen.

Vraag 7 van 10

De feiten zijn Invoer en Geldig. De regels zijn Invoer ⇒ Ontleed, Ontleed ∧ Geldig ⇒ Opgeslagen en Opgeslagen ⇒ Vastgelegd. Welke nieuwe feiten zijn aanwezig in het vaste punt van voorwaarts redeneren?
  1. Alleen Ontleed en Opgeslagen
  2. Ontleed, Opgeslagen en Vastgelegd
  3. Alleen Opgeslagen en Vastgelegd
  4. Alleen Ontleed en Vastgelegd
Toon antwoordVerberg antwoord
Antwoord: B
Invoer maakt eerst Ontleed mogelijk, dat samen met Geldig Opgeslagen mogelijk maakt; Opgeslagen maakt daarna Vastgelegd mogelijk. Alle drie de nieuwe feiten behoren tot het vaste punt. Stoppen na Ontleed en Opgeslagen beëindigt het zoeken te vroeg, omdat een nieuw toepasbare regel nog Vastgelegd toevoegt.

Vraag 8 van 10

Wat leidt eenheidspropagatie bij X = waar af uit ¬X ∨ Y en ¬Y ∨ Z?
  1. Y = onwaar en Z = waar
  2. Y = waar en Z = onwaar
  3. Y = onwaar en Z = onwaar
  4. Y = waar en Z = waar
Toon antwoordVerberg antwoord
Antwoord: D
Omdat ¬X onwaar is, dwingt de eerste clausule Y waar te zijn. Daardoor wordt ¬Y onwaar, zodat de tweede clausule Z waar dwingt te zijn. Y onwaar maken om het negatieve voorkomen te vervullen ziet de eerste clausule over het hoofd, waarin Y de enige overgebleven mogelijkheid is om de clausule waar te maken.

Vraag 9 van 10

Een KB bevat (¬L ∨ M), (¬M ∨ N) en L. Een volledige SAT-oplosser krijgt de vraag of N uit de KB volgt. Wat moet de weerleggingstoets teruggeven?
  1. Vervulbaar voor KB ∧ ¬N
  2. Onvervulbaar voor KB ∧ N
  3. Onvervulbaar voor KB ∧ ¬N
  4. Vervulbaar voor KB ∧ ¬L
Toon antwoordVerberg antwoord
Antwoord: C
L dwingt M af via de eerste clausule en M dwingt N af via de tweede. Toevoegen van ¬N veroorzaakt daarom een tegenspraak, zodat de weerleggingsformule onvervulbaar is. De toets KB ∧ N kan een model vinden, maar overeenstemming met N in één model zou geen logisch gevolg vaststellen.

Vraag 10 van 10

Een KB bevat J ∨ K, J ⇒ H, K ⇒ H en H ⇒ T. Wat gebeurt er wanneer resolutie toetst of T volgt?
  1. T ontkennen leidt tot de lege clausule.
  2. T ontkennen laat één model met J waar over.
  3. T ontkennen laat één model met K waar over.
  4. T ontkennen laat zowel J als K onbekend.
Toon antwoordVerberg antwoord
Antwoord: A
Voeg ¬T toe om ¬H af te leiden. Resolutie van ¬H met de twee regels geeft ¬J en ¬K, die J ∨ K tegenspreken en de lege clausule opleveren. Eenvoudig voorwaarts redeneren kan aanvankelijk vastlopen bij de disjunctie, maar dat verhindert resolutie niet om de mogelijkheden te combineren.
Set 2: Kwantoren, bindingen en eerste-ordebewijzen10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Wat voor soort uitdrukking is Notitieboek in Bezit(Lea, Notitieboek)?
  1. Een unair predicaat
  2. Een constante term
  3. Een gebonden variabele
  4. Een atomaire uitspraak
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Hoe druk je “Alleen gecertificeerde werknemers bedienen de machine” uit?
  1. ∀x (Gecertificeerd(x) ⇒ Bedient(x))
  2. ∃x (Gecertificeerd(x) ∧ Bedient(x))
  3. ∀x (Gecertificeerd(x) ∧ Bedient(x))
  4. ∀x (Bedient(x) ⇒ Gecertificeerd(x))
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een domein bevat alleen Ivo en Noor. Elk helpt de ander en geen van beiden helpt zichzelf. Wat zijn respectievelijk de waarheidswaarden van ∀x ∃y Helpt(x, y) en ∃y ∀x Helpt(x, y)?
  1. Waar, onwaar
  2. Waar, waar
  3. Onwaar, waar
  4. Onwaar, onwaar
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Een regel staat inschrijving toe nadat elke vereiste cursus is behaald. De KB vermeldt twee vereiste cursussen voor Robotica en zegt dat Ken beide heeft behaald. Waarom kan inschrijving volgens standaard eerste-ordelogica toch onbewezen zijn?
  1. De twee cursusnamen moeten naar hetzelfde verwijzen.
  2. Universele regels gelden alleen voor genoemde studenten.
  3. Er kan een extra vereiste cursus bestaan.
  4. Feiten kunnen niet in gekwantificeerde regels voorkomen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Waarom verwerpt unificatie met eindige termen x met OuderVan(x)?
  1. De termen hebben verschillende waarheidswaarden.
  2. De vervanging bevat x zelf.
  3. Een variabele kan niet met een functieterm overeenkomen.
  4. Functienamen moeten overeenkomen met constantenamen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Wat is een meest algemene unificator van Leest(Nia, x) en Leest(y, Gids)?
  1. {y/Nia, x/Gids}
  2. {y/Gids, x/Nia}
  3. {y/Nia, x/Nia}
  4. {y/Gids, x/Gids}
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een netwerk heeft Verbinding(U, V), Verbinding(V, W), Verbinding(W, X) en Verbinding(X, Y). De regels zijn Verbinding(a, b) ⇒ Pad(a, b) en Verbinding(a, b) ∧ Pad(b, c) ⇒ Pad(a, c). Hoeveel verschillende Pad-feiten zitten in de afsluiting?
  1. 6
  2. 9
  3. 16
  4. 10
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Hoe moet ∀p (Project(p) ⇒ ∃r Beoordeelt(r, p)) worden geskolemiseerd?
  1. ¬Project(p) ∨ Beoordeelt(K, p)
  2. Project(p) ∧ Beoordeelt(F(p), p)
  3. ¬Project(p) ∨ Beoordeelt(F(p), p)
  4. ¬Project(p) ∨ Beoordeelt(p, p)
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

De KB bevat ∀x (Apparaat(x) ⇒ ∃y (Onderdeel(y, x) ∧ Metaal(y))), ∀a ∀b (Onderdeel(a, b) ⇒ Component(a)) en Apparaat(D7). Wat volgt over metalen componenten?
  1. Er bestaat minstens één metalen component.
  2. Elke component is van metaal.
  3. D7 moet zelf een metalen component zijn.
  4. Eén component behoort tot elk apparaat.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

De feiten zijn Toegewezen(Elin, Taak1), Toegewezen(Omar, Taak2), Vereist(Taak1, SetA) en Vereist(Taak2, SetB). Regel: Toegewezen(p, t) ∧ Vereist(t, k) ⇒ Gebruikt(p, k). Welk Gebruikt-feit volgt voor Elin?
  1. Gebruikt(Elin, SetB)
  2. Gebruikt(Omar, SetA)
  3. Gebruikt(Elin, Taak1)
  4. Gebruikt(Elin, SetA)
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 3: Feiten ordenen en toestanden veranderen10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Wat maakt een decompositie van een categorie tot een partitie?
  1. Ze is disjunct maar kan leden weglaten.
  2. Ze is uitputtend maar kan overlappen.
  3. Ze is transitief en niet-leeg.
  4. Ze is disjunct en uitputtend.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een RDF-graaf heeft geen relatie over de fabrikant van een apparaat. Wat is volgens openwereldsemantiek de status van de bewering over de fabrikant?
  1. Onwaar in elk model
  2. Onbekend op basis van de graaf
  3. Waar voor een niet-benoemde fabrikant
  4. Inconsistent met de graaf
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een actie heeft de voorwaarde vooraf Opgeladen(R). Wat moet waar zijn wanneer de actie wordt toegepast?
  1. Opgeladen(R) geldt vóór de actie.
  2. Opgeladen(R) wordt door de actie toegevoegd.
  3. Opgeladen(R) wordt door de actie verwijderd.
  4. Opgeladen(R) geldt alleen na de actie.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

De KB zegt Scout ∈ Verkenningsrobots, Verkenningsrobots ⊂ Robots en Verkenningsrobots ∈ Productfamilies. Wat volgt over Scout?
  1. Scout ∈ Productfamilies
  2. Scout ⊂ Robots
  3. Scout ∈ Robots
  4. Scout ⊂ Productfamilies
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een graaf bevat (Uma, type, Ingenieur), (Uma, werktBij, Oostlab), (Vik, type, Ingenieur) en (Vik, werktBij, Westlab). Welke binding komt overeen met zowel (?p, type, Ingenieur) als (?p, werktBij, Westlab)?
  1. ?p = Uma
  2. ?p = Ingenieur
  3. ?p = Westlab
  4. ?p = Vik
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Toestand s bevat Op(Bot, Poort), Op(Krat, Opslag) en Opgeladen(Bot). Een verplaatsing verwijdert Op(Bot, Poort) en voegt Op(Bot, Opslag) toe. Welke toestand ontstaat?
  1. Op(Bot, Poort), Op(Bot, Opslag), Op(Krat, Opslag), Opgeladen(Bot)
  2. Op(Bot, Opslag), Op(Krat, Opslag), Opgeladen(Bot)
  3. Op(Bot, Opslag), Op(Krat, Opslag), ¬Opgeladen(Bot)
  4. Op(Bot, Poort), Op(Krat, Opslag), Opgeladen(Bot)
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Het doel is Ingepakt ∧ Geëtiketteerd. De actie Verzegel vereist Gevuld en voegt Ingepakt toe zonder andere effecten. Wat is de regressie van het doel door Verzegel?
  1. Ingepakt ∧ Gevuld
  2. Alleen Gevuld
  3. Gevuld ∧ Geëtiketteerd
  4. Ingepakt ∧ Geëtiketteerd ∧ Gevuld
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een causale koppeling loopt van Laad naar Bezorg via Geladen. Los zou Geladen daartussen kunnen verwijderen. Welke ordening beschermt de koppeling door promotie?
  1. Bezorg vóór Los
  2. Los vóór Laad
  3. Laad vóór Los vóór Bezorg
  4. Los tegelijk met Bezorg
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Aanvankelijk geldt P en gelden Q, R en S niet. A heeft voorwaarde vooraf P, voegt Q toe en verwijdert P. B heeft voorwaarde vooraf Q en voegt R toe. C heeft voorwaarde vooraf P ∧ R en voegt S toe. Geen actie herstelt P. Wat zijn de werkelijke mogelijkheden en de mogelijkheden zonder verwijderingseffecten voor S?
  1. Werkelijk: bereikbaar in 3; gerelaxeerd: bereikbaar in 3.
  2. Werkelijk: onbereikbaar; gerelaxeerd: bereikbaar in 3 acties.
  3. Werkelijk: onbereikbaar; gerelaxeerd: onbereikbaar.
  4. Werkelijk: bereikbaar in 2; gerelaxeerd: bereikbaar in 2.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een graaf zegt Type(Sol, Analist), Subklasse(Analist, Specialist) en Subklasse(Specialist, Medewerker). De regels dragen typen over via subklasseverbindingen. Een vectorinbedding voorspelt ook Leidt(Sol, Team). Wat kan strikte inferentie vaststellen?
  1. Type(Sol, Medewerker) samen met Leidt(Sol, Team)
  2. Type(Sol, Specialist), maar niet Type(Sol, Medewerker)
  3. Leidt(Sol, Team), zonder Type(Sol, Medewerker)
  4. Type(Sol, Medewerker), zonder Leidt(Sol, Team) vast te stellen
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 4: Subtiele redeneerfouten herkennen10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Een volledige SAT-oplosser geeft een vervullende waardetoekenning terug. Wat stelt dat vast over de ingevoerde formule?
  1. De formule is vervulbaar.
  2. De formule is algemeengeldig.
  3. De formule is onvervulbaar.
  4. Elke waardetoekenning vervult de formule.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een agent in een grot bewijst dat een vak geen put heeft, maar heeft geen informatie over de wumpus daar. Wat kan hij concluderen over het veilig betreden van het vak?
  1. Het vak is volledig veilig.
  2. Volledige veiligheid blijft onbeslist.
  3. Het vak bevat de wumpus.
  4. De KB is inconsistent.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een logboek bevat Mislukt ⇒ Waarschuwing en Waarschuwing. Waarom wordt Mislukt niet door deze uitspraken vastgesteld?
  1. Mislukt moet onwaar zijn wanneer Waarschuwing geldt.
  2. Een implicatie vereist dat beide kanten waar zijn.
  3. De twee uitspraken kunnen niet samen waar zijn.
  4. Waarschuwing kan gelden terwijl Mislukt onwaar is.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

Welke clausules geven ¬∀x (Sensor(x) ⇒ Werkt(x)) na Skolemisatie weer?
  1. ¬Sensor(K) en Werkt(K), met nieuwe K
  2. ¬Sensor(x) ∨ Werkt(x), universeel
  3. Sensor(K) en ¬Werkt(K), met nieuwe K
  4. Sensor(F(x)) ∨ ¬Werkt(F(x)), universeel
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Een systeem met standaardveronderstellingen concludeert Vliegt(Rio) uit Vogel(Rio). Later activeert Pinguïn(Rio) een specifiekere uitzondering waarbij Rio niet vliegt. Wat moet er met de standaardconclusie gebeuren?
  1. Trek de conclusie dat Rio vliegt in.
  2. Behoud beide tegenstrijdige conclusies.
  3. Verwijder Vogel(Rio) om vliegen te behouden.
  4. Verwerp het latere feit Pinguïn(Rio).
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Een formule bevat U ∨ V, ¬U ∨ W, ¬V ∨ W, ¬W ∨ X en ¬X. Wat stelt volledig zoeken met DPLL vast?
  1. Vervulbaar met U onwaar
  2. Vervulbaar met U waar
  3. Onvervulbaar
  4. Vervulbaar met V = W
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een niet-leeg domein heeft twee objecten a en b. R bevat precies (a, a) en (b, b). Wat zijn de waarheidswaarden van respectievelijk ∀x ∃y R(x, y), ∃y ∀x R(x, y) en ∃x ∃y (R(x, y) ∧ ¬(x = y))?
  1. Waar, waar, onwaar
  2. Waar, onwaar, onwaar
  3. Onwaar, onwaar, waar
  4. Waar, onwaar, waar
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Twee onafhankelijk gekwantificeerde clausules bevatten P(x, F(x)) en ¬P(G(y), z) ∨ Q(z). Welke resolvent volgt na disjunct hernoemen door de P-literalen met elkaar in overeenstemming te brengen?
  1. Q(F(G(y)))
  2. Q(G(F(y)))
  3. Q(F(F(y)))
  4. Q(G(G(y)))
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Doel: A ∧ ¬B. De actie Voltooi heeft voorwaarde vooraf C, voegt A toe en verwijdert B. Welke voorwaarde voor de voorafgaande toestand levert regressie op?
  1. C ∧ ¬B
  2. C ∧ A
  3. C ∧ A ∧ ¬B
  4. C
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Twee onafhankelijke doelfeiten kunnen elk door één actie worden bereikt en de acties hinderen elkaar niet. Een SAT-codering laat beide acties in dezelfde tijdslaag toe. Welke doelstelling wordt door de eerste vervulbare horizon geminimaliseerd?
  1. Het totale aantal acties
  2. De som van de actieduren
  3. Het aantal parallelle lagen
  4. Het aantal veranderlijke toestandsuitspraken in het doel
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Set 5: Representatie, inferentie en planning combineren10 Oefenvragen

Sla deze les op om elk antwoord te zien en elke set te oefenen.

Vraag 1 van 10

Welke planningsbenadering verfijnt taken op hoog niveau met een gegeven verzameling methoden?
  1. Propositionele modelcontrole
  2. HTN-planning
  3. Toestandszoeken zonder verwijderingseffecten
  4. Onbeperkt zoeken met resolutie
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 2 van 10

Een KB in standaard eerste-ordelogica bevat Gereedschap(Boor), Gereedschap(Schroevendraaier) en Gebruikt(Boor). Ze bevat geen ongelijkheid. Wat is het minimumaantal gereedschapsobjecten dat ermee verenigbaar is?
  1. 0
  2. 2
  3. 3
  4. 1
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 3 van 10

Een machine kan meerdere reparaties hebben met verschillende technici en datums. Hoe kunnen gewone binaire tripels elke reparatie onderscheiden en de machine, technicus en datum ervan bij elkaar houden?
  1. Maak een reparatieknoop die is verbonden met de machine, technicus en datum.
  2. Sla de technici en datums van elke machine op als onafhankelijke verbindingen.
  3. Sla de machines en datums van elke technicus op als onafhankelijke verbindingen.
  4. Vervang de reparaties door ongedateerde machine-technicusverbindingen.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 4 van 10

De KB heeft alleen S ∨ T, S ⇒ U en T ⇒ U. Wat gebeurt er bij eenvoudig voorwaarts redeneren met definiete clausules voor de zoekvraag U?
  1. Het leidt S en daarna U af.
  2. Het leidt T en daarna U af.
  3. Het loopt vast hoewel U logisch volgt.
  4. Het bewijst ¬U in het vaste punt.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 5 van 10

Voor toelating moet Jo elke Vereist(p, Bouw) hebben behaald. De feiten geven Vereist(Logica, Bouw), Vereist(Code, Bouw), Behaald(Jo, Logica), Behaald(Jo, Code) en ¬(Logica = Code). Welke extra relatieconstraint maakt de toelatingsvoorwaarde bewijsbaar in standaard eerste-ordelogica?
  1. ∀p ((p = Logica ∨ p = Code) ⇒ Vereist(p, Bouw))
  2. ∀p (Vereist(p, Bouw) ⇒ Behaald(Jo, Logica))
  3. ∃p (Vereist(p, Bouw) ∧ Behaald(Jo, p))
  4. ∀p (Vereist(p, Bouw) ⇒ (p = Logica ∨ p = Code))
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 6 van 10

Bekijk Prolog-clausules in deze volgorde: path(X, Z) :- path(X, Y), edge(Y, Z). en daarna path(X, Z) :- edge(X, Z). Feit: edge(m, n). Wat gebeurt er bij gewoon diepte-eerst zoeken naar path(m, n) zonder antwoorden in tabellen op te slaan?
  1. Het zoeken raakt in een lus vóór het bewijs met de directe verbinding.
  2. Het zoeken geeft direct het bewijs met de directe verbinding terug.
  3. Het zoeken mislukt na eindig veel stappen doordat de recursieve regel faalt.
  4. Het zoeken geeft elk pad terug voordat recursie wordt geprobeerd.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 7 van 10

Een KB bevat A ⇔ (B ∨ C), ¬B en C ⇒ D. Volgt A ⇒ D daaruit en waarom?
  1. Nee; ¬B verbreekt de bi-implicatie.
  2. Nee; C kan onwaar zijn als A onwaar is.
  3. Ja; A met ¬B dwingt C af en daarna D.
  4. Ja; D geldt in elk model van de KB.
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 8 van 10

Een robot begint op Noord met een lege hand; een pakket ligt op Zuid. De enige verbinding loopt in beide richtingen tussen Noord en Zuid. Ga verandert de locatie, Pak vereist dezelfde locatie en een lege hand en ZetNeer vereist dezelfde locatie en vasthouden. Wat is het kortste plan dat het pakket naar Noord brengt en met een lege hand eindigt?
  1. Ga naar het zuiden, Pak, ZetNeer, Ga naar het noorden
  2. Ga naar het zuiden, Pak, Ga naar het noorden, ZetNeer
  3. Pak, Ga naar het zuiden, Ga naar het noorden, ZetNeer
  4. Ga naar het zuiden, Ga naar het noorden, Pak, ZetNeer
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 9 van 10

Een taak heeft doel F ∧ G. Eén actie brengt beide zonder voorwaarden vooraf en met eenheidskosten tot stand. Twee andere acties brengen afzonderlijk F en G tot stand met eenheidskosten. Wat zijn aanvankelijk de optimale kosten, het aantal onvervulde doelen en de som van de afzonderlijke doelkosten, wanneer geen van beide doelen geldt?
  1. 1, 2, 2
  2. 2, 2, 2
  3. 1, 1, 1
  4. 2, 1, 2
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Vraag 10 van 10

Een plan met partiële ordening heeft MaakGereed -Gereed→ Gebruik en Gebruik ≺ Reinig. Reset verwijdert Gereed. Welke nieuwe ordening lost de bedreiging door Reset veilig op zonder een cyclus te maken?
  1. MaakGereed ≺ Reset ≺ Gebruik
  2. MaakGereed ≺ Reset ≺ Reinig
  3. Reset ≺ Gebruik ≺ MaakGereed
  4. Gebruik ≺ Reset
Toon antwoordVerberg antwoord

Sla deze les op om dit antwoord te zien.

Kom je niet uit je eigen opgave? Huiswerkhulp

Kernbegrippen

102 Kernbegrippen, elk met een definitie

A

Aanname van unieke namen
De aanname van unieke namen vereist dat verschillende constantesymbolen verschillende objecten aanduiden, anders dan onbeperkte standaard eerste-ordesemantiek.
Atlas en Beowulf tellen onder de aanname van unieke namen als verschillende boeken zonder een extra ongelijkheidsfeit.
Achterwaarts redeneren
Achterwaarts redeneren werkt vanuit een zoekvraag door regels te vinden die haar kunnen vaststellen en de vereiste premissen recursief te bewijzen.
Om Vrijgegeven vast te stellen, zoekt het redeneersysteem een regel met Vrijgegeven als kop en controleert het de romp.
Actieschema
Een actieschema beschrijft een geparametriseerde actie aan de hand van de voorwaarden die vooraf nodig zijn en de effecten die daarna ontstaan.
Als je het Pak-schema gesloten maakt, kies je een specifieke robot, een specifiek pakket en een specifieke locatie om de toepasbaarheid te controleren.
Algemeengeldigheid
Algemeengeldigheid is de eigenschap dat een uitspraak in elk model waar is, onafhankelijk van een bepaalde kennisbank of waarneming.
P ∨ ¬P is algemeengeldig omdat elke waardetoekenning een van de twee disjuncten waar maakt.
Antwoorden opslaan in tabellen
Antwoorden opslaan in tabellen bewaart antwoorden op herhaalde subdoelen en beheert hun afhankelijkheden, zodat recursieve zoekprocedures nieuwe resultaten kunnen hergebruiken.
Een bereikbaarheidszoekvraag met opgeslagen antwoorden kan een cyclus afhandelen zonder oneindig door dezelfde aanroepen af te dalen.
ASK
ASK is de bewerking die een door een kennisbank ondersteund antwoord opvraagt, of dat nu al is opgeslagen of door inferentie is verkregen.
De agent vraagt met ASK of een aangrenzend vak veilig is voordat hij zijn volgende verplaatsing kiest.
Axioma
Een axioma is een uitspraak die als beginkennis wordt gegeven, zodat een inferentieprocedure de uitspraak kan gebruiken zonder die eerst af te leiden.
Voor een agent die een grot verkent, is de regel die nabijgelegen putten met een bries verbindt een axioma in zijn kennisbank.

B

Bedreiging
Een bedreiging is een actie die de voorwaarde van een causale koppeling zou kunnen ontkennen terwijl ze tussen de actie die de voorwaarde tot stand brengt en de actie die haar gebruikt is geordend.
De bedreigende actie vóór de actie die de voorwaarde tot stand brengt of na de actie die haar gebruikt plaatsen, beschermt de vereiste voorwaarde.
Bereik van een kwantor
Het bereik van een kwantor is de uitdrukking waarop de kwantor betrekking heeft en bepaalt welke voorkomens van variabelen hij bindt en hoe getuigen van andere kunnen afhangen.
In ∀x ∃y Helpt(y, x) kan de helper y verschillen met het object dat voor x is gekozen.
Beschrijvingslogica
Een beschrijvingslogica definieert categorieën in een beperkte formele taal die is ontworpen om beslisbare classificatie en verwant redeneren te ondersteunen.
Een ontologieredeneersysteem kan controleren of een gedefinieerde categorie noodzakelijkerwijs in een andere is opgenomen.
Bi-implicatie
Een bi-implicatie is een uitspraak P ⇔ Q die vereist dat P en Q dezelfde waarheidswaarde hebben en daarmee beide implicaties stelt.
Een bi-implicatie die een bries aan nabijgelegen putten verbindt, laat een agent van een nabijgelegen put naar een bries en van een bries naar putten redeneren.

C

Causale koppeling
Een causale koppeling legt vast dat één actie een voorwaarde vooraf tot stand brengt die een andere nodig heeft en beschermt dat feit tussen de acties.
Een koppeling van Pak naar ZetNeer voor Vast(R, Doos) wordt bedreigd door een tussenliggende actie die het vasthouden verwijdert.
CDCL
CDCL is een SAT-benadering die clausules leert uit conflicten en die samen met terugspringen en efficiënte propagatie gebruikt om het zoeken te sturen.
Een geleerde clausule sluit een conflicterende combinatie uit zodat latere takken die niet herhalen.
Clausule
Een clausule is een disjunctie van literalen; één literaal is een eenheidsclausule en de lege clausule staat voor onwaarheid.
De clausule ¬A ∨ B wordt een eenheidsvereiste voor B wanneer A de waarde waar heeft gekregen.
Conditioneel plan
Een conditioneel plan vertakt op basis van waarnemingen, zodat verschillende acties mogelijk zijn afhankelijk van wat een agent tijdens de uitvoering leert.
Een inspectie kan leiden tot afzonderlijke actietakken voor een open doorgang en voor een geblokkeerde doorgang.
Conjunctieve normaalvorm
Conjunctieve normaalvorm is een conjunctie van clausules, waardoor een formule geschikt is voor inferentie met clausules en SAT-oplossing.
De formule (A ∨ B) ∧ (¬A ∨ C) is CNF omdat elke conjunct een disjunctie van literalen is.
Correctheid
Correctheid betekent dat een inferentieprocedure alleen conclusies afleidt die volgens de bedoelde semantiek uit haar premissen volgen.
Een correcte bewijsregel verandert binnen hetzelfde model nooit ware premissen in een onware conclusie.

D

Datalog
Datalog gebruikt definiete clausules zonder functiesymbolen, zodat een eindige verzameling constanten slechts eindig veel mogelijke gesloten feiten toelaat.
Bereikbaarheidsregels over een eindige lijst benoemde locaties bereiken uiteindelijk een vast punt bij voorwaarts redeneren.
Definiete clausule
Een definiete clausule heeft precies één positieve literaal en kan een feit uitdrukken of een regel met een conjunctie van premissen en één kop.
De clausule ¬A ∨ ¬B ∨ C kan worden gelezen als de regel A ∧ B ⇒ C om voorwaarts of achterwaarts mee te redeneren.
Domeinafsluitingsaanname
De domeinafsluitingsaanname is de aanname dat het domein geen andere objecten bevat dan die welke door de beschikbare namen worden aangeduid.
Een eindige database kan haar wereld beperken tot de vermelde objecten in plaats van niet-benoemde boeken toe te laten.
DPLL
DPLL is een volledige SAT-zoekprocedure die diepte-eerst vertakken en backtracking combineert met vroegtijdige beoordeling en gedwongen waardetoekenningen.
Nadat eenheidspropagatie vastloopt, kiest DPLL een symbool zonder waarde en onderzoekt het de waarheidswaarden ervan.

E

Eenheidspropagatie
Eenheidspropagatie kent herhaaldelijk een waarde toe aan de enige literaal die een clausule nog waar kan maken, zodat gedwongen waardetoekenningen meer waardetoekenningen kunnen afdwingen.
Nadat A waar wordt, dwingt ¬A ∨ B af dat B waar is, wat op zijn beurt een andere clausule kan verkleinen.
Eerste-ordelogica
Eerste-ordelogica drukt met kwantoren beweringen uit over objecten, relaties en functies, waardoor herbruikbare regels over een domein mogelijk zijn.
Eén gekwantificeerde briesregel kan elk vak beschrijven zonder voor elk vak een aparte propositionele regel te noemen.
Entiteitsresolutie
Entiteitsresolutie identificeert gegevens of identificatoren die naar dezelfde werkelijke entiteit verwijzen en helpt zo feiten uit verschillende gegevensbronnen te verbinden.
Twee datasets kunnen verschillende identificatoren voor hetzelfde laboratorium gebruiken en hebben een geverifieerde koppeling nodig.
Existentiële instantiatie
Existentiële instantiatie introduceert een nieuwe constante als getuige voor een existentiële uitspraak en behoudt zo de vervulbaarheid van de kennis.
Een kroon kan met een nieuwe constante worden benoemd zonder te beweren dat die een bepaald al benoemd object is.
Existentiële kwantor
De existentiële kwantor ∃ vereist dat minstens één object uit het domein de uitspraak binnen zijn bereik waar maakt; dat object is een getuige.
De uitspraak ∃x (Kat(x) ∧ Zwart(x)) heeft een object nodig dat zowel een kat als zwart is.

F

Factorisatie
Factorisatie voegt unificeerbare literalen binnen een clausule samen, vereenvoudigt die en ondersteunt volledige eerste-orderesolutie met unificatie.
Twee positieve literalen P(x) en P(Ada) in één clausule kunnen onder de substitutie x = Ada worden samengevoegd.
Frameprobleem
Het frameprobleem is het probleem hoe je weergeeft wat onveranderd blijft wanneer een actie slechts enkele aspecten van een wereld verandert.
Een robot verplaatsen zou zijn bezit van een pijl moeten behouden zonder dat voor elke actie een aparte regel nodig is.

G

Gegeneraliseerde modus ponens
Gegeneraliseerde modus ponens past een regel toe nadat één consistente substitutie alle atomaire premissen met beschikbare feiten in overeenstemming heeft gebracht.
Bezit(Ada, Atlas) en Boek(Atlas) komen samen overeen met de regel dat bezitters van boeken lezers zijn.
Gesloten term
Een gesloten term is een term zonder variabelen en verwijst dus naar een object zonder dat in het model een waardetoekenning aan variabelen nodig is.
MoederVan(Ada) is gesloten hoewel het een samengestelde uitdrukking is, terwijl MoederVan(x) een variabele bevat.
Geslotenwereldaanname
De geslotenwereldaanname behandelt atomaire beweringen die niet door de beschikbare kennis zijn vastgesteld als onwaar binnen de gemodelleerde toepassing.
Een eenvoudige planningstoestand vermeldt ware veranderlijke toestandsuitspraken en behandelt een weggelaten locatiefeit als onwaar.

H

Hornclausule
Een Hornclausule heeft hoogstens één positieve literaal en omvat dus definiete clausules en clausules met alleen negatieve literalen.
De doelclausule ¬A ∨ ¬B sluit uit dat A en B samen waar zijn zonder een positieve kop te stellen.
HTN-planning
HTN-planning verfijnt taken op hoog niveau via domeinspecifieke methoden totdat de resterende taken uitvoerbare primitieve acties zijn.
Een bezorgmethode splitst de taak op in verplaatsen, het pakket oppakken, opnieuw verplaatsen en het neerzetten.

I

Implicatie
Een implicatie is een uitspraak P ⇒ Q die alleen onwaar is wanneer P waar en Q onwaar is; ze stelt geen causaal verband.
Een onware voorwaarde maakt een implicatie waar, zelfs wanneer de conclusie ook onwaar is.
Interpretatie
Een interpretatie kent in een eerste-ordemodel objecten toe aan constanten, relaties aan predicaten en totale functies aan functiesymbolen.
Twee constantenamen kunnen hetzelfde object aanduiden tenzij het model door een ongelijkheid wordt beperkt.

K

Kennisbank
Een kennisbank is een verzameling formele uitspraken die de achtergrondinformatie en latere waarnemingen van een agent vastlegt.
Een robot combineert zijn opgeslagen routeregels met een nieuw waargenomen blokkade om te bepalen waar hij naartoe kan.
Kennisniveau
Het kennisniveau beschrijft een agent aan de hand van zijn overtuigingen en doelen, onafhankelijk van de code en datastructuren die deze implementeren.
Zeggen dat een robot weet dat de brug gesloten is, beschrijft zijn kennisniveau en niet zijn opslagformaat.
Kennistechnologie
Kennistechnologie is het proces van ontwerpen, vullen, bevragen en toetsen van een kennisbank om vragen over een domein te ondersteunen.
Een inschrijvings-KB heeft vocabulaire en regels nodig die behaalde vereiste cursussen verbinden met toelating tot een cursus.
Klassieke planning
Klassieke planning vindt acties die vanuit een bekende toestand een doel bereiken met een volledig waarneembaar, deterministisch en discreet wereldmodel.
Een bezorgplan past gemodelleerde verplaatsings- en behandelingsacties toe totdat het pakket de vereiste locatie bereikt.

L

Literaal
Een literaal is een atomaire propositie of de negatie daarvan en vormt de positieve of negatieve basisbewering binnen een clausule.
Zowel P₁₂ als ¬P₁₂ is een literaal, terwijl P₁₂ ∧ P₂₁ twee literalen tot een grotere uitspraak combineert.
Logisch gevolg
Er is sprake van een logisch gevolg wanneer een conclusie waar is in elk model dat aan de premissen voldoet, zodat er geen passend tegenvoorbeeld bestaat.
Uit A ∨ B samen met ¬A volgt B logisch omdat elke overgebleven waardetoekenning B waar maakt.

M

Meest algemene unificator
Een meest algemene unificator maakt uitdrukkingen identiek zonder onnodige specificatie, zodat andere unificatoren door verdere substitutie kunnen worden verkregen.
x aan z binden laat meer vrijheid dan beide variabelen aan een bepaalde bestaande constante binden.
Model
Een propositioneel model kent waarheidswaarden toe aan propositiesymbolen, zodat de waarheid van samengestelde uitspraken kan worden beoordeeld.
Met A onwaar en B waar voldoet het model aan A ∨ B terwijl het A ∧ B onwaar maakt.
Modus ponens
Modus ponens is de afleidingsregel die een conclusie Q afleidt uit een implicatie P ⇒ Q en de bijbehorende premisse P.
Gereed en Gereed ⇒ Gecontroleerd laten het bewijs Gecontroleerd als gerechtvaardigde nieuwe uitspraak toevoegen.
Monotoniciteit
Monotoniciteit betekent dat premissen toevoegen conclusies behoudt die al logisch volgden, hoewel het verdere conclusies kan toevoegen.
Een nieuwe waarneming aan een klassieke KB toevoegen trekt de logische gevolgen die ze eerder ondersteunde niet in.

N

Negatie als falen
Negatie als falen behandelt een bewijspoging die na eindig veel stappen mislukt als succes voor een ontkend doel en hangt af van het uitvoeringsgedrag van de zoekprocedure.
In Prolog wacht \+ p op de bewijspoging voor p; een eindeloze lus telt niet als mislukking.

O

Ondersteuningsverzameling
De strategie met een ondersteuningsverzameling beperkt resolutie tot stappen waarbij de ontkende zoekvraag of daaruit afgeleide clausules betrokken zijn, met een vervulbaar resterend deel.
Een bewijzer richt zich op clausules die met de zoekvraag verbonden zijn in plaats van resolutie toe te passen op niet-gerelateerde achtergrondclausules.
Ontologie
Een ontologie specificeert formeel de categorieën, relaties en aannamen van een domein, zodat feiten consistent kunnen worden geïnterpreteerd.
Een ontologie voor apparatuur onderscheidt de categorie van een apparaat van de componenten die er deel van uitmaken.
Openwereldaanname
De openwereldaanname laat een niet-vermeld feit onbeslist, omdat de beschikbare kennis ware feiten over de wereld kan weglaten.
Een graaf zonder verbinding naar een echtgenoot voor een persoon laat die relatie onbekend in plaats van haar onwaar te verklaren.
Opvolgertoestandsaxioma
Een opvolgertoestandsaxioma definieert de volgende waarde van een veranderlijke toestandsuitspraak aan de hand van acties die haar waar maken en voorwaarden waaronder ze behouden blijft.
De pijl is precies dan in de volgende stap nog beschikbaar als die nu beschikbaar is en de agent niet schiet.
OWL
OWL is een webontologietaal die uitgebreidere klasse- en eigenschapsdefinities biedt, met beschrijvingslogicatalen voor formeel redeneren.
Een ontologie voor een graaf kan OWL-definities gebruiken om individuen verder te classificeren dan de expliciete typebeweringen.

P

Paramodulatie
Paramodulatie is een afleidingsregel voor gelijkheid die bij het afleiden van gevolgen uit clausules een voorkomen vervangt met behulp van een vergelijking.
Een stellingbewijzer heeft redeneren met gelijkheid nodig om een benoemd object te verbinden met een daaraan gelijke functieterm.
Partitie
Een partitie verdeelt een bovenliggende categorie in disjuncte categorieën die samen elk lid omvatten, zonder overlap of weglatingen.
Negatieve gehele getallen, nul en positieve gehele getallen vormen een partitie van de verzameling gehele getallen.
PDDL-domein
Een PDDL-domein declareert herbruikbare predicaten en actieschema's, terwijl een probleem specifieke objecten, beginfeiten en doelen levert.
Hetzelfde bezorgdomein kan worden gebruikt voor problemen met verschillende robots, pakketten en verbonden locaties.
Plan
Een plan is een reeks acties waarvan de toepasbare uitvoeringen een beginplanningstoestand naar een toestand brengen die aan het vereiste doel voldoet.
Naar een pakket gaan, het oppakken, naar de bestemming gaan en het neerzetten vormen een bezorgplan.
Predicaat
Een predicaat benoemt een relatie over objecten uit het domein en vormt een atomaire uitspraak wanneer de vereiste argumenttermen worden gegeven.
Bezit(Ada, Atlas) past het binaire predicaat Bezit toe op twee termen die de eigenaar en het object aanduiden.

R

RDF
RDF is een webgegevensmodel dat grafen uitdrukt als tripels met IRI's, anonieme knopen en letterlijke waarden op de toegestane posities.
Een dataset kan een door een IRI geïdentificeerde entiteit via een benoemde eigenschap verbinden met een letterlijk jaartal.
RDFS
RDFS voegt klassen, subklasserelaties en het domein en bereik van eigenschappen toe aan RDF en maakt eenvoudige inferenties op basis van een schema mogelijk.
Een subklasseverbinding van Onderzoeker naar Wetenschapper ondersteunt een afgeleid type Wetenschapper voor een bekende onderzoeker.
Redeneren met standaardveronderstellingen
Redeneren met standaardveronderstellingen trekt conclusies die normaal gesproken gelden, maar laat toe dat ze worden ingetrokken wanneer specifiekere informatie een uitzondering onthult.
Een standaardconclusie dat een vogel vliegt kan worden ingetrokken nadat het systeem leert dat de vogel een pinguïn is.
Regressie
Regressie werkt achterwaarts vanuit doelvoorwaarden en vervangt literalen die een actie bereikt door de voorwaarden die vóór die actie nodig zijn.
Regressie van een bezorgdoel door ZetNeer geeft de vereisten dat de robot het pakket vasthoudt en op de bestemming is.
Reïficatie
Reïficatie geeft een eigenschap, categorie of relatie weer als object, zodat verdere feiten er rechtstreeks naar kunnen verwijzen.
Door Rood als object weer te geven, kan een zoekvraag vragen of twee objecten dezelfde kleur hebben.
Relaxatie zonder verwijderingseffecten
Relaxatie zonder verwijderingseffecten verwijdert negatieve effecten uit een planningstaak met positieve voorwaarden vooraf en positieve doelen, zodat bereikte feiten behouden blijven.
De beginlocatie van een robot blijft in de gerelaxeerde taak waar, zelfs nadat hij naar een andere locatie gaat.
Resolutie
Resolutie leidt een nieuwe clausule af door één complementair paar literalen uit twee clausules te verwijderen en de overige literalen te behouden.
Resolutie van A ∨ C met ¬A ∨ D geeft C ∨ D, waaraan elk model van de ouderclausules moet voldoen.
Rete-netwerk
Een Rete-netwerk bewaart gedeeltelijke regelovereenkomsten tussen actualisaties en vermindert zo herhaald vergelijkingswerk in systemen die door veranderende feiten worden gestuurd.
Een regelsysteem hergebruikt een opgeslagen overeenkomst voor één premisse wanneer een nieuw feit aan een andere premisse voldoet.

S

SAT
Het SAT-probleem vraagt of een waarheidswaardetoekenning een propositionele formule vervult, die vaak in conjunctieve normaalvorm wordt weergegeven.
Een oplosser geeft een vervullende waardetoekenning terug of, wanneer de volledige zoekprocedure alle waardetoekenningen uitsluit, de uitkomst onvervulbaar.
SATPlan
SATPlan codeert een planningstaak op een gekozen horizon als SAT, met clausules voor beginfeiten, doelen, voorwaarden vooraf en toestandsovergangen.
Een onvervulbare horizon van drie stappen laat open of er een plan van vier stappen voor de taak bestaat.
Semibeslisbaarheid
Semibeslisbaarheid betekent dat een procedure elk positief geval uiteindelijk kan bevestigen, maar op een negatief geval oneindig kan blijven draaien.
Een volledige eerste-ordebewijzer vindt zoekvragen die logisch volgen, maar stopt mogelijk nooit bij een zoekvraag die niet volgt.
Skolemisatie
Skolemisatie vervangt existentiële variabelen door nieuwe constanten of functies die hun universele afhankelijkheden weerspiegelen en behoudt de vervulbaarheid.
Een docent die binnen ∀c wordt gekozen, kan worden weergegeven door T(c), zodat verschillende cursussen verschillende docenten kunnen hebben.
SPARQL
SPARQL is een zoektaal die RDF-graafpatronen vergelijkt om, afhankelijk van de vorm van de zoekvraag, bindingen, grafen of andere resultaten terug te geven.
Dezelfde ?p in twee patronen gebruiken vereist dat één entiteit aan beide relaties in de zoekvraag voldoet.
Substitutie
Een substitutie koppelt variabelen aan termen en vervangt hun voorkomens consistent in een uitdrukking of inferentiestap.
Toepassing van {x/Ada, y/Atlas} op Bezit(x, y) levert de gesloten uitspraak Bezit(Ada, Atlas) op.
Subsumptie
Subsumptie verwijdert een clausule die al door een algemenere clausule wordt gedekt en voorkomt zo overbodig werk zonder de beperkingen ervan te verliezen.
De algemene clausule P(x) maakt de zwakkere clausule P(Ana) ∨ Q(Bo) overbodig in de clausuleverzameling.

T

Taxonomie
Een taxonomie ordent categorieën via subklasserelaties, zodat eigenschappen van bredere categorieën op hun leden kunnen worden toegepast.
Laptops erven computereigenschappen omdat Laptops in de hiërarchie een subklasse van Computers is.
Tegenmodel
Een tegenmodel voor een logisch gevolg is een model waarin elke premisse waar is maar de voorgestelde conclusie onwaar.
P onwaar en Q waar weerlegt de bewering dat uit P ⇒ Q samen met Q de uitspraak P volgt.
TELL
TELL is de bewerking die een uitspraak aan een kennisbank toevoegt, zoals een waarneming of een vastlegging van de gekozen actie.
Nadat de agent geen bries heeft waargenomen, voegt hij met TELL de overeenkomstige negatieve waarneming toe aan zijn kennisbank.
Term
Een term is een uitdrukking die naar een object verwijst en is opgebouwd uit een constante, een variabele of een functie toegepast op andere termen.
MoederVan(Ada) is een term, terwijl Persoon(Ada) een bewering met een waarheidswaarde is.
Tijdsplanning
Tijdsplanning kent starttijden toe met inachtneming van de duur van acties, ordeningsvereisten en beperkingen op gedeelde middelen.
Twee taken die dezelfde robot nodig hebben, kunnen verschillende starttijden vereisen, ook als beide logisch haalbaar zijn.
Toelaatbare heuristiek
Een toelaatbare heuristiek overschrijdt nooit de werkelijke optimale resterende kosten en levert zo een ondergrens als schatting voor geïnformeerd zoeken.
De optimale planlengte zonder verwijderingseffecten is een ondergrens omdat de werkelijke taak meer beperkingen behoudt.
Toevoeglijst
De toevoeglijst van een actie bevat de positieve veranderlijke toestandsuitspraken die door uitvoering waar worden gemaakt en aan de resulterende planningstoestand worden toegevoegd.
Een verplaatsing naar de stelling voegt Op(R, Stelling) toe en laat niet-gerelateerde feiten over het pakket onveranderd.
Tripel
Een tripel legt één gerichte subject-predicaat-objectrelatie vast en vormt de basisstructuur voor feiten in een RDF-kennisgraaf.
Het tripel (Ada, werktBij, Lab) verbindt de persoon met de werkplek via de relatie werktBij.
Tseitin-codering
Een Tseitin-codering introduceert hulpsymbolen voor deelformules om een compacte CNF te maken die behoudt of er een oplossing bestaat.
Een SAT-oplosser kan de gecodeerde clausules gebruiken zonder elke disjunctie over elke conjunctie uit te werken.

U

Unificatie
Unificatie vindt een substitutie die twee uitdrukkingen syntactisch identiek maakt en daarbij rekening houdt met beperkingen door herhaalde variabelen.
Kent(Ana, x) en Kent(y, Bo) unificeren door y aan Ana en x aan Bo te binden.
Universele instantiatie
Universele instantiatie vervangt een universeel gekwantificeerde variabele door een gesloten term en leidt zo een specifieke instantie van een algemene bewering af.
Een regel over elke kat kan worden geïnstantieerd voor Tom of voor het object dat MoederVan(Tom) aanduidt.
Universele kwantor
De universele kwantor ∀ vereist dat de uitspraak binnen zijn bereik geldt voor elk mogelijk object uit het domein dat aan de gebonden variabele wordt toegekend.
De uitspraak ∀x (Kat(x) ⇒ Zoogdier(x)) controleert de implicatie voor katten en voor objecten die geen kat zijn.

V

Variabelen disjunct hernoemen
Variabelen disjunct hernoemen verandert de namen van variabelen in onafhankelijke uitspraken voordat ze worden gecombineerd, om onbedoeld delen van lokale bindingen te voorkomen.
Twee regels die x lokaal gebruiken, moeten verschillende variabelenamen krijgen vóór een resolutiestap of een stap van voorwaarts of achterwaarts redeneren.
Variabelenbinding
Een variabelenbinding koppelt een zoekvariabele aan een term en duidt zo een object aan dat volgens de kennisbank aan de zoekvraag voldoet.
Een zoekvraag KanInschrijven(x, AI) kan de binding x = Mia teruggeven in plaats van alleen een ja-of-neeantwoord.
Vast punt
Een vast punt is bereikt wanneer het toepassen van de afleidingsregels geen nieuwe feiten oplevert naast de feiten die al in de kennisbank staan.
Zodra elk bereikbaar knopenpaar is afgeleid, voegt een volgende ronde met bereikbaarheidsregels niets toe.
Vectorinbedding van een kennisgraaf
Een vectorinbedding van een kennisgraaf geeft entiteiten en relaties weer met geleerde vectoren die mogelijke verbindingen scoren voor statistische voorspelling.
Een hoge score kan een ontbrekende relatie suggereren, maar een logisch gevolg op basis van regels heeft afzonderlijke logische onderbouwing nodig.
Veranderlijke toestandsuitspraak
Een veranderlijke toestandsuitspraak is een feit waarvan de waarheidswaarde in de loop van de tijd kan veranderen, zoals de locatie van een robot of de vraag of hij nog een pakket vasthoudt.
Tijdsindices onderscheiden de locatie van de robot vóór een verplaatsing van zijn locatie erna.
Vervulbaarheid
Vervulbaarheid is de eigenschap dat een uitspraak in minstens één model waar is, ook als ze in andere modellen onwaar is.
De uitspraak A ∧ ¬B is vervulbaar omdat de waardetoekenning A waar en B onwaar haar waar maakt.
Verwijderlijst
De verwijderlijst van een actie bevat de positieve veranderlijke toestandsuitspraken die door uitvoering worden verwijderd, zodat ze niet behouden blijven in de resulterende toestand.
Een verplaatsing verwijdert de oude locatie zodat de robot niet zowel bij het laadperron als bij de stelling achterblijft.
Volledigheid
Volledigheid betekent dat een procedure binnen haar opgegeven logische bereik elke conclusie kan afleiden die logisch uit de premissen volgt.
Correcte regels kunnen toch onvolledig zijn als hun beschikbare bewerkingen een uitspraak die logisch volgt niet kunnen construeren.
Voltooiingsaxioma
Een voltooiingsaxioma beperkt expliciet de mogelijkheden voor een relatie en maakt zo redeneringen mogelijk die een open lijst van feiten niet kan ondersteunen.
Een lijst met vereiste cursussen voltooien sluit extra niet-behaalde vereiste cursussen voor inschrijving uit.
Voorkomenscontrole
De voorkomenscontrole verwerpt een binding die een variabele binnen haar eigen vervangende term zou plaatsen en behoudt zo unificatie met eindige termen.
Een poging om x met MoederVan(x) te unificeren mislukt omdat geen eindige term aan die vervanging kan voldoen.
Voorwaarde vooraf
Een voorwaarde vooraf is een voorwaarde die moet gelden voordat een actie in een planningstoestand kan worden toegepast, geen resultaat dat door de actie wordt gemaakt.
Pak vereist een lege hand; dat feit alleen als effect vermelden zou de beschikbaarheid niet vooraf toetsen.
Voorwaarts plannen
Voorwaarts plannen zoekt vanuit de beginplanningstoestand voorwaarts door acties toe te passen waarvan de voorwaarden vooraf in elke bereikte toestand gelden.
Een voorwaartse planner bekijkt toegestane verplaatsingen vanaf het laadperron, ook wanneer sommige niet helpen om het pakket te bezorgen.
Voorwaarts redeneren
Voorwaarts redeneren leidt gevolgen af uit bekende feiten door regels te activeren waarvan de premissen gelden, totdat een zoekvraag of vast punt is bereikt.
Een bewakingssysteem begint bij sensorfeiten en leidt elk alarm af dat door de opgeslagen regels mogelijk wordt gemaakt.
Vrije variabele
Een vrije variabele is een voorkomen van een variabele dat niet door een kwantor is gebonden, zodat voor de beoordeling van de formule een waardetoekenning nodig is.
In ∀x HoudtVan(x, y) is x gebonden, maar beïnvloedt de aan y toegekende waarde nog steeds de beoordeling van de uitspraak.

W

Waarheidsonderhoud
Een waarheidsonderhoudssysteem houdt de onderbouwing van overtuigingen bij, zodat afhankelijke conclusies kunnen worden herzien wanneer hun aannamen veranderen.
De onderbouwing van een standaardconclusie dat iets vliegt verwijderen, verwijdert ook conclusies die uitsluitend van die overtuiging afhingen.
WalkSAT
WalkSAT doorzoekt volledige waardetoekenningen door variabelen uit onvervulde clausules om te keren en combineert willekeurige keuzes met gerichte reparaties.
Een WalkSAT-doorloop die de limiet voor omkeringen bereikt, laat de vervulbaarheid onbeslist, ook als de formule een model heeft.
Wederzijdse uitsluiting
Een verbinding voor wederzijdse uitsluiting in een planningsgraaf markeert een paar acties of veranderlijke toestandsuitspraken dat op het overeenkomstige niveau niet samen kan voorkomen.
Elkaar uitsluitende actie-effecten kunnen verhinderen dat twee anderszins beschikbare acties als gelijktijdig worden beschouwd.
Weerlegging
Een weerlegging leidt een tegenspraak af uit de premissen en een ontkende zoekvraag, waarmee wordt vastgesteld dat de zoekvraag uit de premissen volgt.
Het bewijs van Q voegt tijdelijk ¬Q toe en wordt voltooid wanneer resolutie van Q en ¬Q de lege clausule oplevert.

Z

Zuiver symbool
Een zuiver symbool komt in alle momenteel onvervulde clausules met één polariteit voor, zodat een waardetoekenning die voorkomens kan vervullen.
Als E onder de resterende clausules alleen positief voorkomt, blijft de formule vervulbaar wanneer je E waar maakt.

Over deze les

Door StudeliFout melden

Maak je eigen Studiemateriaal

Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.

Aan de slag