1 / 38

RECUNOASTEREA FORM ELOR (2/2) METODE STRUCTURALE Potrivirea numerelor de forma

RECUNOASTEREA FORM ELOR (2/2) METODE STRUCTURALE Potrivirea numerelor de forma Potrivirea de siruri Recunoasterea sintactica a sirurilor Recunoasterea sintactica a arborilor. Potrivirea numerelor de forma ~ distanta minima

danno
Download Presentation

RECUNOASTEREA FORM ELOR (2/2) METODE STRUCTURALE Potrivirea numerelor de forma

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RECUNOASTEREA FORMELOR (2/2) METODE STRUCTURALE Potrivirea numerelor de forma Potrivirea de siruri Recunoasterea sintactica a sirurilor Recunoasterea sintactica a arborilor

  2. Potrivirea numerelor de forma ~ distanta minima Gradul de simiaritate k intre doua granite de regiuni (forme) = cel mai mare ordin pentru care numerele de forma ale acestora inca coincid. Exemplu: doua forme a si b (coduri inlantuite cu 4 directii)  grad de similaritate k daca: sj(a) = sj(b) pentru j = 4, 6, 8, ... , k sj(a) ≠ sj(b) pentru j = k+2, k+4, ... (s= numar de forma, j= ordinul numarului de forma = numar de cifre pentru reprezentare). Obs. k mare => forme asemanatoare,k =∞ =>forme identice. Distanta dintre doua forme a si b: D(a,b) = 1/k Proprietati: D(a,b) ≥ 0 D(a,b) = 0 daca a = b D(a,c) ≤ max [D(a, b), D(b, c)]

  3. Aplicatie. (a) Care forma a-e se potriveste cel mai bine cu f ? (b) => arborele de similaritate (radacina ~ grad de similaritate minim, 4 in acest exemplu)=> f grad maxim de similaritate cu c;(c) aceleasi informatii si din matricea de similaritate. a)

  4. b) c)

  5. Potrivirea de siruri -a1a2...an si b1b2...bn= siruri codificand granite de regiuni a si b; -α= numar de potriviri intre cele doua siruri (potrivire in pozitia k:ak = bk); -numarul de simboluri care nu se potrivesc: β = max (|a|, |b|) - α ( |arg| = lungimea sirului, numar de simboluri) =>β = 0 siruri identice. Masura de similaritate, raportul: (R= ∞ potrivire perfecta,R = 0 nu se potriveste niciun simbol). Important punctul de start!

  6. Aplicatie. (a), (b) granite, doua clase; (c), (d)apoximate prin poligoane, unghiul dintre segmente succesive codificate cu opt posibile simboluriα1: 0˚ < θ ≤ 45˚; α2: 45˚ < θ ≤ 90˚; ... ; α8: 315˚ < θ ≤ 360˚; (e) R pentru cinci esantioane de obiecte din clasa 1 (ex: notatia 1.c indica al treilea sir din clasa 1); (f) analog pentru clasa 2; (g) R la compararea de siruri din clase diferite. a) b) c) d)

  7. e) f) g)

  8. Recunoasterea sintactica a sirurilor Baza: -set de primitive de forme; -set de reguli (gramatica) interconectarea acestora; -automat de recunoastere.

  9. Gramatici de siruri - ω1 si ω2 doua clase de forme ~ siruri de primitive (descriptori relationali); -primitiva ~ simbol permis in alfabetul unei gramatici; -gramatica= set de reguli de sintaxa  genereazapropozitii formate din simboluri apartinand alfabetului; - limbajL(G) =setul de propozitii generate de o gramatica G. Gramatici G1 si G2: -G1 propozitii ~ forme din clasa ω1; -G2 propozitii ~ forme din clasa ω2. Procesul de recunoastere de forme: o propozitie (forma necunoscuta) in care limbaj forma reprezinta o propozitie valida? -propozitia ЄL(G1) => forma Є ω1; -propozitia ЄL(G2) => forma Є ω2; -propozitia invalida in ambele limbaje => forma rejectata. Asemanatorpentru mai multe clase.

  10. Gramatica: G = {N, ∑, P, S} unde N = set finit de variabile numite nonterminali; ∑ = set finit de constante numite terminali; P = set de reguli de rescriere numite productii; S = simbolul de start, apartinand lui N. (N si ∑ disjuncte). Conventii de notatie: A, B, ... ,S, ... : nonterminali; a, b, c, ... (litere mici la inceputul alfabetului): terminali; v, w, x, y, z (litere mici la sfarsitul alfabetului): siruri de terminali; α, β, θ, ... (litere mici grecesti): siruri cu terminali si nonterminali; λ : propozitia vida (fara simboluri); V* : setul tuturor propozitiilor compuse cu elemente din setul de simboli V.

  11. Exemplu. Obiect reprezentat prin schelet primitive pentru descriere.Gramatica G = {N, ∑, P, S}, cu N = {A, B, S}, ∑ = {a, b, c} si P = {S  aA, A  bA, A  bB, B  c} (terminalele a, b, c corespund primitivelor). Aplicand aceste productii => sirul abbbbbc (~ structurii obiectului). Limbajul generat: L(G) = {abnc | n≥1} => schelete de forma din figura de lungime arbitrara.

  12. Utilizarea semanticilor -forme complicate  reguli de conectivitate, alti factori (lungimea si directia primitivelor), de cate ori se pot aplica productiile => reguli semantice memorate in baza de cunostinte. Exemplul precedent: informatii semantice: => clasa de forme larga, dar limitata!

  13. Automate de recunoastere a sirurilor Problema: recunoasterea daca o forma apartine limbajului L(G) generat de o gramatica G =>automat: recunoaste daca un sir de intrare (forma) Є limbajului asociat (automate finite care recunosc limbaje generate de gramatici regulate). Automat finit: Af= (Q, ∑, δ, q0, F) unde Q = set finit si nevid de stari; ∑ = alfabet finit de intrare; δ = o mapare de la Qx∑ la colectia tuturor subseturilor lui Q; q0 = starea de start; F = set de stari finale sau acceptabile (un subset al lui Q).

  14. Exemplu. automat Q = {q0, q1, q2}, ∑ = {a, b}, F = { q0} si maparile δ(q0,a) ={ q2}, δ(q0,b) ={ q1}, δ(q1,a) ={ q2}, δ(q1,b ={ q0}, δ(q2,a) ={ q0}, δ(q2,b) ={q1}. Diagrama de stari: (aici starea initiala si starea finala coincid) Sir w acceptat (recunoscut): starea initiala  starea finala (ex: automatul recunoaste abbabb, dar rejecteaza aabab).

  15. Proiectarea unui automat finit (recunoastere sintactica de siruri ) dintr-o gramatica regulata data. Fie gramatica G = {N, ∑, P, X0}, unde X0 ≡ S, N= X0 plus n nonterminali suplimentari X1 , X2 , .... , Xn . => Q (automat)= n + 2 stari {q0, q1,...., qn, qn+1,} (qi~Xi pentru 0 ≤ i ≤ n si qn+1starea finala). => ∑ (set de simboluri de intrare pentru automat) =∑ (set terminali din G). => maparile δ: utilizarea a doua reguli bazate pe productiile lui G, adica pentru fiecare i si j cu 0 ≤ i ≤ n, 0 ≤ j ≤ n: 1. daca Xi aXj este in P atunci δ(qi, a) contine pe qj. 2. daca Xi  a este in P atunci δ(qi, a) contine pe qn+1.

  16. Proiectarea gramaticii regulate dintr-un automat finit dat. Fieun automat finit Af= (Q, ∑, δ, q0, F) => gramatica regulata corespunzatoare G = {N, ∑, P, X0}: => N= elemente din Q cu X0(simbolul de start ) ~q0; => productiile P: 1. qjЄδ(qi, a)=> Xi aXjЄ P. 2. o stare FЄ δ(qi, a)=> Xi  aЄ P. => setul terminali ∑ acelasi. Exemplu. Automatul finit pentru gramatica din exemplul precedent de la "Gramatici de siruri“: => productiileX0  aX1, X1  bX1, X1  bX2, X2  c. => Af= (Q, ∑, δ, q0, F) cuQ = {q0, q1, q2, q3}, ∑ = {a, b, c}, F = { q3} si maparile δ(q0,a) ={ q1}, δ(q1,b) ={ q1, q2}, δ(q2,c) ={ q3}. Pentru a fi complet:δ(q0,b) = δ(q0,c) = δ(q1,a) = δ(q1,c = δ(q2,a) = δ(q2,b) = Ø (multimea vida) ~ tranzitii nedefinite.

  17. Recunoasterea sintactica a arborilor regiunile / obiectele de interes ~ arbori Gramatici de arbori Gramatica de arbori: G = (N, ∑, P, r, S) N = set finit de variabile - nonterminali; ∑ = set finit de constante - terminali; P = set de reguli de rescriere - productii Ti Tj, (Ti,Tj arbori); r = functie de rang = numarul de descendenti directi (fii) ai unui nod a carui eticheta este un terminal din gramatica; S = simbolul de start (in general poate fi un arbore)ЄN. Gramatica de arbori expansivi cu productii de forma: (X1, X2, ... , Xn nonterminali,k terminal)

  18. Exemplu. scheletul unei structuri generat cu gramatica N = { X1, X2, X3, S}, ∑ = {a, b, c, d, e} (terminali ~ primitivele din figura).

  19. -conectivitate cap-la-coada ("head-to-tail") a primitivelor linie; -conexiuni arbitrare la cerc de-a lungul circumferintei; => productii: (5) X2a => functiile de rang r(a) ={0, 1}, r(b) = r(d) = {1}, r(e) = {0,1}, r(c) = {2}. Restrictii: -productiile 2, 4 si 6 aplicate de acelasi numar de ori => structura cu cele trei picioare de aceeasi lungime. -productiile 4 si 6 aplicate de acelasi numar de ori => structura simetrica dupa axa verticala (informatii semantice~ gramatici de siruri).

  20. Automate de arbori Automat de arbori: -incepescanarea simultan la fiecare nod de pe frontiera (frunzele de la stanga la dreapta); -continua dupa cai paralele spre radacina. Automat frontiera-la-radacina: At= (Q, F, { fk | kЄ ∑ } ) Q = set finit de stari; F = subset al lui Q, set al starilor finale; fk = relatie in QmxQ(deci un subset al setului QmxQ)astfel incat m este un rang al lui k. Gramatica de arboriexpansiviG = (N, ∑, P, r, S) => automatul de arbori corespunzator: Q = N, F = {S}, pentru fiecare simbol kЄ∑se defineste o relatie fk astfel incat (X1, X2, ... , Xm, X) Єfk daca si numai daca exista in G o productie:

  21. Exemplu. Gramatica de arbori G = (N, ∑, P, r, S) cu N = {S, X}, ∑ = {a, b, c, d}, productiile: rangurile:r(a) = {0}, r(b) = {0}, r(c) = {1}, r(d) = {2} => automatul de arbori corespunzator At= (Q, F, { fk | kЄ ∑ } ) cu Q = {S, X}, F = {S} si { fk | kЄ ∑ } = { fa, fb, fc, fd } relatiile: fa = {(Ø, X)}, provenind din productia Xa fb = {(Ø, X)}, provenind din productia X b fc = {(X, X)}, provenind din productia fd = {(X, X, S)}, provenind din productia

  22. Interpretare: -relatiafa: un nod cu eticheta a fara fii (Ø) i se asigneaza starea X; -relatiafc: un nod cu eticheta c cu un fiu avand starea X, i se asigneaza starea X; -relatiafd: un nod cu eticheta d cu doi fii, fiecare avand starea X, i se asigneaza starea S.

  23. Arbore generat de gramatica recunoscut de automatul de arbori:

  24. Aplicatie. Imagine din fizica energiilor inalte (ciocniri intre particule). Remarca: structura naturala de arbore a unei ciocniri(mijlocul imaginii). Experiment tipic => sute de mii de fotografii, multe fara evenimente de interes => prelucrare automata.

  25. Gramatica de arbori G = (N, ∑, P, r, S) => arbori ~ evenimente tipice din experiment. N = {S, X1, X2}, ∑ = {a, b}, interpretate astfel: Productiile in P:

  26. rangurile:r(a) ={0, 1, 2, 4, 6} si r(b) = {0, 1} (productiile de ramificare ~ numarul de urme rezultate dintr-o coliziune, perechi, maxim 6). Ex: coliziune segmentata in sectiuni convexe si concave => arbore (acesta + variatii generate cu gramatica precedenta). Automatul de arbori:At= (Q, F, { fk | kЄ ∑ } ) cu Q = {S, X1, X2}, F = {S} si { fk | kЄ ∑ } = { fa, fb,} relatiile: fa = {(S,S), (X1, X2, S), (X1, X1, X2, X2, S), (X1, X1, X1, X2, X2, X2, S), (X1, X1), (Ø, X1)} fb = { (X2, X2), (Ø, X2)} Tema. Sa se arate ca acest automat accepta arborele de mai sus.

  27. Invatare In aplicatii complexe: algoritm de invatare a automatelor din esantioane de forme (siruri / arbori). Presupuneri: -toate formele unei clase generate de o gramatica necunoscuta G; -este disponibil un set finit de esantioane R+ cu proprietatea: (“set de esantioane pozitive”= set de forme de antrenare din clasa asociata cu gramatica G) -set de esantioane complet structural~ fiecare productie in G este utilizata sa genereze cel putin un element din R+. Problema: invatarea (sinteza) unui automat finit Af care va accepta siruri din R+ si posibil anumite siruri care seamana cu cele din R+.

  28. corespondenta dintre G si Af=> • (∑*= setul tuturor sirurilor compuse cu elemente din ∑) • Definitie. Pentru un intreg pozitiv k se defineste coada k a lui zЄ∑*fata de R+ ca fiind setul h(z, R+ , k): • h(z, R+ , k) = { w | zwЄR+, |w| ≤ k } • Definitie echivalenta. Coada k a lui z este setul de siruri w cu proprietatile: • (1) zwЄR+; • (2) lungimea lui w este ≤ k.

  29. Procedura de invatare a unui automat Af (R+,k)= (Q, ∑, δ, q0, F) dintr-un set de esantioane R+ si o valoare particulara k: 1) seteaza Q = { q | q = h(z, R+ , k) pentru zЄ∑* } 2) seteaza q0 = h(λ, R+,k) 3) pentru fiecare aЄ∑ δ (q, a) = { q'ЄQ | q' = h(za, R+ , k), cu q = h(z, R+ , k) } 4) seteaza F = { q | qЄQ, λЄq} (λ= sirul vid, fara simboluri)

  30. Exemplu. R+ = {a, ab, abb},k = 1 => 1) , 2) z = λ, h(λ, R+,1) ={ w | λwЄR+, |w| ≤ 1 } = {a} = q0 z = a, h(a, R+,1) ={ w | awЄR+, |w| ≤ 1 } = { λ,b} = q1 z = ab, h(ab, R+,1) = { λ,b} = q1 z = abb, h(abb, R+,1) = { λ} = q2 Alte siruri zЄ∑* furnizeaza siruri zw care nu apartin lui R+=> a patra stare notata qØ, corespunzand conditiei ca h este setul nul. => starile:q0 = {a}, q1 = {λ,a}, q2 = { λ} si qØ =>Q = { q0, q1, q2, qØ,}

  31. 3) functiile de tranzitie. Deoarece q0 = h(λ, R+,1) => δ (q0, a) = h(λa, R+,1) = h(a, R+,1) = q1 δ (q0, b) = h(λb, R+,1) = h(b, R+,1) = qØ Deoarece q1 = h(a, R+,1)= h(ab, R+,1) => δ (q1, a) = h(aa, R+,1) = h(aba, R+,1) = qØ => δ (q1, b)={ q1, q2 } Analog: δ (q2, a)= δ (q2, b)= δ (qØ, a)= δ (qØ, b)= qØ

  32. 4) setul starilor finale = stari care au sirul vid λ in reprezentarea lor de tip coada k => q1 = { λ , b},q2 = { λ } =>F = { q1, q2 }. Automatul de inferenta obtinut: Af( R+,1)= (Q, ∑, δ, q0, F) unde Q = { q0, q1, q2, qØ,}, ∑ = {a, b}, F= { q1, q2 } si functiile de tranzitie precedente. Diagrama de stari: Automatul accepta siruri de forma: a, ab, abb, ... , abn.

  33. Valoarea lui k controleaza natura automatului rezultatAf( R+,k)! Proprietati (exemplifica dependenta de k): Proprietatea 1. unde L[Af( R+,k)] = limbajul accetat de Af( R+,k). Proprietatea 2. L[Af( R+,k)] = R+ daca k ≥ lungimea celui mai lung sir din R+; L[Af( R+,k)]= ∑* daca k = 0. Proprietatea 3.

  34. Observatii. Proprietatea 1 garanteaza ca Af( R+,k) va accepta sirurile din setul de esantioane R+. Daca k ≥ lungimea celui mai lung sir din R+=> automatul va accepta numai sirurile din R+ (proprietatea 2). Daca k = 0 =>Af( R+,0) cu o singura stare q0 ={ λ } (stare initiala si stare finala),functiile de tranzitie de forma δ (q0, a) = q0 pentru aЄ∑=> L[Af( R+,k)] = ∑* (automatul va accepta sirul vid λ si toate sirurile compuse din simboluri din ∑). Proprietatea 3: sfera (intinderea) limbajului acceptat de Af( R+,k) scade cu cresterea lui k.

  35. Exemplu. R+ = {caaab, bbaab, caab, bbab, cab, bbb, cb},k = 1=> 1. z = λ, h(λ, R+,1) = {Ø} = qØ; 2. z = c, h(λ, R+,1) = {b} = q1; 3. z = cah(λ, R+,1) = {b} = q1; 4. z = cb, h(λ, R+,1) = { λ } = q0; 5. z = caa, h(λ, R+,1) = {b} = q1; 6. z = cab, h(λ, R+,1) = { λ } = q0; 7. z = caaa, h(λ, R+,1) = {b} = q1; 8. z = caab, h(λ, R+,1) = { λ } = q0; 9. z = caaab, h(λ, R+,1) = { λ } = q0; 10. z = b, h(λ, R+,1) = {Ø} = qØ; 11. z = bb, h(λ, R+,1) = {b} = q1; 12. z = bba, h(λ, R+,1) = {b} = q1; 13. z = bbb, h(λ, R+,1) = { λ } = q0; 14. z = bbaa, h(λ, R+,1) = {b} = q1; 15. z = bbab, h(λ, R+,1) = { λ } = q0; 16. z = bbaab, h(λ, R+,1) = { λ } = q0;

  36. Automatul: Af( R+,1)= (Q, ∑, δ, q0, F) unde Q = { q0, q1, qØ,}, ∑ = {a, b, c}, F= { q0 } si functiile de tranzitie date in diagrama de stari: Pentru a fi acceptat un sir trebuie sa inceapa cu a, b sau c si sa se termmine cu un simbol b. De asemenea sunt acceptate siruri cu repetitii ale lui a, b sau c. Avantajul metodei: simplitatea implementarii. Dezavantaj: decizia pentru o valoare potrivita a lui k.

More Related