Programvaruagent

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 31 maj 2019; kontroller kräver 2 redigeringar .

Inom datavetenskap är en mjukvaruagent  ett program som går in i en mellanhandsrelation med en användare eller ett annat program. Ordet " agent " kommer från latinets agere (att göra) och betyder en överenskommelse om att utföra handlingar för någons räkning. Sådant "agerande på uppdrag av" innebär rätten att bestämma vilka åtgärder (om några) som är lämpliga [1] [2] . Tanken är att agenter inte lanseras direkt för att lösa en uppgift, utan aktiveras på egen hand.

Besläktade och härledda begrepp inkluderar intelligenta agenter (särskilt de med vissa aspekter av artificiell intelligens såsom inlärning och resonemang ), autonoma agenter (som kan förändra hur de når sina mål), distribuerade agenter (utför åtgärder på fysiskt olika datorer), multi- agentsystem (distribuerade agenter som inte har förmågan att uppnå ett mål ensamma och därför måste kommunicera), och mobila agenter (agenter som kan flytta sin exekvering till andra processorer).

Definition

Termen "agent" beskriver en mjukvaruabstraktion , idé eller koncept, liknande OOP- termer som en metod, funktion eller objekt. Konceptet med en agent ger ett bekvämt och kraftfullt sätt att beskriva en komplex mjukvaruenhet som kan agera med en viss grad av autonomi för att utföra uppgifter för användarens räkning. Men till skillnad från objekt, som definieras i termer av metoder och attribut , definieras en agent genom att beskriva dess beteende [3] .

Olika författare erbjuder olika definitioner av en agent, vanligtvis inklusive begrepp som:

Vad en agent inte är

Det finns ingen speciell mening med att beskriva vad som är en agent och vad som inte är det. Men att jämföra termen med besläktade begrepp kan klargöra dess innebörd.

Intuitiv skillnad mellan agenter och objekt

Skillnaden mellan agenter och expertsystem

Skillnaden mellan intelligenta mjukvaruagenter och intelligenta agenter inom artificiell intelligens

Historik

Begreppet en agent kan spåras tillbaka till Carl Hewitts skådespelaremodell : "ett autonomt, interaktivt och samtidigt utföra flera funktionsobjekt med ett internt tillstånd och informationsutbyte" [5] .

Mer akademiskt sett är mjukvaruagenter en direkt utveckling av multi-agent system (MAS), som i sin tur utvecklats från distribuerad artificiell intelligens (DI), distribuerad problemlösare (PPS) och parallell artificiell intelligens (PAI). Således ärver mjukvaruagenter alla egenskaper (bra och dåliga) från RAI och AI .

The Knowledge Navigator, skapad 1987 av John Scully, var en videolänk mellan en slutanvändare och en agent. Eftersom den var den första i sitt slag, fungerade den som grunden för en experimentell serie av misslyckade top-down-implementeringar, istället för att närma sig bottom-up-metoder steg för steg. Utbudet av agenttyper är för närvarande (sedan 1990) ganska brett: WWW, sökmotorer, etc.

Exempel

Intelligenta mjukvaruagenter

Stephen Haag tror i sitt arbete [6] att det bara finns fyra huvudtyper av intelligenta mjukvaruagenter:

  1. Köpagenter eller handelsbotar
  2. Användare eller personliga agenter
  3. Övervaknings- och övervakningsagenter
  4. Datautvinning och analysagenter
Köpagenter (inköpsrobotar)

Köpombud bläddrar onlineresurser (till exempel Internet) för att få information om varor och tjänster. Dessa agenter, även kända som "inköpsrobotar", arbetar mycket effektivt med konsumentvaror som CD-skivor, böcker, elektroniska komponenter och andra "all-purpose"-produkter.

Användaragenter (personliga)

Användar- eller personliga agenter är intelligenta agenter som agerar för din räkning. Denna kategori inkluderar intelligenta agenter som redan utför eller kommer att utföra följande uppgifter:

  • Kontrollera din e-post, sortera den enligt dina preferenser och meddela dig när viktiga e-postmeddelanden kommer.
  • De spelar datorspel när din motståndare eller patrullerande spelet är aktivt.
  • Samla beställda nyhetsrapporter åt dig. Det finns flera versioner av sådana agenter, inklusive newshub och CNN.
  • Gör en sökning efter information om ditt ämne och din förfrågan.
  • Fyll automatiskt i webbformulär åt dig, lagra din information för framtida referens.
  • Skanna webbsidor för att hitta och markera text som är en "viktig" information.
  • "Diskutera" ämnen med dig, allt från undermedveten rädsla till sport.
  • Underlätta jobbsökningar online genom att skanna välkända jobbbrädor och skicka in meritförteckningar som uppfyller de önskade kriterierna.
  • De profilerar synkroniseringen av heterogena sociala nätverk.
Övervaknings- och övervakningsagenter (förutsägande)

Övervaknings- och övervakningsagenter används för att övervaka objekt och överföra information till utrustning, vanligtvis datorsystem. Agenter kan övervaka företagets lagernivåer av material, övervaka konkurrenters priser och uppmärksamma dem på företaget, analysera aktiemanipulationer baserat på insiderinformation och rykten m.m.

Till exempel har NASA:s Jet Propulsion Laboratory en agent som övervakar utrustningens tillgänglighet och skick, schemalägger ny utrustningsinköpsorder för att optimera kostnaderna och övervakar mattillgången. Sådana agenter övervakar vanligtvis komplexa datornätverk och kan övervaka konfigurationen av varje dator som är ansluten till nätverket.

Specifika övervaknings- och övervakningsagenter är agentstrukturer som används för att modellera beslutsprocessen under taktiska operationer. Agenter övervakar tillgångarnas tillstånd (ammunition, vapen, transportmedel, etc.) och tar emot mål (ordrar) från agenter på högsta nivå. Agenter uppnår mål med tillgängliga tillgångar, minimerar kostnaden för tillgångar samtidigt som de maximerar uppnåendet av målet [7] .

Datautvinning och analysagenter

Dessa agenter använder informationsteknologi för att leta efter trender och mönster i ett överflöd av information från en mängd olika källor. Användaren kan sortera denna information för att välja exakt vad han letar efter.

Datautvinning och analysagenter arbetar i datalagret för upptäckt information. Ett "datalager" samlar information från många olika källor. "Data mining" är processen att titta på data i ett lager för att hitta sådan information som kan användas för att vidta riktade åtgärder, som att öka försäljningen eller behålla kunder som överväger att lämna konkurrenter.

Klassificering är en av de vanligaste typerna av datautvinning som hittar nyckelord i information och sedan kategoriserar den efter dessa nyckelord. Datautvinnings- och analysagenter kan upptäcka betydande förändringar i trender i nyckelmått och kan också upptäcka och varna dig för ny information. Till exempel kan en agent upptäcka en nedgång i byggbranschen i ekonomin. Byggföretag kommer, baserat på den information som erhållits, att kunna fatta rimliga beslut angående anställning/avskedande av anställda eller köp/leasing av utrustning som bäst passar deras företag.

Andra exempel

Andra exempel på moderna smarta agenter är några spamfilter , spelrobotar och serverövervakningsverktyg. Sökmotorindexeringsrobotar anses också vara intelligenta agenter.

Utvecklingsfrågor

I utvecklingen av agentbaserade system uppstår några intressanta frågor, nämligen:

  • hur uppgifter är schemalagda och hur de synkroniseras;
  • hur agenter prioriterar uppgifter;
  • hur agenter kan interagera med varandra och hur de attraherar resurser;
  • hur agenter kan installeras om i olika miljöer och hur deras interna inställningar sparas;
  • hur miljön testas och hur förändringar i miljön påverkar agenternas beteende;
  • hur kommunikation och meddelanden mellan agenter upprättas;
  • vad är hierarkin för agenter (till exempel jobbagenter, schemaläggningsagenter, resursleverantörer etc.).

För att samarbeta och effektivt måste programvaruagenter dela semantiken i sina data. Detta kan göras genom att använda datorsystem för att beskriva deras metadata .

Definitionen av en agenthanterare kan ses på två relaterade sätt:

  • hanterare av interna tillstånd och ontologiska aspekter av kunskapsrepresentation;
  • interaktionsprotokoll är standarder för att definiera agentkommunikation.

Systemagenter används för att modellera verkliga system med processkalkyl och parallell bearbetning.

  • Maskinagenter är olika typer av motorer med olika grader av intelligens.
  • Innehållsagenter är data som används av motorer i inferens- och inlärningssystem.
  • Åtkomstagenter är metoder som ger motorer uppfattningen av innehåll och utförandet av åtgärder som är resultatet av slutsatser.
  • Säkerhetsagenter är prylar förknippade med distribuerad datoranvändning, kompletterad med flera speciella egenskaper associerade med agentmetoden.

Agenten använder sina åtkomstmetoder för att logga in på lokala och fjärrbaserade databaser när den söker efter innehåll. Sådana åtkomstmetoder inkluderar i synnerhet metoderna att leverera ett nyhetsflöde till en agent, läsa en anslagstavla eller ladda ner sidor från Internet med hjälp av en webbspindel . Innehållet som extraheras på detta sätt kan vara delvis filtrerat - nyheter eller information från databaser som uppfyller sökfrågan väljs. Agenten kan sedan använda språkprocessorer för att hitta nyckelord eller identifierande egenskaper hos det valda innehållet. Denna abstraherade betydelse (eller uppsättning händelser) skickas sedan till en "tänkande" agent eller inferensmotor för att bestämma vad som ska göras med det nya innehållet. Denna process matchar innehållet med expertdata eller kunskapsbas som tillhandahålls av användaren. Om denna process hittar en bra matchning för det nya innehållet kan agenten använda sina andra möjligheter för att utföra en mer detaljerad innehållssökning. Slutligen kan agenten bestämma arten av åtgärden på det nya innehållet: till exempel skicka ett meddelande till användaren om att en viktig händelse har inträffat. Denna åtgärd kontrolleras av säkerhetssystemet och sedan beviljas vissa rättigheter till användaren. Agenten använder åtkomstmetoden som är tillgänglig för användaren för att leverera detta meddelande till användaren. Om användaren bekräftar att händelsen är viktig genom att snabbt svara på meddelandet, kan agenten använda denna händelse som en inlärningsfaktor för att öka viktfunktionen för sådana händelser.

Inverkan av mjukvaruagenter

Naturligtvis är mjukvaruagenter en innovativ teknik som kan erbjuda mycket värde för slutanvändare genom att automatisera komplexa eller repetitiva uppgifter [8] . Det finns dock flera potentiella organisatoriska och kulturella konsekvenser av denna teknik som måste beaktas.

Organisatoriska implikationer är omvandlingen av hela e-handelsbranschen, operativa innovationer, ökat tryck på säkerhetssystemen. Programvaruagenter kan snabbt söka på Internet, hitta de bästa tillgängliga erbjudandena online och tillhandahålla denna information till slutanvändare på ett bekvämt sätt. Således behöver användare inte manuellt bläddra igenom många säljarwebbplatser, agenter kan hitta det bästa erbjudandet på några sekunder. Samtidigt ökar det priskonkurrensen och förvandlar hela e-handelsbranschen till en inre marknad med felfri konkurrens. Användningen av agenter kräver också ytterligare resurser från företag, nya jobb på grund av den extra belastningen på deras butikskedjor och nya säkerhetsrutiner.

De kulturella konsekvenserna av introduktionen av mjukvaruagenter inkluderar förstörelsen av förhoppningar, förändring av arbetsförmåga, förstörelse av privatlivet och skapandet av social utslagning. Vissa användare kanske inte känner sig tillräckligt bekväma med behovet av att delegera viktiga funktioner till mjukvaruapplikationer. De som börjar förlita sig enbart på intelligenta agenter kan förlora viktiga färdigheter, till exempel de som är relaterade till informationskompetens. För att agera på uppdrag av användaren måste programvaruagenten ha en fullständig förståelse för användarens profil, inklusive hans personliga preferenser. Detta kan i sin tur leda till oförutsägbara konsekvenser i frågor om sekretess. När användare börjar lita mer på sina programvaruagenter, särskilt för kommunikationsaktiviteter, kan de tappa kontakten med andra människor och se världen genom sina agenters ögon. Det är dessa implikationer som måste övervägas av agentforskare och användare som arbetar med intelligenta agentteknologier [9] .

Anteckningar

  1. Nwana H. Software Agents: En översikt. Knowledge Engineering Review, Vol.11, No.3, 205-244, Cambridge University  Press
  2. Shermer, B. Programvaruagenter, övervakning och rätten till integritet: Ett lagstiftande ramverk för agentbaserad övervakning. Leiden University Press, 2007, s.140. (Engelsk)
  3. 1 2 3 Wooldridge M., Jennings N. Intelligenta agenter: teori och praktik. KnowledgeEng. Rev., vol. 10(2), sid. 115-152,  1995
  4. Stuart Russell, Peter Norvig. Artificiell intelligens: ett modernt tillvägagångssätt. Prentice Hall, 2009, ISBN 978-0136042594 
  5. Carl Hewitt. Visa kontrollstrukturer som mönster för att skicka meddelanden. Journal of Artificial Intelligence, juni 1977.
  6. Stephen Haag, Information Systems Management in the Information Age, 2006, s  224-228
  7. Harold E. Popplewell Agents & Applicability (länk inte tillgänglig) . Tillträdesdatum: 16 december 2010. Arkiverad från originalet den 26 mars 2005. 
  8. A. Serenko, B. Detlor. Intelligent Agents as Innovation, Artificial Intelligence & Society, 18(4), 364-381 Arkiverad 2012-03-1 .  (Engelsk)
  9. A. Serenko, W. Ruby, M. Kokosila. Oavsiktliga effekter av intelligenta agenter när de används på Internet: En social informationsmetod. Artificiell intelligens & samhälle, 21(1-2), 141-166. Arkiverad från originalet den 20 juni 2012.  (Engelsk)

Länkar