Ohjelmistoagentti

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 31.5.2019 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .

Tietojenkäsittelytieteessä ohjelmistoagentti on ohjelma ,  joka tulee välittäjäsuhteeseen käyttäjän tai muun ohjelman kanssa. Sana " agentti " tulee latinan sanasta agere (tehdä) ja tarkoittaa sopimusta toimia jonkun puolesta. Tällainen "toimiminen puolesta" tarkoittaa oikeutta päättää, mitkä toimet (jos sellaisia ​​on) ovat asianmukaisia ​​[1] [2] . Ajatuksena on, että agentteja ei käynnistetä suoraan ratkaisemaan tehtävää, vaan ne aktivoituvat itsestään.

Samankaltaisia ​​ja johdettuja käsitteitä ovat älykkäät agentit (erityisesti ne, joilla on joitakin tekoälyn näkökohtia , kuten oppiminen ja päättely ), autonomiset agentit (jotka pystyvät muuttamaan tapaansa saavuttaa tavoitteensa), hajautetut agentit (suorittavat toimintoja fyysisesti eri tietokoneilla), multi- agenttijärjestelmät (hajautetut agentit, joilla ei ole kykyä saavuttaa tavoitetta yksin ja joiden on siksi kommunikoitava) ja liikkuvat agentit (agentit, jotka voivat siirtää suorituksensa muille prosessoreille).

Määritelmä

Termi "agentti" kuvaa ohjelmiston abstraktiota , ideaa tai käsitettä, joka on samankaltainen kuin OOP -termit , kuten menetelmä, funktio tai objekti. Agentin käsite tarjoaa kätevän ja tehokkaan tavan kuvata monimutkaista ohjelmistokokonaisuutta, joka pystyy toimimaan jossain määrin itsenäisesti suorittaakseen tehtäviä käyttäjän puolesta. Mutta toisin kuin objektit, jotka määritellään menetelmien ja attribuuttien avulla, agentti määritellään kuvaamalla sen käyttäytymistä [3] .

Eri kirjoittajat tarjoavat erilaisia ​​​​määritelmiä agentille, jotka sisältävät yleensä käsitteitä, kuten:

Mikä agentti ei ole

Ei ole mitään erityistä järkeä kuvailla, mikä on agentti ja mikä ei. Termin vertaaminen siihen liittyviin käsitteisiin voi kuitenkin selventää sen merkitystä.

Intuitiivinen ero agenttien ja objektien välillä

Agenttien ja asiantuntijajärjestelmien ero

Ero älykkäiden ohjelmistoagenttien ja älykkäiden agenttien välillä tekoälyssä

Historia

Agentin käsite voidaan jäljittää Carl Hewitin toimijamalliin : "autonominen, vuorovaikutteinen ja samanaikaisesti useita tehtäviä suorittava objekti, jolla on sisäinen tila ja tiedonvaihto" [5] .

Akateemisesti puhuen ohjelmistoagentit ovat moniagenttijärjestelmien (MAS) suoraa kehitystä, joka puolestaan ​​kehittyi hajautetusta tekoälystä (DI), hajautetusta ongelmanratkaisijasta (PPS) ja rinnakkaisesta tekoälystä (PAI). Siten ohjelmistoagentit perivät kaikki ominaisuudet (hyvät ja huonot) RAI:lta ja tekoälyltä .

John Scullyn vuonna 1987 luoma Knowledge Navigator oli videolinkki loppukäyttäjän ja agentin välillä. Koska se on ensimmäinen laatuaan, se toimi pohjana kokeelliselle sarjalle epäonnistuneita ylhäältä alas -toteutuksia sen sijaan, että lähestyisi alhaalta ylös -menetelmiä askel askeleelta. Agenttityyppien valikoima on tällä hetkellä (vuodesta 1990 lähtien) melko laaja: WWW, hakukoneet jne.

Esimerkkejä

Älykkäät ohjelmistoagentit

Stephen Haag uskoo työssään [6] , että älykkäitä ohjelmistoagentteja on vain neljä päätyyppiä:

  1. Ostoagentit tai kauppabotit
  2. Käyttäjät tai henkilökohtaiset edustajat
  3. Valvonta- ja valvontaagentit
  4. Tiedonlouhinta- ja analytiikkaagentit
Ostoagentit (ostorobotit)

Ostoagentit selaavat verkkoresursseja (esimerkiksi Internetiä) saadakseen tietoa tuotteista ja palveluista. Nämä agentit, jotka tunnetaan myös nimellä "ostorobotit", toimivat erittäin tehokkaasti kulutustavaroiden, kuten CD-levyjen, kirjojen, elektronisten komponenttien ja muiden "monikäyttöisten" tuotteiden kanssa.

Käyttäjäagentit (henkilökohtaiset)

Käyttäjä- tai henkilökohtaiset edustajat ovat älykkäitä edustajia, jotka toimivat puolestasi. Tämä luokka sisältää älykkäät agentit, jotka jo suorittavat tai tulevat suorittamaan seuraavat tehtävät:

  • Tarkista sähköpostisi, lajittele se mieltymystesi mukaan ja ilmoita, kun tärkeät sähköpostit saapuvat.
  • He pelaavat tietokonepelejä, kun vastustajasi tai pelin partio on aktiivinen.
  • Kerää tilattuja uutisraportteja puolestasi. Tällaisista agenteista on olemassa useita versioita, mukaan lukien newshub ja CNN.
  • Hae tietoa aiheestasi ja pyynnöstäsi.
  • Täytä verkkolomakkeet automaattisesti puolestasi, tallenna tietosi myöhempää tarvetta varten.
  • Skannaa verkkosivuja löytääksesi ja korostaaksesi tekstiä, joka on "tärkeä" tieto.
  • "Keskustele" kanssasi aiheista alitajuisesta pelosta urheiluun.
  • Helpota työnhakuja verkossa skannaamalla tunnettuja työpaikkailmoituksia ja lähettämällä ansioluetteloita, jotka täyttävät halutut kriteerit.
  • Ne profiloivat heterogeenisten sosiaalisten verkostojen synkronointia.
Valvonta- ja valvontaagentit (ennustavat)

Valvonta- ja valvontaagentteja käytetään kohteiden tarkkailuun ja tiedon siirtämiseen laitteisiin, yleensä tietokonejärjestelmiin. Agentit voivat seurata yrityksen materiaalivarastoa, seurata kilpailijoiden hintoja ja tuoda ne yrityksen tietoon, analysoida sisäpiiritietoon ja huhuihin perustuvia osakemanipulaatioita jne.

Esimerkiksi NASAn Jet Propulsion Laboratorylla on agentti, joka valvoo laitteiden saatavuutta ja kuntoa, suunnittelee uusien laitteiden ostotilauksia kustannusten optimoimiseksi ja valvoo ruoan saatavuutta. Tällaiset agentit valvovat tyypillisesti monimutkaisia ​​tietokoneverkkoja ja voivat valvoa jokaisen verkkoon kytketyn tietokoneen kokoonpanoa.

Erityiset valvonta- ja valvonta-agentit ovat agenttirakenteita, joita käytetään mallintamaan päätöksentekoprosessia taktisten operaatioiden aikana. Agentit valvovat omaisuuden tilaa (ammukset, aseet, kulkuvälineet jne.) ja vastaanottavat maaleja (käskyjä) huipputason agenteilta. Agentit saavuttavat tavoitteensa käytettävissä olevilla varoilla minimoiden omaisuuden kustannukset ja maksimoiden samalla tavoitteen saavuttamisen [7] .

Tiedonlouhinta- ja analyysiagentit

Nämä agentit käyttävät tietotekniikkaa etsiäkseen trendejä ja malleja lukuisista eri lähteistä saatavasta tiedosta. Käyttäjä voi lajitella nämä tiedot valitakseen tarkalleen, mitä hän etsii.

Tiedonlouhinta- ja analyysiagentit työskentelevät löydettyjen tietojen tietovarastossa. "Tietovarasto" kokoaa yhteen tietoa useista eri lähteistä. "Datan louhinta" on prosessi, jossa tarkastellaan dataa varastossa löytääkseen sellaista tietoa, jota voidaan käyttää kohdennettuihin toimiin, kuten myynnin lisäämiseen tai kilpailijoista luopumista harkitsevien asiakkaiden pitämiseen.

Luokittelu on yksi yleisimmistä tiedonlouhinnan tyypeistä, joka etsii avainsanoja tiedosta ja luokittelee sen sitten näiden avainsanojen mukaan. Tiedonlouhinta- ja analytiikkaagentit voivat havaita merkittäviä muutoksia keskeisten mittareiden trendeissä, ja ne voivat myös havaita uusia tietoja ja varoittaa niistä. Esimerkiksi agentti voi havaita talouden rakennusalan taantuman. Rakennusyritykset pystyvät saatujen tietojen perusteella tekemään järkeviä päätöksiä koskien työntekijöiden palkkaamista/irtisanomista tai kaluston hankintaa/vuokraamista, jotka parhaiten sopivat yritykselleen.

Muita esimerkkejä

Muita esimerkkejä nykyaikaisista älyagenteista ovat roskapostisuodattimet , pelibotit ja palvelimen valvontatyökalut. Hakukoneiden indeksointibotteja pidetään myös älykkäinä agentteina.

Kehityskysymykset

Agenttipohjaisten järjestelmien kehittämisessä herää mielenkiintoisia kysymyksiä, nimittäin:

  • miten tehtävät ajoitetaan ja miten ne synkronoidaan;
  • miten agentit priorisoivat tehtävät;
  • miten agentit voivat olla vuorovaikutuksessa toistensa kanssa ja kuinka he houkuttelevat resursseja;
  • miten agentit voidaan asentaa uudelleen eri ympäristöihin ja kuinka niiden sisäiset asetukset tallennetaan;
  • miten ympäristöä testataan ja miten ympäristön muutokset vaikuttavat tekijöiden käyttäytymiseen;
  • miten agenttien välinen viestintä ja viestintä muodostetaan;
  • mikä on agenttien hierarkia (esimerkiksi työagentit, aikatauluagentit, resurssien tarjoajat jne.).

Toimiakseen yhteistyössä ja tehokkaasti ohjelmistoagenttien on jaettava tietonsa semantiikka . Tämä voidaan tehdä käyttämällä tietokonejärjestelmiä kuvaamaan niiden metatiedot .

Agentin käsittelijän määritelmää voidaan tarkastella kahdella toisiinsa liittyvällä tavalla:

  • tiedon esityksen sisäisen tilan ja ontologisten näkökohtien käsittelijä;
  • vuorovaikutusprotokollat ​​ovat standardeja agenttiviestinnän määrittämiseen.

Järjestelmäagentteja käytetään mallintamaan reaalimaailman järjestelmiä prosessilaskennan ja rinnakkaiskäsittelyn avulla.

  • Koneagentit ovat erityyppisiä moottoreita, joilla on erilainen älykkyysaste.
  • Sisältöagentit ovat tietoja, joita moottorit käyttävät päättely- ja oppimisjärjestelmissä.
  • Käyttöagentit ovat menetelmiä, jotka tarjoavat moottoreille sisällön havainnoinnin ja päätelmien tuloksena olevien toimien suorittamisen.
  • Suojausagentit ovat hajautettuun tietojenkäsittelyyn liittyviä gadgeteja, joita on täydennetty useilla agenttilähestymistapaan liittyvillä erityisominaisuuksilla.

Agentti käyttää pääsymenetelmiään kirjautuakseen paikallisiin ja etätietokantoihin etsiessään sisältöä. Tällaisia ​​pääsymenetelmiä ovat erityisesti menetelmät uutissyötteen toimittamiseksi agentille, ilmoitustaulun lukemiseen tai sivujen lataamiseen Internetistä verkkohämähäkin avulla . Tällä tavalla poimittu sisältö voidaan osittain suodattaa – valitaan uutisia tai tietoa tietokannoista, jotka täyttävät hakukyselyn. Agentti voi sitten käyttää kieliprosessoreita löytääkseen avainsanoja tai valitun sisällön tunnisteominaisuuksia. Tämä abstrakti merkitys (tai tapahtumajoukko) välitetään sitten "ajattelevalle" agentille tai päättelykoneelle, jotta hän voi päättää, mitä tehdä uudelle sisällölle. Tämä prosessi sovittaa sisällön yhteen käyttäjän toimittaman asiantuntijadatan tai tietopohjan kanssa. Jos tämä prosessi löytää hyvän vastaavuuden uudelle sisällölle, agentti voi käyttää muita ominaisuuksiaan yksityiskohtaisemman sisällönhaun suorittamiseen. Lopuksi agentti voi päättää uuden sisällön toiminnan luonteesta: esimerkiksi lähettää käyttäjälle viestin, että tärkeä tapahtuma on tapahtunut. Turvajärjestelmä tarkistaa tämän toiminnon ja sitten käyttäjälle myönnetään tietyt oikeudet. Agentti käyttää käyttäjän käytettävissä olevaa pääsytapaa toimittaakseen tämän viestin käyttäjälle. Jos käyttäjä vahvistaa, että tapahtuma on tärkeä vastaamalla nopeasti ilmoitukseen, agentti voi käyttää tätä tapahtumaa oppimistekijänä lisätäkseen tällaisten tapahtumien painofunktiota.

Ohjelmistoagenttien vaikutus

Ohjelmistoagentit ovat tietysti innovatiivinen tekniikka, joka voi tarjota paljon lisäarvoa loppukäyttäjille automatisoimalla monimutkaisia ​​tai toistuvia tehtäviä [8] . Tällä tekniikalla on kuitenkin useita mahdollisia organisatorisia ja kulttuurisia vaikutuksia, jotka on otettava huomioon.

Organisaatiovaikutuksia ovat koko verkkokaupan alan muutos, toiminnalliset innovaatiot, lisääntynyt paine turvajärjestelmiin. Ohjelmistoagentit voivat etsiä Internetistä nopeasti, löytää parhaat tarjoukset verkossa ja toimittaa nämä tiedot loppukäyttäjille kätevällä tavalla. Siten käyttäjien ei tarvitse manuaalisesti selata monia myyjäsivustoja, agentit voivat löytää parhaan tarjouksen sekunneissa. Samalla se lisää hintakilpailua ja muuttaa koko sähköisen kaupankäynnin yhtenäisiksi markkinoiksi, jolla on virheetön kilpailu. Agenttien käyttö vaatii myös yrityksiltä lisäresursseja, uusia työpaikkoja kauppaketjujen lisäkuormituksen vuoksi sekä uusia turvallisuusmenettelyjä.

Ohjelmistoagenttien käyttöönoton kulttuurisia seurauksia ovat toiveiden tuhoaminen, työtaitojen muuttuminen, yksityisyyden tuhoaminen ja sosiaalisen syrjäytymisen syntyminen. Jotkut käyttäjät eivät ehkä tunne olonsa riittävän tyytyväisiksi tarpeeseen siirtää tärkeitä toimintoja ohjelmistosovelluksille. Ne, jotka alkavat luottaa pelkästään älykkäisiin agentteihin, voivat menettää tärkeitä taitoja, kuten tietolukutaitoon liittyviä taitoja. Voidakseen toimia käyttäjän puolesta ohjelmistoagentilla on oltava täydellinen käsitys käyttäjän profiilista, mukaan lukien hänen henkilökohtaiset mieltymyksensä. Tämä puolestaan ​​voi johtaa arvaamattomiin seurauksiin luottamuksellisuusasioissa. Kun käyttäjät alkavat luottaa enemmän ohjelmistoagentteihinsa erityisesti viestintätoiminnassa, he saattavat menettää yhteyden muihin ihmisiin ja nähdä maailman agenttiensa silmin. Agenttitutkijoiden ja älykkäitä agenttitekniikoita käsittelevien käyttäjien on otettava huomioon nämä vaikutukset [9] .

Muistiinpanot

  1. Nwana H. Ohjelmistoagentit: Yleiskatsaus. Knowledge Engineering Review, Vol.11, No.3, 205-244, Cambridge University  Press
  2. Shermer, B. Ohjelmistoagentit, valvonta ja oikeus yksityisyyteen: Agenttipohjaisen valvonnan lainsäädännöllinen kehys. Leiden University Press, 2007, s. 140. (Englanti)
  3. 1 2 3 Wooldridge M., Jennings N. Älykkäät agentit: teoria ja käytäntö. KnowledgeEng. Rev., voi. 10(2), s. 115-152,  1995
  4. Stuart Russell, Peter Norvig. Tekoäly: moderni lähestymistapa. Prentice Hall, 2009, ISBN 978-0136042594 
  5. Carl Hewitt. Ohjausrakenteiden katseleminen viestien välitysmalleina. Journal of Artificial Intelligence, kesäkuu 1977.
  6. Stephen Haag, Tietojärjestelmien hallinta tiedon aikakaudella, 2006, s.  224-228
  7. Harold E. Popplewell Agents & Applicability (linkki ei saatavilla) . Käyttöpäivä: 16. joulukuuta 2010. Arkistoitu alkuperäisestä 26. maaliskuuta 2005. 
  8. A. Serenko, B. Detlor. Intelligent Agents as Innovation, Artificial Intelligence & Society, 18(4), 364-381 Arkistoitu 2012-03-1 .  (Englanti)
  9. A. Serenko, W. Ruby, M. Kokosila. Älykkäiden agenttien tahattomat vaikutukset, kun niitä käytetään Internetissä: sosiaalisen tiedon lähestymistapa. Artificial Intelligence & Society, 21(1-2), 141-166. Arkistoitu alkuperäisestä 20. kesäkuuta 2012.  (Englanti)

Linkit