Języki, automaty i obliczenia/Ćwiczenia 1: Słowa, katenacja - elementy teorii półgrup, półgrupy i monoidy wolne: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Rogoda (dyskusja | edycje)
Rogoda (dyskusja | edycje)
Linia 149: Linia 149:
Niech <math>S=M_1 \backslash \{1\}</math>. Po pierwsze, zauważmy, że <math>\{ab,ba,a\} \subset S \backslash S^2</math>. Weźmy element <math>aba \in S</math>. Ma on dwa rozkłady na elementy zbioru <math>S \backslash S^2</math>, mianowicie: <math>aba=a \cdot ba = ab \cdot a</math>, zatem monoid <math>M_1</math> nie jest wolny.
Niech <math>S=M_1 \backslash \{1\}</math>. Po pierwsze, zauważmy, że <math>\{ab,ba,a\} \subset S \backslash S^2</math>. Weźmy element <math>aba \in S</math>. Ma on dwa rozkłady na elementy zbioru <math>S \backslash S^2</math>, mianowicie: <math>aba=a \cdot ba = ab \cdot a</math>, zatem monoid <math>M_1</math> nie jest wolny.
</div></div>
</div></div>
ZADANIA DOMOWE 


{{cwiczenie|[Uzupelnij]||
<center>ZADANIA DOMOWE</center> 
 
{{cwiczenie|1.11]||


Sprawdź, które z poniższych struktur są półgrupami, które monoidami,  
Sprawdź, które z poniższych struktur są półgrupami, które monoidami,  
Linia 157: Linia 158:
element neutralny.  
element neutralny.  


# <math>(\mathds{Z}, +)</math>,
: (1) <math>(\mathds{Z}, +)</math>,


# <math>(\mathds{Z}, \cdot)</math>,
: (2) <math>(\mathds{Z}, \cdot)</math>,


# <math>(\mathds{R}, +)</math>,
: (3) <math>(\mathds{R}, +)</math>,


# <math>(\mathds{R}, \cdot)</math>,
: (4) <math>(\mathds{R}, \cdot)</math>,


# <math>(\mathds{Z}_{mod\;5}, +)</math>,
: (5) <math>(\mathds{Z}_{mod\;5}, +)</math>,


# <math>(\mathds{Z}_{mod\;6}, \cdot)</math>,
: (6) <math>(\mathds{Z}_{mod\;6}, \cdot)</math>,


# <math>(\{0, 1\}, \vee)</math>,
: (7) <math>(\{0, 1\}, \vee)</math>,


# <math>(\{0, 1\}, \wedge)</math>,
: (8) <math>(\{0, 1\}, \wedge)</math>,


# <math>(M_n(\mathds{R}), +)</math>, gdzie <math>M_n(\mathds{R})</math> jest  
: (9) <math>(M_n(\mathds{R}), +)</math>, gdzie <math>M_n(\mathds{R})</math> jest rodziną macierzy o wymiarze <math>n \times n</math> o elementach rzeczywistych,  
rodziną macierzy o wymiarze <math>n \times n</math> o elementach rzeczywistych,  


# <math>(M_n(\mathds{R}), \cdot)</math>, gdzie <math>M_n(\mathds{R})</math> jest zdefiniowane jak powyżej,
: (10) <math>(M_n(\mathds{R}), \cdot)</math>, gdzie <math>M_n(\mathds{R})</math> jest zdefiniowane jak powyżej,


# <math>(n\mathds{Z}, +)</math>, gdzie <math>n\mathds{Z}=\{mn:\ m \in \mathds{Z}\}</math> jest zbiorem liczb  
: (11) <math>(n\mathds{Z}, +)</math>, gdzie <math>n\mathds{Z}=\{mn:\ m \in \mathds{Z}\}</math> jest zbiorem liczb całkowitych podzielnych przez <math>n \in \mathds{N}</math>,
całkowitych podzielnych przez <math>n \in \mathds{N}</math>,


# zbiór <math>B</math> wszystkich drzew binarnych wraz z działaniem +,  
: (12) zbiór <math>B</math> wszystkich drzew binarnych wraz z działaniem <math>+</math>, zdefiniowanym w następujący sposób:
zdefiniowanym w następujący sposób:


RYSUNEK NR 1 (plik JA-lekcja1-c-rys1.bmp)
'''RYSUNEK NR 1 (plik JA-lekcja1-c-rys1.bmp)'''


(czyli działanie na drzewach <math>T_1</math> i <math>T_2</math> polega na dodaniu jednego  
(czyli działanie na drzewach <math>T_1</math> i <math>T_2</math> polega na dodaniu jednego wierzchołka, który jest nowym korzeniem, a jego lewym i prawym dzieckiem są odpowiednio drzewa <math>T_1</math> i <math>T_2</math>).  
wierzchołka, który jest nowym korzeniem, a jego lewym i prawym  
dzieckiem są odpowiednio drzewa <math>T_1</math> i <math>T_2</math>).  


}}
}}


{{cwiczenie|[Uzupelnij]||
{{cwiczenie|1.12||


Które z półgrup i monoidów z zadania [[##zad1|Uzupelnic zad1|]] są przemienne?
Które z półgrup i monoidów z zadania 1.11 są przemienne?
}}
}}


{{cwiczenie|[Uzupelnij]||
{{cwiczenie|1.13||


Niech <math>(S, \circ_S)</math> i <math>(T, \circ_T)</math> będą półgrupami. Sprawdź, czy  
Niech <math>(S, \circ_S)</math> i <math>(T, \circ_T)</math> będą półgrupami. Sprawdź, czy półgrupami są także:  
półgrupami są także:  


# <math>(S \times T, \circ)</math>, gdzie <math>(s_1, t_1) \circ (s_2, t_2) = (s_1 \circ_S s_2, t_1 \circ_T  
: (1) <math>(S \times T, \circ)</math>, gdzie <math>(s_1, t_1) \circ (s_2, t_2) = (s_1 \circ_S s_2, t_1 \circ_T  
t_2)</math>,
t_2)</math>,


# <math>(S \times S, \circ)</math>, gdzie <math>\circ=\circ_S</math> i <math>(s_1, s_2) \circ  
: (2) <math>(S \times S, \circ)</math>, gdzie <math>\circ=\circ_S</math> i <math>(s_1, s_2) \circ  
(s_3, s_4) = (s_1 \circ s_4, s_2 \circ s_3)</math>.
(s_3, s_4) = (s_1 \circ s_4, s_2 \circ s_3)</math>.


}}
}}


{{cwiczenie|[Uzupelnij]||
{{cwiczenie|1.14||


Podaj przykłady:
Podaj przykłady:


# jednoelementowego monoidu,
: (1) jednoelementowego monoidu,


# jednoelementowej półgrupy,
: (2) jednoelementowej półgrupy,


# monoidów o 3, 5 i 11 elementach,
: (3) monoidów o '''3''', '''5''' i '''11''' elementach,


# nieskończonej przeliczalnej półgrupy,
: (4) nieskończonej przeliczalnej półgrupy,


# nieskończonej nieprzeliczalnej półgrupy.
: (5) nieskończonej nieprzeliczalnej półgrupy.


}}
}}


{{cwiczenie|[Uzupelnij]||
{{cwiczenie|1.15]||


Podaj przykład półgrupy <math>S</math> i kongruencji <math>\rho</math> taki, że  
Podaj przykład półgrupy <math>S</math> i kongruencji <math>\rho</math> taki, że  
Linia 232: Linia 227:
}}
}}


{{cwiczenie|[Uzupelnij]||
{{cwiczenie|1.16||


Rozważmy monoid <math>S=(\mathds{Z}, +)</math> i ustalmy <math>k \in \mathds{N}</math>.  
Rozważmy monoid <math>S=(\mathds{Z}, +)</math> i ustalmy <math>k \in \mathds{N}</math>. Znajdź monoidy ilorazowe <math>S \slash \rho</math>, gdzie relacja <math>\rho</math> zdefiniowana jest następująco (najpierw sprawdź, czy <math>\rho</math> jest kongruencją!): <br>
Znajdź monoidy ilorazowe <math>S \slash \rho</math>, gdzie relacja <math>\rho</math>  
zdefiniowana jest następująco  
(najpierw sprawdź, czy <math>\rho</math> jest kongruencją!): <br>


<math>x \rho y</math> wtw <math>x = y \mod k</math>.
<math>x \rho y</math> wtw <math>x = y \mod k</math>.
}}
}}


{{cwiczenie|[Uzupelnij]||
{{cwiczenie|1.17||


Niech <math>(S,\cdot)</math> będzie dowolną półgrupą, a <math>T \subset S</math> dowolnym  
Niech <math>(S,\cdot)</math> będzie dowolną półgrupą, a <math>T \subset S</math> dowolnym podzbiorem <math>{S}</math>. Udowodnij, że:
podzbiorem <math>S</math>. Udowodnij, że:


# relacja <math>{\rho^l_T} \subset S^2</math> taka, że <math>\forall x,y \in S</math>  <center><math>x  
: (1) relacja <math>{\rho^l_T} \subset S^2</math> taka, że <math>\forall x,y \in S</math>  <center><math>x  
{\rho^l_T} y \Longleftrightarrow (\forall z \in S\; zx \in T  
{\rho^l_T} y \Longleftrightarrow (\forall z \in S\; zx \in T  
\Longleftrightarrow zy \in T)</math></center> jest lewą kongruencją,   
\Longleftrightarrow zy \in T)</math></center> jest lewą kongruencją,   


# relacja <math>\rho_T \subset S^2</math> taka, że <math>\forall x,y \in S</math>  <center><math>x  
: (2) relacja <math>\rho_T \subset S^2</math> taka, że <math>\forall x,y \in S</math>  <center><math>x  
\rho_T y \Longleftrightarrow (\forall z_1,z_2 \in S\; z_1xz_2 \in T  
\rho_T y \Longleftrightarrow (\forall z_1,z_2 \in S\; z_1xz_2 \in T  
\Longleftrightarrow z_1yz_2 \in T)</math></center> jest kongruencją.
\Longleftrightarrow z_1yz_2 \in T)</math></center> jest kongruencją.
Linia 257: Linia 248:
}}
}}


{{cwiczenie|[Uzupelnij]||
{{cwiczenie|1.18||


W monoidzie wolnym <math>\{a, b\}^*</math> rozważamy następujące podmonoidy:
W monoidzie wolnym <math>\{a, b\}^*</math> rozważamy następujące podmonoidy:


# <math>M_3=\{a, bb, ab\}^*</math>,
: (1) <math>M_3=\{a, bb, ab\}^*</math>,


# <math>M_4=\{ab^2, ab^2a, aba, ba\}^*</math>.
: (2) <math>M_4=\{ab^2, ab^2a, aba, ba\}^*</math>.


Które z tych monoidów są wolne? W rozwiązaniu wykorzystaj  
Które z tych monoidów są wolne? W rozwiązaniu wykorzystaj  
twierdzenie [[##tw:b|Uzupelnic tw:b|]] z wykładu ja-lekcja1-w.
twierdzenie <math>??</math> z wykładu ja-lekcja1-w.
}}
}}

Wersja z 10:27, 8 sie 2006

Ćwiczenia 1

Ćwiczenie 1.1

Pokaż, że jeśli w zbiorze Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle \mathds{Z}} określimy działanie
xy=x+yxy,
to Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}, \star)} jest monoidem. Sprawdź, czy jest to monoid przemienny.
Rozwiązanie

Ćwiczenie 1.2

Udowodnij, że w monoidzie istnieje dokładnie jeden element neutralny.

Rozwiązanie

Ćwiczenie 1.3

Znajdź wszystkie podpółgrupy (podmonoidy) następujących półgrup (monoidów):

(1) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 6}, +)} ,
(2) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 7}, +)} ,
(3) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 4}, \cdot)} ,
(4) ({0,1},).
Rozwiązanie punktu 1

Ćwiczenie 1.4

Niech f:ST będzie homomorfizmem półgrup. Pokaż, że Kerf jest kongruencją.

Rozwiązanie

Ćwiczenie 1.5

Skonstruuj odwzorowanie Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle h: \mathds{Z}_{mod\ 4} \rightarrow \mathds{Z}_{mod\ 2}} tak, aby było homomorfizmem monoidu Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 4}, \cdot, 1)} w monoid Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 2}, \cdot, 1)} .

Rozwiązanie

Ćwiczenie 1.6

Niech (M,,1M) i (M,*,1M) będą monoidami, a
h:MM
suriekcją. Udowodnij, że

h jest homomorfizmem monoidu (M,,1M) na (M,*,1M) wtw gdy
x,ySh(xy)=h(x)*h(y). ( Z faktów, że h jest homomorfizmem półgrup i suriekcją należy wywnioskować, że h(1M) jest elementem neutralnym w M).

Rozwiązanie

Ćwiczenie 1.7

Niech (S,) będzie dowolną półgrupą, a TS dowolnym podzbiorem S. Udowodnij, że relacja ρTrS2 taka, że x,yS

xρTry(zSxzTyzT)
jest prawą kongruencją,
Rozwiązanie

Ćwiczenie 1.8

Określ minimalny zbiór generatorów monoidów:

(1) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}, +, 0)} ,
(2) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}, \cdot, 1)} ,
(3) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 5}, \cdot, 1)} ,
(4) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\ 4}, +, 0)} .
Rozwiązanie punktu 1

Ćwiczenie 1.9

Dana jest półgrupa {a,b}+ oraz jej podpółgrupa generowana przez dwuelementowy zbiór słów {a,ba}. Opisz słownie elementy tej podpółgrupy.

Rozwiązanie

Ćwiczenie 1.10

W monoidzie wolnym {a,b}* rozważamy następujące podmonoidy:

(1) M1={ab,ba,a}*,
(2) M2={aa,ba}*,

Które z tych monoidów są wolne? W rozwiązaniu wykorzystaj twierdzenie ?? z wykładu ja-lekcja1-w.

Rozwiązanie punktu 1
ZADANIA DOMOWE

Ćwiczenie 1.11]

Sprawdź, które z poniższych struktur są półgrupami, które monoidami, a które ani półgrupami ani monoidami. W przypadku monoidów wskaż element neutralny.

(1) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}, +)} ,
(2) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}, \cdot)} ,
(3) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{R}, +)} ,
(4) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{R}, \cdot)} ,
(5) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\;5}, +)} ,
(6) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (\mathds{Z}_{mod\;6}, \cdot)} ,
(7) ({0,1},),
(8) ({0,1},),
(9) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (M_n(\mathds{R}), +)} , gdzie Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle M_n(\mathds{R})} jest rodziną macierzy o wymiarze n×n o elementach rzeczywistych,
(10) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (M_n(\mathds{R}), \cdot)} , gdzie Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle M_n(\mathds{R})} jest zdefiniowane jak powyżej,
(11) Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle (n\mathds{Z}, +)} , gdzie Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle n\mathds{Z}=\{mn:\ m \in \mathds{Z}\}} jest zbiorem liczb całkowitych podzielnych przez Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle n \in \mathds{N}} ,
(12) zbiór B wszystkich drzew binarnych wraz z działaniem +, zdefiniowanym w następujący sposób:

RYSUNEK NR 1 (plik JA-lekcja1-c-rys1.bmp)

(czyli działanie na drzewach T1 i T2 polega na dodaniu jednego wierzchołka, który jest nowym korzeniem, a jego lewym i prawym dzieckiem są odpowiednio drzewa T1 i T2).

Ćwiczenie 1.12

Które z półgrup i monoidów z zadania 1.11 są przemienne?

Ćwiczenie 1.13

Niech (S,S) i (T,T) będą półgrupami. Sprawdź, czy półgrupami są także:

(1) (S×T,), gdzie (s1,t1)(s2,t2)=(s1Ss2,t1Tt2),
(2) (S×S,), gdzie =S i (s1,s2)(s3,s4)=(s1s4,s2s3).

Ćwiczenie 1.14

Podaj przykłady:

(1) jednoelementowego monoidu,
(2) jednoelementowej półgrupy,
(3) monoidów o 3, 5 i 11 elementach,
(4) nieskończonej przeliczalnej półgrupy,
(5) nieskończonej nieprzeliczalnej półgrupy.

Ćwiczenie 1.15]

Podaj przykład półgrupy S i kongruencji ρ taki, że |S|= ale Parser nie mógł rozpoznać (nieznana funkcja „\slash”): {\displaystyle S \slash \rho} jest skończona.

Ćwiczenie 1.16

Rozważmy monoid Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle S=(\mathds{Z}, +)} i ustalmy Parser nie mógł rozpoznać (nieznana funkcja „\mathds”): {\displaystyle k \in \mathds{N}} . Znajdź monoidy ilorazowe Parser nie mógł rozpoznać (nieznana funkcja „\slash”): {\displaystyle S \slash \rho} , gdzie relacja ρ zdefiniowana jest następująco (najpierw sprawdź, czy ρ jest kongruencją!):

xρy wtw x=ymodk.

Ćwiczenie 1.17

Niech (S,) będzie dowolną półgrupą, a TS dowolnym podzbiorem S. Udowodnij, że:

(1) relacja ρTlS2 taka, że x,yS
xρTly(zSzxTzyT)
jest lewą kongruencją,
(2) relacja ρTS2 taka, że x,yS
xρTy(z1,z2Sz1xz2Tz1yz2T)
jest kongruencją.

Ćwiczenie 1.18

W monoidzie wolnym {a,b}* rozważamy następujące podmonoidy:

(1) M3={a,bb,ab}*,
(2) M4={ab2,ab2a,aba,ba}*.

Które z tych monoidów są wolne? W rozwiązaniu wykorzystaj twierdzenie ?? z wykładu ja-lekcja1-w.