100% tevredenheidsgarantie Direct beschikbaar na je betaling Lees online óf als PDF Geen vaste maandelijkse kosten 4.2 TrustPilot
logo-home
Samenvatting

Samenvatting Learn Prolog Now!

Beoordeling
5,0
(1)
Verkocht
2
Pagina's
27
Geüpload op
04-04-2023
Geschreven in
2022/2023

Samenvatting van Learn Prolog Now! voor het vak Intelligente Systemen.











Oeps! We kunnen je document nu niet laden. Probeer het nog eens of neem contact op met support.

Documentinformatie

Heel boek samengevat?
Nee
Wat is er van het boek samengevat?
H1 t/m h6, h9, h11
Geüpload op
4 april 2023
Aantal pagina's
27
Geschreven in
2022/2023
Type
Samenvatting

Onderwerpen

Voorbeeld van de inhoud

Learn Prolog now!
1 Facts, Rules and Queries
1.1 Some simple examples
De drie basic constructs in Prolog: facts, rules en queries
Knowledge base (KB): een verzameling van facts en rules
→ Een Prolog programma is simpelweg een knowledge base
→ Een Prolog programma kan gebruikt worden door het posten van queries

Knowledge Base 1: facts

woman(mia).
woman(jody).
woman(yolanda).
playsAirGuitar(jody).
party.




Mogelijke queries op deze KB, met de antwoorden van Prolog:


?- woman(mia).
yes
?- playsAirGuitar(mia).
no




Knowledge base 2: facts & rules

happy(yolanda).
listens2Music(mia).
listens2Music(yolanda) :- happy(yolanda).
playsAirGuitar(mia) :- listens2Music(mia).
playsAirGuitar(yolanda) :- listens2Music(yolanda).




Deze KB bevat naast facts (op de eerste twee regels) ook rules (laatste drie regels). Rules geven
informatie die conditionally true is in de situatie waarin we geïnteresseerd zijn.

Algemene vorm van een rule: head :- body

→ Als Prolog de informatie van de body uit de KB kan halen, kan hij head afleiden (modus ponens)
→ Omgeschreven staat hier eigenlijk: body → head (body impliceert head)

Mogelijke queries op deze KB, met antwoorden van Prolog:


?- playsAirGuitar(mia).
yes
?- playsAirGuitar(yolanda).
yes




Learn Prolog now! 1

, Knowledge base 3: conjunctions & disjunctions

happy(vincent).
listens2Music(butch).
playsAirGuitar(vincent) :-
listens2Music(vincent),
happy(vincent).
playsAirGuitar(butch) :-
happy(butch).
playsAirGuitar(butch) :-
listens2Music(butch).




In de eerste rule (regel 3 t/m 5) zien we de Prolog notatie voor een conjunctie; de komma is gelijk aan

‘ ’. Vincent moet dus naar muziek luisteren EN blij zijn om playsAirGuitar waar te maken. De query ?-
playsAirGuitar(vincent) zal dus als antwoord ‘no’ hebben, want de KB bevat niet listens2Music(vincent).

De laatste twee rules hebben dezelfde head maar een andere body. Dit is de Prolog equivalent voor een

disjunctie (’ ’). De query playsAirGuitar(butch) kan dus op twee manieren voldaan worden.
Een disjunctie kan ook in één regel geschreven worden op de volgende manier:


playsAirGuitar(butch) :-
happy(butch);
listens2Music(butch).




Knowledge base 4: substitutions & unification

woman(mia).
woman(jody).
woman(yolanda).

loves(vincent, mia).
loves(marcellus, mia).
loves(pumpkin, honey_bunny).
loves(honey_bunney, pumpkin).




In de query gaan we nu gebruik maken van een variabele:


?- woman(X)
X = mia ;
X = jody ;
X = yolanda




We vragen nu aan Prolog of er een X is waarvoor geldt dat X een vrouw is. Prolog reageert dan door ons
te vertellen dat mia, jody en yolanda ingevuld kunnen worden voor X om de query waar te maken.
Standaard geeft Prolog alleen de eerste waarde die hij tegenkomt, als je meer waardes wil, typ je ‘;’ na
het gegeven antwoord (zoals hierboven). Prolog heeft nu alle vrouwen gevonden, wanneer we het nog
een keer vragen zal Prolog reageren met ‘no’.
Op die zelfde manier kunnen we ook voor de andere facts queries posten:


?- loves(vincent, X).
X = mia
?- loves(X, Y).
X = vincent Y = mia ;




Learn Prolog now! 2

, X = marcellus Y = mia
...




Knowledge base 5: variables

loves(vincent, mia).
loves(marcellus, mia).
loves(pumpkin, honey_bunny).
loves(honey_bunney, pumpkin).

jealous(X, Y) :- loves(X, Z), loves (Y, Z).




De laatste rule geeft een definitie voor jaloers zijn; persoon X is jaloers op persoon Y als X van Z houdt,
maar Y ook van Z houdt. We kunnen nu een query posten om te onderzoeken of marcellus jaloers is op
iemand:


?- jealous(marcellus, W)
W = vincent




Je kunt hier doorgaan om te vinden dat Marcellus ook jaloers is op Marcellus, dit vinden wij onzin, maar
het volgt wel logisch uit de knowledge base.


1.2 Prolog Syntax
Prolog heeft vier verschillende soorten termen: atoms, getallen, variabelen & complexe termen

Atoms
Een atom is:

Een string van characters (lower & upper case, getallen en ‘_’) die begint met een lower case letter

butch, big_kahuna_burger, listens2Music, enz.

Een serie characters binnen aanhalingstekens

‘Vincent’, ‘The Gimp’, ‘Five_Dollar_Shake’, ‘&%$’, enz.

Een string van speciale tekens

@=, ==>, :, :-, enz.

Getallen
Prolog support zowel reeële integers als floats, maar floats zal je niet veel tegenkomen. De syntax voor
een getal is simpel: 1001, 23, 0, -234, enz.

Variabelen
Een variabele is een string van characters (lower & upper case, getallen en ‘_’) die begint met of een
upper case letter of een underscore
→ X, Y, Variable, _tag, X_345, enz.
Anonymous variable: de variabele die alleen een underscore is (’_’)




Learn Prolog now! 3

Beoordelingen van geverifieerde kopers

Alle reviews worden weergegeven
1 jaar geleden

5,0

1 beoordelingen

5
1
4
0
3
0
2
0
1
0
Betrouwbare reviews op Stuvia

Alle beoordelingen zijn geschreven door echte Stuvia-gebruikers na geverifieerde aankopen.

Maak kennis met de verkoper

Seller avatar
De reputatie van een verkoper is gebaseerd op het aantal documenten dat iemand tegen betaling verkocht heeft en de beoordelingen die voor die items ontvangen zijn. Er zijn drie niveau’s te onderscheiden: brons, zilver en goud. Hoe beter de reputatie, hoe meer de kwaliteit van zijn of haar werk te vertrouwen is.
MarlindeD Universiteit Utrecht
Bekijk profiel
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
45
Lid sinds
2 jaar
Aantal volgers
25
Documenten
10
Laatst verkocht
5 maanden geleden

4,8

6 beoordelingen

5
5
4
1
3
0
2
0
1
0

Recent door jou bekeken

Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo makkelijk kan het dus zijn.”

Alisha Student

Veelgestelde vragen