Dersin Amacı: |
Bu dersin amacı, otomata teorisi ve biçimsel diller hakkında ayrıntılı ve kapsamlı bir çalışma sağlamaktır. Bu ders, sonlu durum otomatları, dilbilgisi ve Turing Makinesi gibi konuları içeren, hesaplamalı analizde kullanılan klasik matematiksel modelleri sunar. Bir bilgisayar bilimcisi, neyin hesaplanabilir olup neyin olmadığına karar verebilmelidir. Bu ayrım ancak iyi bir bilimsel hesaplama modeli ile yapılabilir. Bu ders, hesaplamalı analiz için güçlü bir matematiksel modelleme düşüncesi sunar. Bu ders, geçtiğimiz yüzyılda önerilen ve analiz edilen farklı hesaplama modellerini incelemektedir. |
Dersin İçeriği: |
Sonlu otomata, düzenli ifadeler ve diller, düzenli dillerin özellikleri, bağlamdan bağımsız dil bilgileri ve diller, aşağı bastırmalı otomata, bağlamdan bağımsız dillerin özellikleri, Turing makinesi ve karar verilemezlik gibi konular dersin içeriğini oluşturmaktadır. |
Hafta |
Konu |
Ön Hazırlık |
1) |
Sonlu Otomata |
okutman notları |
2) |
Düzenli ifadeler ve uygulamaları |
okutman notları |
3) |
Düzenli ifadeler için cebirsel kurallar |
okutman notları |
4) |
Düzenli diller için pompalama savı; düzenli dillerin sonlandırma özellikleri |
okutman notları |
5) |
Düzenli dillerin karar özellikleri; eşdeğerlik ve otomatanın minimizasyonu |
okutman notları |
6) |
Bağlamdan bağımsız dil bilgileri; ayrıştırma ağaçları |
okutman notları |
7) |
Dilbilgilerindeki ve dillerdeki muğlaklık
|
okutman notları |
8) |
ARA SINAV |
DERS NOTLARI |
9) |
Dilbilgilerindeki ve dillerdeki muğlaklık
|
okutman notları |
10) |
Bağlamdan bağımsızlık için normal formlar; bağlamdan bağımsız diller için pompalama savı |
okutman notları |
11) |
Bağlamdan bağımsız diller için sonlandırma özellikleri; bağlamdan bağımsız diller için karar verme özellikleri |
okutman notları |
12) |
Turing makineleri |
okutman notları |
13) |
Özyinelemeli olarak sayılamayan bir dil |
okutman notları |
14) |
Özyinelemeli olarak sayılabilirliğine karar verilemeyen bir problem |
okutman notları |
15) |
Post'un uygunluk problemi |
okutman notları |
16) |
FİNAL SINAVI |
okutman notları |
|
Dersin Program Kazanımlarına Etkisi |
Katkı Payı |
1) |
Bilgisayar Bilimi ve Mühendisliği alanında bilimsel araştırma yaparak geniş ve derin bilgilere ulaşma, değerlendirme, yorumlama ve uygulama becerisi. |
4 |
2) |
Sınırlı ya da eksik bilgiyi kapatmak ve uygulamak için bilimsel yöntemleri kullanma ve farklı disiplinlerin bilgilerini bütünleştirme kabiliyeti. |
4 |
3) |
Bilgisayar Bilimi ve Mühendisliği problemlerini kurgulayabilme, problemleri çözmek için yöntemler geliştirebilme ve çözümde yenilikçi yöntemler kullanabilme. |
4 |
4) |
Yeni ve/veya orijinal fikirler ve algoritmalar geliştirme becerisi; sistem, bileşen veya süreç tasarımında yenilikçi çözümler geliştirmek. |
4 |
5) |
Bilgisayar Mühendisliğinde uygulanan güncel teknikler ve yöntemler ve bunların kısıtları hakkında geniş bilgi sahibi olma kabiliyeti. |
3 |
6) |
Analitik modelleme ve deneysel araştırma tasarlama ve uygulama, süreçte karşılaşılan karmaşık durumları çözme ve yorumlama becerisi. |
2 |
7) |
Bir yabancı dili (İngilizce) en az Avrupa Dil Portföyü seviyesinde sözlü ve yazılı iletişimde kullanabilme kabiliyeti. |
3 |
8) |
Çok disiplinli ekiplerde liderlik etme, karmaşık durumlara çözüm geliştirme ve sorumluluk alma kabiliyeti. |
4 |
9) |
Toplumsal, yasal, etik ve ahlaki değerlerin bilincinde olmak ve bu değerler çerçevesinde araştırma ve uygulama çalışmaları yapabilmek. |
3 |
10) |
Bilgisayar Bilimi ve Mühendisliği alanında yeni ve gelişmekte olan uygulamalar hakkında farkındalık ve bunları inceleme ve gerekirse öğrenme kabiliyeti. |
5 |