TEMEL KURAM VE AÇMAZLARIYLA BİLGİSAYAR BİLİMİ Yılmaz Kılıçaslan
DİĞER BİLİMLERLE İLİŞKİSİ İÇİNDE Sunum Planı Hilbert’in Problemi Hilbert’e Yanıtlar Bilgisayar Bilimi Bilgisayım Kuramı Enformasyon Kuramı Hesaplanabilirlik Sayılabilir Kümeler Sayılamaz Kümeler Karmaşıklık Verimli Hesaplama Chomsky Hiyerarşisi DİĞER BİLİMLERLE İLİŞKİSİ İÇİNDE BİLGİSAYAR BİLİMİ
Hilbert’in Problemi (1928) Formel Dil ALGORİTMA ? Doğru / Yanlış Matematiksel İfade (Önerme) Algoritma: Bir problemi sonlu sayıda adımla etkin (mekanik) olarak çözen yöntem.
Hilbert’e Kötü Haberler Aritmetik Sistemlerin Eksikliği (Kurt Gödel) (Incompleteness of Systems of Arithmetic) (Birinci Dereceden Yüklem) Mantığında Karar Verilmezlik (Alonzo Church) (Undecidability of (First Order) Logic) Doğruluğun Tanımsızlığı (Alfred Tarski) (Undefinability of Truth) Fonksiyonların Hesaplanamazlığı / Durma Problemi (Alan Turing) (Uncomputability of Functions / Halting Problem)
Gödel’in Eksiklik Teoremi Gödel Yalancının Paradoksunu aşağıdaki şekilde değiştirdi: “Bu önerme ispatlanabilir değildir.” … Aritmetiğin her tutarlı biçimselleştirilmesi için öyle aritmetik doğrular vardır ki, bunlar bu biçimsel sistem içinde ispatlanabilir değillerdir.
Durma Problemi Program ALGORİTMA (BİLGİSAYIM MODELİ) Durur / Durmaz ? Input Alan Turing 1936’da, Durma Problemini bütün program-input çiftleri için çözebilecek genel bir algoritmanın olmadığını ispatlamıştır.
Tipik Matematiksel Bilgisayım Modelleri Durum Modelleri Sonlu Durum Otomatları Bask-Bırak Otomatları Turing Makineleri etc. Lambda Calculus gibi fonksiyonel modeller Mantık programlama gibi mantıksal modeller
Bilgisayar Bilimi Bilgisayım Kuramı Enformasyon Kuramı
Hesaplanabilirlik Sayılabilir Kümeler Sayılamaz Kümeler
Sayılabilir Kümeler Tamsayılar Rasyonel Sayılar
Sayılamaz Kümeler Reel Sayılar Karmaşık Sayılar
Karmaşıklık Verimli Hesaplama (Efficient Computation) NP Problemleri Üstel Patlama
Verimli ve Verimsiz Algoritmalar Verimli algoritmaların zaman karmaşılığı: O(n) O(nlogn) O(n10) vs. Verimsiz algoritmaların zaman karmaşılığı: O(nlog n) O(2n) O(n!) Çok terimli (Polynomial) Bir c sabiti için O(nc) Çok terimli değil
"İyi Algoritmalar" An explanation is due on the use of the words "efficient algorithm"…I am not prepared to set up the machinery necessary to give it formal meaning, nor is the present context appropriate for doing this…For practical purposes the difference between algebraic and exponential order is more crucial than the difference between [computable and not computable]… (Paths, Trees and Flowers, Jack Edmonds, 1965)
P versus NP NP contains lots of problems we don’t know to be in P Classroom Scheduling Packing objects into bins Scheduling jobs on machines Finding cheap tours visiting a subset of cities Allocating variables to registers Finding good packet routings in networks Decryption … Hence proving P = NP would break cryptosystems
Kaynak Computers and Intractablity: by Mike Garey and David Johnson A guide to the Theory of NP-completeness by Mike Garey and David Johnson
Chomsky Hiyerarşisi Otomatlar Diller Turing Machine TİP 0 R.E. TİP 1 Bağlama-duyarlı ATN TİP 2 Bağlamdan-bağımsız RTN Düzenli Diller FSA TİP 3
Bir Kognitif Hiyerarşi Denemesi Bilişsel Yetiler Bilişsel Araçlar Akıl Mantık Turing Machine Anlam ATN Semantik Bellek RTN Sentaks Morfoloji Özyineleme FSA
En Kısa Özet Bilgisayar Bilimi kuramlarını içerir. Bilgisayım Kuramı Bilgisayım ve Enformasyon kuramlarını içerir. Bilgisayım Kuramı Hesaplanabilirlik ve Karmaşıklık alt kuramlarını barındırır.