320 likes | 465 Views
Agententechnologie. dr. Patrick De Causmaecker. Referentie. “An Introduction to Multiagent Systems”, Michael Wooldridge, Department of Computer Science, University of Liverpool, UK, John Wiley & Sons, LTD, 2002 ISBN 0-471-49691-X. Links. Links. http://allserv.kahosl.be/~patdc/Agents/
E N D
Agententechnologie dr. Patrick De Causmaecker
Referentie • “An Introduction to Multiagent Systems”, Michael Wooldridge, Department of Computer Science, University of Liverpool, UK, John Wiley & Sons, LTD, 2002 ISBN 0-471-49691-X. • Links
Links • http://allserv.kahosl.be/~patdc/Agents/ • http://www.csc.liv.ac.uk/~mjw • http://www.csc.liv.ac.uk/~mjw/links/
Inhoud • Inleiding • Inleiding tot intelligente agenten • Inleiding tot multi-agent systemen • Toepassingen van multi-agent systemen
Inleiding • Wat • De visie • Een aantal gezichtspunten op het domein • Punten van kritiek op multi-agent systemen
Wat • Er zijn vijf belangrijke trends die door de hele geschiedenis van de computerwetenschappen zichtbaar zijn: • Alomtegenwoordigheid • Interconnectiviteit • Intelligentie • Delegeren • De oriëntatie op de mens
Alomtegenwoordig • De dalende kost van de computerkracht laat toe om deze in te voeren waar dit voorheen ondenkbaar was. • Elektrische apparaten • Boordcomputers • GSM • … • Vb. http://ingenieur.kahosl.be/projecten/amobe/
Interconnectiviteit • Computers staan in netwerken • Belangrijk voorbeeld: Internet • Er was een tijd dat gedistribueerde systemen als marginale systemen werden beschouwd, die moeilijk te behandelen waren. • Nu denken we dat interactie eigenlijk de basis van computerwetenschappen uitmaakt.
Intelligentie • De complexiteit van de taken die we toevertrouwen aan een computer neemt voortdurend toe. • We kunnen steeds beter, betrouwbare systemen ontwerpen die in kritieke situaties kunnen functioneren.
“The A380, which will seat 555 passengers in a typical three-class interior layout, will enter airline service in 2006.”
Delegeren • Hierdoor gaan we ook steeds ingewikkelder taken toevertrouwen aan de computer (bijvoorbeeld de besturing van een vliegtuig, beleggen en investeren op de beurs). • Dit betekent dat de computersystemen in een controle situatie kunnen komen.
De oriëntatie op de mens • De eerste computers werden via schakelaars geprogrammeerd. Men moest de werking van de machine volledig begrijpen om ermee te kunnen werken. • Nadien kwamen de tekstuele interfaces, de computer onderhield een dialoog op een lijn per lijn basis. • Vanaf 1980 kwamen grafische gebruikersinterfaces in gebruik. De gebruiker kan nu de objecten (bestanden, programma’s, toestellen…) manipuleren via hun iconen.
Papierdunne schermen Het manipulatie paradigma
Opgave • Hierdoor is de fundamentele opgave voor software ontwikkelaars gesteld: hoe gaan we deze trends in onze toepassingen naar voor laten komen. • Alomtegenwoordig en interconnectie: “global computing”, 1010 processoren?! • Delegatie: hoe bouwen we toestellen die in onze plaats, onafhankelijk, taken verrichten • …
Multiagent systemen • Een agent is een computersysteem dat in staat is onafhankelijk te functioneren als vertegenwoordiger van zijn eigenaar. • De agent kan uitzoeken wat hij nodig heeft om zijn ontwerpdoelen te realiseren. • Een multiagent systeem bestaat uit agenten die met mekaar interageren. • Deze agenten zullen eigenaars met uiteenlopende interesses en doelstellingen vertegenwoordigen. Ze zullen dus moeten samenwerken, coördineren en onderhandelen.
Multiagent systemen: problematiek • Hoe bouwen we agenten die in staat zijn om onafhankelijk en autonoom te functioneren om de taken die we hen toevertrouwen succesvol uit te voeren? (agent ontwerp) • Hoe bouwen we agenten die in staat zijn te interageren met ander agenten om de taken die we hen toevertrouwen succesvol uit te voeren, in het bijzonder in het geval dat andere agenten niet noodzakelijk dezelfde interesses en doelstellingen delen? (gemeenschap ontwerp)
Vragen • Hoe kan samenwerking tot stand komen in gemeenschappen van ego-centrische agenten? • Welke talen kunnen de agenten gebruiken bij hun communicatie? • Hoe kunnen ego-centrische agenten vaststellen wanneer hun doelstellingen in conflict zijn en hoe kunnen ze overeenkomsten bereiken? • Hoe kunnen autonome agenten hun activiteiten coördineren?
De visie • Scenario 1 • Tengevolge van een onverwachte systeemfout verliest een ruimtesonde in de buurt van Saturnus contact met de stations op aarde. Het verdwijnt niet in de leegte, maar stelt de fout vast, diagnosticeert ze, isoleert ze en heroriënteert zich om opnieuw contact te maken met de grondstations.
Visie • Scenario 2 • De centrale luchtverkeerscontrole in de luchthaven van Ruritania begeeft het plots. De autonome luchtverkeerscontrolesystemen in de buurt stellen dit vast en werken samen om alle betrokken vluchten op te zoeken en over te nemen. De passagiers merken niks.
Visie • Scenario 3 • Je besluit plots een week vrijaf te nemen. Op je PDA tik je je voorkeuren in. Deze treedt in contact met een aantal web sites, die diensten verkopen zoals vluchten, hotelkamers, wagenverhuur,… Na ernstig onderhandelen in jou opdracht komt de PDA terug met een mooi vakantiepakket.
Een aantal gezichtspunten op het domein • Agenten als een paradigma voor software engineering • Agenten als een gereedschap om mensengemeenschappen te begrijpen.
Agenten als een paradigma voor software engineering • Interactie is de sleutel. Programma’s die een bepaalde invoer verwerken en een bepaalde uitvoer produceren zijn een minderheid van de toepassingen geworden. • Vandaar dat er de laatste jaren gereedschappen ontwikkeld geworden zijn om systemen die bestaan uit interagerende componenten te ontwikkelen.
Agenten als een gereedschap om mensengemeenschappen te begrijpen. • “Psychogeschiedenis” zou toelaten om voorspellingen op langere termijn te doen. • Dit is moeilijk, maar sociologen proberen het. • Ze kunnen multiagent systemen gebruiken om simulaties te bouwen (bijvoorbeeld EOS: hoe ontwikkelde in het Paleoliticum de sociale complexiteit.).
Punten van kritiek op multi-agent systemen • Is dit alleen maar gedistribueerd/concurrent programmeren? • Is dit alleen maar artrificiële intelligentie? • Is dit enkel speltheorie? • Is dit enkel sociale wetenschap?
Gedistribueerd/concurrent programmeren? • Er is sedert de jaren 70 veel werk verricht in dit gebied. Dit mag in geen geval verwaarloosd worden. Agenten voegen evenwel een dimensie toe: • Autonomie, hierdoor zullen synchronisatie mechanismen niet hard gecodeerd moeten worden. • De ontmoetingen hebben een economische betekenis door het ego-centrische karakter van de agenten. Dit is verschillend van een situatie waar componenten gemaakt worden om samen te werken.
Artificiële intelligentie? • Soms worden agenten als een onderdeel van AI gezien, soms omgekeerd. Maar: • AI heeft zich geconcentreerd op leren, plannen, begrijpen,… Een agent integreerd deze onderdelen om tot beslissingen te komen. Bovendien zijn de 99% van de agenten zeer conventioneel gebouwd, en bevatten weinig AI. • Het sociale aspect van de agent is door AI niet onderzocht. Het is een essentieel onderdeel van elke oplossing die zich op agenten baseert. Bovendien is het sociale de eigenschap bij uitstek die ons van de andere diersoorten onderscheidt.
Speltheorie? • Dezelfde pioniers die aan de basis van computerwetenschappen lagen, lagen ook aan de basis van speltheorie en artificiële intelligentie: von Neumann, Turing. • Speltheorie kent veel toepassingen binnen multiagent systemen. Maar: • Methodes van speltheorie leveren rekentechnieken en concepten. Multiagent systemen gebruiken ze. • Men kan zich afvragen of het begrip “rationele agent” zoals dat in speltheorie gehanteerd wordt wel enige werkelijke betekenis heeft.
Sociale wetenschap? • Het domein biedt sociologen mogelijkheden tot experimenteren. • Het gaat te ver om agentengemeenschappen als volledig equivalent aan mensengemeenschappen te beschouwen. De doelstelling is nog altijd: het construeren van werkende systemen.
Vragen bij scenario 3 • Hoe worden de voorkeuren gespecifieerd? • Hoe kan je agent verschillende aanbiedingen vergelijken? • Welke algoritmen moet de agent gebruiken tijdens de onderhandeling met de websites?