Multi-agent-systemer: struktur, konstruksjonsprinsipper, anvendelse. Kunstig intelligens

Innholdsfortegnelse:

Multi-agent-systemer: struktur, konstruksjonsprinsipper, anvendelse. Kunstig intelligens
Multi-agent-systemer: struktur, konstruksjonsprinsipper, anvendelse. Kunstig intelligens
Anonim

Hensikten med multi-agent systems (MAS) er å koordinere uavhengige prosesser. En agent er en datamaskinenhet i form av et program eller en robot. En agent kan betraktes som autonom fordi den er i stand til å tilpasse seg når omgivelsene endres. En MAC består av et sett med dataprosesser som skjer på samme tid og eksisterer samtidig, deler felles ressurser og kommuniserer med hverandre. Hovedproblemet i MAC er formalisering av koordinering mellom agenter.

Definere multi-agent-systemer

Definisjon av multi-agent systemer
Definisjon av multi-agent systemer

MAC er en fremtidsrettet tilnærming til programvareutvikling for applikasjoner i komplekse domener der samvirkende applikasjonskomponenter er autonome og distribuerte, opererer i dynamiske og usikre miljøer, må overholde noen organisatoriske regler og lover, og kan bli med og forlate et multiagentsystem under kjøring.

Eksempler på slike applikasjoner er systemer somstyre og optimalisere produksjon og distribusjon av elektrisitet mellom forbrukere eller systemer som optim alt planlegger last i transportsystemer. Utviklingen av multiagentsystemer krever opprettelse av separate agenter, organisasjoner og miljøer.

Programmeringsspråk tilbyr programmeringskonstruksjoner for å implementere individuelle agenter når det gjelder sosiale og kognitive konsepter som informasjon, mål, alternativer, normer, følelser og beslutningsregler.

Multi-agent organisasjoner når det gjelder sosiale og organisatoriske konsepter har roller, utstyrt med normer, kommunikasjonsprotokoller, ressurser som er gjenstand for overvåking. De utviklede programmeringsspråkene og rammeverket brukes til å lage agentbaserte simuleringer for mange bransjer med kontinuerlig produksjon: elektrisitet, metallurgi, helsevesen, Internett, transport, trafikkstyring og seriøse spill.

MAS skiller seg fra enkeltagentsystemer ved at de har flere agenter som modellerer hverandres mål og handlinger. I et generelt scenario kan det være direkte interaksjon mellom agenter. Fra synspunktet til en enkelt agent, skiller multi-agent-systemer seg mest fra systemer med en enkelt agent ved at dynamikken i miljøet kan bestemmes av andre agenter. I tillegg til usikkerheten som kan være iboende i et domene, påvirker andre agenter miljøet bevisst på uforutsigbare måter.

Dermed kan alle MAC-er betraktes som å ha dynamiske miljøer, noe som er typisk for modernemulti-agent systemer. Det kan være et hvilket som helst antall agenter med ulik grad av heterogenitet, med eller uten mulighet for direkte kommunikasjon.

MAS-arkitektur

Arkitektur av MAC-systemer
Arkitektur av MAC-systemer

Agenter må være utstyrt med en kognitiv modell:

  • beliefs;
  • ønsker;
  • intensjoner.

På den ene siden leser han «Beliefs» om miljøet, som er et resultat av hans kunnskap og oppfatninger, og på den andre et sett med «Desires». Kryss av disse to settene resulterer i et nytt sett med "intensjoner" som deretter blir direkte oversatt til handlinger.

Agenter må ha et kommunikasjonssystem. Det er flere spesialiserte språk for dette formålet: Language Query og Manipulation Language (KQML). Nylig har FIPA-ACL-standarden, laget av FIPA Foundation for Intelligent Physical Agents, blitt sirkulert. Dette siste prinsippet for å bygge multiagentsystemer er basert på teorien om talehandlinger.

Problemet med tilpasning er en vanskelig problemstilling som for tiden er gjenstand for mye forskning. Man kan gi et eksempel på noen virus, både biologiske og datamaskiner, som kan tilpasse seg et mutantmiljø.

Til slutt fortjener en effektiv implementering av MAC, selv om den strengt tatt ikke er en del av systemarkitekturen, oppmerksomhet i de mange programmeringsspråkene som er utviklet for studiet av kunstig intelligens. Spesielt nevnes LISP-språket. Disse arkitektoniske elementene brukes på et system som består av kognitiveagenter.

Kategorier eller modeller av agenter

Klassifiseringen av midler er basert på to kriterier: kognitive midler eller reagenser som på den ene siden viser teleonomisk atferd, eller en refleks. Skillet som kan gjøres mellom kognitiv og reaktiv er i hovedsak en representasjon av verden tilgjengelig for agenten. Hvis et individ er utstyrt med en "symbolsk representasjon" av verden som han kan formulere resonnement fra, så snakker man om en kognitiv agent, mens hvis han bare har en "sub-symbolsk representasjon", det vil si begrenset til hans oppfatninger, man snakker om et reaktivt middel. Denne kognitive og reaktive distinksjonen tilsvarer to teoretiske skoler av multiagentsystemer.

Den første støtter den grunnleggende tilnærmingen til "smarte" agenter for samarbeid fra et sosiologisk synspunkt. I den andre studeres muligheten for fremveksten av "smart" oppførsel av et sett med ikke-intelligente midler (maurtype). Den andre forskjellen mellom atferdsatferd og refleks skiller forsettlig atferd, jakten på eksplisitte mål, fra perseptuell atferd. Tendensene til agenter kan således uttrykkes eksplisitt i agenter eller omvendt komme fra miljøet. Tabell som grupperer ulike typer agenter:

  1. Kognitive agenter.
  2. Reaktive agenter.
  3. Telenomisk oppførsel.
  4. Forsettlige agenter.
  5. Administrerte agenter.
  6. Refleksatferd.
  7. Agents "moduler".
  8. Tropiske agenter.

Kognitive agenter er for det meste tilsiktede, dvs.de har faste mål som de prøver å oppnå. Noen ganger brukes imidlertid agenter k alt moduler, som har en ide om deres "univers" uten spesifikke mål. De kan for eksempel tjene til å svare på spørsmål fra andre agenter i "universet".

Reagenser kan deles inn i aktuatorer og tropiske midler. Den instinktive agenten vil ha et fast oppdrag og vil utløse en atferd hvis den ser at miljøet ikke lenger passer det tildelte formålet. Tropisk middel reagerer bare på den lokale tilstanden til miljøet, for eksempel hvis det er lys, så renner det. Kilden til motivasjon i det interne tilfellet med drivende agenter som har et "oppdrag" refererer bare til miljøet.

Organisasjonsparadigmer

Organisatoriske paradigmer
Organisatoriske paradigmer

Med utviklingen av slike systemer har ulike organisatoriske paradigmer blitt utviklet. Disse strukturene til multiagentsystemer setter rammeverket for relasjoner og interaksjoner mellom agenter.

Hierarkier. I denne modellen er agenter hierarkiske i henhold til en trestruktur der hver node er en agent og har en tillatelseslenke på sine undernoder. Denne modellen ødelegger det overordnede formålet med systemet.

Holarchy nærmer seg hierarkiet. Det er ingen autoritetsforhold mellom en agent og dens undergruppe.

En koalisjon er en midlertidig allianse av agenter som kommer sammen og samarbeider fordi deres personlige interesser møtes. Verdien av koalisjonen må være større enn summen av de individuelle verdiene til agentkomponentene.

Forsamlinger er veldig som koalisjoner ogkommandoer. Imidlertid er de ment å være permanente og har vanligvis flere mål å oppnå. I tillegg kan agenter gå inn og ut av menigheter og tilhøre flere samtidig.

Samfunnet er et sett med ulike agenter som samhandler og kommuniserer. De har forskjellige mål, har ikke samme rasjonalitetsnivå og samme evner, men de følger alle vanlige lover (normer).

Federasjonsagenter gir noe av sin autonomi til gruppens delegat. Gruppeagenter samhandler bare med delegaten sin, som igjen samhandler med delegater fra andre grupper.

Salgsagenter tilbyr varer som kjøpers agenter kan gjøre krav på. Denne typen organisasjoner gjør det for eksempel mulig å simulere virkelige markeder og sammenligne ulike handelsstrategier.

Matrix-organisasjonsagenter er hierarkiske. Men i motsetning til hierarkiet presentert ovenfor, der en agent bare er underordnet noen få andre agenter, kan de i én matriseorganisasjon være underlagt flere andre.

Kombinasjoner – Denne kombinerte organisasjonen blander mange av stilene ovenfor. Dette kan for eksempel være en koalisjon eller et hierarki av lag.

Artificial Intelligence

Kunstig intelligens
Kunstig intelligens

Målet med kognitiv vitenskap er å forstå arten og virkemåten til kunstig intelligens, som er det som behandler intern informasjon for å gjøre den målrettet. Mange konsepter passer til denne beskrivelsen: mennesker, datamaskiner, roboter, sensoriske systemer,listen er uendelig. En type system av spesiell interesse for kognitive forskere er den kunstige selvagenten som virker på informasjon.

En intelligent agent (IA) er i stand til å ta beslutninger basert på sin erfaring og kan velge handlinger i forskjellige situasjoner. Som begrepet "kunstig" antyder, er ikke den typen autonome agenter av interesse noe skapt av naturen. Derfor er en kunstig agent alt som er skapt av mennesker, i stand til å handle på grunnlag av informasjonen den oppfatter, sine egne erfaringer, beslutninger og handlinger.

Fagtet med ekstra-naturlig intelligens gir de tekniske ferdighetene til å oversette ønskede typer agenter til et programmeringsspråk, relatert programvare og passende arkitektur (maskinvare og relatert programvare) for å implementere agenten i den virkelige eller simulerte verden.

Environment of the world of perseption

Miljøet i persepsjonens verden
Miljøet i persepsjonens verden

Agent er alt som tar inn miljøet gjennom sensorer og virker på det gjennom effektorer, noe som høres enkelt nok ut. Denne definisjonen av en agent dekker et bredt spekter av maskiner, fra termostater til objekter som faktisk kan lære et lite repertoar av atferd.

Sensorer er verktøy som brukes av en agent for å samle inn informasjon om deres verden. Tastaturet og videokameraet kan fungere som sensorer hvis de er tilknyttet agenten. På slutten av systemets respons er utøverne verktøyene som brukes av agenten for å påvirke miljøet. Eksempler på effektorer ermonitor, skriver og robotarm.

Vanligvis er miljøet agentens domene eller verden. Disse domenene, i det minste for nå, bør begrenses til spesifikke typer situasjoner for å unngå de ubegrensede mulighetene i hverdagen.

Autonomous Influence System

Autonomt slagsystem
Autonomt slagsystem

An Autonomous Agent er "et system i og en del av et miljø som oppfatter det miljøet og handler på det over tid for å gjennomføre sin egen agenda og for å påvirke hva det opplever i fremtiden". Denne definisjonen av Franklin og Greisser gjenspeiler alle de grunnleggende funksjonene til intelligente agenter, bortsett fra deres sosialitet. Dette gir en god tilnærming til hovedtrekkene til det store utvalget av AI-er under utvikling.

Slike agenter føler miljøet sitt. Men her inkluderer sensoriske data eller oppfatninger ikke bare data om andre objekter, men også påvirkningen fra selve agenten på tingenes tilstand i miljøet. Sensorer kan være organiske, for eksempel øyne og ører og deres nevrale prosessorer, eller kunstige, for eksempel video- og lydprosessorer innebygd i en digital datamaskin. Miljøet kan være et svært begrenset område, som et lukket rom, eller veldig komplekst, som et aksjemarked eller en samling av asteroider. Sensorer må samsvare med typene objekter agenten samhandler med.

Reflekstype interaksjon

Refleksmidlet har en mer kompleks mekanisme. I stedet for direkte dynamikki forhold til miljø ser han etter hva han må gjøre i regellisten. Refleksagenten reagerer på en gitt oppfatning med en programmert respons. Selv om det er tusenvis av mulige svar på en gitt oppfatning, har agenten en innebygd liste over situasjonshandlingsregler for å utføre de svarene som allerede er vurdert av programmereren. Situasjonshandlingsregelen er i utgangspunktet et hypotetisk imperativ.

Refleksmidler er egentlig ikke særlig skarpe. De kan bare ikke håndtere nyheten. Den intelligente agenten inneholder funksjonene til sine mindre sofistikerte kusiner, men er ikke like begrenset. Han handler i henhold til agendaen. Den har et sett med mål som den aktivt forfølger. Den målbaserte agenten har en forståelse av den nåværende tilstanden til miljøet og hvordan det miljøet vanligvis fungerer. Han forfølger store strategier eller mål som ikke kan oppnås umiddelbart. Dette gjør agenten aktiv, ikke bare reaktiv.

Målfunksjonelt verktøy

I mer komplekse agenter brukes et rengjøringstiltak på de ulike mulige handlingene som kan utføres i miljøet. Denne komplekse planleggeren er en tjenestebasert agent. Den tjenestebaserte agenten vil evaluere hvert scenario for å se hvor godt det oppnår visse kriterier for å få et godt resultat. Ting som sannsynligheten for suksess, ressursene som trengs for å fullføre scenariet, viktigheten av målet som skal oppnås, tiden det vil ta, kan alle tas med i beregninger av nyttefunksjoner.

FordiSiden en programmerer vanligvis ikke kan forutsi alle tilstander i verden en agent vil møte, vil antallet regler som må skrives for en refleksagent være astronomiske selv i svært enkle områder som å planlegge møter eller organisere transportruter og forsyninger.

Grunnleggende kontrollsløyfe

Gitt definisjonen av en intelligent agent, vurder den grunnleggende kontrollsløyfen skrevet av agentteoretikeren Michael Vuladrich i 2000:

  • hold fred;
  • oppdater intern verdensmodell;
  • oppnå en bevisst hensikt;
  • bruk midler/mål for å få en plan for intensjoner;
  • utfør planen;
  • avslutt prosessen.

Dette mønsteret trenger litt tolkning. Agenten observerer verden - dette betyr at han, ved hjelp av sensorene sine, samler oppfatninger. Sensoren kan være et tastatur koblet til en digital datamaskin eller en visuell prosessor koblet til en robot. Det kan være alt som lar agenten samle representasjoner av verden. Oppdatering av den interne modellen betyr at agenten legger til en ny oppfatning til sin sekvens av oppfatninger og programmert informasjon om verden.

Multi-Agent Development Platforms

Utviklingsplattformer for flere agenter
Utviklingsplattformer for flere agenter

AnyLogic er en åpen kildekode multi-agent og multi-komponent CORMAS simuleringsprogramvare basert på det objektorienterte programmeringsspråket SmallTalk.

DoMIS er et multi-agent systemdesignverktøy fokusert på "operativ kontroll av komplekse systemer" og basert på B-ADSC designmetoden.

JACK er et programmeringsspråk og utviklingsmiljø for kognitive agenter utviklet av Agent Oriented Software som en agentorientert utvidelse av Java-språket.

GAMA er en åpen kildekode-modelleringsplattform (LGPL) som tilbyr et romlig eksplisitt agentbasert modelleringsmiljø som bruker GIS-data for å beskrive agenter og deres miljø.

JADE (Java Agent DEVELOPMENT) er et åpen kildekode multi-agent utviklingsrammeverk basert på Java-språket.

Syv modeller av standarden

I den evolusjonære forskningsprosessen er det flere innspill til hvordan man kan lage et system som er pålitelig og representerer et høyere kvalitetsnivå. Trenden for å fortsette er å komplementere eller utvide eksisterende metoder som har klart å konsolidere beslutningstaking innen utvikling.

Den metodiske standarden tillater, på en forståelig og enkel måte, å lage en MAC, ikke bare ved å bruke naturlig språk, men også ved å bruke beskrivelsesmaler som hjelper til med systemspesifikasjon.

Den metodiske standarden tilbyr syv modeller av problemer eller deres løsninger for å bygge MAC:

  1. En scenariomodell som beskriver en bedrift eller organisasjon.
  2. Mål- og målmodellen definerer og beskriver den organiske strukturen.
  3. Agentmodellen definerer mennesker og autonome systemer.
  4. Forbildet forbinder mål og mål med en bestemt agent.
  5. Organisasjonsmodellen beskriver miljøet som en individuell agent er knyttet til.
  6. Interaksjonsmodellen beskriver forholdet, og understreker deres koordinering av agenter.
  7. Designmodellen definerer agent- og nettverksarkitekturen.

Eksempler på interaksjon mellom agenter

Eksempler på multiagentsystemer
Eksempler på multiagentsystemer

MAS brukes til å simulere samspillet mellom autonome agenter. Bruken av multi-agent-systemer, for eksempel i sosiologi, gjør det mulig å parameterisere de ulike agentene som utgjør fellesskapet. Ved å legge til begrensninger kan du prøve å forstå hva som vil være den mest effektive komponenten for å oppnå det forventede resultatet. De bør eksperimentere med scenarier som ikke ville vært oppnåelige av ekte mennesker, verken av tekniske eller etiske årsaker.

Distribuert IA ble opprettet for å løse kompleksiteten til store monolitiske ikke-naturlige etterretningsprogrammer – utførelse, distribusjon og sentralisert kontroll. For å løse et komplekst problem er det noen ganger lettere å lage relativt små programmer (agenter) i samarbeid enn ett stort monolittisk program. Autonomi gjør at systemet dynamisk tilpasser seg uforutsette endringer i miljøet.

Eksempler på multiagentsystemer i spillindustrien er mange og varierte. De brukes i videospill og filmer, inkludert MASSIVE-programvaren, for eksempel for å simulere folkebevegelser i Ringenes Herre-trilogien. De kan ogsåbrukes av selskaper, for eksempel, for å spore atferden til kunder som surfer på nettsteder.

MAS brukes også i finansverdenen. For eksempel tillater MetaTrader 4-plattformen bruk av ekspertagenter i automatisert handel som følger valutakurser

Fordeler med å bruke systemet

I IA-forskning har agentbasert systemteknologi blitt omfavnet som et nytt paradigme for konseptualisering, utforming og implementering av programvaresystemer. Fordeler med multi-MAS-tilnærmingen:

  1. Deler dataressurser og -funksjoner på tvers av et nettverk av sammenkoblede agenter.
  2. Tillater sammenkobling og interoperabilitet av flere eksisterende eldre systemer.
  3. Dekker ulike felt, inkludert vedlikehold av fly, e-lommebøker, militær minerydding, trådløs kommunikasjon og kommunikasjon, militær logistikkplanlegging, forsyningskjedestyringssystem, planlegging av samarbeidsoppdrag, finansiell porteføljestyring.

I forskning har IA-teknologi for agentbaserte systemer blitt omfavnet som et nytt paradigme for konseptualisering, design, implementering og multi-agent læring av programvaresystemer.

Dermed er MAC et løst koblet nettverk av programvareagenter som samhandler for å løse problemer utover den individuelle evnen eller kunnskapen til hver problemprodusent.

Anbefalt: