Formel Diller ve Soyut Makineler

25
Formel Diller ve Soyut Makineler DERS 1

Transcript of Formel Diller ve Soyut Makineler

Page 1: Formel Diller ve Soyut Makineler

Formel Diller ve Soyut MakinelerDERS 1

Page 2: Formel Diller ve Soyut Makineler

Yapay Zeka Nedir?

İnsan Gibi Davranma (Turing Testi):“İnsanların zekâlarını kullanarak gerçekleştirdiği fonksiyonları gerçekleştiren makineleri yapma sanatı” (Kurzweil, 1990)“İnsanların halihazırda daha iyi olduğu işleri bilgisayarların nasıl yapabileceğine dair yürütülen çalışma” (Rich and Knight, 1991)

Zekânın tanımlanmasına işlevsel yaklaşım: zeki varlıklardan ayırt edilemezlik üzerine kurulu bir test. Testi geçecek bilgisayar programının sahip olması gereken yetenekler:

1) Doğal Dil İşleme: Sorgulayıcıyla iletişime geçmek için2) Bilgi Gösterimi: Sorgulama öncesi ve sırasında bilginin saklanması ve geri çağırımı3) Otomatik Akıl Yürütme: Saklanan bilgiyi soruları cevaplamada kullanabilme ve yeni çıkarımlar yapabilme4) Öğrenme: Yeni durumlara uyum sağlayabilme

ve5) Algılama: duyma, görme, koku alma, dokunma6) Robotik hareket: nesneleri ve kendini hareket ettirebilme yetisi

Page 3: Formel Diller ve Soyut Makineler

Yapay Zeka Nedir?

İnsan Gibi Düşünme (Bilişsel Modelleme Yaklaşımı):“Bilgisayarları düşündürmeye … kelimenin tam anlamıyla zihne sahip makineler yapmaya çalışan yeni ve heyecan verici bir çaba” (Haugeland, 1985)“Karar verme, problem çözme, öğrenme … gibi insan düşüncesi ile ilişkilendirdiğimiz eylemlerin otomasyonu” (Bellman, 1978)

Zihinsel süreçleri anlamanın yolları:1) İç-gözlem2) Psikolojik deneyler3) Dilbilim 4) Sinirbilim

Disiplinler-arası bir alan olan Bilişsel Bilim, Yapay Zekadan bilgisayar modellerini ve Psikolojiden deneysel teknikleri alıp bir araya getirerek insan zihninin nasıl çalıştığına ilişkin kuramlar üretir.

Page 4: Formel Diller ve Soyut Makineler

Yapay Zeka Nedir?

Rasyonel Davranma (Akıllı Etmen Yaklaşımı):“Akıllıca davranan etmenlerin tasarımı üzerine yapılan çalışma” (Poole et al., 1998)“İnsan yapımı şeylerde akıllı davranışın incelenmesi ” (Nilsson, 1998)

Etmen programlarını diğer programlardan ayıran yönler:- Otonom kontrol- Ortamı algılama- Uzun bir zaman diliminde varlığını sürdürme- Değişime uyum gösterme- Empati

Rasyonel etmen en iyi sonuca ulaşacak şekilde davranır. En iyi sonuca, her zaman rasyonel düşünerek erişilmez.

Page 5: Formel Diller ve Soyut Makineler

Yapay Zeka Nedir?

Rasyonel Düşünme (‘Düşüncenin Yasaları’ Yaklaşımı):“Zihinsel yeteneklerin bilgisayımlı (hesaplamalı) modeller aracılığıyla incelenmesi” (Charniak ve McDermott, 1985)“Algılamayı, düşünmeyi ve davranmayı mümkün kılan bilgisayım modellerinin incelenmesi” (Winston, 1992)

Aristoteles, “Doğru Düşünmenin Yasalarını” ilk formüle eden düşünürlerdendir. => “Syllogisms” => Mantık «Socrates bir insandır; bütün insanlar ölümlüdür; o halde Sokrates ölümlüdür.» Yapay Zekaya Mantıkçı Yaklaşım: Mantık programlarına dayanarak akıllı sistemler üretmeyi

amaçlayan yaklaşım. Üç önemli problem:1. Bilginin formüle edilmesi2. Teorik olarak çözülemez sorunların varlığı3. Teorik olarak çözülebilenin pratikte çözülemezliği

Page 6: Formel Diller ve Soyut Makineler

Dil ve Formel Dil Kavramları

Dil, özellikle insanlar için, karmaşık iletişim sistemlerini edinme ve kullanma kapasitesi ya da bu karmaşık iletişim sistemlerinden herhangi birine verilen addır.

Bir dilin formel olabilmesi için bazı niteliklerinin matematiksel kesinlikte tanımlı olması gereklidir. Bu özellikler; Sembollerden oluşan bir alfabe ve Bu alfabedeki sembollerden oluşan bir ifadenin dile uygun (well-formed) olup

olmadığını belirleyen oluşum (formation) kurallarıdır. Bu şekildeki ilk formel dil Gottlob Frege tarafından 1879 yılında tanımlanmış olup

birinci dereceden mantık (first-order logic) olarak adlandırılmaktadır. Formel diller özellikle dilbilim ve bilgisayar bilimleri açısından önem taşımaktadır.

Page 7: Formel Diller ve Soyut Makineler

Dilbilim ve Formel Diller

Dilbilimde formel diller, insan dilinin (yani doğal dilin) bilimsel bir şekilde incelenmesi amacıyla kullanılmaktadır.

Dilbilimciler, üretimsel (generative) bir yaklaşıma önem verirler. Bunun nedeni, bir dile göre kabul edilebilir herhangi bir cümlenin oluşturulmasında kullanılabilecek (sonlu) kurallar kümesi olan dil düzeneğini / grameri (grammar) tanımlama / ortaya koyma işiyle ilgilenmeleridir.

Bir gramer cümlelerin yalnızca biçimleriyle (form) ilgilenmekte olup, anlamlarını tanımlamamakta, farklı bağlamlarda kullanımlarıyla da ilgilenmemektedir.

Page 8: Formel Diller ve Soyut Makineler

Gramer ve Formel Diller

Noam Chomsky, 1957 yılında yayınlanan Syntactic Structures (Sözdizimsel Yapılar) adlı kitabında dilsel bilginin formel bir gramer kullanarak modellenebileceğini ortaya koymuştur.

Chomsky, formel gramerlerin konuşmacı ya da dinleyiciye sonsuz sayıda cümleyi sınırlı sayıda gramer kuralı ve sonlu sayıda terimle üretme ve yorumlama yeteneği kazandırdığını kurduğu modelle göstermiştir.

Chomsky’e göre insan beyni, dilin düzenlenmesini sağlayan sınırlı bir kurallar kümesine sahiptir ve bu kurallar kümesini Evrensel Gramer (Universal Grammar) olarak adlandırmıştır. Gramerin temel kuralları beyinde donanımsal olarak (yani doğuştan gelecek şekilde) kodlanmıştır ve öğretilmelerine gerek kalmadan kendilerini kullanıma sokmaktadırlar.

Page 9: Formel Diller ve Soyut Makineler

Gramer ve Formel Diller

Chomsky, formel gramerleri artan ifade gücünü temel alacak şekilde sınıflandırarak birbirinden ayıran hiyerarşik bir yapı önermiştir.

Bu hiyerarşideki her bir üst sınıf kendinden altta olan sınıflara göre daha geniş bir formel dil üretim kapasitesine sahiptir.

Gerçekte de bu hiyerarşiye uygun biçimde doğal dilin bazı boyutları için daha karmaşık formel gramerlere ihtiyaç duyulmaktadır.

Örneğin, bir düzenli dil (regular language) Türkçe’nin morfolojik yapısını modellemede yeterli olmaktayken, sözdizimini modellemede yetersiz kalmaktadır.

Page 10: Formel Diller ve Soyut Makineler

Chomsky Hiyerarşisi

Grammar Type Grammar Accepted Language Accepted Automaton

Type 0 Unrestricted grammar Recursively enumerable language

Turing Machine

Type 1 Context-sensitive grammar Context-sensitive language

Linear-bounded automaton

Type 2 Context-free grammar Context-free language

Pushdown automaton

Type 3 Regular grammar Regular language Finite state automaton

Page 11: Formel Diller ve Soyut Makineler

Bilgisayar Bilimleri ve Formel Diller

Bilgisayar bilimlerinde formel diller programlama dillerinin kesin ve katı kurallarını tanımlamada kullanılmaktadır. Bu yönüyle derleyicilerin de temellerini oluşturmaktadırlar.

Bir derleyici, bir programlama dilinde (kaynak dil) yazılmış olan bir kaynak kodun başka bir bilgisayar diline (hedef dil) dönüştürülmesi işini yerine getiren program ya da programlar kümesidir.

Derleyicilerin en genel amacı, kaynak kodun çalıştırılabilir bir program haline getirilmesi için dönüştürülmesidir.

Bu amaçla bilgisayar bilimlerinde önem verilen, soyut makinelere (otomatlar) dayanan bir tanıma (recognition) yaklaşımıdır. Bu yaklaşımda soyut makine bir girdi cümlesi almakta ve bu cümlenin referans alınan dile ait olup olmadığını belirlemektedir.

Page 12: Formel Diller ve Soyut Makineler

Derleyiciler

Page 13: Formel Diller ve Soyut Makineler

Derleme Aşamaları

Page 14: Formel Diller ve Soyut Makineler

Otomatlar ve Formel Diller

« Automata » terimi Yunancadan gelmekte ve « kendi kendine eylemde bulunabilen » anlamına gelmektedir.

Bir otomat, önceden belirlenmiş bir işlemler dizisini takip ederek kendiliğinden çalışabilen soyut bir bilgisayım cihazıdır.

1950’lerde Stephen Kleene, sonlu bir bellekle donanmış soyut durum makineleri olan sonlu otomatları ortaya atmıştır.

Kleene, bu modelle temel mantıksal öncülleri kullanarak böyle bir modelin sembol dizileri ile eşleniklik gösterdiğini belirtmiştir.

Alan Turing (ve ondan bağımsız olarak Emil Post ile John Backus), bas-bırak otomatlarının (push-down automata) ardında yatan düşünceleri ortaya koymuşlardır.

Alan Turing, 1936’da Turing Makinesi kavramını ortaya atmıştır. Bu makine, bir soyut durum makinesi olup, şerit şeklinde sonsuz bir belleğe sahiptir. Turing makineleri, herhangi bir algoritmanın işleyişinin benzetimini yapabileceği gibi daha yüksek seviyelerdeki biçimsel dilleri de tanıyabilmektedir.

Page 15: Formel Diller ve Soyut Makineler

Otomatlar ve Gramerler

Hangi formel dil sınıfı hangi otomat türüyle tanınabilmektedir? Chomsky hiyerarşisi ile farklı tipteki otomatlar arasında bir eşleniklik vardır.

Bu nedenle formel dillere ilişkin kuramlar hem gramerler hem de otomatlar olarak ele alınabilmektedir.

Page 16: Formel Diller ve Soyut Makineler

Chomsky Hiyerarşisi

Page 17: Formel Diller ve Soyut Makineler

Formel Dillerin Betimlenmesi: Üretimsel (Generative)Yaklaşım

Üretimsel yaklaşımda bir dil, bir gramer tarafından üretilen karakter katarlarının (string) kümesidir.

Bu yaklaşımdaki üretim süreci; bir başlangıç sembolü ile başlama, yeniden yazma (rewrite) kuralları ile genişletme, dile ait bir ifade üretildiğinde de durma şeklinde gerçekleştirilmektedir.

Page 18: Formel Diller ve Soyut Makineler

Formel Dillerin Betimlenmesi: Tanıma (Recognition)Yaklaşımı

Bu yaklaşıma göre bir dil bir otomat tarafından kabul edilen ifadeler / katarlar kümesidir.

Bu yaklaşımdaki tanıma süreci; Bir başlangıç durumu ile başlama, Katardaki semboller yardımıyla diğer durumlara geçişler, Bütün katar tükendiğinde kabul durumuna ulaşma ya da katarın belirli bir

konumunda reddetme şeklinde olmaktadır.

Page 19: Formel Diller ve Soyut Makineler

Formel Diller: Tanımlar ve Temel Kavramlar

Bir formel dil, o dilin üzerinden tanımlanmış olduğu alfabedeki sembollerin kullanımıyla oluşturulan sonlu karakter dizilerinin / ifadelerin kümesidir.

Alfabe, sonlu ve boş olmayan bir semboller kümesidir. ∑1 = {0, 1} ∑2 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} ∑3 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} ∑4 = {a, b, c, ...., z}

Page 20: Formel Diller ve Soyut Makineler

Formel Diller: Tanımlar ve Temel Kavramlar

Bir ∑ alfabesi üzerinde tanımlı olan bir katar (ya da kelime), ∑ alfabesindeki sembollerden oluşan sonlu bir dizidir. 1010 ϵ ∑1

123 ϵ ∑2

merhaba ϵ ∑4

Bir alfabedeki her sembol kendi başına bir katardır. ε veya λ boş katardır ve sembol içermez.

Page 21: Formel Diller ve Soyut Makineler

Formel Diller: Tanımlar ve Temel Kavramlar

|w|, w katarının uzunluğudur. |a| = 1 |125| = 3 | ε | = 0

Bir ∑ alfabesinin k’ıncı kuvveti (k-th power), o alfabedeki semboller kullanılarak oluşturulan k uzunluğundaki katarların kümesidir. ∑0 = herhangi bir ∑ için {ε} ∑1

1 = {0, 1} ∑1

2 = {00, 01, 10, 11}

Page 22: Formel Diller ve Soyut Makineler

Formel Diller: Tanımlar ve Temel Kavramlar

Bir ∑ alfabesi için tanımlanan Kleene sonlandırıcıları (closures) şunlardır; ∑ alfabesi için ∑* bu alfabeden oluşturulan boş katar da dahil olmak üzere tüm

katarların kümesini göstermektedir ve Kleene Yıldızı (Kleene Star) olarak adlandırılmaktadır. Gösterimi : ∑* = ∑0 ∪ ∑1 ∪ ∑2 ∪……. Örnek − Eğer ∑ = {a, b} ise ∑*= {λ, a, b, aa, ab, ba, bb,………..}

∑ alfabesi için ∑+ bu alfabeden oluşturulan boş katar hariç tüm katarların kümesini göstermektedir ve Kleene Artısı (Kleene Plus) olarak adlandırılmaktadır.

Gösterimi  : ∑+ = ∑1 ∪ ∑2 ∪……. ∑+ = ∑* − { λ } Örnek − Eğer ∑ = { a, b } ise ∑+ ={ a, b, aa, ab, ba, bb,………..}

Page 23: Formel Diller ve Soyut Makineler

Formel Diller: Tanımlar ve Temel Kavramlar

Formel dilin matematiksel tanımı: belirli bir ∑ alfabesi için ∑* nin herhangi bir alt kümesi bir dildir. İngilizce, Türkçe, Çince,... C, Pascal, Java, HTML,... İkili tabandaki asal sayılar:

{10, 11, 101, 111, 1011, ... } {ε}

Page 24: Formel Diller ve Soyut Makineler

Formel Diller: Tanımlar ve Temel Kavramlar

L1 ve L2 dillerinin sırasıyla ∑1 ve ∑2 alfabeleri üzerinden tanımlanmış diller olduğunu kabul edersek;

Page 25: Formel Diller ve Soyut Makineler

Gelecek Derslerde...

Düzenli Diller Düzenli İfadeler Sonlu Durum Otomatları Belirlenimsiz Sonlu Durum Otomatları Çift Yönlü Sonlu Durum Otomatları Bağlamdan Bağımsız Diller Bağlama Duyarlı Diller Özyinelemeli Olarak Sayılabilir Diller Bas-Bırak Otomatları Turing Makineleri