Sunteți pe pagina 1din 4

Masini cu stadiu finit MSF, cunoscute si ca ASF, simplificate sunt modele ale comportamentelor unui sistem sau a unui

obiect complex, cu un numar limitat de conditii definite sau moduri, unde tranzitiile de mod se schimba in functie de circumstante. MSFurile consista din 4 elemente principale - stadii ce ddefinesc comportament si pot produce actiuni - tranzitii de stadiu care sunt mutari de la un satdiu la altul - reguli sau conditii ce trebuie intrunite pentru a permite tranzitia de stadiu - evenimente de intrari de date care sunt generate fie extern sau intern, ce pot declansa reguli si conduce la tranzitii de stadiu Un MSF trebuie sa aiba o stare initiala care furnizeaza un punct de inceput, si o satre curenta ce memoreaza rezultatul ultimei tranzitii de stadiu. Evenimentele de primire de date actioneaza ca declansatoare, care cauzeaza evaluarea unui fel de reguli care guverneaza tranzitiile din stadiul curent spre altul. Cel mai bun mod de a vizualiza un MSF este a-l imagina ca un grafic sau un grafic directionat de stadii, totusi cum va fi prezentat ; exista tehnici abstracte de modelare mai precise care pot fi folosite. MSF este de obicei folosit ca un tip de sistem de control unde informatia este reprezentata in stadii, iar actiunile sun restrictionate de reguli. ...unul dintre cele mai fascinante lucruri la MSFuri este ca chiar aceleasi tehnici de modelare pot fi folosite pentru proiectarea programelor in VB, circuitelor logice sau a microcontrolerelor. Multe cipuri de computere si microprocesoare au la baza un MSF. MSFurile sunt o tehnica adoptata de inteligenta artificiala care are orginile in matematica, initial folosite pentru reprezentarea limbajului. Este in stransa legatura cu alte reprezentari funadamentale ale cunoasterii ce merita mentionate, ca retele semantice si o extensie extensie a retelei semantice numita spatiu de stadiu. Retele semantice au fost propuse sa reprezinte intelesul si relatiile cuvintelor engleze. Un grafic este construit unde nodurile reprezinta concepte si marginile relatiile. Spatiul stadiu este o extensie a a ideii de retea semantica, unde un nod denota un stadiu valid si marginile tranzitii intre stadii. Spatiul stadiu, spre deosebire de MSF, cere ambele stadii, initial si de scop, si este de obicei folosit in domeniile de rezolvare de probleme unde o secventa de actiuni este necesara pentru rezolvarea problemei generale (secventa de la stadiul initial la cel de scop). Ca MSF, spatiul stadiu are reguli ce constrang tranzitiile de stadiu, si sunt declansate de evenimente de intrari de date. Ca orice sistem bazat pe reguli, daca antecedentul (-ele) unei reguli este adevarat, atunci regula este declansata. Este posbil ca mai multe reguli sa fie declansate, iar in cazul sistemelor care rationeaza, asta se numeste set de conflict. Poate fi doar o tranzitie de la stadiul curent, asa ca o strategie consistenta de rezolutie este necesara pentru a selecta doar una dintre regulile declansate si prin urmare sa se execute tranzitia de la stadiu. Aceasta ne aduce in discutie dou tipuri principale de MSF. MSFul simplu original este cunoscut ca deterministic, insemnand ca fiind date niste date de intrare si stadiul curent, tranzitia de stadiu poate fi prevazuta. O extensie a conceptului de la capatul opus este un MSF ne-deterministic. Aici cunonsandu-se stadiul curent tranzitia stadiului nu este predictibila. Poate fi cazul in care multiple date de intrare sunt primite in momente diferite ce inseamna ca tranzitia de la satdiul curent la altul nu poate fi cunoscuta pana cand datele intrate sun primite. O implementare a MSFului deterministic poate consta in actionarea primei reguli declansate. Poate fi ideal pentru multe domenii de probleme, dar pentru jocuri de

calculator, comportamentul usor predictibil nu este o trasatura dorita pentru ca tinde sa elimine factorul de amuzament din joc. un jucator se simte ca si cum ar juca impotriva unei simulari realistice a inteligentei, si nu impotriva unei secvente de actiuni. Secventa ce este avantajul cheie al MSFului nu ar trebui sa fie foarte evidenta in jocuri. Exista un numar de extensii ale MSFului si modificari pentru amestecarea secventei pentru a fi mai greu de prevazut actiunile. Una dintre aceste abordari ne-deterministice implica aplicarea unei alte tehnici de inteligenta artificiala dovedite: Fuzzy Logic, numita Masina cu Stadiu Neclar (MSN). La fel ca MSFurile exista multa flexibilitate in implementarea unui MSN. O valoare neclara poate fi aplicata unor tranzitii de stadiu diferite. Cand un set de conflict este intalnit, cu cat este mai mare valoarea neclara pentru o tranzitie cu atat este mai mare posibilitatea trnazitiei stadiului. Aceasta permite specificarea prioritatii unei valori neclare pentru tranzitia de stadiu. O implementare a MSN poate implica desemnarea valorilor neclare unor intrari de date diferite pentru a indica gradul de definire a intrarii de date. Sistemul neclar ar folosi valorile cantarite in evaluarea regulilor, declansand doar tranzitii de stadiu ale caror valori sunt peste o limita specificata. O alta abordare pentru transformarea unui MSF deterministic intr-unul ne-determinisric ar fi doar folosirea unui generator de numere aleatorii pentru alegerea unei reguli declansate. Ar putea sa nu fie necesar sa se implementeze un MSF cu un nivel de impredicitibilitate. Acesta poate fi dobandit de un sistem sau obiect care are un numar mare de stadii definite sai o retea complexa de tranzitii, oferind aparenta de impredictibilitate. Este important de inteles diferenta dintre un stadiu si o actiune. Cand se proiecteaza un program de calculator, functionalitati mai mari sunt descompuse intr-un numar de actiuni sau activitati mai mici. Se procedeaza astfel pentru ca fiecare sa fie definita intr-o functie, facand solutia generala modulara, mai usor de depanat. MSF este asemanator referitor la faptul ca este o descompunere de comportamente ale unui sistem sau obiect, si chiar un stadiu poate fi descompus in sub-stadii. Diferenta este ca un stadiu implica una sau mai multe actiuni. Exemplu 1: o actiune miscaUnitate() poate fi folosita de ambele stadii evitaInamic() si atacaInamic(). Exemplu 2: stadiul evitaInamic poate consta din multe actiuni, unele evaluari, unele directive de miscare, si unele actiuni ce pot schimba propriul stadiu al entitatii. Daca entitatea este incoltita de exemplu, ar putea fi o tranzitie de stadiu de la evitaInamic la atacaInamic, unde actul de a fi incoltit este declansatorul. Cel mai bun mod in care imi place sa ma gandesc la termeni este o actiune care reuseste ceva ca o evaluare sau miscare, iar un stadiu este o colectie de actiuni folosite intr-un anumit mod. Un stadiu este circumstanta unui lucru, conditia sa, iar actiunile sunt atributele stadiului. Furnizeaza capacitatea de a limita scopul actiunilor sau cantitatea de informatie la minimul cerut de stadiul curent. Exista doua metode principale pentru manipularea generarii rezultatelor unui MSF. Sunt numite masinile Moore si Mearly, dupa autorii lor. O masina Moore este un fel de MSF unde rezultatele sunt generate ca produse ale stadiilor. In exemplul de mai jos stadiile definesc ce e de facut; ca in cazul aplicarii de curent electric unui bec.

O masina Mearly, spre deosebire de masina Moore este un tip de MSF unde rezultatele sunt generate ca produse ale tranzitiei dintre stadii. In exemplul de mai jos lumina este afectata de schimbarea stadiilor. MSFurile nu sunt o tehnica noua, exista de mai mult timp. Conceptul de descompunere ar trebui sa fie familiar oamenilor cu experienta in programare sau proiectare. Exista un numar de tehnici de modelare abstracte care ar putea ajuta la inetelegerea in definitie si proiectare a unui MSF, majoritatea venind din lumea proiectarii sau matematicii. Diagrama Tranzitiei Stadiilor: numita si diagrama balon, arata realatiile dintre stadii si intrari de date care cauzeaza tranzitia stadiului Diagrama Deciziei Actiunii Stadiului: o diagrama simpla cu baloane aditionale care arata asteptarea de date externe Diagrama Graficului Stadiului: o forma de notatie UML folosita pentru a arata comportamentul unui obiect individual ca numar de stadii, si tranzitii intre acele stadii Analiza Ierarhiala a Sarcinii: desi nu priveste stadiile, AIS este o tehnica de descompunere a sarcinii care priveste modul in care o sarcina poate fi impartita in subsarcini, si ordinea in care sunt executate. Avantaje ale MSFului - simplitatea lor usureaza implementarea de catre proiectanti fara experienta fara a sti ceva in plus - predictibilitatea (in MSF deterministic), fiind date un set de intrari de date si un stadiu curent cunoscut, tranzitia de stadiu poate fi prevazuta, permitand testare usoara - datorita simplitatii, MSFurile se pot proiecta usor, se pot implementa usor si se pot executa usor - MSF este o tehnica veche de reprezentare a informatiei si modelare de sistem, si exista de mult timp, fiind bine dovedita ca tehnica de inteligenta artificiala, cu multe exemple din care se poate invata - MSFurile sunt relativ flexibile. Exista un numar de moduri in care se pot implementa sisteme bazate pe MSF in termeni topologici, si este usor de incorporat alte tehnici - transferul usor de la o reprezentare abstracta la o implementare codata - cerinte mici de procesare; potrivit domeniilor unde timpul de executie este impartit intre module sau subsisteme. Doar codul stadiului curent trebuie executat si probabil o cantitate mica de logica pentru determinarea stadiului curent - usoara determinare a ajungerii la un stadiu, reprezentata in forma abstracta, este evidenta imediat daca un stadiu este posibil de ajuns prin altul, si a ceea ce este necesar pentru a ajunge la acel stadiu Dezavantaje ale MSFului - natura predictibila a unui MSF deterministic poate fi nedorita in unele domenii cum ar fi jocurile pe calculator (solutia ar putea fi un MSF ne-deteeministic) - sisteme mai mari implementate folosind MSF pot fi dificil de administrat si depanat fara un proiect bine gandit. Tranzitia de stadiu poate cauza un grad de factorspaghetti in incercarea de urmarire a liniei de executie - nepotrivit tuturor domeniilor de probleme, ar trebui sa fie folosit cand comportamentul unui sistem poate fi descompus in stadii separate cu conditii bine definite pentru tranzitii de stadiu - conditiile pentru conditiile de tranzitii de stadiu sunt fixe (poate fi rezolvat cu MSN) Ca cele mai multe tehnici, euristica pentru cand si cum se implementeaza MSF este subiectiva si specifica problemei. Este clar ca MSFurile sun bine potrivite domeniilor de

probleme care sunt usor exprimate folosind un grafic si poseda un set de stadii si reguli bine definite care guverneaza tranzitiile. Pnetru o discutie mai larga despre MSFuri va recomand sa cititi: Finite State Machines Making simple work of complex functions

S-ar putea să vă placă și