130 likes | 341 Views
Instrument de proiectare asistată a problemelor de satisfacerea constr â ngerilor şi rezolvarea distribuită a acestora pe o platformă multiagent. Algoritmi de prelucrare a imaginilor. Cuprins. cadru software JADE rezolvarea distribuită a p roblem ei color ării hărţilor
E N D
Instrument de proiectare asistată a problemelor de satisfacereaconstrângerilor şi rezolvarea distribuită aacestora pe o platformă multiagent. Algoritmi de prelucrare a imaginilor
Cuprins • cadru software JADE • rezolvarea distribuită a problemei colorării hărţilor • prelucrarea distribuită de imagini
JADE JADE - Java Agent DEvelopment Framework - mediu de dezvoltare a agenţilor utilizând limbajul Java - este un cadru software implementat în totalitate în Java - simplifică implementarea sistemelor multiagent - este un produs care respectă şi susţine regulile impuse de specificaţiile FIPA(Foundation for Intelligent Physical Agents) - include două pachete importante: - o platformă de agenţi - un pachet pentru implementarea agenţilor - foloseşte limbajul ACL(Agent Communication Language ca limbaj de comunicare între agenţi - protocolul de transport a mesajelor folosit este RMI(Remote Method Invocation)
Platformele Agent JADE • o platformă poate avea mai multe containere, care pot fi pe acelaşi calculator sau pe calculatoare diferite • fiecare platformă de agenţi are câte un container principal numit Main-Container, acesta se găseşte pe calculatorul care lansează în execuţie serverul de RMI • agenţii din containere diferite ale unei platforme utilizează protocolul RMI pentru a comunica
Containerul principal Acest container conţine obligatoriu 2 agenţi: - Agentul AMS este un agent de administrare al sistemului (Agent Management System) - Agentul DF este facilitatorul de director (Directory Facilitator). Acesta are capabilitatea de a modifica şi căuta descrieri ale agenţilor.
Agentul AMS (Agent Management System) • este un agent de administrare a sistemului • exercită un control supervizor în privinţa accesului şi utilizării platforme • numai un singur agent AMS poate exista într-o platformă de agenţi • păstrând un director de identificatori de agent (AID) şi de stări agent • fiecare agent trebuie să se înregistreze cu AMS pentru a primi un identificator valid
Instrumente furnizate de JADE • Remote Management Agent (RMA) – funcţionează ca o consolă grafică pentru managementul şi controlul platformei • Agentul Dummy reprezintă un instrument de monitorizare şi depanare, alcătuit dintr-o interfaţă grafică pentru utilizator şi un agent JADE de bază • Sniffer-ul (interceptorul de mesaje) reprezintă un agent ce poate intercepta mesaje ACL în timpul transmiterii, afisându-le grafic • Agentul Introspector reprezintă un instrument foarte util ce permite monitorizarea ciclului de viaţă al agenţilor şi a mesajelor ACL pe care aceştia le schimbă • Agentul Socket Proxy este un agent simplu funcţionând ca o poartă de acces între o platformă JADE şi o conexiune TCP/IP obişnuită
Caracteristicile cadrului JADE • Platformă de agenţi distribuită • Interfata grafică a utilizatorului pentru administrarea mai multor agenţi şi containere de agenţi • Instrument de depanare cu rol în dezvoltarea aplicaţiilor multiagent • Mobilitatea agenţilor intre platforme • Transportul eficient al mesajelor ACL în interiorul aceleiaşi platforme de agenţi • Înregistrarea automată şi deînregistrarea a agenţilor prin intermediul AMS • Serviciul de denumire FIPA: la pornire facilitează agenţilor obţinerea identificatorului unic global (Globally Unique Identifier) de la platformă
Problema colorării hărţilor • Enunţul acestei probleme este: Fiind dată o hartă, să se coloreze aceasta folosind cât mai puţine culori, astfel încât două teritorii vecine să aibă culori diferite • S-a demonstrat faptul că orice hartă poate fi colorată cu maxim patru culori • Este o problemă de satisfacere a constrângerilor binare
Specificaţii de realizare • fiecărui teritoriu îi va corespunde câte un agent • o constrângere apare între doi agenţi vecini (două teritorii vecine) şi aceasta este următoarea: valorile celor doi agenţi să fie diferiţe (culorile celor două teritorii să fie diferite) • pentru realizarea acestei probleme distribuit am folosit algoritmul weak commitment search(algoritm de căutare prin angajament minim) • pentru numărarea teritoriilor s-a folosit algoritmul de etichetare a obiectelor studiat la R.F.P.I.
Prelucrarea distribuită a imaginilor • Am realizat două prelucrări distribuite asupra imaginilor: - scheletizare -transformarea acestora în imagini monocrome
Scheletizarea • este procesul de îndepărtare a cât mai mulţi pixeli dintr-un obiect fară a-i afecta forma generală • după ce au fost îndepărtaţi pixelii obiectul trebuie recunoscut • forma scheletizată trebuie să aibă proprităţile: - să fie cât mai subţire posibil - pixelii rămaşi să fie conectaţi între ei - să fie centrată • scheletizarea se aplică imaginilor binare (cele care au doar două nivele de gri) • am folosit pentru scheletizare algoritmul lui Hilditch
Specificaţii de realizare • fiecare imagine este împărţită în mai multe părţi (câte una pentru fiecare agent creat) • fiecare agent primeşte o parte din imaginea ce o are de prelucrat • fiecare agent aplică asupra imaginii unul din procedeele amintite anterior • după ce a terminat de prelucrat, un agent salvează partea de imagine pe calculatorul său • după ce toţi agenţii au terminat de prelucrat se reface imaginea finală