Het doel van multi-agent systemen (MAS) is het coördineren van onafhankelijke processen. Een agent is een computereenheid in de vorm van een programma of een robot. Een agent kan als autonoom worden beschouwd omdat hij zich kan aanpassen wanneer zijn omgeving verandert. Een MAC bestaat uit een reeks computerprocessen die tegelijkertijd plaatsvinden en tegelijkertijd bestaan, gemeenschappelijke bronnen delen en met elkaar communiceren. Het belangrijkste probleem in de MAC is de formalisering van de coördinatie tussen agenten.
Definiëren van multi-agent systemen
MAC is een toekomstgerichte benadering van softwareontwikkeling voor applicaties in complexe domeinen waar interactieve applicatiecomponenten autonoom en gedistribueerd zijn, opereren in dynamische en onzekere omgevingen, moeten voldoen aan een aantal organisatorische regels en wetten, en kunnen toetreden en vertrekken een multi-agent systeem tijdens runtime.
Voorbeelden van dergelijke toepassingen zijn systemen diehet beheren en optimaliseren van de productie en distributie van elektriciteit tussen verbruikers of systemen die belastingen in transportsystemen optimaal plannen. De ontwikkeling van systemen met meerdere agenten vereist het creëren van afzonderlijke agenten, organisaties en omgevingen.
Programmeertalen bieden programmeerconstructies voor het implementeren van individuele agenten in termen van sociale en cognitieve concepten zoals informatie, doelen, opties, normen, emoties en beslissingsregels.
Organisaties met meerdere agenten in termen van sociale en organisatorische concepten hebben rollen, begiftigd met normen, communicatieprotocollen, middelen die onderworpen zijn aan monitoring. De ontwikkelde programmeertalen en frameworks worden gebruikt om agent-gebaseerde simulaties te creëren voor vele industrieën van continue productie: elektriciteit, metallurgie, gezondheidszorg, internet, transport, verkeersbeheer en serious games.
MAS verschillen van systemen met één agent doordat ze meerdere agenten hebben die elkaars doelen en acties modelleren. In een algemeen scenario kan er directe interactie zijn tussen agenten. Vanuit het oogpunt van een enkele agent verschillen multi-agent systemen het meest significant van systemen met een enkele agent doordat de dynamiek van de omgeving kan worden bepaald door andere agenten. Naast de onzekerheid die inherent kan zijn aan een domein, beïnvloeden andere agenten opzettelijk de omgeving op onvoorspelbare manieren.
Zo kunnen alle MAC's worden beschouwd als dynamische omgevingen, wat typisch is voor modernesystemen met meerdere agenten. Er kan een willekeurig aantal agenten zijn met verschillende mate van heterogeniteit, met of zonder de mogelijkheid van directe communicatie.
MAS-architectuur
Agenten moeten zijn uitgerust met een cognitief model:
- overtuigingen;
- wensen;
- intenties.
Aan de ene kant leest hij "Overtuigingen" over de omgeving, die het resultaat zijn van zijn kennis en waarnemingen, en aan de andere kant een reeks "Verlangens". Het kruisen van deze twee sets resulteert in een nieuwe set "Intenties" die vervolgens direct worden vertaald in acties.
Agenten moeten een communicatiesysteem hebben. Hiervoor zijn verschillende gespecialiseerde talen: Language Query and Manipulation Language (KQML). Onlangs is de FIPA-ACL-standaard, gecreëerd door de FIPA Foundation for Intelligent Physical Agents, verspreid. Dit laatste principe van het bouwen van multi-agent systemen is gebaseerd op de theorie van taalhandelingen.
Het aanpassingsprobleem is een netelige kwestie waar momenteel veel onderzoek naar wordt gedaan. Men kan een voorbeeld geven van sommige virussen, zowel biologische als computer, die zich kunnen aanpassen aan een gemuteerde omgeving.
Ten slotte verdient een efficiënte implementatie van de MAC, hoewel strikt genomen geen onderdeel van de systeemarchitectuur, aandacht in de vele programmeertalen die zijn ontwikkeld voor de studie van kunstmatige intelligentie. In het bijzonder wordt de LISP-taal genoemd. Deze architecturale elementen worden toegepast op een systeem dat bestaat uit cognitieveagenten.
Categorieën of modellen van agenten
De classificatie van agenten is gebaseerd op twee criteria: cognitieve agenten of reagentia die aan de ene kant teleonomisch gedrag of een reflex vertonen. Het onderscheid dat gemaakt kan worden tussen cognitief en reactief is in wezen een weergave van de wereld waarover de agent beschikt. Als een individu is begiftigd met een "symbolische representatie" van de wereld van waaruit hij redeneringen kan formuleren, dan spreekt men van een cognitieve agent, terwijl als hij slechts een "subsymbolische representatie" heeft, dat wil zeggen beperkt tot zijn waarnemingen, men spreekt van een reactief middel. Dit cognitieve en reactieve onderscheid komt overeen met twee theoretische scholen van multi-agentsystemen.
De eerste ondersteunt de fundamentele benadering van "slimme" agenten voor samenwerking vanuit een sociologisch oogpunt. In het tweede wordt de mogelijkheid van het ontstaan van "slim" gedrag van een reeks niet-intelligente agenten (miertype) bestudeerd. Het tweede verschil tussen gedragsgedrag en reflex scheidt opzettelijk gedrag, het nastreven van expliciete doelen, van perceptueel gedrag. Zo kunnen de neigingen van agenten expliciet worden uitgedrukt in agenten of juist uit de omgeving komen. Tabel met verschillende soorten agenten:
- Cognitieve agenten.
- Reactieve agenten.
- Telenomisch gedrag.
- Opzettelijke agenten.
- Managed agenten.
- Reflexgedrag.
- Agenten "modules".
- Tropische agenten.
Cognitieve agenten zijn meestal opzettelijk, d.w.z.ze hebben vaste doelen die ze proberen te bereiken. Soms worden echter agenten, modules genoemd, gebruikt die een idee hebben van hun "universum" zonder specifieke doelen. Ze kunnen bijvoorbeeld dienen om vragen van andere agenten in het "universum" te beantwoorden.
Reagentia kunnen worden onderverdeeld in actuatoren en tropische stoffen. De instinctieve agent zal een vaste missie hebben en een gedrag uitlokken als hij ziet dat de omgeving niet langer past bij het toegewezen doel. Tropisch middel reageert alleen op de lokale toestand van de omgeving, bijvoorbeeld als er licht is, dan loopt het. De bron van motivatie in het interne geval van drive agents die een "missie" hebben, heeft alleen betrekking op het milieu.
Organisatieparadigma's
Met de ontwikkeling van dergelijke systemen zijn verschillende organisatorische paradigma's ontwikkeld. Deze structuren van multi-agentsystemen vormen het raamwerk voor relaties en interacties tussen agenten.
Hiërarchieën. In dit model zijn agenten hiërarchisch volgens een boomstructuur waarin elk knooppunt een agent is en een machtigingslink heeft op de onderliggende knooppunten. Dit model vernietigt het algemene doel van het systeem.
Holarchie nadert de hiërarchie. Er is geen gezagsverhouding tussen een agent en zijn subgroep.
Een coalitie is een tijdelijke alliantie van agenten die samenkomen en samenwerken omdat hun persoonlijke belangen samenkomen. De waarde van de coalitie moet groter zijn dan de som van de individuele waarden van de agentcomponenten.
Congregaties lijken erg op coalities encommando's. Ze zijn echter bedoeld om permanent te zijn en hebben meestal meerdere doelen om te bereiken. Bovendien kunnen agenten gemeenten betreden en verlaten en tegelijkertijd tot meerdere gemeenten behoren.
Society is een set van diverse agenten die met elkaar omgaan en communiceren. Ze hebben verschillende doelen, hebben niet hetzelfde niveau van rationaliteit en dezelfde capaciteiten, maar ze gehoorzamen allemaal aan gemeenschappelijke wetten (normen).
Federatieagenten geven een deel van hun autonomie aan de afgevaardigde van hun groep. Groepsagenten hebben alleen interactie met hun afgevaardigde, die op zijn beurt interactie heeft met afgevaardigden van andere groepen.
Verkoopagenten bieden items aan die kopersagenten kunnen claimen. Dit type organisatie maakt het bijvoorbeeld mogelijk om echte markten te simuleren en verschillende handelsstrategieën te vergelijken.
Matrix-organisatieagenten zijn hiërarchisch. In tegenstelling tot de hierboven gepresenteerde hiërarchie, waar een agent slechts ondergeschikt is aan een paar andere agenten, kunnen die in één matrixorganisatie onderworpen zijn aan meerdere andere.
Combinaties - Deze gecombineerde organisatie combineert veel van de bovenstaande stijlen. Dit kan bijvoorbeeld een coalitie zijn of een hiërarchie van teams.
Kunstmatige Intelligentie
Het doel van cognitieve wetenschap is om de aard en werking van kunstmatige intelligentie te begrijpen, dat is wat interne informatie verwerkt om het doelgericht te maken. Veel concepten passen bij deze beschrijving: mensen, computers, robots, sensorische systemen,de lijst is eindeloos. Een type systeem dat van bijzonder belang is voor cognitieve wetenschappers, is de kunstmatige zelf-agent die op informatie inwerkt.
Een intelligent agent (IA) kan beslissingen nemen op basis van zijn ervaring en kan acties kiezen in verschillende situaties. Zoals de term 'kunstmatig' suggereert, is het soort autonome agenten van belang niet iets dat door de natuur is gecreëerd. Daarom is een artificiële agent alles wat door mensen wordt gecreëerd en in staat is te handelen op basis van de informatie die het waarneemt, zijn eigen ervaringen, beslissingen en acties.
Het gebied van buitennatuurlijke intelligentie biedt de technische vaardigheden om gewenste typen agenten te vertalen in een programmeertaal, gerelateerde software en geschikte architectuur (hardware en gerelateerde software) om de agent in de echte of gesimuleerde wereld te implementeren.
Omgeving van de wereld van perceptie
Agent is alles dat de omgeving opneemt via sensoren en erop inwerkt via effectoren, wat eenvoudig genoeg klinkt. Deze definitie van een agent omvat een breed scala aan machines, van thermostaten tot objecten die een klein repertoire aan gedrag kunnen leren.
Sensoren zijn hulpmiddelen die door een agent worden gebruikt om informatie over hun wereld te verzamelen. Het toetsenbord en de camcorder kunnen als sensoren werken als ze aan de agent zijn gekoppeld. Aan het einde van de reactie van het systeem zijn de performers de instrumenten die door de agent worden gebruikt om de omgeving te beïnvloeden. Voorbeelden van effectoren zijn:monitor, printer en robotarm.
Meestal is de omgeving het domein of de wereld van de agent. Deze domeinen moeten, althans voorlopig, worden beperkt tot specifieke soorten situaties om de onbeperkte mogelijkheden van de dagelijkse wereld te vermijden.
Autonoom beïnvloedingssysteem
Een autonome agent is "een systeem binnen en onderdeel van een omgeving dat die omgeving waarneemt en ernaar handelt in de loop van de tijd om zijn eigen agenda uit te voeren en om te beïnvloeden wat hij in de toekomst ervaart". Deze definitie van Franklin en Greisser weerspiegelt alle basisfuncties van intelligente agenten, behalve hun gezelligheid. Dit geeft een goede benadering van de belangrijkste kenmerken van de grote verscheidenheid aan AI's in ontwikkeling.
Dergelijke agenten voelen hun omgeving aan. Maar zintuiglijke gegevens of waarnemingen omvatten hier niet alleen gegevens over andere objecten, maar ook de invloed van de agent zelf op de gang van zaken in de omgeving. Sensoren kunnen organisch zijn, zoals ogen en oren en hun neurale processors, of kunstmatig, zoals video- en audioprocessors die zijn ingebed in een digitale computer. De omgeving kan een zeer beperkt gebied zijn, zoals een afgesloten ruimte, of zeer complex, zoals een aandelenmarkt of een verzameling asteroïden. Sensoren moeten overeenkomen met de soorten objecten waarmee de agent interactie heeft.
Reflex type interactie
De reflectoragent heeft een complexer mechanisme. In plaats van directe dynamiekin relatie tot het milieu zoekt hij in de lijst met regels op wat hij moet doen. De reflexagent reageert op een bepaalde waarneming met een geprogrammeerde reactie. Zelfs als er duizenden mogelijke reacties zijn op een bepaalde perceptie, heeft de agent een ingebouwde lijst met actieregels voor situaties om die reacties uit te voeren die al door de programmeur zijn overwogen. De actieregel voor situaties is in feite een hypothetische imperatief.
Reflexmiddelen zijn echt niet erg helder. Ze kunnen de nieuwigheid gewoon niet aan. De intelligente agent bevat de kenmerken van zijn minder geavanceerde neven, maar is niet zo beperkt. Hij handelt volgens de agenda. Het heeft een reeks doelen die het actief nastreeft. De op het doelwit gebaseerde agent heeft inzicht in de huidige staat van de omgeving en hoe die omgeving doorgaans werkt. Hij streeft belangrijke strategieën of doelen na die niet onmiddellijk kunnen worden bereikt. Dit maakt de agent actief, niet alleen reactief.
Target functioneel hulpprogramma
Bij complexere agenten wordt een huishoudmaatregel toegepast op de verschillende mogelijke handelingen die in de omgeving kunnen worden uitgevoerd. Deze complexe planner is een op service gebaseerde agent. De op service gebaseerde agent evalueert elk scenario om te zien hoe goed het aan bepaalde criteria voldoet om een goed resultaat te krijgen. Zaken als de kans op succes, de middelen die nodig zijn om het scenario te voltooien, het belang van het te bereiken doel, de tijd die het zou kosten, kunnen allemaal worden meegenomen in berekeningen van nutsfuncties.
OmdatAangezien een programmeur doorgaans niet alle staten van de wereld kan voorspellen die een agent zal tegenkomen, zou het aantal regels dat voor een reflexagent zou moeten worden geschreven astronomisch zijn, zelfs in zeer eenvoudige gebieden zoals het plannen van vergaderingen of het organiseren van transportroutes en benodigdheden.
Basisregellus
Gezien de definitie van een intelligente agent, overweeg dan de basisregellus die in 2000 is geschreven door agenttheoreticus Michael Vuladrich:
- vrede bewaren;
- update intern wereldmodel;
- een doelbewust doel bereiken;
- gebruik middelen/doelen om een blauwdruk voor intenties te krijgen;
- het plan uitvoeren;
- beëindig het proces.
Dit patroon heeft wat interpretatie nodig. De agent observeert de wereld - dit betekent dat hij, met behulp van zijn sensoren, waarnemingen verzamelt. De sensor kan een toetsenbord zijn dat is aangesloten op een digitale computer of een visuele processor die is aangesloten op een robot. Het kan van alles zijn waardoor de agent representaties van de wereld kan verzamelen. Door het interne model bij te werken, voegt de agent een nieuwe waarneming toe aan zijn reeks waarnemingen en geprogrammeerde informatie over de wereld.
Ontwikkelplatforms voor meerdere agenten
AnyLogic is een open source multi-agent en multi-component CORMAS simulatiesoftware gebaseerd op de objectgeoriënteerde programmeertaal SmallTalk.
DoMIS is een multi-agent systeemontwerptool gericht op "operationele controle van complexe systemen" en gebaseerd op de B-ADSC-ontwerpmethode.
JACK is een programmeertaal en ontwikkelomgeving voor cognitieve agents, ontwikkeld door Agent Oriented Software als een agentgerichte uitbreiding van de Java-taal.
GAMA is een open source modelleringsplatform (LGPL) dat een ruimtelijk expliciete, op agenten gebaseerde modelleringsomgeving biedt met GIS-gegevens om agenten en hun omgeving te beschrijven.
JADE (Java Agent DEVELOPMENT) is een open source multi-agent ontwikkelingsraamwerk gebaseerd op de Java-taal.
Zeven modellen van de standaard
In het evolutionaire proces van onderzoek is er meer input over hoe een systeem te creëren dat betrouwbaar is en een hoger kwaliteitsniveau vertegenwoordigt. De trend om door te gaan is het aanvullen of uitbreiden van bestaande methoden die erin zijn geslaagd de besluitvorming binnen ontwikkeling te consolideren.
De methodologische standaard maakt het op een begrijpelijke en eenvoudige manier mogelijk om een MAC te maken, niet alleen met behulp van natuurlijke taal, maar ook met behulp van beschrijvingssjablonen die helpen bij systeemspecificatie.
De methodologische standaard biedt zeven modellen van problemen of hun oplossingen voor het bouwen van MAC:
- Een scenariomodel dat een bedrijf of organisatie beschrijft.
- Het doelen- en doelstellingenmodel definieert en beschrijft de organische structuur.
- Het agentmodel definieert mensen en autonome systemen.
- Het rolmodel associeert doelen en doelstellingen met een bepaalde agent.
- Het organisatiemodel beschrijft de omgeving waaraan een individuele agent is gekoppeld.
- Het interactiemodel beschrijft de relatie en benadrukt hun coördinatie van agenten.
- Het ontwerpmodel definieert de agent- en netwerkarchitectuur.
Voorbeelden van interactie tussen agenten
MAS worden gebruikt om de interactie tussen autonome agenten te simuleren. Het gebruik van multi-agentsystemen, bijvoorbeeld in de sociologie, maakt het mogelijk om de verschillende agenten die deel uitmaken van de gemeenschap te parametriseren. Door beperkingen toe te voegen, kunt u proberen te begrijpen wat het meest effectieve onderdeel is om het verwachte resultaat te bereiken. Ze moeten experimenteren met scenario's die om technische of ethische redenen niet haalbaar zijn voor echte mensen.
Distributed IA is gemaakt om de complexiteit van grote monolithische niet-natuurlijke inlichtingenprogramma's op te lossen - uitvoering, distributie en gecentraliseerde controle. Om een complex probleem op te lossen is het soms makkelijker om samen relatief kleine programma's (agents) te maken dan één groot monolithisch programma. Dankzij autonomie kan het systeem zich dynamisch aanpassen aan onvoorziene veranderingen in de omgeving.
Voorbeelden van multi-agent systemen in de game-industrie zijn talrijk en gevarieerd. Ze worden gebruikt in videogames en films, waaronder de MASSIVE-software, bijvoorbeeld om de beweging van het publiek te simuleren in de Lord of the Rings-trilogie. Ze mogen ookgebruikt door bedrijven, bijvoorbeeld om het gedrag van klanten die op websites surfen te volgen.
MAS worden ook gebruikt in de financiële wereld. Het MetaTrader 4-platform maakt bijvoorbeeld het gebruik van deskundige agenten mogelijk bij geautomatiseerde handel die Forex-koersen volgen
Voordelen van het gebruik van het systeem
In IA-onderzoek is op agent gebaseerde systeemtechnologie omarmd als een nieuw paradigma voor het conceptualiseren, ontwerpen en implementeren van softwaresystemen. Voordelen van de multi-MAS-aanpak:
- Deelt computerbronnen en -mogelijkheden via een netwerk van onderling verbonden agenten.
- Maakt interconnectie en interoperabiliteit van meerdere bestaande legacy-systemen mogelijk.
- Bestrijkt verschillende gebieden, waaronder vliegtuigonderhoud, e-wallets voor boeken, militaire mijnopruiming, draadloze communicatie en communicatie, militaire logistieke planning, supply chain managementsysteem, gezamenlijke missieplanning, financieel portefeuillebeheer.
In onderzoek is IA-technologie voor op agenten gebaseerde systemen omarmd als een nieuw paradigma voor het conceptualiseren, ontwerpen, implementeren en leren door meerdere agenten van softwaresystemen.
MAC is dus een losjes gekoppeld netwerk van softwareagenten die samenwerken om problemen op te lossen die verder gaan dan het individuele vermogen of de kennis van elke probleemmaker.