1 Griduri
2 / 36
Griduri
3 / 36
Griduri
Exemplu
aabbabb
abbcdbb
bbabbca
ccccaaa
Operatorul de aplatizare:
[ : LangGrids(V ) → LangWords(V )
duce
mulţimi de griduri
ı̂n
mulţimi de cuvinte, reprezentând sortările lor topologice.
5 / 36
Operatorul de aplatizare
Exemplu
a → b → c → d
↓ ↓ ↓ ↓
e → f → g → h
6 / 36
Operatorul de aplatizare
[(p): constă ı̂n toate cuvintele care se obţin cu procedura de mai sus,
variind nodul selectat la fiecare pas.
[(L) = {[(p) | p ∈ L}
7 / 36
Operatorul de aplatizare
Exemplu
plecăm cu gridul ae bf cg dh
există un singur element minimal, şi anume a
după ştergerea lui a obţinem e fb gc hd
elementele minimale sunt b şi e; presupunem că alegem b
după ştergerea lui b obţinem e f cg dh
acum elementele minimale sunt c şi e; presupunem că alegem e şi
c d
obţinem f g h
şi aşa mai departe
a b c d
Obţinem [( e f g h
)=
{ abcdefgh, abcedfgh, abcefdgh, abcefgdh, abecdfgh
abecfdgh, abecfgdh, abefcdgh, abefcgdh, aebcdfgh,
aebcfdgh, aebcfgdh, aebfcdgh, aebfcgdh }
8 / 36
Din cursul trecut: Expresii regulate
Expresii regulate:
1 0, 1 şi a(∈ V ) sunt expresii regulate
E ::= a(∈ V ) | 0 | E + E | E · E | E ∗ | 1
9 / 36
Expresii regulate 2-dimensionale
10 / 36
Compunerea de griduri
rizontală λk este:
= e(λk ) = k şi n(λk ) = s(λk ) = 0 ..
12 / 36
De la expresii la mulţimi de griduri
|a| = {a}
|0| = ∅
|E + F | = |E | ∪ |F |
|E ∩ F | = |E | ∩ |F |
|E · F | = {v · w | v ∈ |E | şi w ∈ |F |} (verticală)
|E ∗ | = {v1 · . . . · vk | k ∈ N şi v1 , . . . , vk ∈ |E |} (verticală)
| | | = {0 , . . . , k , . . .} (verticală)
13 / 36
De la expresii la muļtimi de griduri (cont.)
|E B F | = {v B w | v ∈ |E | si w ∈ |F |} (orizontală)
|E † | = {v1 B . . . B vk | k ∈ N şi v1 , . . . , vk ∈ |E |} (orizontală)
| − | = {λ0 , . . . , λk , . . .} (orizontală)
14 / 36
Expresii şi limbaje de griduri
Exemplu
(a · d ∗ · g ) B (b · e ∗ · h)† B (c · f ∗ · i)
reprezintă gridurile
a b . . b c
d e . . e f
. . . . . .
. . . . . .
d e . . e f
g h . . h i
(a B b † B c) · (d B e † f )∗ · (g B h† B i)
este o expresie echivalentă
15 / 36
Expresii şi limbaje de griduri
Exemplu
a† · b †
reprezintă gridurile
a a . . a
b b . . b
16 / 36
Expresii şi limbaje de griduri
Exemplu
a† · b † · c †
reprezintă gridurile
a a . . a
b b . . b
c c . . c
17 / 36
Expresii şi limbaje de griduri
Exemplu
(a + b)∗† = (a + b)†?
arată că starurile orizontal şi vertical pot să comute
a a
b b
∈ (a + b B b)†∗ \ (a + b B b)∗†
arată că, ı̂n general, starurile nu comută
18 / 36
Expresii regulate extinse
19 / 36
Sisteme interactive finite
20 / 36
Sisteme interactive finite
21 / 36
Sisteme interactive finite
22 / 36
Sisteme interactive finite
..Sisteme interactive finite
Exemplu
Exemplu: Un FIS S şi
Un FIS S şi
reprezentarea sa grafică: reprezentarea sa textuală (ori
✓✏ ✲
Reprezentarea sa grafică: Reprezentarea sa textuală:
✲ 1 !b❅
“cu cruci”):
(sau ”cu cruci”):
✒✑ ✛ ❅
✻! 1
1 2 1
A a B
• A a B , A c 2A , şi B b B
✓✏
❄ ❄ ✓✏ ❄
♥
2 2 1
2
A ✲ !a❅ ✲ B
✒✑ ❅! ✒✑ A c
• A, 1 sunt iniţiale
A
✻ 2
✓✏
1
❄ • B, 2 finale
2♥
✛ B b B
❄❅
!c
✲✒✑
1
❅!
A, 1 sunt iniţiale
B, 2 sunt finale
24 / 36
Scenarii, criterii de recunoaştere
25 / 36
Scenarii, criterii de recunoaştere
Exemplu
Fie FIS-ul S a b b
w= c a b
1
c c a
A a B
2
2 1 1 1
A c
2
A
w0 = AA a
c
b
a
b
b
1 A c c a
B b B
1
1 1 1
A, 1 sunt iniţiale A a B b b
B, 2 sunt finale w1 = 2
A c a b
şi limbaje complete pentru borduri A c c a
26 / 36
Scenarii, criterii de recunoaştere
Exemplu
Fie FIS-ul S 1 1 1
A a B b b
1
A a B
w1 = 2
2 A c a b
2 A c c a
A c A
2 1 1 1
1 A a B b B b
B b B w2 = 2 1
1 A c a b
A, 1 sunt iniţiale A c c a
B, 2 sunt finale
şi limbaje complete pentru borduri
27 / 36
Scenarii, criterii de recunoaştere
Exemplu
Fie FIS-ul S 1 1 1
A a B b B b
1
A a B
w2 = 2 1
2 A c a b
2 A c c a
A c A
2 ...
1 1 1 1
B b B A a B b B b B
1
2 1 1
A, 1 sunt iniţiale w9 = A c A a B b B
B, 2 sunt finale 2 2 1
A c A c A a B
şi limbaje complete pentru borduri 2 2 2
proiecţiile
pot pierde
informaţie
29 / 36
Proiecţii pe stări şi pe clase..Sisteme interactive finite
Exemplu: Un FIS S şi
Exemplu reprezentarea sa grafică: reprezentarea sa textuală (ori
✓✏ ✲ “cu cruci”):
Pentru FIS-ul ✲ 1 !b❅
✒✑ ✛ ❅!
✻ 1 2 1
• A a B, A c A, şi B b B
✓✏
❄ ❄ ✓✏❄
B♥
2 2 1
A ✲ !a❅
✒✑ ❅! ✒✑
✲
✻
• A, 1 sunt iniţiale
✓✏
❄ • B, 2 finale
2♥
✛
❄❅
!c
❅! ✲✒✑
30 / 36
Proiecţii pe stări şi pe clase..Sisteme interactive finite
Exemplu: Un FIS S şi
Exemplu (cont.) reprezentarea sa grafică: reprezentarea sa textuală (ori
✓✏ ✲ “cu cruci”):
Pentru FIS-ul ✲ 1 !b❅
✒✑ ✛ ❅
✻! 1 2 1
• A a B, A c A, şi B b B
✓✏
❄ ❄ ✓✏❄
B♥
2 2 1
A ✲ !a❅
✒✑ ❅! ✒✑
✲
✻
• A, 1 sunt iniţiale
✓✏
❄ • B, 2 finale
2♥
✛
❄❅
!c
❅! ✲✒✑
Acest FIS are o interesantă proprietate de intersecţie:
L(S) = L(state(S))† ∩ L(class(S))∗
Slide 4.17 CS-52xx / Dezvoltarea Aplicatiilor Interactive, Sem.2 / G Stefanescu
evidenţiind o slabă interacţie ı̂ntre transformarea pe stări şi cea pe clase.
Un grid w este ı̂n L(state(S))† dacă fiecare coloană din w este
recunoscută de state(S) ı̂n sens uzual.
Asemănător pentru L(class(S))∗ , folosind liniile.
31 / 36
Alte exemple
Alte
Alte exemple:
exemple: Griduri
Griduri pătrate
pătrate
Exemplu (Griduri patrate)
FIS -uri-uri
FIS
FIS-uri pentru
pentru
pentru griduri
griduri
griduri pătrate
pătrate
pătrate de a-uri
dea-uri
de a-uri
a a aa aa aaaaaa aaaa
aaaa . . .. . .
aa aa aaaaaa aaaa
aaaa
aaaaaa aaaa
aaaa
aaaa
aaaa
✓✏ ✓✏ ✲ ✲ ✓✏ ✓✏ ✲ ✲
✲ ✲ 1 !a❅!a❅
1 ✒✑ 1 !a❅!a❅
1 ✒✑
✲ ✲
✒✑ ✛ ✛ ❅ ❅!
✻!✻ ✒✑ ✛ ✛ ❅ ❅!
✻!✻
❄✓✏
✓✏ ❄ ❄ ❄ ✓✏ ✓✏ ❄✓✏
❄ ❄ ✓✏ ❄ ❄ ❄ ✓✏ ✓✏
❄ ❄
A ✲ !✲a❅!a❅ ✲ ✲B♥B♥
A✒✑ A ✲ !✲a❅!a❅ ✲ ✲B♥B♥
✒✑✒✑ ✒✑ ✒✑
A
✒✑ ❅!❅! ✒✑ ❅!❅! ✒✑
✻ ✻ ✻ ✻ ✻ ✻
❄✓✏
✛ ✛ ✓✏ ❄ ✛ ✛ ✓✏❄✓✏
❄ ✲ ✲
♥2♥ ♥2♥ !a❅!a❅
❄❅❄ ❄ ❄ ❄ ❄
!a !a❅ !a❅!a❅
✲✒✑ ✒✑
2 2
❅!❅! ✲✒✑ ❅! ❅ ! ✲✒✑
✲ ✛ ✛ ❅!❅!
Sq1:
Sq1: Sq2:
Sq2:
32 / 36
Alte exemple: O funcţie exponenţială
Alte exemple
Un FIS Pow pentru
Alte limbajul
exemple: O funcţie exponenţială
Alte exemple: O funcţie exponenţială
Exemplu 1 10 100
Un Un PowPow
FIS FIS pentru limbajul
pentru limbajul ...
Un FIS Pow pentru limbajul: 01 010
11 110
1 1 10 100 100 .001
.. ...
01 10 010 010 101
11 01
11 110 110
001 001 011
101 101 111
✓✏ ✲
011 011
111 111
✓✏
✲ ✓✏s ✲!❅✲ !0❅
s✲✒✑ un scenariu
Un scenariude desucces:
succes:
✛ 0 !0 ❅
✲✒✑
✲✲
❅! un scenariu de succes:
✛s
✲✒✑
❅! ✻ un scenariu de s s
succes: s
✛✻ ❅ ✻! s s s
A1B0B0B s s sA1B0B0B
✓✏ ❄✓✏
t sA1B0B0B t s s
✓✏ ✓✏
s
❄ t s sA0A1B0B
✓✏ ✓✏
❄ ❄ ❄
B♥
❄ A0A1B0B
❄✲ ! ❅ ❄ ✲ ♥ ❄ s tA0A1B0B s t s
B✲ B♥
s
AAA ✲ 1! 11❅
✒✑ ❅ ✒✑
✒✑ ✻✒✑
A1B1B0B s t s
A1B1B0B
✒✑ ✒✑
❅✲!! ✲ t tA1B1B0B
s
✻
❅
❅! ! A0A0A1B t t s t t s
✻✻ ✻✻ s sA0A0A1B
t A0A0A1B
s s t s s t
✓✏
A1B0B1B
✓✏
❄ A1B0B1B
✓✏
t s t
t♥
✛ ✲
❄ ❄✲ t s tA1B0B1B
❄❅ ✛
♥ ❅1!!
!0 ❄ ❄ A0A1B1B
❅ ✒✑
!❅❄ t s t
♥
✛ 0 t ✲ 1
❅ s tA0A1B1B
t
✒✑
❄!
❅ ! ✛ ❄ s t tA0A1B1B
!0❅ A1B1B1B
t 1❅
✒✑
❅! ✛ ❅ !
! t tA1B1B1B
t t t s t t
t
Pow
❅! Pow ✛ ❅! A1B1B1B
Slide 4.24
t t t
CS-52xx / Dezvoltarea Aplicatiilor Interactive, Sem.2 / G Stefanescu 33 / 36
Alte exemple
Alte exemple: Triunghiul lui Pascal
Exemplu (Triunghiul lui Triunghiul
Alte exemple: Pascal) lui Pascal
Un FIS Pas care recunoaşte mulţimea de griduri peste {0, 1} care
Un FIS PasPas
Un FIS
–care recunoaşte
care
au pe laturile demulţimea
recunoaşte mulţimeade
nord şi vest griduri
de griduri peste
peste {0,
{0,1}
secvenţe alternante 1}care
care
de 0 şi 1 (ı̂ncepân
– au pe laturile de nord
au pe laturile
cuşi,
0) şi,
deşinord
vest şisecvenţe alternante
vest secvenţe de
alternante 0 şi
de 01 şi
(ı̂ncepând
1 (ı̂ncepând
cu 0) şi, cu 0)
– de-a lungul diagonalei secundare, satisfac regula de recurenţă d
de-a lungul
– de-a lungul diagonalelor
diagonalei secundare
secundare, satisfac
satisfac regula
regula de de recurenţadin
recurenţă din
triunghiul lui Pascal, modulo
2: An,k2 = An−1,k + An,k−1
triunghiul lui Pascal, modulo✓✏
triunghiul lui Pascal, modulo
2
✓✏ ✲✲ s♥
✲
!1❅
✲ s♥ !✲1❅✒✑ ✛ ❅
✻! un
Un scenariu
scenariu de desucces:
succes:
✲✒✑ ✛ ❅
✻! un scenariu de succes:
s s s s s s
✓✏ ✓✏
s s s s s s t s t s t s A0B1A0B1A0B1A
❄❄ ❄
✓✏ ♥ ✓✏ t♥
A0B1A0B1A0B1A
❄A ✲ !0❅ ✲ B s t s t sA1A0B0B1A1A0B
✒✑ ✒✑
❄❄
♥ ♥
A1A0B0B1A1A0B s t t s s t
A 0 ✻ B
❅ ❅ ! s t t s s tA0B0B0B1A0B0B
✒✑ ❅! ✒✑
✲ ! ✲
✻
A0B0B0B1A0B0B t t t s t t .
t t t s t tA1A1A1A0B0B0B
.s s t t t
✓✏
✻ ✻ s
✛ ❄ ✲A1A1A1A0B0B0B
s s s t t tA0B1A0B0B0B0B
✓✏ t♥
❄❄ ❄ t s t t t t
!1❅ ✲ 0t❅s t t t tA1A0B0B0B0B0B
✒✑
✛ !
A0B1A0B0B0B0B
♥
❄❅ ❅ ! ❄❅ ✛ ❅ !
!1 t 0
✒✑
! A1A0B0B0B0B0B t t t t t
s
❅! ✛ ❅! s t t t t t
Pas
Pas
34 / 36
Alte exemple
35 / 36
Pe săptămâna viitoare!
36 / 36