Moniagenttijärjestelmät: rakenne, rakennusperiaatteet, sovellus. Tekoäly

Sisällysluettelo:

Moniagenttijärjestelmät: rakenne, rakennusperiaatteet, sovellus. Tekoäly
Moniagenttijärjestelmät: rakenne, rakennusperiaatteet, sovellus. Tekoäly
Anonim

Multi-agenttijärjestelmien (MAS) tarkoitus on koordinoida itsenäisiä prosesseja. Agentti on tietokonekokonaisuus ohjelman tai robotin muodossa. Agenttia voidaan pitää autonomisena, koska se pystyy mukautumaan ympäristönsä muuttuessa. MAC koostuu joukosta tietokoneprosesseja, jotka tapahtuvat samaan aikaan ja ovat olemassa samaan aikaan, jakavat yhteisiä resursseja ja kommunikoivat keskenään. Keskeinen ongelma MAC:ssa on agenttien välisen koordinoinnin formalisointi.

Moniagenttijärjestelmien määrittely

Moniagenttijärjestelmien määritelmä
Moniagenttijärjestelmien määritelmä

MAC on tulevaisuuteen katsova lähestymistapa ohjelmistokehitykseen monimutkaisten alueiden sovelluksille, joissa vuorovaikutuksessa olevat sovelluskomponentit ovat itsenäisiä ja hajautettuja, toimivat dynaamisissa ja epävarmoissa ympäristöissä, joiden on noudatettava joitain organisaatiosääntöjä ja lakeja ja jotka voivat liittyä ja lähteä. usean agentin järjestelmä ajon aikana.

Esimerkkejä tällaisista sovelluksista ovat järjestelmät, jotkahallita ja optimoida sähkön tuotantoa ja jakelua kuluttajien tai järjestelmien välillä, jotka suunnittelevat optimaalisesti kuljetusjärjestelmien kuormat. Moniagenttijärjestelmien kehittäminen edellyttää erillisten agenttien, organisaatioiden ja ympäristöjen luomista.

Ohjelmointikielet tarjoavat ohjelmointirakenteita yksittäisten agenttien toteuttamiseen sosiaalisten ja kognitiivisten käsitteiden, kuten tiedon, tavoitteiden, vaihtoehtojen, normien, tunteiden ja päätössääntöjen, suhteen.

Moniagenttiorganisaatioilla sosiaalisten ja organisatoristen käsitteiden os alta on rooleja, joilla on normeja, viestintäprotokollia ja resursseja, joita seurataan. Kehitettyjen ohjelmointikielien ja -kehysten avulla luodaan agenttipohjaisia simulaatioita monille jatkuvan tuotannon aloille: sähkö, metallurgia, terveydenhuolto, Internet, liikenne, liikenteenhallinta ja vakavat pelit.

MAS eroavat yhden agentin järjestelmistä siinä, että niissä on useita agentteja, jotka mallintavat toistensa tavoitteita ja toimia. Yleisessä skenaariossa agenttien välillä voi olla suoraa vuorovaikutusta. Yksittäisen agentin näkökulmasta moniagenttijärjestelmät eroavat eniten yksiagenteista järjestelmistä siinä, että ympäristön dynamiikkaa voivat määrittää muut agentit. Alueelle ominaisen epävarmuuden lisäksi muut tekijät vaikuttavat tarkoituksella ympäristöön arvaamattomilla tavoilla.

Kaikilla MAC:illa voidaan siis katsoa olevan dynaamisia ympäristöjä, mikä on tyypillistä modernilleusean agentin järjestelmät. Agentteja voi olla mikä tahansa määrä, joilla on vaihteleva heterogeenisuus, joko suoran yhteydenpidon kanssa tai ilman.

MAS-arkkitehtuuri

MAC-järjestelmien arkkitehtuuri
MAC-järjestelmien arkkitehtuuri

Agenttien on oltava varustettu kognitiivisella mallilla:

  • uskomukset;
  • toiveita;
  • aikomukset.

Yhtäältä hän lukee "uskomuksia" ympäristöstä, jotka ovat tulosta hänen tiedoistaan ja havainnoistaan, ja toisa alta joukkoa "toiveita". Näiden kahden joukon risteyttäminen johtaa uuteen joukkoon "aikomuksia", jotka sitten muunnetaan suoraan toimiksi.

Agenteilla on oltava viestintäjärjestelmä. Tähän tarkoitukseen on olemassa useita erikoiskieliä: Language Query and Manipulation Language (KQML). Äskettäin on levitetty FIPA-säätiön älykkäiden fyysisten agenttien luoma FIPA-ACL-standardi. Tämä viimeinen moniagenttijärjestelmien rakentamisen periaate perustuu puheaktioiden teoriaan.

Sopeutumisongelma on vaikea asia, jota tällä hetkellä tutkitaan paljon. Voidaan antaa esimerkki joistakin viruksista, sekä biologisista että tietokoneista, jotka pystyvät mukautumaan mutanttiympäristöön.

Lopuksi, MAC:n tehokas toteutus, vaikka se ei ole varsinaisesti osa järjestelmäarkkitehtuuria, ansaitsee huomiota monissa tekoälyn tutkimiseen kehitetyissä ohjelmointikielissä. Erityisesti mainitaan LISP-kieli. Näitä arkkitehtonisia elementtejä sovelletaan järjestelmään, joka koostuu kognitiivisistaagentit.

Agentin luokat tai mallit

Agenttien luokittelu perustuu kahteen kriteeriin: kognitiivisiin aineisiin tai reagensseihin, jotka osoittavat toisa alta teleonomista käyttäytymistä tai refleksiä. Ero, joka voidaan tehdä kognitiivisen ja reaktiivisen välillä, on pohjimmiltaan edustajan käytettävissä olevan maailman esitys. Jos yksilöllä on "symbolinen esitys" maailmasta, josta hän voi muotoilla päättelyn, puhutaan kognitiivisesta agentista, kun taas jos hänellä on vain "symbolinen esitys", toisin sanoen rajoittuen hänen havaintoihinsa, puhutaan reaktiivisesta aineesta. Tämä kognitiivinen ja reaktiivinen ero vastaa kahta moniagenttijärjestelmien teoreettista koulukuntaa.

Ensimmäinen tukee "älykkäiden" agenttien perustavaa laatua olevaa lähestymistapaa yhteistyöhön sosiologisesta näkökulmasta. Toisessa tutkitaan ei-älykkäiden agenttien (muurahaistyypin) joukon "älykkään" käyttäytymisen syntymisen mahdollisuutta. Toinen ero käyttäytymiskäyttäytymisen ja refleksin välillä erottaa tarkoituksellisen käyttäytymisen, nimenomaisten tavoitteiden saavuttamisen, havaintokäyttäytymisestä. Siten agenttien taipumukset voivat ilmetä eksplisiittisesti agenteissa tai päinvastoin tulla ympäristöstä. Taulukko erityyppisten agenttien ryhmittelystä:

  1. Kognitiiviset aineet.
  2. Reaktiiviset aineet.
  3. Telenominen käyttäytyminen.
  4. Tahalliset agentit.
  5. Hallitut agentit.
  6. Refleksikäyttäytyminen.
  7. Agenttien "moduulit".
  8. Trooppiset aineet.

Kognitiiviset aineet ovat enimmäkseen tarkoituksellisia, ts.heillä on kiinteät tavoitteet, joita he yrittävät saavuttaa. Joskus käytetään kuitenkin moduuleiksi kutsuttuja agentteja, joilla on käsitys "universumistaan" ilman erityisiä tavoitteita. He voisivat esimerkiksi vastata muiden "universumin" agenttien kysymyksiin.

Reagenssit voidaan jakaa toimilaitteisiin ja trooppisiin aineisiin. Vaistoperäisellä agentilla on kiinteä tehtävä ja se laukaisee käyttäytymisen, jos se huomaa, että ympäristö ei enää täytä sille asetettua tarkoitusta. Trooppinen aine reagoi vain paikalliseen ympäristön tilaan, esimerkiksi jos on valoa, se juoksee. Motivaatiolähde "tehtävänsä" omaavien ajoagenttien sisäisessä tapauksessa viittaa vain ympäristöön.

Organisaatioparadigmat

Organisaatioparadigmat
Organisaatioparadigmat

Tällaisten järjestelmien kehittämisen myötä on kehitetty erilaisia organisaatioparadigmoja. Nämä moniagenttijärjestelmien rakenteet asettavat puitteet agenttien välisille suhteille ja vuorovaikutuksille.

Hierarkiat. Tässä mallissa agentit ovat hierarkkisia puurakenteen mukaisesti, jossa jokainen solmu on agentti ja jolla on lupalinkki alisolmuissaan. Tämä malli tuhoaa järjestelmän yleisen tarkoituksen.

Holarkia lähestyy hierarkiaa. Agentin ja sen alaryhmän välillä ei ole auktoriteettisuhdetta.

Koalitio on agenttien väliaikainen liitto, jotka kokoontuvat yhteen ja tekevät yhteistyötä, koska heidän henkilökohtaiset intressinsä kohtaavat. Koalition arvon on oltava suurempi kuin agenttikomponenttien yksittäisten arvojen summa.

Seurakunnat ovat hyvin samank altaisia kuin koalitiot jakomentoja. Niiden on kuitenkin tarkoitus olla pysyviä ja niillä on yleensä useita tavoitteita saavutettavana. Lisäksi agentit voivat saapua seurakuntiin ja sieltä poistua ja kuulua useaan samaan aikaan.

Yhteiskunta on joukko erilaisia tekijöitä, jotka ovat vuorovaikutuksessa ja kommunikoivat. Heillä on erilaiset tavoitteet, heillä ei ole samaa rationaalisuuden tasoa ja samoja kykyjä, mutta he kaikki noudattavat yleisiä lakeja (normeja).

Federation agentit antavat osan itsenäisyydestään ryhmänsä edustajalle. Ryhmäagentit ovat vuorovaikutuksessa vain edustajansa kanssa, joka puolestaan on vuorovaikutuksessa muiden ryhmien edustajien kanssa.

Myyntiedustajat tarjoavat tuotteita, joita ostajan edustajat voivat vaatia. Tämäntyyppinen organisaatio mahdollistaa esimerkiksi todellisten markkinoiden simuloinnin ja eri kaupankäyntistrategioiden vertailun.

Matrix-organisaation agentit ovat hierarkkisia. Kuitenkin toisin kuin yllä esitetyssä hierarkiassa, jossa agentti on vain muutaman muun agentin alisteinen, samassa matriisiorganisaatiossa olevat voivat olla useiden muiden alaisia.

Yhdistelmät - Tämä yhdistetty organisaatio yhdistää monia yllä olevista tyyleistä. Tämä voi olla esimerkiksi koalitio tai joukkueiden hierarkia.

Tekoäly

Tekoäly
Tekoäly

Kognitiivitieteen tavoitteena on ymmärtää tekoälyn luonne ja toiminta, joka käsittelee sisäistä tietoa tarkoituksenmukaiseksi. Monet käsitteet sopivat tähän kuvaukseen: ihmiset, tietokoneet, robotit, aistijärjestelmät,lista on loputon. Eräs kognitiivisten tutkijoiden erityisen kiinnostava järjestelmä on keinotekoinen itseagentti, joka vaikuttaa tietoon.

Älykäs agentti (IA) pystyy tekemään päätöksiä kokemuksensa perusteella ja voi valita toimia eri tilanteissa. Kuten termi "keinotekoinen" viittaa, sellaiset autonomiset kiinnostuksentekijät eivät ole luonnon luomia. Siksi keinotekoinen agentti on kaikki ihmisten luoma, joka pystyy toimimaan havaitsemiensa tietojen, omien kokemustensa, päätöstensä ja toimintansa perusteella.

Epäluonnollisen älykkyyden ala tarjoaa tekniset taidot halutun tyyppisten agenttien kääntämiseen ohjelmointikieleksi, niihin liittyviksi ohjelmistoiksi ja sopivaksi arkkitehtuuriksi (laitteistoksi ja niihin liittyvät ohjelmistot) agentin toteuttamiseksi todellisessa tai simuloidussa maailmassa.

Havaintomaailman ympäristö

Havaintomaailman ympäristö
Havaintomaailman ympäristö

Agentti on mitä tahansa, joka ottaa ympäristön antureiden kautta ja vaikuttaa siihen efektorien kautta, mikä kuulostaa riittävän yksinkertaiselta. Tämä agentin määritelmä kattaa laajan valikoiman koneita termostaateista esineisiin, jotka voivat itse asiassa oppia pienen käyttäytymisvalikoiman.

Anturit ovat työkaluja, joita agentti käyttää kerätäkseen tietoa maailmasta. Näppäimistö ja videokamera voivat toimia antureina, jos ne on liitetty agenttiin. Järjestelmän vastauksen lopussa esiintyjät ovat työkaluja, joita agentti käyttää ympäristöön vaikuttamiseen. Esimerkkejä efektoreista ovatnäyttö, tulostin ja robottikäsi.

Yleensä ympäristö on agentin toimialue tai maailma. Nämä alueet tulisi ainakin toistaiseksi rajoittaa tietyntyyppisiin tilanteisiin, jotta vältetään arjen rajattomat mahdollisuudet.

Autonominen vaikutusv altajärjestelmä

Autonominen iskujärjestelmä
Autonominen iskujärjestelmä

Autonominen agentti on "järjestelmä ympäristön sisällä ja osa ympäristöä, joka havaitsee ympäristön ja toimii sen mukaan ajan mittaan toteuttaakseen oman agendansa ja vaikuttaakseen siihen, mitä se kokee tulevaisuudessa". Tämä Franklinin ja Greisserin määritelmä heijastaa kaikkia älykkäiden agenttien perustoimintoja, paitsi heidän sosiaalisuutensa. Tämä antaa hyvän likimääräisen arvion useiden kehitteillä olevien tekoälyjen pääominaisuuksista.

Tällaiset agentit tuntevat ympäristönsä. Mutta tässä aistitieto tai havainnot eivät sisällä vain tietoja muista esineistä, vaan myös itse tekijän vaikutuksen ympäristön tilanteisiin. Anturit voivat olla orgaanisia, kuten silmät ja korvat ja niiden hermoprosessorit, tai keinotekoisia, kuten digitaaliseen tietokoneeseen upotettuja video- ja ääniprosessoreita. Ympäristö voi olla hyvin rajallinen alue, kuten suljettu tila, tai hyvin monimutkainen, kuten pörssi tai asteroidien kokoelma. Antureiden on vastattava niiden objektien tyyppejä, joiden kanssa agentti on vuorovaikutuksessa.

Refleksityyppinen vuorovaikutus

Heijastimella on monimutkaisempi mekanismi. Suoran dynamiikan sijaanympäristöön liittyen hän etsii sääntöluettelosta, mitä hänen on tehtävä. Refleksiagentti reagoi tiettyyn havaintoon ohjelmoidulla vasteella. Vaikka tiettyyn havaintoon on tuhansia mahdollisia vastauksia, agentilla on sisäänrakennettu luettelo tilannetoimintosäännöistä suorittaakseen ohjelmoijan jo harkitsemat vastaukset. Tilanteen toimintasääntö on pohjimmiltaan hypoteettinen pakko.

Refleksiaineet eivät todellakaan ole kovin kirkkaita. He eivät vain kestä uutuutta. Älykäs agentti sisältää vähemmän kehittyneiden serkkujen piirteitä, mutta ei ole yhtä rajoitettu. Hän toimii esityslistan mukaisesti. Sillä on joukko tavoitteita, joihin se pyrkii aktiivisesti. Kohdepohjaisella agentilla on ymmärrys ympäristön nykyisestä tilasta ja siitä, miten ympäristö tyypillisesti toimii. Hän tavoittelee suuria strategioita tai tavoitteita, joita ei voida saavuttaa heti. Tämä tekee agentista aktiivisen, ei vain reaktiivisen.

Target toiminnallinen apuohjelma

Monimutkaisemmissa aineissa siivoustoimenpidettä sovelletaan erilaisiin mahdollisiin toimiin, joita ympäristössä voidaan suorittaa. Tämä monimutkainen aikataulutin on palvelupohjainen agentti. Palvelupohjainen agentti arvioi jokaisen skenaarion nähdäkseen, kuinka hyvin se saavuttaa tietyt kriteerit hyvän tuloksen saavuttamiseksi. Sellaiset asiat kuin onnistumisen todennäköisyys, skenaarion toteuttamiseen tarvittavat resurssit, saavutettavan tavoitteen tärkeys ja siihen kuluva aika voidaan kaikki ottaa huomioon hyödyllisyysfunktion laskelmissa.

KoskaKoska ohjelmoija ei tyypillisesti voi ennustaa kaikkia maailman tiloja, joita agentti kohtaa, refleksiagentille kirjoitettavien sääntöjen määrä olisi tähtitieteellistä jopa hyvin yksinkertaisilla aloilla, kuten kokousten aikatauluttaminen tai kuljetusreittien ja tarvikkeiden järjestäminen.

Perusohjaussilmukka

Älykkään agentin määritelmän perusteella harkitse agenttiteoreetikon Michael Vuladrichin vuonna 2000 kirjoittamaa perusohjaussilmukkaa:

  • pidä rauhassa;
  • päivitä sisäinen maailmanmalli;
  • saavuttaa tahallinen tarkoitus;
  • käytä keinoja/päämääriä saadaksesi suunnitelman aikomuksista;
  • täytä suunnitelma;
  • lopeta prosessi.

Tämä malli vaatii tulkinnan. Agentti tarkkailee maailmaa - tämä tarkoittaa, että hän kerää havaintoja antureillaan. Anturi voi olla digitaaliseen tietokoneeseen liitetty näppäimistö tai robottiin liitetty visuaalinen prosessori. Se voi olla mitä tahansa, mikä antaa agentille mahdollisuuden kerätä esityksiä maailmasta. Sisäisen mallin päivittäminen tarkoittaa, että agentti lisää uuden havainnon havaintosarjaansa ja ohjelmoitua tietoa maailmasta.

Useiden agenttien kehitysympäristöt

Useita agentteja kehittävät alustat
Useita agentteja kehittävät alustat

AnyLogic on avoimen lähdekoodin moniagentti- ja monikomponenttinen CORMAS-simulaatioohjelmisto, joka perustuu olio-ohjelmointikieleen SmallTalk.

DoMIS on usean agentin järjestelmäsuunnittelutyökalu, joka keskittyy "monimutkaisten järjestelmien toiminnanohjaukseen" ja perustuu B-ADSC-suunnittelumenetelmään.

JACK on ohjelmointikieli ja kehitysympäristö kognitiivisille agenteille, jonka Agent Oriented Software on kehittänyt Java-kielen agenttilähtöiseksi laajennukseksi.

GAMA on avoimen lähdekoodin mallinnusalusta (LGPL), joka tarjoaa spatiaalisesti eksplisiittisen agenttipohjaisen mallinnusympäristön, joka käyttää GIS-tietoja agenttien ja heidän ympäristönsä kuvaamiseen.

JADE (Java Agent DEVELOPMENT) on avoimen lähdekoodin usean agentin kehityskehys, joka perustuu Java-kieleen.

Seitsemän vakiomallia

Tutkimuksen evoluutioprosessissa panostetaan enemmän siihen, kuinka luodaan luotettava ja korkeampaa laatutasoa edustava järjestelmä. Jatkuva trendi on täydentää tai laajentaa olemassa olevia menetelmiä, jotka ovat onnistuneet vahvistamaan päätöksentekoa kehitystyössä.

Metodologinen standardi mahdollistaa MAC:n luomisen ymmärrettävällä ja yksinkertaisella tavalla käyttämällä luonnollista kieltä, mutta myös käyttämällä kuvausmalleja, jotka auttavat järjestelmän määrittelyssä.

Metodologinen standardi tarjoaa seitsemän mallia ongelmista tai niiden ratkaisuista MAC:n rakentamiseen:

  1. Skenaariomalli, joka kuvaa yritystä tai organisaatiota.
  2. Tavoitteet ja tavoitteet -malli määrittelee ja kuvaa orgaanisen rakenteen.
  3. Agenttimalli määrittelee ihmiset ja autonomiset järjestelmät.
  4. Roolimalli yhdistää tavoitteet ja tavoitteet tiettyyn agenttiin.
  5. Organisaatiomalli kuvaa ympäristöä, johon yksittäinen agentti liittyy.
  6. Vuorovaikutusmalli kuvaa suhdetta korostaen niiden agenttien koordinaatiota.
  7. Suunnittelumalli määrittelee agentin ja verkkoarkkitehtuurin.

Esimerkkejä agenttien välisestä vuorovaikutuksesta

Esimerkkejä usean agentin järjestelmistä
Esimerkkejä usean agentin järjestelmistä

MAS:ia käytetään simuloimaan autonomisten tekijöiden välistä vuorovaikutusta. Moniagenttijärjestelmien käyttö esimerkiksi sosiologiassa mahdollistaa yhteisön muodostavien eri agenttien parametrisoinnin. Lisäämällä rajoituksia voit yrittää ymmärtää, mikä on tehokkain komponentti odotetun tuloksen saavuttamiseksi. Heidän tulisi kokeilla skenaarioita, joita todelliset ihmiset eivät voi saavuttaa joko teknisistä tai eettisistä syistä.

Hajautettu IA luotiin ratkaisemaan suurten monoliittisten ei-luonnollisten tiedusteluohjelmien monimutkaisuus - suoritus, jakelu ja keskitetty ohjaus. Monimutkaisen ongelman ratkaisemiseksi on joskus helpompi luoda suhteellisen pieniä ohjelmia (agentteja) yhteistyössä kuin yksi suuri monoliittinen ohjelma. Autonomian ansiosta järjestelmä voi mukautua dynaamisesti ympäristön odottamattomiin muutoksiin.

Esimerkkejä moniagenttijärjestelmistä pelialalla on lukuisia ja erilaisia. Niitä käytetään videopeleissä ja elokuvissa, mukaan lukien MASSIVE-ohjelmisto, esimerkiksi väkijoukon liikkeen simuloimiseen Taru sormusten herrasta -trilogiassa. He voivat myösjoita yritykset käyttävät esimerkiksi seuraamaan verkkosivustoja selailevien asiakkaiden käyttäytymistä.

MASia käytetään myös finanssimaailmassa. Esimerkiksi MetaTrader 4 -alusta mahdollistaa asiantuntevien agenttien käytön automatisoidussa kaupankäynnissä, jotka seuraavat Forex-kursseja

Järjestelmän käytön edut

IA-tutkimuksessa agenttipohjainen järjestelmätekniikka on otettu uutena paradigmana ohjelmistojärjestelmien käsitteellistämiseen, suunnitteluun ja toteuttamiseen. Multi-MAS-lähestymistavan edut:

  1. Jakaa laskentaresurssit ja -ominaisuudet toisiinsa yhdistettyjen agenttien verkostossa.
  2. Mahdollistaa useiden olemassa olevien vanhojen järjestelmien yhteenliittämisen ja yhteentoimivuuden.
  3. Kattaa eri aloja, mukaan lukien lentokoneiden huolto, sähköisten lompakon varaaminen, sotilaallinen miinanraivaus, langaton viestintä ja viestintä, sotilaallisen logistiikan suunnittelu, toimitusketjun hallintajärjestelmä, yhteistyötehtävien suunnittelu, taloussalkun hallinta.

Tutkimuksessa agenttipohjaisten järjestelmien IA-tekniikka on otettu uutena paradigmana ohjelmistojärjestelmien käsitteellistämiseen, suunnitteluun, toteuttamiseen ja usean agentin oppimiseen.

Siksi MAC on löyhästi kytketty ohjelmistoagenttien verkosto, jotka toimivat vuorovaikutuksessa ratkaistakseen ongelmia kunkin ongelmantekijän yksilöllisten kykyjen tai tietämyksen ulkopuolella.

Suositeltava: