Multiagentsystem: struktur, konstruktionsprinciper, tillämpning. Artificiell intelligens

Innehållsförteckning:

Multiagentsystem: struktur, konstruktionsprinciper, tillämpning. Artificiell intelligens
Multiagentsystem: struktur, konstruktionsprinciper, tillämpning. Artificiell intelligens
Anonim

Syftet med multi-agent system (MAS) är att koordinera oberoende processer. En agent är en datorenhet i form av ett program eller en robot. En agent kan anses vara autonom eftersom den kan anpassa sig när dess miljö förändras. En MAC består av en uppsättning datorprocesser som sker samtidigt och som existerar samtidigt, delar gemensamma resurser och kommunicerar med varandra. Huvudproblemet i MAC är formaliseringen av samordningen mellan agenter.

Definiera system för flera agenter

Definition av multi-agent system
Definition av multi-agent system

MAC är ett framåtblickande tillvägagångssätt för mjukvaruutveckling för applikationer i komplexa domäner där interagerande applikationskomponenter är autonoma och distribuerade, fungerar i dynamiska och osäkra miljöer, måste följa vissa organisatoriska regler och lagar och kan gå med och lämna ett system med flera agenter under körning.

Exempel på sådana applikationer är system somhantera och optimera produktion och distribution av el mellan konsumenter eller system som optim alt planerar laster i transportsystem. Utvecklingen av system för flera agenter kräver skapandet av separata agenter, organisationer och miljöer.

Programmeringsspråk tillhandahåller programmeringskonstruktioner för att implementera individuella agenter i termer av sociala och kognitiva begrepp som information, mål, alternativ, normer, känslor och beslutsregler.

Multiagentorganisationer i termer av sociala och organisatoriska koncept har roller, utrustade med normer, kommunikationsprotokoll, resurser som är föremål för övervakning. De utvecklade programmeringsspråken och ramverken används för att skapa agentbaserade simuleringar för många industrier av kontinuerlig produktion: elektricitet, metallurgi, hälsovård, internet, transport, trafikledning och seriösa spel.

MAS skiljer sig från system med ensamagent genom att de har flera agenter som modellerar varandras mål och handlingar. I ett generellt scenario kan det finnas direkt interaktion mellan agenter. Ur en enskild agents synvinkel skiljer sig multiagentsystem mest signifikant från system med en enskild agent genom att omgivningens dynamik kan bestämmas av andra agenter. Förutom den osäkerhet som kan vara inneboende i en domän, påverkar andra agenter medvetet miljön på oförutsägbara sätt.

Alla MAC-enheter kan alltså anses ha dynamiska miljöer, vilket är typiskt för modernamulti-agent system. Det kan finnas hur många agenter som helst med olika grader av heterogenitet, med eller utan möjlighet till direkt kommunikation.

MAS-arkitektur

Arkitektur av MAC-system
Arkitektur av MAC-system

Agenter måste vara utrustade med en kognitiv modell:

  • beliefs;
  • önskningar;
  • intentions.

Å ena sidan läser han "Beliefs" om miljön, som är resultatet av hans kunskap och uppfattningar, och å andra sidan en uppsättning "Desires". Att korsa dessa två uppsättningar resulterar i en ny uppsättning "Intentioner" som sedan direkt översätts till handlingar.

Agenter måste ha ett kommunikationssystem. Det finns flera specialiserade språk för detta ändamål: Language Query och Manipulation Language (KQML). Nyligen har FIPA-ACL-standarden, skapad av FIPA Foundation for Intelligent Physical Agents, cirkulerats. Denna sista princip för att bygga system med flera agenter är baserad på teorin om talhandlingar.

Problemet med anpassning är en svår fråga som för närvarande är föremål för mycket forskning. Man kan ge ett exempel på vissa virus, både biologiska och datorer, som kan anpassa sig till en mutant miljö.

Äntligen, en effektiv implementering av MAC, även om den inte strikt sett är en del av systemarkitekturen, förtjänar uppmärksamhet i de många programmeringsspråk som har utvecklats för studier av artificiell intelligens. Särskilt nämns LISP-språket. Dessa arkitektoniska element appliceras på ett system som består av kognitivaagenter.

Kategorier eller modeller av agenter

Klassificeringen av medel baseras på två kriterier: kognitiva medel eller reagens som å ena sidan uppvisar ett teleonomiskt beteende eller en reflex. Den distinktion som kan göras mellan kognitiv och reaktiv är i huvudsak en representation av världen som är tillgänglig för agenten. Om en individ är utrustad med en "symbolisk representation" av världen från vilken han kan formulera resonemang, så talar man om en kognitiv agent, medan om han bara har en "subsymbolisk representation", det vill säga begränsad till sina uppfattningar, man talar om ett reaktivt medel. Denna kognitiva och reaktiva distinktion motsvarar två teoretiska skolor av multiagentsystem.

Den första stöder den grundläggande strategin för "smarta" agenter för samarbete ur en sociologisk synvinkel. I den andra studeras möjligheten för uppkomsten av "smart" beteende hos en uppsättning icke-intelligenta medel (myrtyp). Den andra skillnaden mellan beteendebeteende och reflex skiljer avsiktligt beteende, strävan efter explicita mål, från perceptuellt beteende. Agenternas tendenser kan alltså uttryckligen uttryckas i agenter eller omvänt komma från omgivningen. Tabell som grupperar olika typer av agenter:

  1. Kognitiva agenter.
  2. Reaktiva medel.
  3. Telenomiskt beteende.
  4. Avsiktliga agenter.
  5. Managed agents.
  6. Reflexbeteende.
  7. Agents "moduler".
  8. Tropiska agenter.

Kognitiva agenter är mestadels avsiktliga, d.v.s.de har fasta mål som de försöker uppnå. Men ibland används agenter som kallas moduler, som har en uppfattning om sitt "universum" utan specifika mål. De kan till exempel tjäna till att svara på frågor från andra agenter i "universum".

Reagenser kan delas in i ställdon och tropiska medel. Den instinktiva agenten kommer att ha ett fast uppdrag och kommer att utlösa ett beteende om den ser att miljön inte längre passar sitt tilldelade syfte. Tropiskt medel reagerar bara på det lokala tillståndet i miljön, till exempel om det finns ljus, då rinner det. Källan till motivation i det interna fallet med drivagenter som har ett "uppdrag" avser endast miljön.

Organisationsparadigm

Organisatoriska paradigm
Organisatoriska paradigm

Med utvecklingen av sådana system har olika organisatoriska paradigm utvecklats. Dessa strukturer av multiagentsystem sätter ramarna för relationer och interaktioner mellan agenter.

Hierarkier. I den här modellen är agenter hierarkiska enligt en trädstruktur där varje nod är en agent och har en behörighetslänk på sina undernoder. Den här modellen förstör det övergripande syftet med systemet.

Holarchy närmar sig hierarkin. Det finns inget auktoritetsförhållande mellan en agent och dess undergrupp.

En koalition är en tillfällig allians av agenter som går samman och samarbetar för att deras personliga intressen möts. Värdet på koalitionen måste vara större än summan av de individuella värdena för agentkomponenterna.

Församlingar är mycket som koalitioner ochkommandon. Men de är avsedda att vara permanenta och har vanligtvis flera mål att uppnå. Dessutom kan ombud gå in i och lämna församlingar och tillhöra flera samtidigt.

Samhället är en uppsättning olika agenter som interagerar och kommunicerar. De har olika mål, har inte samma nivå av rationalitet och samma förmåga, men de lyder alla gemensamma lagar (normer).

Federationsagenter ger en del av sin autonomi till sin grupps delegat. Gruppagenter interagerar endast med sin delegat, som i sin tur interagerar med delegater från andra grupper.

Försäljningsagenter erbjuder varor som köparens agenter kan göra anspråk på. Denna typ av organisation gör det möjligt att till exempel simulera verkliga marknader och jämföra olika handelsstrategier.

Matrix organisationsagenter är hierarkiska. Men till skillnad från hierarkin som presenteras ovan, där en agent endast är underordnad ett fåtal andra agenter, kan de i en matrisorganisation vara föremål för flera andra.

Kombinationer – Denna kombinerade organisation blandar många av stilarna ovan. Detta kan till exempel vara en koalition eller en hierarki av lag.

Artificiell intelligens

Artificiell intelligens
Artificiell intelligens

Målet med kognitionsvetenskap är att förstå artificiell intelligenss natur och funktion, vilket är det som bearbetar intern information för att göra den ändamålsenlig. Många begrepp passar denna beskrivning: människor, datorer, robotar, sensoriska system,listan är oändlig. En typ av system av särskilt intresse för kognitionsforskare är den konstgjorda självagenten som verkar på information.

En intelligent agent (IA) kan fatta beslut baserat på sin erfarenhet och kan välja åtgärder i olika situationer. Som termen "konstgjord" antyder, är den typ av autonoma intresseagenter inte något skapat av naturen. Därför är en artificiell agent allt som skapas av människor, kapabelt att agera utifrån den information som den uppfattar, sina egna erfarenheter, beslut och handlingar.

Fältet extra-naturlig intelligens ger tekniska färdigheter för att översätta önskade typer av agenter till ett programmeringsspråk, relaterad programvara och lämplig arkitektur (hårdvara och relaterad programvara) för att implementera agenten i den verkliga eller simulerade världen.

Environment of the world of perception

Miljön i perceptionsvärlden
Miljön i perceptionsvärlden

Agent är allt som tar in miljön genom sensorer och verkar på den genom effektorer, vilket låter enkelt nog. Denna definition av en agent täcker ett brett spektrum av maskiner, från termostater till föremål som faktiskt kan lära sig en liten repertoar av beteende.

Sensorer är verktyg som används av en agent för att samla in information om sin värld. Tangentbordet och videokameran kan fungera som sensorer om de är kopplade till agenten. I slutet av systemets svar är artisterna de verktyg som agenten använder för att påverka miljön. Exempel på effektorer ärmonitor, skrivare och robotarm.

Vanligtvis är miljön agentens domän eller värld. Dessa domäner, åtminstone för nu, bör begränsas till specifika typer av situationer för att undvika de obegränsade möjligheterna i den vardagliga världen.

Autonomous Influence System

Autonomt slagsystem
Autonomt slagsystem

An Autonomous Agent är "ett system inom och en del av en miljö som uppfattar den miljön och agerar på den över tid för att genomföra sin egen agenda och för att påverka vad den upplever i framtiden". Denna definition av Franklin och Greisser återspeglar alla grundläggande funktioner hos intelligenta agenter, förutom deras sällskaplighet. Detta ger en bra uppskattning av huvuddragen i det stora utbudet av AI:er under utveckling.

Sådana agenter känner sin omgivning. Men här inkluderar sensoriska data eller uppfattningar inte bara data om andra föremål, utan också agentens inflytande på tillståndet i miljön. Sensorer kan vara organiska, såsom ögon och öron och deras neurala processorer, eller konstgjorda, såsom video- och ljudprocessorer inbäddade i en digital dator. Miljön kan vara ett mycket begränsat område, som ett slutet utrymme, eller mycket komplext, som en aktiemarknad eller en samling asteroider. Sensorer måste matcha de typer av objekt som agenten interagerar med.

Reflextyp av interaktion

Reflektormedlet har en mer komplex mekanism. Istället för direkt dynamiki förhållande till miljön letar han efter vad han måste göra i regellistan. Reflexmedlet svarar på en given perception med ett programmerat svar. Även om det finns tusentals möjliga svar på en given uppfattning, har agenten en inbyggd lista över situationsåtgärdsregler för att utföra de svar som redan har övervägts av programmeraren. Situationsåtgärdsregeln är i grunden en hypotetisk imperativ.

Reflexmedel är verkligen inte särskilt ljusa. De klarar helt enkelt inte av nyheten. Den intelligenta agenten innehåller egenskaperna hos sina mindre sofistikerade kusiner, men är inte lika begränsad. Han agerar enligt agendan. Den har en uppsättning mål som den aktivt eftersträvar. Den målbaserade agenten har en förståelse för miljöns nuvarande tillstånd och hur den miljön vanligtvis fungerar. Han eftersträvar stora strategier eller mål som inte kan uppnås omedelbart. Detta gör agenten aktiv, inte bara reaktiv.

Target funktionellt verktyg

I mer komplexa medel tillämpas en hushållsåtgärd på de olika möjliga åtgärder som kan utföras i miljön. Denna komplexa schemaläggare är en tjänstebaserad agent. Den tjänstebaserade agenten kommer att utvärdera varje scenario för att se hur väl det uppnår vissa kriterier för att få ett bra resultat. Saker som sannolikheten för framgång, resurserna som behövs för att slutföra scenariot, vikten av målet som ska uppnås, tiden det skulle ta, kan alla tas med i beräkningar av nyttofunktioner.

För attEftersom en programmerare vanligtvis inte kan förutsäga alla tillstånd i världen som en agent kommer att möta, skulle antalet regler som skulle behöva skrivas för en reflexagent vara astronomiska även i mycket enkla områden som att schemalägga möten eller organisera transportrutter och förnödenheter.

Basic control loop

Med tanke på definitionen av en intelligent agent, överväg den grundläggande kontrollslingan som skrevs av agentteoretikern Michael Vuladrich 2000:

  • bevara fred;
  • uppdatera intern världsmodell;
  • uppnå en avsiktlig avsikt;
  • använd medel/ändamål för att få en plan för avsikter;
  • verkställ planen;
  • avsluta processen.

Det här mönstret behöver tolkas. Agenten observerar världen - det betyder att han, med hjälp av sina sensorer, samlar uppfattningar. Sensorn kan vara ett tangentbord anslutet till en digital dator eller en visuell processor ansluten till en robot. Det kan vara vad som helst som gör att agenten kan samla representationer av världen. Att uppdatera den interna modellen innebär att agenten lägger till en ny uppfattning till sin sekvens av uppfattningar och programmerad information om världen.

Multi-Agent Development Platforms

Utvecklingsplattformar för flera agenter
Utvecklingsplattformar för flera agenter

AnyLogic är en CORMAS-simuleringsprogramvara med öppen källkod för flera agenter och flera komponenter baserad på det objektorienterade programmeringsspråket SmallTalk.

DoMIS är ett systemdesignverktyg för flera agenter fokuserat på "operativ kontroll av komplexa system" och baserat på B-ADSC-designmetoden.

JACK är ett programmeringsspråk och utvecklingsmiljö för kognitiva agenter utvecklat av Agent Oriented Software som en agentorienterad förlängning av Java-språket.

GAMA är en modellplattform med öppen källkod (LGPL) som erbjuder en rumsligt explicit agentbaserad modelleringsmiljö som använder GIS-data för att beskriva agenter och deras miljö.

JADE (Java Agent DEVELOPMENT) är ett utvecklingsramverk för flera agenter med öppen källkod baserat på Java-språket.

Sju modeller av standarden

I den evolutionära forskningsprocessen finns det mer input om hur man skapar ett system som är tillförlitligt och representerar en högre kvalitetsnivå. Trenden att fortsätta är att komplettera eller utöka befintliga metoder som har lyckats konsolidera beslutsfattande inom utveckling.

Den metodologiska standarden tillåter, på ett begripligt och enkelt sätt, att skapa en MAC, inte bara med naturligt språk, utan också med hjälp av beskrivningsmallar som hjälper till med systemspecifikation.

Den metodologiska standarden erbjuder sju modeller av problem eller deras lösningar för att bygga MAC:

  1. En scenariomodell som beskriver ett företag eller en organisation.
  2. Mål- och målmodellen definierar och beskriver den organiska strukturen.
  3. Agentmodellen definierar människor och autonoma system.
  4. Förebilden förknippar mål och mål med en viss agent.
  5. Organisationsmodellen beskriver den miljö som en enskild agent är associerad till.
  6. Interaktionsmodellen beskriver relationen och betonar deras samordning av agenter.
  7. Designmodellen definierar agent- och nätverksarkitekturen.

Exempel på interaktion mellan agenter

Exempel på multiagentsystem
Exempel på multiagentsystem

MAS används för att simulera interaktionen mellan autonoma agenter. Användningen av multi-agent-system, till exempel inom sociologin, gör det möjligt att parametrisera de olika agenter som utgör samhället. Genom att lägga till begränsningar kan du försöka förstå vad som kommer att vara den mest effektiva komponenten för att uppnå det förväntade resultatet. De bör experimentera med scenarier som inte skulle vara möjliga för verkliga människor, varken av tekniska eller etiska skäl.

Distribuerad IA skapades för att lösa komplexiteten hos stora monolitiska icke-naturliga intelligensprogram - exekvering, distribution och centraliserad kontroll. För att lösa ett komplext problem är det ibland lättare att skapa relativt små program (agenter) i samarbete än ett stort monolitiskt program. Autonomi tillåter systemet att dynamiskt anpassa sig till oförutsedda förändringar i miljön.

Exemplen på multiagentsystem i spelbranschen är många och varierande. De används i videospel och filmer, inklusive mjukvaran MASSIVE, till exempel för att simulera publikrörelser i Sagan om ringen-trilogin. De kan ocksåanvänds av företag, till exempel, för att spåra beteendet hos kunder som surfar på webbplatser.

MAS används också inom finansvärlden. Till exempel tillåter MetaTrader 4-plattformen användning av expertagenter i automatiserad handel som följer valutakurser

Fördelar med att använda systemet

Inom IA-forskning har agentbaserad systemteknik anammats som ett nytt paradigm för konceptualisering, design och implementering av mjukvarusystem. Fördelar med multi-MAS-metoden:

  1. Delar datorresurser och kapacitet över ett nätverk av sammankopplade agenter.
  2. Tillåter sammankoppling och interoperabilitet för flera befintliga äldre system.
  3. Täcker olika områden inklusive flygplansunderhåll, e-plånböcker för böcker, militär minröjning, trådlös kommunikation och kommunikation, militär logistikplanering, supply chain management system, samarbetsuppdragsplanering, finansiell portföljförv altning.

I forskning har IA-teknik för agentbaserade system anammats som ett nytt paradigm för konceptualisering, design, implementering och multi-agent-inlärning av programvarusystem.

MAC är alltså ett löst kopplat nätverk av mjukvaruagenter som interagerar för att lösa problem utöver varje problemmakares individuella förmåga eller kunskap.

Rekommenderad: