Agententechnologie Les 2 dr. Patrick De Causmaecker.

Slides:



Advertisements
Verwante presentaties
Startbijeenkomst Leren Leren in een professionele oefencultuur
Advertisements

Les 2 klassediagrammen II
Hoogbegaafdheid: Een Uitdaging!
Verlichtingsdenker: vertrouwen in de rede
situationeel leiderschap
Rekenproblemen en Dyscalculie
Door goede gesprekken groeien
Aandachtspunten voor een jeugdtraining
De wisselschakeling..
Workshop harde schijf indelen
Vervolgbijeenkomst 2 Procesfasering bij Leren Leren.
Objecten en Volgordediagrammen
De relatie tussen logistiek en veiligheid
Uitwerking tentamen Functioneel Programmeren 29 januari 2009.
Het vergelijken van twee populatiegemiddelden: Student’s t-toets
Base: bewerkingen 2 soorten - Oplopend- Aflopend.
Deel I Hoofdstuk 5: Modelleren van toestand -- gevorderd
Jan Talmon Medische Informatica Universiteit Maastricht
Autisme en intelligentie
Fast and Effective Query Refinement B. Velez, R. Weiss, M.A. Sheldon, D.K. Gifford SIGIR 1997.
Dr. ir. M. Maris, IIV21 College Multi-Agent Systemen 2de Semester, Dinsdags van 13:00-15:00 uur in zaal P227 Geen Praktikum op vrijdag (staat verkeerd.
Besluitvorming.
Inleiding tot management en organisaties
Hoofdstuk 7 Anderen motiveren
Het probleem definiëren en de onderzoeksdoelstellingen
Voorspellende analyse
Designing Knowledge Systems b Hoofdstuk 11 van Knowledge Engineering and Management. The CommonKADS Methodology. b A.Th. Schreiber, J.M. Akkermans, A.A.Anjewierder,
Dr. Patrick De Causmaecker, KaHo St.-Lieven, Agententechnologie Les 4: praktisch redeneren dr. Patrick De Causmaecker.
Agententechnologie Les 5: reactieve en hybriede agenten
Hoofdstuk 7 Motiveren van medewerkers
MICROCONTROLLERS.
Psychologische Test.
Hoofdaannamen van Appreciative Inquiry
Wie is God? Kun je Hem kennen? Wat kunnen wij van Hem weten?
Docentendag Intelligente Systemen dr.ir. Michael Franssen Faculteit Wiskunde & Informatica Software Engineering & Technology.
Les 2: Interactie in je space door middel van klikbare objecten en actionscript. Wat is actionscript en programmeren?
Visie & Strategie.
Controllers en automatisatie
Code compressie in Embedded Systems Onno Kievit ET4074 Kwantitatieve aspecten van computer architectuur.
Serie/Parallel Schakelingen
Leerstijlen KOLB SJM.
De domeinen & Niveau bij ABB.
Dublindescriptoren: Bologna Bologna-niveaus 1. bachelor, 2. master, 3. doctor Niveaubepaling door de resultaten (outcomes) van opleidingen, niet door inputs.
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
TirPrs06: Wachttijdtheorie & simulatietechniek
Jennifer de Vries-Aydogdu med.hro.nl/vrije
Hoorcollege 1: efficiëntie en complexiteitsontwikkeling.
 Een loodgieter is deskundig in het in bedwang houden van water en stelt een diagnose omtrent waar een lek zich bevindt of waar een onaangename geur.
Diagnoses in het maatschappelijk werk Johan Bastiaensen.
De post-kritische geloofsschaal Een nieuwe manier van omgaan met geloof…?
Coping Scholing NAH i.s.m. Hilverzorg. Coping  Uit het Engels ‘to cope with’  omgaan met…  De manier waarop iemand met stress, problemen en veranderingen.
Ip4inno 1 A.Auteursrecht B. ‘Reputatie’ en merken in het Angelsaksisch recht C. Niet-geregistreerde modellen D. Halfgeleidertopografierecht.
1 Herman Schalk TREKKEN EN DUWEN VOOR KWALITEIT. 2 Begrip opbouwen Reflecteren op kwaliteit van onderzoek Uitvoeren van onderzoek interactie (m.n. taal)
GUI & classes Een Gui in een class steken en het object gebruiken.
Gasunie is een van de grootste gasinfrastructuurbedrijven in Europa. Veiligheid heeft binnen Gasunie de hoogste prioriteit; het vormt de basis van onze.
Psychopathologie v0or 1e jaars BBL 2017
Kan je zien of iemand holebi is?
“Aanbestedingsvormen in perspectief”
Meest voorkomende vragen bij examenteksten.
Coping.
18 Evalueren van Beweringen en Redenen. Scenariotest
What is the meaning of? Student centered learning
Het probleem definiëren en de onderzoeksdoelstellingen
Big Data.
Big Data.
Els Enhus 25/12/2018 | pag. 1.
Psychopathologie v0or 1e jaars BBL 2017
Deze complexe relatie wordt beïnvloed door veel factoren, waarvan beslissingen die het management wel of niet neemt, waarschijnlijk de belangrijkste zijn.
Stap drie bij projecten
Havo lesboek deel 1 ~ Hoofdstuk 1
Transcript van de presentatie:

Agententechnologie Les 2 dr. Patrick De Causmaecker

Definitie Autonomie (algemeen aanvaard) Leren (zeker niet altijd nodig noch gewenst) … Een agent is een computersysteem, gesitueerd in een omgeving, dat in staat is autonoom acties in deze omgeving te ondernemen om zijn ontwerpdoelen te realiseren. (Wooldridge and Jennings 1995)

Agent Omgeving Actie output Sensor input

Definitie Een agent –Beïnvloedt zijn omgeving –Heeft meestal geen volledige, maar wel gedeeltelijke controle –Het tweemaal uitvoeren van een bepaalde actie in een identieke situatie kan tot verschillende resultaten leiden Hiertoe beschikt de agent over een repertoire aan acties Deze zijn zinvol, en mogelijk, afhankelijk van de omgevingsvariabelenm

Definitie Het probleem van de agent is te beslissen welke van zijn acties het best kan uitvoeren om zijn doel te bereiken Een agentenarchitectuur is een softwarestructuur voor een beslissingssysteem dat in een omgeving functioneert

Voorbeeld: Regelsystemen Voorbeeld: een thermostaat Deze werkt volgens de volgende regels: Onderscheid omgeving, actie en invloed op de omgeving Te koud => verwarming aan Temperatuur OK => verwarming af

Voorbeeld: Software Demons X Windows xbiff volgt en stuurt de binnenkomende Xbiff leeft in een software-omgeving Het zal LINUX software functies uitvoeren om zijn informatie te bekomen (ls om de mailbox te controleren) Het gebruikt software functies om zijn omgeving te beïnvloeden (het aanpassen van het icoon op de werktafel van de gebruiker) Als agentenarchitectuur is het even eenvoudig als de thermostaat.

Omgevingen Toegankelijk versus ontoegankelijk Deterministisch versus indeterministisch Statisch versus dynamisch Discreet versus continu

Toegankelijkheid Physische beperkingen van het meettoestel: –Bijv. de ogenblikkelijke temperatuur aan de noordpool van Mars Er is steeds onzekerheid en onvolledige informatie in gelijk welke omgeving De agent moet kunnen beslissen Hogere toegankelijkheid van de omgevingsvariabelen maakt de agent eenvoudiger

Determinisme Een omgeving is deterministisch als het resultaat van een actie steeds ondubbelzinnig bepaald is Indeterminisme wordt veroorzaakt door –De beperkte invloed van de agent, de controle is gedeeltelijk –De beperkte mogelijkheden van de agent –De complexiteit van de omgeving Indeterminisme maakt het nodig om het resultaat van een actie steeds te controleren

Statisch/Dynamisch Verandert het systeem enkel door de acties van de agent? Denk aan software systemen, grote bouwkundige constructies, bezoekers van een tentoonstelling… De meeste systemen zijn dynamisch Dit betekent dat de agent continu data moet vergaren en dat de toestand kan wijzigen tijdens de actie Het voorspellen van de resultaten wordt moeilijker, en het synchroniseren en coördineren van de eigen acties met deze van andere processen wordt essentieel

Tenslotte: Discreet of continu Classificeer: –Schaken, taxi rijden, navigeren,, word processing, taal Wat is moeilijker?  We spreken van open en gesloten systemen

Interactie met de omgeving Origineel: functionele systemen –Compilers Ze eindigen, gegeven een preconditie, wordt er een postconditie gerealiseerd Top down ontwerp laat toe om functionele programmatuur te ontwerpen… f:I->O

Interactie: reactiviteit De meeste programma’s zijn reactief in de zin –Dat ze een relatie met de omgeving en andere modules onderhouden en reageren op signalen –Dat ze snel kunnen reageren op veranderingen in de omgeving (ook wel “responsiviteit”) –Dat ze eerder onmiddellijk reageren op veranderingen dan erover na te denken Reactieve agenten moeten voortdurend lokale beslissingen nemen waarvan de gevolgen globaal zijn

Reactieve systemen Bijvoorbeeld een printer server wordt geconfronteerd met twee aanvragende processen p1 en p2. Hij beslist systematisch p1 te laten voorgaan. Dit lost het probleem onmiddellijk op, maar creëert een lange termijn probleem. Men kan de agent lange termijn redeneringen laten opbouwen, maar dit blijkt zeer moeilijk te zijn. Eén oplossing is het gebruik van episodes. De gebeurtenissen in verschillende episodes zijn dan onafhankelijk, en de agent dient slechts te redeneren binnen de lopende episode.

Reactieve systemen: classificatie Drie mogelijke situaties: –Beslissen binnen een tijdspanne –Het realiseren van een bepaalde toestand –Het herhaald uitvoeren van een taak, zo vaak mogelijk Als tijd geen rol speelt kan het beslissingsproces zeer grondig gebeuren. In andere gevallen kan het beperkt zijn tot milliseconden.

Intelligente agenten Als kenmerken van intelligentie in agenten beschouwt men: –Reactiviteit: waarnemen en reageren –Proactiviteit: doelgericht handelen –Sociale vaardigheid: in staat tot interactie Vb proactiviteit: C-programma –Veronderstelt een constante omgeving Vb reactiviteit: Ook niet moeilijk De waarheid ligt evenwel in het midden, dit is wel gecompliceerd

Agenten en Objecten Objecten zijn acteurs, met mensachtige bedoelingen en vaardigheden. Ze beslissen en vragen informatie aan andere agenten. Het essentiële verschil met agenten zit in de autonomie –Objecten implementeren methodes die door andere objecten kunnen aangeroepen worden –Agenten beslissen zelf wat ze doen, ook als ze door andere agenten aangemoedigd worden

Objecten doen het gratis, Agenten doen het omdat ze het willen

Agenten en Expertsystemen Vb: Mycin,… Expertsystemen zijn consultants, ze werken niet onmiddellijk in op mensen of omgevingen Ze kunnen in het algemeen geen proactief gedrag vertonen Ze hebben geen sociale vaardigheden

Agenten als intentionele systemen Een intentioneel systeem handelt vanuit geloof, verwachtingen, wensen,… Een eerste orde intentioneel systeem heeft enkel geloof, verwachtingen, wensen betreffende de dingen, niet betreffende geloof, verwachtingen en wensen Een hogere orde intentioneel systeem heeft dit wel

Een (te eenvoudig) voorbeeld Een lichtschakelaar is een agent met de mogelijkheid om stroom door te laten, die steeds stroom doorlaat als hij gelooft dat we dat willen en nooit indien hij gelooft dat we dat niet willen. We geven onze intenties te kennen door om te schakelen. Uiteraard kan een schakelaar veel eenvoudiger beschreven worden.

Intentioneel? Hoe meer we weten van een systeem, hoe minder nood we hebben aan een beschrijving in termen van geloof, verwachtingen, wensen. Denett onderscheidt drie visies: –Physisch –Ontwerp –Intentioneel

Abstracte architecturen voor intelligente agenten De omgeving kan in een eindig aantal toestanden voorkomen: –E = {e,e’,…} De acties van een agent vormen ook een eindige verzameling –Ac= { ,  ’,…} Een run ‘r’ van een agent in een omgeving is een rij met afwisselend een toestand en een actie: –R=e 0 -  0 -> e 1 -  1 -> e 2 -  2 ->… -  u -> e u

Abstracte architectuur Symbolen: –R is de verzameling van alle runs –R Ac is de verzameling van alle runs die eindigen op een actie –R E is de verzameling van alle runs die eindigen op een omgeving –r,r’ zijn steeds elementen van R.

Abstracte architectuur De toestandstransformatie: –  : R Ac ->P(E) –Beeldt een run die eindigt in een actie af op een verzameling omgevingstoestanden –De resulterende omgeving hangt dus af van de volledige geschiedenis, en niet van laatste toestand en laatste actie alleen –We spreken over een verzameling van mogelijke resulterende toestanden, het resultaat van een actie is dus niet deterministisch –  (r) kan leeg zijn, in dat geval eindigt de run (met een actie)

Abstracte architectuur Een omgeving is een drietal: –Env = –Met E een verzameling omgevingstoestanden, e 0 een initiële toestand en  een toestandstransformatie. Een agent is een functie –Ag: R E -> Ac –Deze is dus deterministisch. Een systeem is een paar bestaande uit een agent en een omgeving. Binnen een systeem bestaat er een verzameling mogelijke runs: R(Ag, Env) bevat alle beëindigde runs (er worden geen oneindige runs bekeken).

Abstracte architectuur Een rij –(e 0,  0, e 1,  1, e 2,  2 …) Is een run van agent Ag in omgeving Env= indien –e 0 de begintoestand is van Env – = Ag() –Voor u>0 e u   ( (e 0,  0, …  u-1 …))  u = Ag ( (e 0,  0, …  u-1, e u )

Zuiver reactieve agenten Deze reageren enkel op de huidige toestand, en houden geen rekening met het verleden: –Ag: E -> Ac Leg zelf het verband met de algemene definitie Hoe ziet de thermostaat agent er nu uit?

Perceptie We hebben de agent tot nu toe gedefinieerd als een functie. Deze functie kan opgesplitst worden in twee delen: perceptie en actie. (dit is een ontwerpbeslissing die leidt tot een specifieke agentarchitectuur!) We onderscheiden –De functie see die de agent toelaat de omgeving te observeren –De functie action die het beslissingsproces van de agent modelleert

Agent Omgeving Actie output Sensor input seeaction

Perceptie Er geldt: –see : E -> Per –action : Per * -> Ac action werkt dus op rijen van percepties. Een agent is nu een paar: –Ag= De functie action hoeft uiteraard niet steeds alle details van de perceptie in rekening te brengen

Perceptie: een voorbeeld Veronderstel dat de enige informatie die we over de wereld kennen vervat zijn in de uitspraken: –x=‘De temperatuur is hier goed’ –y=‘Guy Verhofstadt is eerste minister’ De omgeving kent de volgende toestanden –E={e 1 = {  x,  y}, e 2 = {  x,y}, e 3 = {x,  y}, e 4 = {x,y}} Hoe ziet onze thermostaat er nu uit?

Perceptie Twee omgevingstoestanden e 1 en e 2 worden equivalent (~) genoemd indien –e 1 ~ e 2 a.s.a. see( e 1 )=see( e 2 ) De equivalentieklassen van ~ karakteriseren de agent –|~| = |E| betekent dat de agent alle toestanden kan onderscheiden –|~| = 1 betekent dat de agent geen perceptie heeft

Agenten met een toestand De beslissingsfunctie van de agent houdt rekening met het verleden. Dit kan gemodelleerd worden via een agententoestand I. We hebben nu –see: E -> Per –action: I->Ac –next: I x Per -> I De gekozen actie voor een agent in toestand i en een omgeving in toestand e is nu –action(next(i,see(e))) De nieuwe toestand van de agent is nu –i’=next(i,see(e)) (Het gevolg van de actie op de omgeving is niet deterministisch en nog steeds mede bepaald door het verleden: –e’   (r) (r is de run van de agent))

Hoe vertellen weet de agent wat te doen? Twee benaderingen: –een “nuttigheidsfunctie” u –een “predicaten” specificatie Een nuttigheidsfunctie is een performantiemaat die aangeeft of een toestand, momenteel of op lange termijn, goed is Een “predicaten” specificatie is een verzameling criteria waarop de agent beoordeeld wordt

Nuttigheidsfuncties (Utility) Een eerste benadering is een functie te definiëren die een toestand kan beoordelen –u:E->R Op basis van deze functie kan de nuttigheid van een actie beoordeeld worden als het –minimum van de bereikbare u-waarden –gemiddelde van de bereikbare u-waarden –… Het lokale karakter van deze benadering leidt tot kortzichtige agenten

Nuttigheidsfuncties (Utility) Men kan ook nuttigheid aan de runs toekennen: –u:R->R Dit laat toe om agenten verder te laten kijken Bijvoorbeeld: Tileworld (Pollack 1990)

Nuttigheidsfuncties Als we een waarschijnlijkheid toevoegen aan de transformator en veronderstellen dat u begrensd is naar boven (u(r) < k voor alle runs r in R) dan kunnen we de waarschijnlijkheid berekenen dat run r voorkomt als agent Ag in de omgeving Env geplaatst wordt : P(r|Ag,Env) en –som over r in R(Ag,Env) van P(r|Ag,Env) = 1

Nuttigheidsfuncties We kunnen nu op zoek gaan naar de optimale agent voor deze omgeving: –Ag opt = arg max som(u(r) P(r|Ag,Env) ) –(max loopt over alle agenten Ag, som over alle runs in R(Ag,Env)) Een probleem dat hierbij optreedt is de berekenbaarheid. De middelen van de agenten zijn beperkt, we kunnen dus niet steeds de optimale agent realiseren. Dit leidt tot een alternatieve definitie van de optimale agent waarbij max loopt over de mogelijke agenten.

Predicaten specificaties Een nadeel van nuttigheidsfuncties is dat het niet steeds natuurlijk is om een agent te definiëren via een dergelijke functie Mensen denken meer in termen van plannen en doelen, uitspraken die waar moeten gemaakt worden zoals ‘de temperatuur moet hier steeds goed zijn’ Als we de waarden van onze nuttigheidsfunctie beperken tot {0,1} dan bereiken we uiteraard een dergelijk model: –u(r) = 1 a.s.a.  (r)

Taakomgevingen Een taakomgeving is een paar met –Env een omgeving en  :R->{0,1} We noemen  een predikaat over de runs R De runs die aan het predikaat voldoen noemen we R  Een agent Ag slaagt als –R  (Ag,Env) = R(Ag,Env) Of als –  r  R(Ag,Env) :  (r) Of alternatief: –  r  R(Ag,Env) :  (r)

Taakomgevingen Men maakt een onderscheid tussen –Realisatietaken (achievement tasks) –Onderhoudstaken (maintenance tasks) Realisatietaken beogen het bereiken van een bepaalde voorwaarde op de omgeving. Onderstel dat een deelverzameling van de toestanden G aan dit criterium voldoet, dan is  (r) waar indien de run r van de agent resulteert in een toestand van G Onderhoudstaken beogen het vermijden van bepaalde toestanden B.  (r) is waar indien de run r van de agent resulteert in een toestand die zich niet in B bevindt.

Agent synthese Een synthese algoritme is een functie –Syn: TE->(Ag  {  }) Die een taakomgeving afbeeldt op een agent of faalt. Het algoritme is –Gezond (sound) indien het enkel succesvolle agenten genereert –Volledig (complete) indien het een agent genereert van zodra er een succesvolle agent bestaat