LINKÖPINGS UNIVERSITET, IDA. Multiagentsystem. Camilla Niklasson 10/3/2010

Relevanta dokument
Case-based resoning. och dess användning inom sjukvården. Linköpings universitet Artificiell intelligens II 729G11 HT 2011

Artificiell Intelligens den nya superkraften

Cacheminne i en AMD Opteron Processor

Inledning ARTIFICIELL INTELLIGENS 729G011 HT 2010

Stina Nyman

Emil Kristiansson Kurs: EDT621 Delmoment: Rapport. En introduktion till Smart cache

Medicinsk Informatik VT 2005

Värdet av intelligenta förpackningar - Ett logistiskt perspektiv. Dr. Ola Johansson Lunds Tekniska Högskola

Medicinsk Informatik VT 2004

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

SKOLFS. beslutade den XXX 2017.

PROTAGE-projektet AAS-konferens 21 oktober 2010

Grundläggande datavetenskap 4p

Seminarier i datavetenskap, datorteknik och informationsteknik

Datalogiskt tänkande för alla

Spekulativ exekvering i CPU pipelining

Ventilen. Nytt på IT- fronten. System som kan göra intelligenta saker, såsom att efterlikna mänskligt beteende och tänkande

Procedurell renderingsmotor i Javascript och HTML5

Grupp Policys. Elektronikcentrum i Svängsta Utbildning AB

Artificiell intelligens, eller Kommer din dator att bli klokare än dig? (eller kanske är den redan det?)

Seminarier i datavetenskap, datorteknik och informationsteknik

Tjänsteprototypning. och tjänsterepresentationer. Johan Blomkvist IDA-HCS-IxS

Utbildningsplaner för kandidat-, magister och masterprogram. 1. Identifikation. Avancerad nivå

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

KUNDCASE. Inovia gjorde sin AI-utveckling 10 gånger snabbare med Power-plattformen

Vad säger forskningen om programmering som kunskapsinnehåll? Karin Stolpe, föreståndare NATDID liu.se/natdid

FRAMTIDENS TRAFIKLEDNING 2 november 2018

DATORER OCH PROGRAM. Programmerade maskiner Program beteendeplan och beteendegenerator Generalitet och portabilitet Datorn är en symbolmaskin

Thomas Winman. University West, Trollhättan

Den Nationella Forskarskolan i Intelligenta Transportsystem

Rapport (1,5 HP) Lunds Universitet HT15

Om maskiner kunde tala

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

de var svåra att implementera och var väldigt ineffektiva.

Artificiell intelligens, eller Kommer din dator att bli klokare än dig? (eller kanske är den redan det?)

SV Förenade i mångfalden SV. Ändringsförslag. Beatrix von Storch för EFDD-gruppen

Slutrapport Vertikala Sökmotorer Uppdrag från.se:s Internetfond Våren 2008

Utvärdera möjligheterna att tillgängliggöra luftrummet för drönare att flyga utom synhåll

Ann Björkdahl Universitetssjukhusöverarbetsterapeut, Docent SAHLGRENSKA UNIVERSITETSSJUKHUSET, ARBETSTERAPI OCH FYSIOTERAPI

Linköpings universitet

Informationssystem och databasteknik, 2I-1100

Daniel Akenine, Teknikchef, Microsoft Sverige

Vindkraft och ML. - hur kan vindkraft dra nytta avml

Rekommendationssystem. med fördjupning på collaborative filtering

DATORER OCH PROGRAM. Datorn är en symbolmaskin

Real-time requirements for online games

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

VARFÖR FINNS DET INGA RIKTIGA

Linköpings universitet

AI.MEE TESTBED FOR AUTONOMOUS INTELLIGENT MACHINES FOR ENTERPRISE AND EXPLORATION

Tangible interaction &TUI KIRSTEN RASSMUS-GRÖHN

Optimera, inte eliminera, den mänskliga hjärnan genom AI. Anna-Karin Edstedt Bonamy, MD, PhD Chief Medical Officer, Doctrin AB

ARTIFICIELL INTELLIGENS

Frågeoptimering. Frågeoptimering kapitel 14

Molntjänster -- vad är molnet?

Roboten och människan -Samverkan, ett sätt att möta framtidens utmaningar Sten Grahn

CSILab en arena för forskning och utveckling av industrie 4.0 konceptet. Åsa Fast-Berglund Chalmers

JavaRats. Kravspecifikation. Version 1.1. Gustav Skoglund Marcus Widblom Senast ändrad: 13 / 05 / 08

Designmönster, introduktion. Vad är det? Varför skall man använda mönster?

Datorer och intelligens

el o;; Utbildningsplan för Kognitionsvetenskapligt kandidatprogram Bachefor Programmein Cognitive Science 180 Högskolepoäng

Anujan Balasingam IDA14 NAND flashminnen

Assessing GIS effects on professionals collaboration processes in an emergency response task

Vägledning. Dok. nr.: 411-b1 Version: 05 Datum: Granskning av järnvägsfordons samverkan med svensk järnvägsinfrastruktur

Framtidens vårdinformationsstöd FVIS 12 OKTOBER 2017

Autonoma Styrsystem. Fördjupningsarbete inom Artificiell Intelligens. Linköpings Universitet Artificiell Intelligens 729G

Fallstudie Den svenska Försvarsmakten Meddelandeinfrastruktur redo för det nya nätverksbaserade försvaret

Institutionen för datavetenskap vid Helsingfors universitet

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Introduktion till digitala medarbetare. RPA-dagen digital arbetskraft, 22/

UPPKOPPLADE SAMVERKANDE TRANSPORTER

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Personifierad Netflix

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson

Kursen handlar om. Var används datorer och andra IT-stöd? T ex: Människa-datorinteraktion (MDI) Inst. för informationsteknologi

Hur får jag ut kraft och nytta av POWER?

AI Guide: Så här blir du en modern redovisningskonsult med hjälp av artificiell intelligens

Machine Learning. Strategisk satsning inom fordonsindustrin (FFI)

Människa-datorinteraktion och användarcentrerad design

Smartare städer i Skåne

Mål med temat vad är ljud?

Exempel ode45 parametrar Miniprojekt 1 Rapport. Problemlösning. Anastasia Kruchinina. Uppsala Universitet. Januari 2016

Hantering av hazards i pipelines

Objektorienterad programmering, allmänt

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Datavetenskapligt program, N1COS

Programmera ett kärnkraftverk

Självkörande fordon utifrån en samhällekonomsikt perspektiv

Hyper-Threading i Intelprocessorer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Föreläsning 3.1: Datastrukturer, en översikt

Spetskompetens inom systemintegration, SOA och systemutveckling

ARX på Windows Vista, Windows 7 eller Windows 2008 server

Filöverföring i Windowsmiljö

Välkommen till Civilingenjör Datateknik! Stefan Forsström & Magnus Eriksson Avdelningen för informationssystem och -teknologi

Introduktion till programmering. Programspråk och paradigmer

Smart industri den digitala framtiden

Aktivitetsschemaläggning för flerkärninga processorer

Civilingenjör Mjukvaruteknik Att designa en utbildning utifrån ACM CS Curriculum

Transkript:

LINKÖPINGS UNIVERSITET, IDA Multiagentsystem Camilla Niklasson 10/3/2010

Inledning Världen är föränderlig och människor i vår värld har olika mål och tillvägagångssätt för att nå sina mål. Människan måste anpassa efter sin omgivning för att kunna verka i den på ett intelligent sätt. Detsamma gäller för artificiell intelligens. Distribuerad artificiell intelligens (DAI) är en relativt ny gren inom AI som vars mål är att skapa intelligenta system som klara av en föränderlig verklighet, som kan agera i verkliga komplexa system. Multiagenta system är en typ av DAI som är ett system med flera agenter som interagerat med varandra och sin dynamiska omgivning. Multiagenta system används i industrier i stor utsträckning idag och har många olika användningsområden till exempel i kontrollsystem för tågsignaler. 2

Innehållsförteckning Innehållsförteckning Inledning... 2 Distribuerad artificiell intelligens och multiagentsystem... 4 Distribuerad artificiell intelligens... 4 Multiagentsystem... 4 Användningsområden... 5 Koordinering i MAS... 5 Multiagent kontrollsystem för järnvägssingalering... 7 MAS arkitektur... 7 Agenterna... 7 Implementering... 8 Köra systemet... 9 Diskussion... 10 Referenser... 11 3

Distribuerad artificiell intelligens och multiagentsystem Distribuerad artificiell intelligens Distribuerad artificiell intelligens (DAI) är en relativt ny gren inom AI vars mål är att skapa intelligenta system som klarar av en föränderlig verklighet och kan agera i verkliga, komplexa system. Det mesta inom AI har handlat om att bygga rationella agenter som handlar i en statisk fiktiv värld. Med DAI kan verkligheten komma in i AIn på ett sätt som tidigare inte varit möjligt. DAI är inriktat på system som består av många intelligenta agenter inom en domän som interagerar med varandra, sin omgivning och jobbar mot samma mål (Stone, Veloso). Det största projektet hittills inom DAI är Architecture for Cooperative Heterogeneous ON-line systems ( ARCHON) som utvecklades för att kontrollera distrubtion och transport av elektricitet till industrier och andra storkunder. Inom DAI finns två huvudområden (Briola et Al., 2008). Distribuerad problemlösning och det som jag valt att skriva om: multiagentsystem (MAS) (Stone, Veloso). Multiagentsystem Ett multiagentsystem (MAS) består av ett antal agenter som kan interagera med sin omgivning och varandra och jobbar mot ett övergripande mål. En agent är ett datorprogram som på något sätt agerar i en domän. Luck et Al. (2005) definierar en agent som a computer program capable of flexible and autonomous action in a dynamic environment, usually an environment containing other agents. Agenter kan modifiera sig själva och sin omgivning. De flesta MAS är uppbyggda med liknande egenskaper till exempel att: Varje agent besitter viss men aldrig all information som finns i domänen. Det finns ingen centralt styrande kontroll. All data är decentraliserad. Beräkningar sker på olika håll vid olika tidpunkter. Systemet består av autonoma distribuerade agenter. Agenterna är samarbetande eller har ett eget intresse. (Ligtenberg, 2006) I MAS är miljön alltid dynamisk utifrån varje enskild agents syn det finns fler agenter som kan påverka världen. Informationen som det MAS har är distribuerad mellan agenterna och det på grund av att informationen inte är tillgänglig för alla. Världen är alltså bara delvis observerbar för varje enskild agent. Även kontrollen i ett MAS är distribuerad. Det finns ingen central agent som samlar in information från alla agenter och sedan tar beslut ifrån vad den vet (Vlassis, 2003). 4

I en icke observerbar värld måste agenten hela tiden fundera över vad den vet, vad den inte vet och vad de andra vet för att fatta beslut om hur den ska handla. Ju mer en agent vet om världen desto bättre beslut kan den ta. I ett multiagentsystem måste därför en agent ta med andra agenters kunskaper med i sin beräkning. Den måste också fundera på vad de andra vet om honom och vad de vet om hans kunskaper (Tomlin et Al., 1998). Användningsområden MAS används inom många områden idag och har potential för många fler. Inom programvaruutveckling ger MAS-teknik många fördelar. Genom att beräkningar kan ske på olika håll och inte behöver ske samtidigt blir systemet snabbare och effektivare. Systemen blir robusta och pålitliga eftersom allt inte hänger på en enskild agents utförande. Systemen blir också flexibla i och med att man lätt kan sätta dit nya och ta bort agenter eller förändra agenters egenskaper utan att hela systemet påverkas. Ett MAS kan jämföras med ett stort komplext program som kan ses som en samling mindre program som enskilt har en funktionalitet och som tillsammans bildar en större helhet. Internet är ett exempel där MAS teknik passar bra eftersom det är i ständig förändring (Vlasis,2003). MAS kan på olika sätt koordinera händelser så att de blir effektiva eller säkra. De användas som hjälpmedel i trafiksystem då agenter befinner sig på olika ställen och får geografisk information och kan koordinera handlingar för att optimera systemet. De kan används inom samhällsvetenskap för att simulera interaktion och andra social fenomen. MAS används för att utveckla agenterna i robotfotboll, autonoma agenter som spelar i lag mot ett annat lag. Robotfotboll är förutom en tävling också en plattform att testa MAS-algoritmer i en miljö som är lik en verklig värld där de andra agenternas beteende är svåra att förutsäga och omgivningen är under ständig förändring (Vlasis,2003). Air Traffic Management (ATM) ser en möjlig framtid då flygplan ska få flyg fritt och själva välja vart och hur de flyger för att optimera rutter, höjder och hastigheter. Eftersom flygtrafiken ökar kan inte trafikledningen handskas med så många plan i luften samtidigt. Ett automatiserat säkerhetskontrollsystem skulle förbättra möjligheterna avsevärt. Ett distribuerat kontrollsystem måste då finnas för att eliminera kurskonflikter emellan planen (Tomlin et Al., 1998). Koordinering i M AS Beslutsfattande i ett multiagentsystem är distribuerat. Det finns ingen central agent som får information från varje agent och sedan beslutar hur varje enskild agent ska handla utan varje a gent handlar efter eget beslut och tar således ansvar för dem. Fördelar med detta decentraliserade system jämfört med ett centraliserat är att beräkningar kan ske vid olika tidpunkter vilket gör systemet mer 5

effektivt. Dessutom är det robustare genom att funktionaliteten i systemet inte hänger på en enskild agent eftersom beslut tas av flera agenter. För att varje enskild agents beslut ska vara fördelaktigt för hela gruppen måste deras handlingar koordineras. Koordinering behövs när en grupp samverkande agenter utarbetar en plan mot samma mål. Koordineringen försäkrar att agenternas handlande inte hindrar varandra och att handlingarna bidrar med steg mot det gemensamma målet. Ett exemplet på detta är robotfotboll där ett lag försöker lägga mål mot ett annat lag. Koordinationen i det fallet kan handla om att två agenter från samma lag inte försöker skjuta på bollen samtidigt. Det finns ingen agent som säger om en agent ska skjuta eller inte, det är varje enskild agent som bestämmer själv (Vlassis, 2003). För att agenterna i ett system ska kunna handla på ett distribuerat sätt måste en strategi för koordineringen utvecklas. En social konvention sätter upp restriktioner på möjliga handlingar, med andra ord sociala regler som hänvisar vilka handlingar som är okej i en viss situation. Konventionen är allmänkunskap hos agenterna och ingen agent har någon fördel av att inte följa den. Boutilier (1996) har föreslagit en generell konvention som koordinerar ett system. Konventionen innehåller ett unikt schema över ordningen på gemensamma handlingar, vilket är allmän kunskap bland agenterna. For each agent i in parallel Compute all equilibria of the game. Order these equilibria based on a unique ordering scheme. Select the rst equilibrium a = (a i; ai ) in the ordered list. Choose action a i. End (Vlassis, 2003) 6

Multiagent kontrollsystem för järnvägssingalering Här kommer en beskrivning av enprotyp för ett kontrollsystem för den italienska järnvägen utformat av datavetenskapliga institutionen på Genoa Universitet och Ansaldo Segnalamento Ferroviario. Projektet blev klart i september 2008 och är ett MAS som kontrollerar processer som styr tågsignalerna, upptäcker avvikelser och rapporterar om det finns något problem till ett assistanscenter (Briola et al., (2008). M AS arkitektur Det MAS består av fyra sorters agenter; Log Reader Agents (LRA), Process Monitoring Agents (PMA), Computer Monitoring Agents (CMA) och Plant Monitoring Agents (PlaMA). Dessa är hierarkiskt ordnade så att LRA interagerar med PMA som i sin tur interagerar med CMA som interagerar med PlaMA. Agenterna LRA är de enda agenterna i systemet som tar in information från omgivningen. Det finns en LRA för varje process som behöver kontrolleras och det kan vara flera LRA som körs på samma dator om det krävs. Den process som kontrolleras producerar logfiler som den LRA som kontrollerar den regelbundet läser av. LRA extraherar informationen från logfilerna och transformerar den till symboliska representationer i ett format som är tillgänglig för logikbaserat resonemang. Representationerna skicka sedan till den PMA som ansvarar för process P. Ett exempel på ett meddelande kan se ut så här: log(time( Mon Feb 11 21:30:43 CET 2008 ), [view(normal), cpu_usage(normal), connection_to_server(active), disk_usage(normal), answer_to_life(slow), errors(absent), memory_usage(normal)]). PMA är den agent som kan stänga av eller sätta på processen den kontrollerar. Den får information om process P från LRA och tittar därefter om det finns anomalier i Ps funktion vilket den rapporterar till CMA samt begär mer information. Om det behövs stänger den av och startar om process P. CMA får alla meddelanden från de PMAs som körs på den datorn. CMA kontrollerar även nätverksanslutning, CPU-, minnes- och hårddiskanvändning. PMA-meddelandena tillsammans med kontrolluppgifterna gör det möjligt för CMA att sätta upp hypoteser om datorns funktionalitet. Om det är nödvändigt för att agera konsekvent och få en bild över situationen i sin helhet kan CMA 7

fråga PlaMA om mer information. PlaMA är den agent som tar emot meddelanden från alla CMAs i respektive enhet. Det finns en PlaMA per enhet och det är också PlaMA som tar emot alarm från SCCThe Command and Control System for Railway Circulation Assitance Center och interagerar med miljön genom att alarmera assistant centret på plats. Figur 1. MAS arkitektur Implementering Agenterna är Jade agenter men för att kunna handskas med kommunikationen som ska gå från en specifik sändare till en specifik mottagare har alla agenter, utom LRA agenten, istället implementerats i TuProlog som är en utökad version utvecklad på Bolognas Universitet som gör att agenterna blir selektiva och bara tar emot meddelanden som följer ett visst mönster och från en viss sändare. CMA, PMA och PlaMA liknar varandra genom att de har ett cyklisk observe-think-act beteende då de först kollar om ett meddelande matchar en given mall, lägger in meddelandet i sin historik, behandlar meddelandet utifrån givna regler i programmet och utifrån deras kunskapsbas och till sist svarar agenten som skickade meddelandet och om det behövs skickar meddelanden till andra agenter i MAS. Agenterna är utrustade med olika regler för att behandla olika parametrar som ska kontrolleras. En agents tillstånd (state) består av fakta om vad som hänt tidigare, de olika agenterna sparar olika 8

information. PMA sparar information om vad för problem som funnits var och när. CMA sparar information om alla problem dess PMAs haft och vilken åtgärd som utfördes, till exempel om en process stängdes av och i så fall varför. PlaMA har översikt över hela nätverket och sparar därför ingenting specifikt för en viss händelse utan sparar information om problem generellt i nätverkets. Alla agenter sparar en meddelandehistorik i sin kunskapsbas för att se om ett meddelande upprepar sig is fall kunna åtgärda på ett annat sätt (Briola et al., 2008). Köra systemet För att kunna köra kontrollsystemet måste Jade och tuprolog installeras på alla maskiner. Figur 2 beskriver hur ett meddelande angående att kontakten med servern är förlorad kan se ut. Figur 2. Systemet körs PMA1får ett meddelande från LRA som lyder connection_to_server(lost). PMA1 frågar CMA om mer information. CMA har inget noterat kring problemet från andra PMAs och svarar därför no_network_problem. PMA1 stänger av och sätter igång processen och informerar det till CMA. Senare får PMA2 ett likadant meddelande från LRA och, liksom PMA1, frågar CMA om mer information. CMA registrerade problemet som PMA1 rapporterade och behöver nu verifiera om det handlar om ett lokalt problem eller om det är problem i hela nätverket. CMA frågar PlaMA om information. PlaMA har inte problemet i sin historik och ger tillbaka no_network_problem. CMA vidarebefordrar det till PMA2 som stänger av och startar om processen samt informerar CMA om det (Briola et al., 2008). 9

Figur 2. Systemet körs forts Om exemplet utökas vidare med en ytterliggare CMA och två ytterliggare PMA skulle scenariot kunna fortsätta genom att PMA3 får samma meddelande om problemet connection_to_server(lost) så upprepar den vad som hände tidigare i förra exemplet dvs meddelar CMA2 som svarar PMA3, utan att fråga PlaMA, att det inte är några problem med nätverket. Om nu PMA4 får meddelande om nätverksproblem kommer CMA2 fråga PlaMA och PlaMAs historik innehåller samma problem. PlaMA skickar medelandet network_problem tillbaka till CMA2 som skickar vidare till PMA4 som inte kommer stänga av processen eftersom det inte är ett problem som kan lösas lokalt (Briola et al., 2008). Diskussion Multiagenta system tycker jag verkar ha potential att kunna användas och utvecklas inom många områden. Det som jag ser som mest positivt är dess flexibilitet. Ett system kan utvecklas till flera olika system genom anpassning av agenter som inte påverkar hela systemet. Det går att utveckla ett MAS som kan appliceras i olika domäner. Det är ett praktiskt system som kan anpassas efter framtida utveckling. 10

Referenser Briola, B., Mascardi, V., Martelli, M., Arecco, G., Caccia, R., Milani, C. (2008) A Prolog-Based MAS for Railway Signalling Monitoring: Implementation and Experiments, DISI, Universit`a degli Studi di Genova, Genova, Italy Flyman, S. (2001) Integration av artificiella agenter i mänskliga organisationer en teoretisk analys av de hybrida systemens problematik, Lunds Universitet Ligtenberg, Arend (2006), Exploring the use of Multi-Agent Systems for Interactive Multi-Actor Spatial Planning, Wageningen University Stone, P.,Veloso, M., "Multiagent Systems: A Survey from a Machine Learning Perspective"., Computer Science Department, Carnegie Mellon University Vlassis, Nikos, (2003) A Concise Introduction to Multiagent Systems and Distributed AI, Intelligent Autonomous Systems, Informatics Institute, University of Amsterdam M. Luck, P. McBurney, O. Shehory, S. Willmott, and the AgentLink Community, 2005, Agent Technology: Computing as Interaction A Roadmap for Agent-Based Computing, AgentLink III Tomlin, C., Pappas, G.J., Sastry, S., (1998)Conflict Resolution for Air Traffic Management: A Study in Multiagent Hybrid Systems, IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 43, NO. 4 11