Jason platform. Intelligens Elosztott Rendszerek BME-MIT, 2018

Hasonló dokumentumok
Kooperáció és intelligencia

BDI architektúra, AgentSpeak(L) és Jason ismertetı Mesterséges intelligencia, Dobrowiecki T., BME-MIT

Intelligens Elosztott Rendszerek. Dobrowiecki Tadeusz és Eredics Péter, Gönczy László, Pataki Béla és Strausz György közreműködésével

Mesterséges Intelligencia MI

Jason/AgentSpeak ismertetı

Ágensek bevezető áttekintés:

Kommunikációs rendszerek teljesítőképesség-vizsgálata

MENEDZSMENT ALAPJAI Motiváció I.

Alapszintű formalizmusok

Mesterséges Intelligencia (MI)

Közösség, projektek, IDE

6 x 2,8 mm AGYAS LÁNCKEREKEK 04B - 1 DIN ISO/R 606. Osztás 6,0 Bels szélesség 2,8 Görg átmér 4,0

Programozási nyelvek (ADA)

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Kooperáció és intelligencia kis HF-ok/ Kooperáció és intelligencia, Dobrowiecki T., BME-MIT 1

S0-02 Típusmodellek (Programozás elmélet)

Szoftver-modellellenőrzés absztrakciós módszerekkel

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

SZERVEZETI VISELKEDÉS Motiváció

Elsőrendű logika. Mesterséges intelligencia március 28.

Osztott Objektumarchitektúrák

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

A Feldspar fordító, illetve Feldspar programok tesztelése

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Bevezetés az informatikába

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

TestLine - zsoltix83 hálozat 1 Minta feladatsor

8. Komponens elvű programfejlesztés. Ágens, akció, cél, kontraktus.

Megerősítéses tanulási módszerek és alkalmazásaik

Algoritmusok helyességének bizonyítása. A Floyd-módszer

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

A Python programozási nyelv

1. Informatikai trendek, ágensek, többágenses rendszerek. Intelligens Elosztott Rendszerek BME-MIT, 2018

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Cselekvési tervek generálása. Máté Annamária

Koordinálás és feladatkiosztás aukciókkal 3.rész. Kooperáció és intelligencia, Dobrowiecki, BME-MIT

Modell alapú tesztelés: célok és lehetőségek

Pilot projekt az NFGM-ben: nyílt forráskódú kollaborációs dokumentumportál és üzleti dashboard projektek tapasztalatai

Verifikáció és validáció Általános bevezető

Osztott rendszer. Osztott rendszer informális definíciója

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Szervezeti viselkedés. Dr. Gyökér Irén Szigorlati felkészítő Vezetés-szervezés mesterszak


JavaScript Web AppBuilder használata

Logikai ágensek. Mesterséges intelligencia március 21.

Cselekvési tervek generálása a robotikában

Dunaújvárosi Főiskola Informatikai Intézet. Intelligens ágensek. Dr. Seebauer Márta. főiskolai tanár

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

1. Bevezető. 2. Sérülékenységek

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Nem gyári alkatrészek rendelése modul

Gyári alkatrészek rendelése modul

Nagy bonyolultságú rendszerek fejlesztőeszközei

Párhuzamos és Grid rendszerek

Mesterséges Intelligencia MI

open source, multiplatform, point-and-click adventure games, reverse engeneering, C++, C, Pascal, Assembly, DOS

TSIMMIS egy lekérdezés centrikus megközelítés. TSIMMIS célok, technikák, megoldások TSIMMIS korlátai További lehetségek

Homolka Fruzsina Campden BRI Magyarország Nonprofit Kft.

CM6800 Mátrix Mikroprocesszor alapú videó mátrix, 32 x 6

Adatmodellezés, alapfogalmak. Vassányi István

Ágens technológiák. Starkné dr. Werner Ágnes Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Matematikai programok

A szoftverfejlesztés eszközei

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

Automatikus infrastruktúra menedzsment és alkalmazástelepítés

Modell alapú tesztelés mobil környezetben

5. A kiterjesztési elv, nyelvi változók

Bár a szoftverleltárt elsősorban magamnak készítettem, de ha már itt van, miért is ne használhatná más is.

Korszerű elektronikus fuvarbörze felépítése, folyamata

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

FORD FOCUS FOCUS_2016_V8_MASTER_240x185 Cover.indd /10/ :52:23

GPRS Remote. GPRS alapú android applikáció távvezérléshez. Kezelési útmutató

iphone és Android két jó barát...

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.

1. oldal összesen 6 oldal FARFISA TD6100 DIGITÁLIS NYOMÓGOMB PANEL

BASH script programozás II. Vezérlési szerkezetek

Tartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!

Dr. Jelasity Márk. Mesterséges Intelligencia I. Előadás Jegyzet (2008. október 6) Készítette: Filkus Dominik Martin

A főmenü mindig elérhető a jobb felső sarokban található ikon segítségével. Így mindig könnyen fér hozzá bármely menüponthoz.

ICT ÉS BP RENDSZEREK HATÉKONY TELJESÍTMÉNY SZIMULÁCIÓJA DR. MUKA LÁSZLÓ

Komputeralgebra Rendszerek

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

Véges állapotú gépek (FSM) tervezése

Rendszer szekvencia diagram

Bevezetés. Dr. Iványi Péter

FORD FIESTA FIESTA_2014_240x185 Cover_V3.indd /10/ :49:22

Szoftverminőségbiztosítás

VII. Keretalapú ismeretábrázolás

Szkriptnyelvek. 1. UNIX shell

9. MPI

Mesterséges Intelligencia

ISA szimulátor objektum-orientált modell (C++)

AZ EU FEJLESZTÉSPOLITIKÁJA ÉS TURISZTIKAI VONATKOZÁSAI

Az informatika logikai alapjai

10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Online információkeresés. Dr. Nyéki Lajos 2016

Átírás:

Jason platform

BDI ágensek programozási nyelvei AgentSpeak(L) Ágens viselkedése: hiedelmi állapot saját modellje, környezet modellje, más ágensek modellje kívánalmak kívánatos hiedelmi állapotok szándékok végrehajtásra kiválasztott, vagy már részben végre is hajtott tervek, melyek további cselekvései meghatározzák az ágens közeljövőbeli viselkedését Ágens AgentSpeak specifikációja: hiedelmek halmaza tervek halmaza (logikai jellegű tények) (kontextus-érzékeny, esemény-triggerelt receptek a hierarchikusan dekomponálható célok elérésére, elemei cél-orientált cselekvések).

AgentSpeak(L) programozási alapok hiedelem atom elsőrendű predikátum. cél a rendszer állapota, amit ágens szeretne megvalósítani. Kétféle cél: teljesítési célok predikátumok! prefixxel. Ágens egy olyan világállapotot el szeretne érni, amelyben a jelzett predikátum igaz lesz. Programban a résztervek végrehajtását indítják. teszt célok predikátumok? prefixxel. Illeszkednek (egyesítés) az ágens megfelelő hiedelmeire. Kudarcot adnak vissza, ha megfelelő egyesítés nem lehetséges. triggerelő esemény megadja, mely esemény indíthat egy terv végrehajtását. Egy esemény lehet: belső amikor szükség van egy részcél teljesítésére külső hiedelem-frissítésből generált a környezet érzékeléséből adódóan triggerelő esemény két típusa: a hiedelmek és célok (attitűdök) hozzáadása ( + ) vagy törlése ( - )

AgentSpeak(L) programozási alapok Ágens viselkedése: receptkönyvtár ( tervek ) = reaktív tervvégrehajtó rendszer Terv: Elérendő cél Engedélyező kontextus Tényleges terv lépései :. Cél: +!goal, +?goal,!goal,?goal, +belief, belief teljesítési célok, teszt célok Kontextus: belief Context Context Context Context Context x.context Terv lépései: action +belief belief?context!event Plan; Plan

AgentSpeak(L) Syntax ag ::= bs ps bs ::= at1. atn. at ::= P(t1, tn) ps ::= p1 pn p ::= te : ct <- h. te ::= +at -at +g -g ct ::= true l1 & & ln h ::= true f1 ; ; fn l ::= at not (at) f ::= A(t1, tn) g u g ::=!at?at u ::= +at -at (n 0) (n 0) (n 1) (n 1) (n 1) (n 0)

AgentSpeak(L) programozási alapok Végrehajtási (interpreter) ciklus: 1. esemény aktivizálódik (új elfogadott cél, új érzékelés, lényeges változás a hiedelmekben, stb.) 2. eseményt kezelő tervek kikeresése (releváns tervek) 3. igaz kontextussal rendelkező terv alkalmazható, alkalmazható terv kiválasztása, törzsének lefuttatása 4. ha a terv kiválasztása kudarcba fullad, alternatív alkalmazható terv futtatása, amíg van választás, különben a kudarc tova terjesztése. +!move to(a,b) : available(car)!get(car); drive(a,b). +!move to(a,b) : available(car)!walk(a,b).

AgentSpeak(L) programozási alapok Szándékok a végrehajtásra megválasztott tervek szándékok végrehajtása lépésenként egy-egy lépés a hiedelmeket vagy lekérdezi, vagy megváltoztatja cselekvések végrehajtása a külső környezeten(-ben) végrehajtás felfüggesztése, amíg a szükséges feltételek be nem állnak új célok feladása egy lépés generálhat új eseményeket és azok indíthatnak új szándékokat szándék teljesül, ha minden lépése sikeresen bekövetkezik kudarc, ha a feltételek nem teljesülnek, cselekvések hibával térnek vissza AgentSpeak(L) interpretere = menedzsment események halmaza szándékok halmaza szelektor függvények (ágens-specifikus, Java-ban programozható): SE esemény szelektor SO opció (alkalmazható terv) szelektor SI szándék szelektor

AgentSpeak(L) A programozás elemei Kooperáció és intelligencia, BME-MIT 2012, BME-MIT

AgentSpeak(L) A programozás elemei Érzet Környezet beépített/programozható cselekvések és érzetek Cselekvés

Példa: 3 db ágens aukciózik ag1.asl Mindig 6-tal fogad +auction(n)[source(s)]: true <-.send(s, tell, place_bid(n,6)). ag2.asl Általában 4-gyel fogad, de ha ag3-mal áll össze, akkor 0-át default_bid_value(4). ally(ag3). +auction(n)[source(s)]: not alliance <-?default_bid_value(b);.send(s, tell, place_bid(n,b)). +auction(n)[source(s)]: alliance <-.send(s, tell, place_bid(n,0)). +alliance[source(a)]:.my_name(i) & ally(a) <-.print("alliance proposed by ", A);?default_bid_value(B);.send(A,tell,bid(I,B));.send(A,tell,alliance(A,I)).

Példa: 3 ágens aukciozik ag3.asl Magabiztosan 3-mal indul, de ha 3 aukciót veszít, akkor szövetséget ajánl ag2-nek és átveszi az ő licitjét is. default_bid_value(3). ally(ag2). threshold(3). +auction(n)[source(s)]: (threshold(t) & N<T) (.my_name(i) & winner(i) & ally(a) & not alliance(i,a)) <-!bid_normally(s,n). +auction(n)[source(s)]:.my_name(i) & not winner(i) & ally(a) & not alliance(i,a) <-!alliance(a);!bid_normally(s,n). +auction(n)[source(s)]: alliance(_,a) <-?default_bid_value(b);?bid(a,c);.send(s, tell, place_bid(n,b+c)). +!bid_normally(s,n): true <-?default_bid_value(b);.send(s, tell, place_bid(n,b)). @prop_alliance[breakpoint] +!alliance(a): true <-.send(a,tell,alliance).

Példa: 3 ágens aukciozik Auctioner.asl Indít aukciókat, meghirdeti a győztest all_bids_received(n) :-.count(place_bid(n,_),3). +!start_auction(n): true <- -+auction(n); -+winner(n, none, 0);.broadcast(tell, auction(n)). // Ezt a célt a GUI állítja elő @pb1[atomic] +place_bid(n,v)[source(s)]: auction(n) & winner(n,curwin,curvl) & V>CurVl <- -winner(n,curwin,curvl); +winner(n,s,v);!check_end(n). @pb2[atomic] +place_bid(n,_): true <-!check_end(n). +!check_end(n): all_bids_received(n) & winner(n,w,vl) <-.print("winner is ",W," with ", Vl); show_winner(n,w);.broadcast(tell, winner(w));.abolish(place_bid(n,_)). +!check_end(_).

Jason AgentSpeak platform Javaban, kiterjesztésekkel AgentSpeak(L) teljes erejű interpretere sok kiterjesztés, függvény hatékony ágensprogramozás többágenses rendszer több hoszton konfigurálható (+ Jade,...) Java implementáció Open Source GNU LGPL alatt: http://jason.sourceforge.net/ Environment: percepts, environment actions internal actions, beliefs, goals KQML alapú inter-ágens kommunikáció tell, untell, achieve, unachieve tellhow, untellhow, askif, askall, askhow 1 rendű nyelv, nincs modalitás Terv címkék, hiedelmek annotálása hiedelem [source(ag)], hiedelem [source(percept)] hiedelem [source(self)] Szabadon kiterjeszthető, felhasználói szinten módosítható (Java)