Intelligenta agenter - Framtiden ?

Högskolan Trollhättan/Uddevalla Institutionen för Ekonomi & ADB

Systemteori 5p HT 1997 Christina Pettersson SV3

 

Innehållsförteckning

Sammanfattning

Inledning

Vad är en agent ?

Exempel på hur agenten kan användas:

Skapandet av en agent

Den planerande och den reflexmässiga

Programmering i Telescript

"Knowledgebase"

Kompetens

Tillit

Två utvecklingar

Informationsöverflödet:

Distribuerade objektorienterade system

Kritik av agenter

Framtid ?

Referenser:

Sammanfattning

Fler och fler sysslor idag utförs med hjälp av datorer, samtidigt blir applikationerna allt större och mer avancerade. Detta bidrar till att klyftan mellan noviser och de allt mer mångsidiga datorprogrammen ökas ytterligare. Många timmar har lagt ner för att förbättra användargränssnitten till programmen och man har också nått resultat inom detta område, men i längden kommer inte detta vara tillräckligt.

De två orden intelligent och agent dyker allt oftare upp tillsammans i olika sammanhang t.ex. i diverse datortidningar. Intelligenta agenter är en speciell typ av datorprogram som arbetar självständigt och dessutom kan lära sig av nya situationer. Agenterna skall fungera som en slags personlig assistent åt sin användare och utföra rutinmässiga uppgifter, söka information och visa sin användare på ett bättre sätt att arbeta. Att agenterna hela tiden anpassar sig efter sin användare gör möjligheterna än större. De intelligenta agenterna är den nya livsåskådningen inom datavärlden.

Är verkligen intelligenta agenter en fras att lägga på minnet inför framtiden ?

Inledning

I denna uppsats kommer jag att reda ut en del begrepp rörande intelligenta agenter och försöka se framtiden an.

Själv visste jag inte särskilt mycket om intelligenta agenter innan jag fick för mig att skriva ett "paper" om detta ämne, så därför kommer allt vara väldigt grundligt och artikeln riktar sig till noviser inom området.

Varför jag valde intelligenta agenter ? Jo, eftersom jag skall göra mitt examensarbete på Com In Center och detta skall handla om framtidens Internet så verkade det passande. Med framtidens Internet skulle jag tro att det kommer att bli stor utveckling inom området för intelligenta agenter inom olika områden.

Vad är en agent ?

Vad betyder egentligen agent ? Ja, att besvara den frågan är inte direkt enkelt, men enligt Bonniers svenska ordbok (1994) har "agent" betydelserna "ombud, representant", "person som har hemligt uppdrag i främmande land" eller "satsdel som i passiv sats betecknar den handlande e.d.". Definitionen är inte alls bra men ordbokens förklaring har en koppling till människor och deras agerande vilket inte är nödvändigt.

En annan definition av agent (översatt från Guilfoyle & Warner 1994) kan vara: "En agent är ett program som ansvarar för exekvering av delar i en händelseprocess vanligen i en distribuerad miljö. Intelligenta agenter använder sig av icke-procedurell information, dvs kunskap som erhålls genom en kunskapsbas".

Intelligenta agenters uppgift är ofta halvautomatiserade och utförs med hjälp av kommunikation mellan användaren och systemets resurser. De mest avancerade agenterna kan även erhålla information från andra agenter och på detta sätt utföra uppgifter som en ensam agent inte skulle klara av. Dessa agenter är så avancerade att de kan erhålla kunskap genom inlärning.

Definitionen av intelligenta agenter är som sagt oklar men Martin Rantzer (Ericson Radio systems i Linköping) som har skrivit en rapport om intelligenta agenter anger fyra kriterier: (Lotsson, 1996, Sid 21)

Även P. Maes (1994) har gett en beskrivning vad en agent är: "An entity authorized to act on other´s behalf."

Exempel på hur agenten kan användas:

  1. Du vill åka på semester till Kreta den 5:e maj och din resa får inte kosta mer än 2500 kr. Du säger åt din agent att leta igenom nätet efter lämpliga erbjudanden. Efter ett tag kommer den tillbaka med några förslag. Du väljer ut det billigaste och efter en stund så får du en bokningsbekräftelse via din mail. Att du ville åka "Non smoking" och äta vegetariskt visste redan din agent och fixade detta på eget initiativ.
  2. Varje morgon startar du Netscape innan du går till jobbet för att kolla in Göteborgspostens hemsida. Efter ett par dagar vet din gränssnittsagent det och hämtar hem sidan åt dig automatiskt. Du brukar vidare inte läsa din e-post mellan 11 och 12 såvida det inte kommer ifrån den stora kärleken. Efter ett tag har agenten fattat galoppen och visar ett litet meddelande på skärmen om du får post, men bara om det är från kärleken.
  3. Du brukar ofta leta efter CD-skivor på nätet, ofta är det Arvingarna eller Carola dom eftersöks. Du instruerar din agent att leta, men den föreslår också slumpmässigt utvalda skivor. Utifrån hur du reagerar på dessa förfinar agenten sin sökprofil. Men inte bara det, ute på nätet träffar den även andra agenter och de jämför instruktioner och fynd. På så sätt får den nya tips.

Man kan nästan säga att agenten blir din " digitala betjänt". (Anders Lotsson, 1996, Sid 21)

Är allt detta bara en dröm eller fungerar det verkligen ?

Skapandet av en agent

Det finns många olika teorier hur man kan/skall skapa en agent. Här nedan följer några av dem.

För att kunna konstruera en agent krävs det en metod för att skapa självsäkerheten hos dem, något som forskningsdiciplinen "artificiell intelligens" jobbat med i flera år. "Intelligens" uppfattar vi som en förmåga till självständigt tänkande.

Den planerande och den reflexmässiga

Forskarna som håller på med artificiell intelligens skiljer på två grundläggande principer för att kunna konstruera agenter, den "planerande" och den "reflexmässiga".

Den traditionella "planerande" principen går ut på att man skall försöka förstå intelligent beteende genom att bryta ner det i mindre kategorier som har logiska relationer. Kategorierna kan vara sinnesuttryck, modell av omvärlden och beslutsplanering. Filosofin är den samma som inom naturvetenskapen, nämligen att dela upp komplexa system i mindre bitar för att lättare kunna förstå. Detta kallas för reduktionism. Beskrivningen går uppifrån och ner i systemet.

Den "reflexmässiga" principen fungerar precis tvärt om, intelligenta agenter skapas nedifrån och upp. En reflexmässig agent är en varelse som från början är väldigt enkel och som med tiden utvecklas till en mer intelligent genom påbyggnad, inlärning och ibland till och med evolution i form av rutiner som skapar mutationer, korsbefruktning och naturligt urval.

När det gäller intelligenta agenter som hanterar e-posten, köper varor på den digitala marknaden eller andra göromål så handlar det om programsystem med planerande agenter. Ett exempel är agentspråket Telescript som utvecklats av General Magic, AT & T och Apple för att förenkla användandet av nätanslutna datorer. Ett annat exempel är DAAL, "Distributed Automation Agent Language" ett agentspråk som utvecklats i samarbete mellan forskningsinstitutet SICS och Sydkraft för att kunna hantera en avreglerad elmarknad. Agenterna kommer att köpa el och styra elförbrukningen enligt konsumenternas önskemål och priser. (David Nordfors, 1994, Sid 38-40)

Programmering i Telescript

Denna metod går ut på att skapa miljöer, objekt och funktioner. Platser är miljöer där agenterna kan träffas och utbyta erfarenheter. Platserna kan innehålla andra platser, precis som ett shoppingcenter kan innehålla en butik. Agenterna utför de affärer som platserna är gjorda för. Varje agent är oberoende i sin process och har egna instruktioner och befogenheter. Agenterna har en slags biljett (ID-kort) som de använder när de reser mellan olika platser. För att två agenter skall kunna samarbeta krävs det att de träffas på en plats. Då bestämmer en agent ett möte med en annan agent och denna kan då acceptera eller avböja. Vid mötet upprättar agenterna en förbindelse och skickar Telescript-objekt mellan dem. (David Nordfors, 1994, Sid 39-40)

"Knowledgebase"

Som namnet antyder bygger denna metod på att man bygger en kunskapsbas som agenter skall använda sig av. Agenten får med andra ord all den information den behöver ifrån början. Den har inte möjlighet att lära sig något nytt och den är svår att ändra inriktning på eftersom den oftast har specialkunskaper inom ett visst expertområde i sin kunskapsbas. Ytterligare ett problem finns med en agent som har all kunskap ifrån början och dessutom är automatisk redan från start och det är att man inte har så stor tillit till den. Enligt Schneiderman (1997) har man inte så stor kontroll samt att man inte förstår vad som händer. Denna typ av agent kommer dessutom inte att vara särskilt specialiserad utan kommer vara generell för alla typer av människor men specialiserad för en specifik uppgift.

Eftersom inte detta tillvägagångssätt är speciellt tillfredsställande har man på MIT provat ett nytt sätt. Det går ut på att agenten skall lära sig av sin slutanvändare och av andra agenter. Man vinner mycket på denna typ av kunskapsinlärning.

Agenten använder sig av fyra olika sätt att lära sig kunskap eller procedurer för hur den skall handla:

Detta kallas i vetenskapsteoretisk inlärning för induktion.

Agenten tillämpar i detta fall en hypotetisk-deduktiv inlärningsmetod.

Agenten lär sig genom instruktion.

Om e-post-agenten inte kan fråga sin slutanvändare som den skall göra med ett specifikt mail frågar den andra agenter i dess närhet och hur den skall göra. Den utvärderar den alla svar och agerar efter majoritetens förslag. Efter ha gjort detta ett antal gånger lär sig agenten vilken av de övriga agenterna som ger detta bästa förslaget. Detta förslag kommer sedan att väga högra än de andras förslag vid senare förfrågningar.

Detta kallas i vetenskapsteoretisk inlärning för dialog. . (En utveckling av Maes, 1994, Sid 31-40 )

Vilka fördelar vinner man på denna typ av inlärning? Man kan dela upp fördelarna efter kompetens och tillit: (Frank Heljebrant, 1996, Sid 4-5)

Kompetens

Agenten kommer till en början inte att vara särskilt kompetent, men vad det lider så kommer den bli mer och mer kompetent och dessutom kommer agenten vara anpassad till sin slutanvändare. Men skulle slutanvändaren ändra sina vanor så är inte detta något problem, för agentens kunskap kommer att vara föränderlig med tiden och kan ändra sina handlingsmönster.

Tillit

Agenten kommer med gradvis att automatisera arbetet för sin slutanvändare och i och med detta kommer förtroendet att stärkas eftersom den blir bättre och bättre.

Två utvecklingar

Det finns två utvecklingar som tyder på att intelligenta agenter kan spela stor roll i framtiden:

Informationsöverflödet:

Vi behöver sålla i all inkommande e-post och samtidigt leta information på Internet. Därför behövs filtrerade och sökande program. Dagens användare är fortfarande pionjärer som kan ställa infilter och sökmaskiner med hjälp av sökord och logiska sökvillkor. Detta förfarande är tidsödande och fungerar inte på massmarknaden.

Termen agenter dyker upp mer och mer i vanliga kontorsprogram. Användarna kan själva sätta ihop egna små program som tar hand om rutinuppgifter som att filtrera och sortera post. Agenter kan vidare till exempel leta efter låga priser på varor och, om man vill också beställa och betala för varan. Agenten kan bara be om en tjänst, inte själv utföra den.

Intelligenta agenter lär sig vad vi vill läsa och vad vi brukar kasta, och de kan titta över axeln på oss och se vad vi letar efter på webben.

Distribuerade objektorienterade system

Är en teknik som har paralleller med intelligenta agenter. Enkelt uttryckt handlar det om att utforma system som består av programkomponenter som ligger på flera olika datorer. Dessa kan kommunicera via Internet eller via företagsnätverk. Poängen med det hela är att utvecklaren inte skall behöva tänka på var systemet skall befinna sig när det appliceras. Det behövs alltså standarder som gör att två objekt kan "prata" med varandra, oavsett datormiljö och programspråk. (Anders Lotsson, 1996, Sid 21)

Kritik av agenter

Ett väldefinierat gränssnitt är alltid en bättre lösning till det lite "flytande gränssnittet som man kan sägas ha när det gäller intelligenta agenter. Vidare tror man att agenterna kommer göra dess användare dumma, de behöver inte lära sig så mycket som tidigare. Man räknar kallt med att agenterna utför de handlingar som man tidigare fick be programmen att göra, automatiskt, och därmed förlorar man biten där det krävs särskilda kunskaper för att kunna utföra vissa operationer.

Vissa tror även att agenter aldrig kommer att bli "smarta". (Shneiderman, 1997)

Om agenter verkligen blir självständiga och "smarta" kommer det även att leda till lagliga problem. Är en användare verkligen ansvarig för vad ens agent håller på med? Vem skall ställas till svars om agenten gör något olagligt? Vem bär det juridiska ansvaret för agentens handlingar?

Man kan dela upp de tillbakahållande faktorerna i två grupper:

Säkerhetsrisker:

I synnerhet när det gäller rörliga agenter så gäller det att vara försiktig. Det kan lätt bli problem om det uppstår okontrollerad trafik på nätet.

Kommersiella hinder:

Flera skivbolag har redan nu börjat med att skicka hem musik direkt till sina kunder via Internet. Både återförsäljare och diverse mellanhänder hotas. Agenter som gör prisjämförelser gynnar lågprisföretag men tar ingen större hänsyn till kvalitet och service. Detta är något som jag tror kommer att förändras i takt med att agenterna utvecklas mer efter specifika kunders behov.

Framtid ?

Varför tror jag att agenter är framtiden? Jo, många forskare anser att kreativitet är att man skapar en ny idé genom att kombinera redan kända idéer. Då skulle agenten kanske kunna öka människors kreativitet? Detta skulle kunna vara användbart vid uppsatsskrivning för att nämna ett exempel, då kunde agenten ge synonymer och konstruera meningar på rätt sätt.

Ett av de mer kända exemplen i hur framtidens agenter kommer att fungera är Apples "Knowledge Navigator"-video där en mycket intelligent agent med namnet Phil guidar användaren genom datornätet. Just denna funktion, att agenten skall fungera som en personlig assistent åt sin användare, är en mycket användbar funktion! Tänk dig bara att kunna söka på vilket språk som helst utan att behöva kunna det, agenten översätter det åt dig i ett huj.

Troligtvis kommer varje användare att omge sig av ett antal agenter, inte bara en enda som utför alla uppgifter. Varje agent kommer att ha sin speciella syssla, t.ex. kontrollera e-post, hålla reda på viktiga möten osv.

Vidare är agenter en viktig detalj inom underhållningsindustrin och eftersom underhållning är ett stort område på Internet med mycket pengar inblandade, så kommer det bidra till att utvecklingen av intelligenta agenter kommer att öka och förbättras.

Referenser:

Guilfoyle, C & Warner, E (1994) "Intelligent agents the new revolution in software" Ovum Ltd

Heljebrandt Frank (1996), "Intelligenta agenter" (Laboration 1 kognitionsvetenskap)

www.cs.umu.se/local7kurser/TDBC1/HT-96/LABBAR/

Lotsson Anders (1996), "Intelligenta agenter handlar i ditt ställe" Computer Sweden nr 69 1996

Maes, P (1994) "Agents that Reduce Work and Information overload" Communication of the ACM, nr 37

Malmström, Györki, Sjögren, (1994) "Bonniers svenska ordbok" Bonnier Alba, Stockholm

Nordfors David (1994), "Intelligenta agenter- program som handlar självständigt." -Datateknik nr 19 december 1994

Olofsson Per (NADA, KTH, VT 1995), " Intelligenta agenter – framtidens melodi ?" www.student.nada.kth.se/~d-93-pol/agenter.html

Shneiderman, B (1997) "Direct manipulation versus agents" Path to predictable, controllable and comprehensible interfaces in Bredshaw, J.M (ed) Software Agents, AAAI press/MIT Press 97-108