Summary Class notes - Intelligente Systemen

Course
- Intelligente Systemen
- Tomas Klos
- 2019 - 2020
- Universiteit Utrecht
- Kunstmatige Intelligentie
245 Flashcards & Notes
1 Students
  • This summary

  • +380.000 other summaries

  • A unique study tool

  • A rehearsal system for this summary

  • Studycoaching with videos

Remember faster, study better. Scientifically proven.

Summary - Class notes - Intelligente Systemen

  • 1580684401 College 1

  • Wat is AI volgens het boek Artificial Intelligence?
    .
  • Wat is de Turing Test en wat is er nodig om de Turing Test te doorstaan? (4 dingen)

    Bij de Turing Test moet een mens praten met een computer. Als de mens denkt dat hij met een ander mens een gesprek aan het houden is is de computer door de Turing Test heen gekomen.
    1. Natural language processing om het programma succesvol te laten communiceren in het Engels.
    2. Knowledge representation zodat het programma kan opslaan wat het weet of hoort.
    3. Automatic reasoning om de opgeslagen informatie te gebruiken zodat vragen beantwoord kunnen worden en er conclusies getrokken kunnen worden. 
    4. Machine learning om zich aan te passen aan nieuwe omstandigheden en om patronen te kunnen afleiden uit gegevens.
  • Tegenwoordig is er meer nodig om door de Turing Test heen te komen, benoem deze 2 dingen.
    Bij de totale Turing Test moet de computer kunnen zien en er moeten robotics aanwezig zijn omdat de computer bepaalde objecten moet kunnen aangeven of zelf moet kunnen rond bewegen.
  • Wat zijn de problemen van de Turing Test?
    1. De computer moet vaak liegen om als mens over te komen.
    2. De computer vermijdt onderwerpen om fouten te voorkomen door bijvoorbeeld grappen te maken. Een 'klein Oekraïens jongetje' kwam wel door de Turing Test omdat zijn taalfouten daaraan de verwijten waren. Dit kan voorkomen worden met het Winograd schema. 
  • Wat is de Winograd schema challenge?
    Deze challenge vervangt de Turing Test. Het begrijpen van de betekenis van taal is vereist ipv statistische informatie teruggeven als uitleg.  Bijvoorbeeld, 'De trofee paste niet in de koffer omdat deze te groot was.' Wat was te groot? De trofee of de koffer?
  • Omschrijf de stappen die nodig zijn om te vergelijken hoe een computer vs. een mens een taak uitvoert.
    1. Laat human H een probleem oplossen (bv. plannen). Observeer hoe H dit doet.
    2. Laat computer C een probleem oplossen en laat C een 'trace' van dit proces genereren.
    3. Kijk of H en C overeen komen.
  • Rationeel denken
    Optimaal denken, logically valid denken.
  • Wat is het doel van rationeel handelen als het gaat om het bouwen van een agent?
    Een rationale agent bouwen die handelt om de beste uitkomst te krijgen, of, bij onzekerheid, de best verwachte uitkomst.
  • Wat is het verschil in het doel van de rationele agent en logisch denken?
    Logisch denken is handig bij het kiezen van de juiste acties. Soms is het niet mogelijk om het juiste gedrag af te leiden.
  • Waar gaat de cursus IS voornamelijk over?
    Rationeel denken en handelen.
  • Mogelijke tentamenvragen:
    • Wat zijn de soorten agenten?
    • Welke feature van het environment is hier belangrijk? 
  • Waar is een agent afhankelijk van als het gaat om zijn prestatie?
    De agent is afhankelijke van de omgeving en de taak die in de omgeving uitgevoerd moet worden. Een agent kan niet los gezien worden van zijn omgeving, er zijn verschillende agenten voor verschillende omgevingen.
  • Agent approach, hoe pakt een agent het aan in het algemeen?
    De agent neemt waar en onderneemt daarna actie. De agent kan hierbij een persoon, robot, thermostaat, etc. zijn.
  • Agent function =
    f: P* --> A (waarbij P een set perceptors is, * staat voor 'leeg' of 'any sequence')
  • Wat doet een 'agent program'?
    Genereert gedrag. De agent = achitecture + program. De architecture kan de machine maar bv. ook de programmeertaal zijn (de software van de infrastructuur).
  • Voorbeeld van een agent program is:
    Vacuum cleaner world
  • Wat doet performance measure?
    Geeft punten aan het programma door het bereik van environmental conditions te meten. Bv. 1 punt voor elk vakje schoon in tijd T, etc.
  • Welke keuze zal een rationele agent maken?
    De actie die de expected value maximaliseert. --> Optimale acties kiezen gegeven welke informatie bekend is + verkennen + leren, enz.
  • Wat zijn PEAS descriptions?
    Om een goede rationale agent te maken moeten we weten wat het task environment is. Om dat te omschrijven gebruiken we PEAS:
    • Performance measure (Safe? Fast? Legal?)
    • Environment (road, weather, traffic)
    • Actuators (sturen, remmen, toeteren)
    • Sensoren (camera, GPS)
  • Soorten omgevingen: fully observable vs. partially observable
    Kan je alles zien wat relevant is voor de agent om een keuze te maken?
  • Soorten omgevingen: deterministisch vs. non-deterministisch
    Heeft elke actie een unieke uitkomst of meerdere?
  • Soorten omgevingen: Statisch vs. dynamisch
    Verandert de omgeving spontaan zonder dat de agent iets doet?
  • Classify task =
    agent + environment (tentamenvraag!)
  • Een automatic taxi task environment heeft de volgende 3 eigenschappen:
    1. partially observable
    2. non-deterministisch
    3. dynamisch
  • De 4 basis soorten agenten:
    1. Simple reflex agent
    2. model-based reflex agent
    3. goal-based agent
    4. utility-based agent
  • Simple reflex agent (3 eigenschappen + afbeelding)
    • Neemt waar --> voert actie uit gebaseerd op de waarneming. 
    • Reageert alleen op meest recente observatie.
    • Werkt niet goed op gedrag waar geheugen voor nodig is --> partially observable environment.
  • Model-based reflex agent (2 eigenschappen + afbeelding)
    • Bouwt model van de wereld gebaseerd op eerdere observaties.
    • Goals niet expliciet, maar wel binnen regels.
  • Goal-based agent (3 eigenschappen + afbeelding)
    • Heeft een expliciet doel, maar doelen kunnen veranderen.
    • Heeft een flexibelere manier om de beste actie te berekenen afhankelijk van het doel (niet hard-coded). 
    • Denken kan teveel tijd innemen, doet het dus misschien niet goed in dynamische omgeving.
  • Utility-based agent (2 eigenschappen + afbeelding)
    • Kan beter verschillende target sets onderscheiden (achieving goal vs. optimizing utility)
    • Utility functie internaliseert (regels eigen maken) de performance measure.
  • Learning agents  (1 eigenschap + afbeelding)
    • Alles kan in een learning agent veranderd worden door het programma te updaten.
  • Welke 3 agenten zijn knowledge-based agents?
    1. Model-based agents
    2. goal-based agents
    3. utility based agents
  • Wat voor een model gebruiken de knowledge-based agents?
    Model of environment
  • Een 'model of environment' is een goed idee want: (3 dingen)
    1. De omgeving is vaak complex en non-deterministisch.
    2. De omgeving is vaak partially observable.
    3. Het model moet flexibel zijn.
  • Een KB-agent gebruikt een knowledge base om te beslissen wat te doen. Wat gebeurt er hier in 3 stappen?
    1. De KB bevat 'zinnen' in een formele taal (logica).
    2. 2 belangrijke routines: Tell - om zinnen toe te voegen aan de KB. Ask - om vragen te stellen, het antwoord moet logisch volgen.
    3. De KB mag achtergrond informatie hebben bij de start.
  • Hoe kunnen effecten van acties gerepresenteerd worden? (3 dingen)
    A. States have no internal structure (black box).
    B. States are vectors of attribute values.
    C. (3e  plaatje) States consist of objects with properties and mutual relationships.
Read the full summary
This summary. +380.000 other summaries. A unique study tool. A rehearsal system for this summary. Studycoaching with videos.

Latest added flashcards

What does “commits” mean:
if the current goal G unifies with a clause C
C = A :- B1, …, Bk, !, Bk+2, …, Bn
and B1, …, Bk, succeed, Prolog commits to the choice of C for reducing G

• any alternative clauses for A that might unify with G are ignored
• should Bi fail for i > k, backtracking goes back only as far as the !; other choices in the computation for Bi i ≤ k are pruned from the search tree
• if backtracking reaches the cut, the cut fails, and the search proceeds from the last choice made before G unified with C
What cut does
• when a cut is encountered in the execution of a Prolog program
• the goal succeeds and commits Prolog to all choices made since the parent goal was unified with the head of the clause containing the cut
• if the current goal G unifies with a clause C

C = A :- B1, …, Bk, !, Bk+2, …, Bn
and B1, …, Bk, succeed, Prolog commits to the choice of C for reducing G
max/3 with cut
• the cut can be used to express the mutually exclusive nature of the tests, e.g.,

max(X,Y,X) :- X >= Y, !.
max(X,Y,Y) :- X < Y.

• on backtracking, Prolog will not look for alternative ways of finding max(X,Y).
Example: max/3  max/3 finds the max of two numbers:
max(X,Y,X) :- X >= Y.
max(X,Y,Y):- X < Y.  

when comparing X and Y only one of the inequality tests can succeed
Cut
• Prolog programs can also remove branches from the tree
• cut, denoted by !/0, reduces the search space by dynamically pruning the search tree
• can be used to prune computation paths that the programmer knows could not produce solutions
• cuts can be used to ensure termination, but are mostly used to increase the efficiency of Prolog programs
goal order in ancestor/2
in ancestor/2, there are two possible orders for the goals in the recursive clause
• in one the parent/2 goal comes first
• the goal ancestor(X,tom) terminates after a finite amount of backtracking with no

ancestor(X,Y) :-
          parent(X,Y).
ancestor(X,Y) :-
          parent(X,Z),
          ancestor(Z,Y).


parent(pam,bob).
parent(tom,bob).
parent(tom,liz).
parent(bob,ann).
parent(bob,pat).
parent(pat,jim).

if the order of the goals in the recursive clause are reversed
• the goal ancestor(X,tom) does not terminate after a finite amount of backtracking
• what was a finite tree becomes a tree with an infinite branch

parent(X,Z),      --> ancestor(Z,Y),
ancestor(Z,Y)
.        parent(X,Z).
Goal order
goal order is more significant than clause order
• changing the goal order changes the search tree • like clause order, goal order can change the order in which solutions are generated
• unlike clause order, goal order can determine whether computations terminate
• changing the order in which goals appear can change a search tree with an infinite branch into one with no infinite branches
Clause order and termination
changing the clause order does not change the search tree that must be traversed for a given query – the tree is just traversed in a different order
• the order in which clauses appear in a Prolog program therefore doesn’t determine whether the program terminates
• for a given program (set of clauses) the search tree either has an infinite branch or it doesn’t
• changing the clause order alone will not make a non terminating program terminate
• however changing the clause order may be sufficient to allow the program to return a solution for some inputs
Finite tree
• programs with search trees of this form for all inputs are the most useful
generates all solutions on backtracking and then terminates
• not always possible, e.g., if the problem has an infinite number of solutions
‘Right’ infinite branch
• for all inputs, at least one solution is found before an infinite branch is encountered
• any (potential) solutions to the right of the first infinite branch will not be found
programs with search trees of this form may be useful depending on their intended application