Скачать презентацию Sisteme de programe pentru timp real Universitatea Politehnica Скачать презентацию Sisteme de programe pentru timp real Universitatea Politehnica

08c9b2695bbb2229b31736fe79f4e430.ppt

  • Количество слайдов: 29

Sisteme de programe pentru timp real Universitatea “Politehnica” din Bucuresti 2007 -2008 Adina Magda Sisteme de programe pentru timp real Universitatea “Politehnica” din Bucuresti 2007 -2008 Adina Magda Florea http: //turing. cs. pub. ro/sptr_08 si curs. cs. pub. ro

Curs Nr. 9 § 1. § Utilizarea GA in planificare exemplul din curs 6 Curs Nr. 9 § 1. § Utilizarea GA in planificare exemplul din curs 6 exemplul prezentat in acest curs Utilizarea GA ca euristica in cautare Utilizarea GA in invatarea conceptelor/claselor din exemple 2. Utilizarea GA pentru invatarea regulilor de decizie § Utilizarea GA in invatarea actiunilor 3. LCS 2

1. Utilizarea GA ca euristica in cautare • Aplicatie de planificare a resurselor • 1. Utilizarea GA ca euristica in cautare • Aplicatie de planificare a resurselor • Rezolvata utilizand GA, apoi rezolvata utilizand o metoda hibrida GA – cautare euristica Problema • 4 resurse: A, B, C si D • Fiecare resursa executa un numar diferit de tipuri operatii O 1, O 2 si O 3. • Pt fiecare resursa se cunoaste: - timpul pt executarea unui tip de operatie - costul executarii operatiilor - capacitatea 3

1. 1 Utilizare GA Se dau: 3 job-uri pt: 1400 unitati O 1, 1200 1. 1 Utilizare GA Se dau: 3 job-uri pt: 1400 unitati O 1, 1200 unitati O 2 si 900 unitati O 3 Se cere: planificarea resurselor a. i. : • Cel mai redus cost de productie • Executarea tuturor unitatilor cerute • Sa nu se depaseasca capacitatea resurselor Resursa O 1 (min) O 2 (min) O 3 (min) Cost/min Capacitate (min) A 2 5 1 30 1000 B - 4 2 40 4720 C 1 - - 50 400 D 1 - 2 20 1000 4

Indivizi = numarul de unitati din fiecare operatie atribuit fiecarei resurse. No. O 1 Indivizi = numarul de unitati din fiecare operatie atribuit fiecarei resurse. No. O 1 A No. O 2 A No. O 3 A No. O 1 B No. O 2 B No. O 3 B No. O 1 C No. O 1 D No. O 3 D Functia de evaluare: functie de cost = costul total al utilizarii resurselor + puncte totale de penalizare pentru depasirea capacitatii resurselor. Fitness = No. O 1 A*2*30 + No. O 2 A*5*30 +. . + *(No. O 1 A + No. O 2 A + No. O 3 A – 1000 +…) – trebuie minimizat • - ponderea penalizarilor pt violarea restrictiilor • Solutia se obtine in aprox 60 generatii cu 50 indivizi si o valoare a solutiei de 99% din solutia de cost optim. • lent deoarece problema este simpla Resursa O 1 O 2 O 3 Cost/min Capacitate A 2 5 1 30 1000 B - 4 2 40 4720 C 1 - - 50 400 D 1 - 2 20 1000 5

1. 2 Using Metoda hibrida GA – cautare euristica Indivizi: secventa de joburi care 1. 2 Using Metoda hibrida GA – cautare euristica Indivizi: secventa de joburi care va fi data unui planificator. Se impart joburile mari in joburi mai mici. • 1400 O 1 = 5 joburi de 280 O 1 • 1200 O 2 = 4 joburi de 300 O 2 • 900 O 3 = 3 joburi de 300 O 2 Total 12 joburi § Individ care reprezinta a secventa de 12 joburi ce va fi folosita ca intrare a unui planificator simplu § Euristica planificatorului: preia primul job din secventa si il aloca primei resurse (de la A la D) care capacitate disponibila § Functia de evaluare – la fel § 2 generatii de 50 indivizi pentru a evolua o solutie egala cu cea de cost optim. § Timpul este semnificativ redus § Se poate aplica la probleme de dimensiuni mari 6

1. 3 Aplicatie • Construirea unei aplicatii pt Channel 4 – cel mai mare 1. 3 Aplicatie • Construirea unei aplicatii pt Channel 4 – cel mai mare canal TV comercial din Marea Britanie • Optimizarea secventelor de publicitate • Acelasi spot publicitar in diferite regiuni + satisfacere restrictii de pozitionare – regiune, prima pozitie, ultima pozitie, pereche, etc. • Pauza publicitara de 4 min = 6 regiuni, 144 sloturi de 10 secunde in care sa se planifice pana la 50 spoturi publicitare • 70 pauze publicitare • Abordarea hibrida permite un timp acceptabil 7

Aplicatie • GA simplu: Utilizeaza un individ de 144 elemente (jndex), fiecare element reprezentand Aplicatie • GA simplu: Utilizeaza un individ de 144 elemente (jndex), fiecare element reprezentand sloturi de 10 secunde din cele 6 regiuni • Fiecare index reprezinta un pointer la un spot publicitar (unul din 50) • Poate dura ore pt a determina o solutie acceptabila • GA-euristic: reprezint in indivizi secvente de spoturi publicitare • Individ dat planificatorului • Planificatorul = preia spotul urmator din secventa si il planifica in prima pozitie libera, in regiunea ceruta • Problema de optimizare devine aceea de a optimiza secventele de spoturi care sunt prezentate planificatorului • Planificatorul satisface restrictiile "grele", restrictiile "usoare" sunt reprezentate de functia de evaluare si satisfacute de GA • Reduce timpul de planificare la secunde 8

Invatarea conceptelor/claselor din exemple • Specificare exemple • Metode • Non simbolice – ANN Invatarea conceptelor/claselor din exemple • Specificare exemple • Metode • Non simbolice – ANN – GA • Simbolice – DT – VS • Statistice – BN – ipoteze probabilistice

2. Utilizarea GA pentru invatarea regulilor de decizie • Reguli de forma: if A 2. Utilizarea GA pentru invatarea regulilor de decizie • Reguli de forma: if A 1=v 1 and x 1

2. 1 Reguli de decizie • • • O clasa ck C Exemple pozitive 2. 1 Reguli de decizie • • • O clasa ck C Exemple pozitive - E+(ck) = {e E | C(e)=ck} Exemple negative - E-(ck) = E – E+(ck) O regula de decizie R if t 1 and t 2. . and tr then ck LHS RHS – apartenenta unui exemplu la o clasa Multime de reguli - RS : multime disjunctiva de reguli care au aceeasi RHS CRS C – indica clasa specificata de RHS a unei multimi RS GA este apelat pt fiecare ck C ca sa gaseasca RS ce separa E+(ck) de E-(ck) Functia de fitness -> prefera regulile cu mai putine conditii, care acopera cat mai multe ex+ si cat mai putine ex 11

2. 2 Reprezentare • Un cromozon reprezinta un RS • Numarul de reguli din 2. 2 Reprezentare • Un cromozon reprezinta un RS • Numarul de reguli din RS nu este cunoscut Cromozomi de lungime variabila + operatori care sa schimbe numarul de reguli • 1 cromozom = concatenare de siruri • Fiecare sir are o dimensiune fixa = LHS a unei reguli de decizie (nu are nevoie de RHS) • 1 sir este compus din N sub-siruri (LHS) – o conditie pt fiecare atribut 12

Reprezentare • Atribute cu valori binare – flag binar • Atribute cu valori continue Reprezentare • Atribute cu valori binare – flag binar • Atribute cu valori continue – li, ui, li

Reprezentare Exemplu • 2 atr valori continue: Salary, Amount • 1 atr valoare discreta Reprezentare Exemplu • 2 atr valori continue: Salary, Amount • 1 atr valoare discreta – Purpose (car, house, school) • Classa - Accept Salary - + 100 250 Amount - 250 - 500 750 + - + Purpose 1 1 1 if Amount<250 then ACCEPT 1 1 1 if 100750 and Purpose = (car or house) then ACCEPT 14

2. 3 Operatori genetici 4 operatori aplicati pe un unic set de reguli: • 2. 3 Operatori genetici 4 operatori aplicati pe un unic set de reguli: • Schimbarea unei conditii din LHS (a) • Introducere exemplu pozitiv (b) • Eliminare exemplu negativ (c) • Eliminare regula (d) 2 operatori aplicati pe 2 seturi de reguli RS 1 si RS 2: • Copiere regula (e) • Crossover (f) 15

Operatori genetici (a) Schimbarea conditiei • Un operator de tip mutatie – modifica o Operatori genetici (a) Schimbarea conditiei • Un operator de tip mutatie – modifica o singura conditie referitoare la un atribut Ai • Daca Ai discret – selecteaza aleator un flag si inverseaza • Daca Ai cont – inlocuieste aleator o valoare li sau ui cu o valoare de prag de separare (b) Introducere ex+ • Modifica o regula R din RS a. i. sa acopere un e+ E+(CRS) currently uncovered by R • Toate conditiile din regula care sunt in conflict cu e+ trebuie sa fie chimbate. • Ai discret – seteaza flag • Ai cont – li=Ai; similar daca li>= Ai(ex+) 16

Operatori genetici (c) Eliminare ex • Modifica o unica regula R din setul RS. Operatori genetici (c) Eliminare ex • Modifica o unica regula R din setul RS. • Selecteaza aleator un exemplu e- din multimea de exemple negative, acoperit de R. • Apoi altereaza o conditie din R a. i. R sa nu mai acopere e-. • Daca in conditie atr discret Ai atunci flag corespunzator Ai(e-) este pus pe 0. • Daca Ai este atribut cu valori continue li < Ai <= ui este micsorat fie la li’ < Ai <= ui fie la li < Ai <= ui’, unde li’ este cea mai mica valoare de prag de separare Ai(e-) >= li’ si ui’ este cea mai mare valoare de prag de separare a. i. ui’ < Ai(e-). 17

Operatori genetici Eliminare regula si copiere regula – singurii operatori care schimba numarul de Operatori genetici Eliminare regula si copiere regula – singurii operatori care schimba numarul de reguli dintr-un set de reguli. (d) Eliminare regula • Elimina aleator o singura regula din RS. (e) Copiere regula • Adauga la RS 1, o copie a unei reguli selectata aleator din RS 2, cu conditia ca numarul de reguli din RS 1 sa fie ma mic decat max. R. • max. R este un parametru stabilit de proiectant, care limiteaza numarul maxim de reguli dintr-un set. (f) Crossover • Selecteaza aleator 2 reguli R 1 si R 2 din RS 1 si RS 2. Apoi aplica crossover intre sirurile ce reprezinta R 1 si R 2. 18

2. 4 Fitness • Atribuire bazata pe rang • Scop = reducerea numarului de 2. 4 Fitness • Atribuire bazata pe rang • Scop = reducerea numarului de erori • ERS – multimea de exemple acoperite de RS (clasa RHS – CRS) • E+RS = ERS E+(CRS) – multimea de ex+ clasificata corect de RS • E-RS = ERS E-(CRS) – multimea de ex- acoperita de RS • Numarul total de ex+ si ex. POS = |E+(CRS)| NEG=|E-(CRS)| = M – POS • RS clasifica corect: - pos = |E+RS| ex+ si - NEG-neg ex- unde neg=|E-RS| 19

Fitness • • • Ferror = Pr(RS) / Compl(RS) Pr(RS) = probabilitatea de a Fitness • • • Ferror = Pr(RS) / Compl(RS) Pr(RS) = probabilitatea de a clasifica corect un exemplu din setul de invatare de multimea de reguli RS Compl(RS) = complexitatea multimii RS Pr(RS) = (pos + NEG – neg) / (POS+NEG) Compl(RS) = (L/N+1) L – numarul total de conditii din RS N – numarul de atribute - stabilit de proiectant in [0. 001. . 0. 1] Trebuie maximizata probabilitate si minimizata complexitatea pt a obtine un set compact de reguli si o clasificare corecta 20

Invatarea actiunilor • RL Invatarea actiunilor • RL

3. Learning Classifier Systems • Tehnica de invatare situata intre invatarea simbolica si cea 3. Learning Classifier Systems • Tehnica de invatare situata intre invatarea simbolica si cea non-simbolica • GA • RL • Holland, 1980 • Genetics-Based Machine Learning

Structura LCS [r] [l] [f] Structura LCS [r] [l] [f]

Reprezentare • • • • Intrare codificata binar Reguli if then din alfabetul {0, Reprezentare • • • • Intrare codificata binar Reguli if then din alfabetul {0, 1, #} 00#10 / 010 Selectez actiune, execut, recompensa Populatie de N reguli – clasificatori – au asociat un merit Match set – M – selecteaza o regula – mecanism de licitatie Actiuni selectionate in lista interna mesaje Bid = fitness + specificitate (#) Bid(C, T) = ct * specificitate(C)*fitness(C, T) Bucket brigade – la t, bidurile plasate in bucket Castigatorii la t – cota egala t-1 Fitness – recompensa din mediu pt actiunea executata Dupa un nr de pasi – GA Necesita multe cicluri

Ciclul LCS 1) Mesajele din mediu sunt plasate in lista de mesaje 2) Se Ciclul LCS 1) Mesajele din mediu sunt plasate in lista de mesaje 2) Se verifica conditiile fiecarui clasificator pt a vedea daca sunt satisfacute de cel putin un mesaj din lista de mesaje 3) Clasificatoarele care au conditiile satisfacute participa in competitie printr-o valoare licitata si pun valoarea in bucket 4) Cele care castiga posteaza actiunile pt a fi efectuate si si actualizeaza ponderile cf recompensei 5) Toate actiunile orientate catre efectori sunt executate 6) Toate mesajele din lista de mesaje sunt sterse 7) la un numar de cicluri GA

Lista mesaje match Lista reguli Structura LCS mesaj intrare Interfata intrare detectori post Ajustare Lista mesaje match Lista reguli Structura LCS mesaj intrare Interfata intrare detectori post Ajustare pondere reguli Generare noi reguli recompensa Mediu mesaj iesire Interfata iesire efectori

Abordare • • • Explorare Exploatare Learning classifier systems – definite pe baza a Abordare • • • Explorare Exploatare Learning classifier systems – definite pe baza a 2 principii cheie: survival of the fittest – adaptare sistem la un mediu necunoscut trial and error- invatare prin interactiune cu mediul de la care primeste recompensa (reinforcement learning)

Variante LCS • • • Michigan-style LCS – mai multe cicluri pana se trimite Variante LCS • • • Michigan-style LCS – mai multe cicluri pana se trimite o actiune Pittsburg-style LCS Michigan: GA – obtinerea de clasificatori cu algoritmul “bucket brigade” care incurajeaza lucrul in comun al clasificatorilor Potrivit pt invatare on-line si in care schimbari mari ale comportarii nu pot fi tolerate Pittsburgh: Populatia de clasificatori este concatenata intr-un individ – se aplica pe acesta GA Potrivita pt off-line learning si schimbari mari in comportare

Variante LCS • • • GABIL – invatare concepte The. action. on the right Variante LCS • • • GABIL – invatare concepte The. action. on the right hand side of the rule is simply the class that is assigned to examples which match the left-hand side. This class prediction is sent straight to the environment, which responds by telling the system whether or not it classified the example correctly. Fitness This is known is a. stimulus-response. type system.