Professional Documents
Culture Documents
Otomata 2.2 Temel Kavramlar
Otomata 2.2 Temel Kavramlar
TEMEL KAVRAMLAR
KAVRAMLAR
Otomata Teorisi
Konya Teknik Üniversitesi
Bilgisayar Mühendisliği Bölümü
Prof.Dr.Erkan ÜLKER
1
Alfabe (Alphabet)
• Kelimelerin üretiminde kullanılan
birimlerin sonlu kümesi alfabedir
(alphabet). Alfabenin elemanları
genelde "sembol" veya "harf" olarak
adlandırılmaktadır.
• Alfabe genelde sembolü ile
gösterilmektedir.
2
Alfabe (Alphabet)
={a,b,c,ç,.......,z,A,B,C,Ç,..........Z} ile
gösterilen alfabe Türkçe kelimelerin
oluşturulması için gereken sembolleri
içeren örnek bir alfabedir.
={0,1,2,......9} ile gösterilen alfabe
çeşitli tamsayılar oluşturmak amacıyla
kullanılabilecek bir alfabedir.
3
Kelime (Word)
• Kelime (word), alfabesinden seçilen
sonlu sayıdaki sembolün bir araya
gelmesinden oluşmaktadır.
• Örneğin, 0102, 656670, 0 kelimeleri
={0,1,2,......9} üzerinden üretilen
geçerli kelimelerdir.
4
Kelime (Word)
• Boş kelime (empty word), her alfabe
üzerinden geçerli olan bir kelimedir ve
sembolü ile gösterilmektedir.
Buradaki önemli nokta, sembolünün
alfabenin elemanı olmamasıdır: .
5
Dil (Language)
• Bir alfabe üzerinden üretilmiş olan
kelimelerin kümesi dildir.
• Dile ait olan kelimelerin nasıl
üretileceğinin kuralları tanımlanmış ise
söz konusu dil biçimsel (formal) dil
olarak adlandırılmaktadır.
– Sözdizim (Syntax) - Anlambilim (Semantic)
6
Dil (Language)
• Bir dili tanımlamak için iki bileşenin
tanımı gerekmektedir:
– 1. Bir alfabe tanımlanması.
– 2. Hangi kelimelerin dildeki geçerli
kelimeler olduğunu belirten kuralların
tanımlanması.
• Örneğin, ={x} ve L1={xn , n=1,2,3,...}
veya L1={x,xx,xxx,xxxx,.........}.
7
Birleştirme
(Concatenation)
alfabesi üzerinde tanımlı w1 ve w2 gibi iki
kelime olduğu varsayıldığında, w1 kelimesinin
w2 kelimesi ile birleştirilmesi
(concatenation), w2 kelimesinin w1
kelimesinin sonuna eklenmesi ile oluşmakta
ve w1w2 olarak gösterilmektedir.
• İki boş kelimenin birleştirilmesi boş
kelimedir: = .
• w=w yazılabilecektir.
8
Birleştirme
(Concatenation)
• L1={x,xx,xxx,xxxx,.........} dili için
birleştirme işlemi geçerlidir.
Örneğin, xx L1 ve xxx L1 olmak
üzere, bu iki kelimenin
birleştirilmesi ile oluşan xxxxx
kelimesi L1 dilinin elemanıdır.
• Ödev 11: L2={x(2^n)+1 , n=0,1,2,3,.....}
için birleştirme işlemi geçerli midir?
9
Uzunluk (Length)
Fonksiyonu
• Bir dile ait w1 kelimesinin uzunluğu, o
kelimedeki sembol sayısına eşittir ve |
w1| olarak gösterilmektedir.
• Örneğin, |0102|=4 iken | |=0 'dır.
• Uzunluk fonksiyonu için diğer
gösterim, uzunluk(0102)=4
biçimindedir.
10
Ters (Reverse)
Fonksiyonu
• w kelimesi bir dile ilişkin kelime olmak
üzere, w kelimesindeki sembollerin
sondan başa doğru yazılması ile oluşan
yeni kelime ters(w) olarak
gösterilmektedir.
• Örneğin, ters(xxx)=xxx iken
ters(145)=541'dir.
• Ters fonksiyonu sonucunda elde edilen
kelimenin dilin elemanı olmama olasılığı
bulunmaktadır. 11
Önek (Prefix)
• Eğer z, üzerinde tanımlı bir kelime
ise ve w1z=w2 ise w1 kelimesi w2
kelimesinin öneki (prefix) olarak
adlandırılmaktadır. İngilizce dilindeki,
“disagree” kelimesinde ön ek “dis”
kelimesidir.
• Boş kelime her kelimenin önekidir.
12
Sonek (Suffix)
• Eğer z, üzerinde tanımlı bir kelime
ise ve zw1=w2 ise w1 kelimesi w2
kelimesinin soneki (suffix) olarak
adlandırılmaktadır.
• Örneğin, w1=ing w2=playing ve z=play
ise w1 kelimesi olan “ing” w2 kelimesi
olan “playing” ’in sonekidir.
13
Alt Kelime (Subword)
• Eğer t ve z bir alfabe üzerinden tanımlı
kelimeler ise ve tw1z=w2 geçerli ise w1
kelimesi w2 kelimesinin alt kelimesidir
(subword).
• Türkçe dilinden örnek verilecek olursa,
“afyonkarahisar” kelimesi, “afyon”, “kara”
ve “hisar” şeklinde parçalanabilecektir.
14
through through
Örnek Soru
• X=through kelimesi için tüm önek, sonek ve
alt kelimeleri yazınız?
• Önekler:,t,th,thr,thro,throu,throug,thro
ugh
• Sonekler:
,h,gh,ugh,ough,rough,hrough,through
• Alt Kelimeler:
,t,h,r,o,u,g,th,hr,ro,ou,ug,gh,thr,hro,rou,u
gh,thro,hrou,roug,ough,throu,hroug,rough,t
hroug,hrough, through 15
Palindrome
• P={ ve ters(w)=w olan tüm w
kelimelerinin kümesi} biçiminde
tanımlanan küme Palindrome olarak
adlandırılmaktadır.
• Diğer bir ifadeyle, baştan ve sondan
okunduğunda aynı olan kelimelerin
kümesidir.
16
Palindrome
• Örneğin, ={a,b} olmak üzere P={,
a,b,aa,bb,aaa,aba,bab,bbb,aaaa,abba, .
..........} kümesi, palindrome örneğidir.
Kümenin elemanları incelenecek
olursa, tüm elemanlar için ters(w)=w
ilişkisinin geçerli olduğu
görülmektedir.
17
Alfabenin Kapalılığı
• Kapalılık : “ Closure”
={0,1} ise, 0={ } 1={0,1} 2={00, 01, 10,
11} şeklindeki kümeler alfabenin kuvvetleri
olarak adlandırılmaktadır.
alfabesi üzerinden tanımlanabilecek tüm
kelimelerin dili alfabenin kapalılığı olarak
adlandırılmakta ve * olarak
gösterilmektedir. Diğer bir gösterimle,
* = 0 1 2 ....... şeklinde
gösterilebilecektir.
18
Alfabenin Kapalılığı
* sonsuz bir kümedir. *, aynı
zamanda "Kleene Star" olarak da
adlandırılmaktadır.
• Örneğin, ={0,1} ise
*={, 0, 1, 00, 01, 10, 11, 000, 001,
010, 011, .....} olacaktır.
19
Kelime Birleştirme niçin
kullanılır?
• S bir kelimeler kümesi olmak üzere, S
kümesinden seçilen kelimelerin
birleştirilmesi ile oluşan kelimelerin
kümesi S* olarak gösterilmektedir.
• Örneğin, S={aa,b} ise
• S*={, ve aa ile b kelimelerinin
faktörlerinden oluşan kelimeler} veya
S*={, b, aa, bb, aab, baa, bbb, .......}
olarak tanımlanabilecektir.
20
Kelime Birleştirme
• Bir kelimenin S* içinde olduğunu
göstermek için S kümesindeki
semboller cinsinden faktörlere
ayrılması gerekmektedir.
• Örnek-1:
S={a, ab}
S*={, a, aa, ab, aaa, aab, ....}
abaab (ab) (a) (ab) tekil (unique)
faktörlere ayırma.
21
abaab abaab
Kelime Birleştirme
• Örnek-2:
S={xx, xxx}
S*={, xx, xxx, xxxxx, xxxxxxx, .......}
xxxxxxx (xx) (xx) (xxx) veya
(xx) (xxx) (xx) veya
(xxx) (xx) (xx)
22
Kelime Birleştirme
• Örnek-3:
S={W1,W2,W3}
S+ : Null () kelime dışındaki S*
kümesidir.
S+={W1,W2,W3,W1W1,W1W2,W1W3,
W2W1,W2W2,W2W3,W3W1,W3W2,
W3W3, W1W1W1, W1W1W2, …}
23
Kelime Birleştirme
• Ödev 12:
S={a, bb, bab, abaab} ise S* nedir?
abbabaabab kelimesi S* kümesinin
elemanı mıdır? Toplam b’lerin sayısı
tek olan herhangi bir kelime S*
kümesinde varmıdır?
Chapter 2, Soru 12.
24
Kelime Birleştirme
• Ödev 13:
S={ab, bb}, E={ab, bb, bbb} ise
S*=E* veya S* ⊂ E* yazılabilir mi? Eğer
Ü= {ab, bb, bbbb} verilecek olursa S *,
E* ve Ü* arasında eşitlik/eşitsizlik
veya kapsar/kapsamaz türü bir ilişki
nasıl yazılabilir?
25
Kelime Birleştirme
• Teorem:
S*=S**
İspat:
i) S** kümesindeki her kelime S*
kümesinden gelen faktörlerden oluşur. S*
kümesindeki her faktör de S kümesinden
gelen faktörlerden oluşur. Bu nedenle S**
kümesindeki her kelime aynı zamanda S*
kümesindedir. Bu durum S** S* olarak
yazılabilir. 26
Kelime Birleştirme
• Teorem:
S*=S**
İspat (devam):
ii) Herhangi bir A kümesi için A A*
olarak yazılabilir. Eğer A, S* ise S*
S** yazılabilir.
Sonuç olarak i ve ii’den S*=S** yazılır.
27