1 / 44

Agententechnologie Les 2

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

Download Presentation

Agententechnologie Les 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AgententechnologieLes 2 dr. Patrick De Causmaecker

  2. 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)

  3. Agent Actie output Sensor input Omgeving

  4. 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

  5. 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

  6. 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

  7. Voorbeeld: Software Demons • X Windows xbiff volgt en stuurt de binnenkomende email • 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.

  8. Omgevingen • Toegankelijk versus ontoegankelijk • Deterministisch versus indeterministisch • Statisch versus dynamisch • Discreet versus continu

  9. 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

  10. 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

  11. 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

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

  13. 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

  14. 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

  15. 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.

  16. 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.

  17. 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

  18. 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

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

  20. 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

  21. 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

  22. 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.

  23. 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

  24. 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=e0- 0 -> e1- 1 -> e2- 2 ->… - u -> eu

  25. Abstracte architectuur • Symbolen: • R is de verzameling van alle runs • RAcis de verzameling van alle runs die eindigen op een actie • REis de verzameling van alle runs die eindigen op een omgeving • r,r’ zijn steeds elementen van R.

  26. Abstracte architectuur • De toestandstransformatie: •  : RAc->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)

  27. Abstracte architectuur • Een omgeving is een drietal: • Env = <E,e0, > • Met E een verzameling omgevingstoestanden, e0 een initiële toestand en  een toestandstransformatie. • Een agent is een functie • Ag: RE -> 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).

  28. Abstracte architectuur • Een rij • (e0,0, e1, 1, e2, 2 …) • Is een run van agent Ag in omgeving Env=<E,e0, > indien • e0de begintoestand is van Env • = Ag() • Voor u>0 • eu ((e0,0, … u-1 …)) • u = Ag((e0,0, … u-1, eu )

  29. 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?

  30. 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

  31. see action Agent Actie output Sensor input Omgeving

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

  33. 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={e1= {x,y}, e2= {x,y}, e3= {x,y}, e4= {x,y}} • Hoe ziet onze thermostaat er nu uit?

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

  35. 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))

  36. 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

  37. 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

  38. 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)

  39. 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

  40. Nuttigheidsfuncties • We kunnen nu op zoek gaan naar de optimale agent voor deze omgeving: • Agopt = 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.

  41. 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)

  42. Taakomgevingen • Een taakomgeving is een paar <Env, > 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)

  43. 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.

  44. 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

More Related