Bilişim
Matematiği Uygulamalı Ayrık Matematik
içindekiler
Bilişim matematiği; bilgisayar bilimleri, bilgisayar mühendisliği,
yazılım mühendisliği ve kısacası bilişim uygulamalarına dayalı
disiplinlerin en temel konusudur; bilgisayar kuramının temeli
bilişim matematiğidir. Bilindiği gibi, eğer, "matematik tüm
bilimlerin kraliçesi" ise, "bilgisayar da katkısından dolayı tüm
mühendisliklerin kralıdır", denilebilir. Bilişim matematiği bir
açıdan "uygulamalı ayrık matematik" gibi düşünülebilir; ancak ayrık
matematik hem konular açısından hem de ele alınan örnekler açısından
günümüz bilişim uygulamalarını tam olarak kapsayamaması bilişim
matematiğini gündeme getirmiştir. Dolayısıyla bu kitabın adı
"Uygulamalı Ayrık Matematik", "Uygulamalı Ayrık Yapılar Matematiği",
veya "Bilgisayar Bilimi için Ayrık Matematik" olabilirdi... Ama,
"Bilişim Matematiği" herşeyiyle çok uygun bir isim oldu...
Bilişim matematiği konularını bilmek bilgisayar bilimcisine,
bilgisayar mühendisine, yazılım mühendisine ve bilişim sistemi
tasarımcısına büyük katma değer kazandırır; üstelik bazı problemler
vardır ki, bilişim matematiği konuları bilinmeden
gerçekleştirildiğinde gerçek çözümden uzak olur; fazladan döngüler,
fazladan bellek alanı kullanıldığı gibi elde edilen sonuçlara da pek
güvenilmez; yani böçekleri bol ulur. Bilişim matematiği, ayrıca,
donanım tasarımcıları için bile, özellikle gömülü sistemlerin
tasarımcıları için gerekli bir konudur. İş yaşamında veya günlük
yaşamda karşılaşılan problemleri modellemek ve onlara ait çözümleri
evrensel düzeyde algoritmik olarak tasarlayabilmek için bilişim
matematiği mutlaka bilinmelidir; önce çözüm için en uygun model
belirlenmeli, daha sonra alt bileşenleri ortaya konularak problem,
önce matematiksel olarak çözülmelidir.
Bilişim matematiği genel olarak ayrık (diskrete) matematik
konularını, veri yapıları ve algoritma konularını, graf teorisini,
ağaçlar tanımını, otomata kuramını, kriptografi konusunu ve olasılık
teorisini kapsamaktadır.
Bilgisayar olimpiyat soruları incelendiğinde, soruların büyük bir
kısmının bilişim matematiği kapsamında olduğu ve bilişim matemetiği
ile çözülebileceği görülür. Tüm bilim dallarının kraliçesi
matematiktir; bu bilişim uygulamalarında da geçerlidir...
Bu
kitapta bilişim matematiği çerçevesi çizilerek hem teorik konular
hem uygulamalı örnekler ele alınmıştır; ayrıca bilişim matematiği
olmadan çözülmesi zor olan problemler de ayırca vurgulanmıştır.
İÇİNDEKİLER
Önsöz
Kitap Hakkında
Kullanılan Matematiksel Simgeler
Kullanılan Kısaltmalar
Bölüm 1. Bilişim Matematiği Motivasyon
1.1. Konuya Motivasyon
1.2. Bilgisayara Mühendisliği, Matematik Bilgisayar ve Bilişim
Teknolojileri
1.3. Bilişim Matematiğinin Tetiklediği Alanlar
Bölüm 2. Kümeler Teorisi
2.1. Kümelerle İlgili Evrensel Tanımlar
2.2. Kümeler Üzerinde İşlemleri
2.3. Özet
2.4. Çalışma Sorular
Bölüm 3. Bağıntılar ve Fonksiyonlar
3.1. Bağıntılar ve Bağıntı İfadeleri
3.1.1.Bağıntı Türleri ve İfadeler
3.2. Fonksiyonlar ve Fonksiyon İfadeleri
3.2.1. Fonksiyon Türleri ve İfadeleri
3.3. Rekürsif Fonksiyonlar
3.3.1. Rekürsif
Catalan
Sayıları Hesabı
3.3.2.
Fibonacci Dizisi
3.3.3. Ackermann Fonksiyonu
3.3.4. Öklid Algoritması (Obeb)
3.4. Özet
3.5. Çalışma Sorular
Bölüm 4. Graf Teorisi ve Uygulamaları
4.1. Graf Tanımı ve İfadesi
4.2. Graf Renklendirme Problemi
4.3. Graf Üzerinde Dolaşma (DFS ve BFS)
4.4. Grafların Bellekte Tutulma Biçimleri
4.5. Özet
4.6. Çalışma Soruları
Bölüm 5. Boole Cebri ve Modern Mantık
5.1. Boole Cebri Önermeleri
5.2. Boole Cebrinin Aksiyom ve Teoremleri
5.2.1. Boole Cebri Aksiyomları
5.2.2. Boole Cebri Teoremleri
5.3. Boole Cebri Fonksiyonları
5.3.1. Minterm ve Maksterm ile Lojik İfadeler
5.3.2. Kanonik Biçimler Arasındaki Dönüşüm
5.4. Lojik İfadeler ve Lojik Devreler
5.4.1. Lojik İşlemlerin Donanımsal Karşılığı
5.4.2. Boole Cebri Fonksiyonlarının Lojik Kapılar ile
Gerçekleştirilmesi
5.5. Boole Cebri Fonksiyonlarının İndirgenmesi
5.5.1. Doğrudan Aksiyom ve Teoremlerle Görüşe Dayalı İndirgeme
5.5.2. Karnaugh Diyagramıyla İndirgeme
5.5.3. Quin Mc Cluskey Yöntemiyle Algoritmik İndirgeme
5.5.4. Eksik Terimli Boole Cebri Fonksiyonları
5.6. Boole Cebri Fonksiyonlarının Tek İşlemle Gerçekleştirilmesi
5.6.1. Çarpımların
Toplamıyla TVE ve TVEYA Tasarımı
5.6.2.
Toplamların Çarpımıyla TVE ve TVEYA Tasarımı
5.7. Özet
5.8. Çalışma Soruları
Bölüm 6. Sayılar Teorisi ve Sayılar
6.1. Sayılar ve Sayı Kümeleri
6.2. Sayıların Bilgisayar Ortamında Saklanma Biçimleri
6.2.1. Tamsayılar
6.2.2. Gerçel Sayılar
6.2.3. Karmaşık Sayılar
6.3. Sayılar Teorisine Giriş
6.3.1. Tümevarım İlkesi – İyi Sıralanma İlkesi – Bölme Algoritması
6.3.2. Bölünebilirlik
6.3.3. Öklid Algoritması
6.3.4. Asal Sayılar ve Bileşik Sayılar
6.3.5. Kalandaşlıklar (Kongüranslar)
6.3.6. Fermat Euler Wilson Teoremleri
6.4. Özet
6.5. Çalışma Soruları
Bölüm 7. Olasılık Teorisi ve Stokastik Süreçler
7.1. Kombinatorik ve Olasılığın Ayrık Problemleri
7.2. Kombinatoriğin Temelleri
7.2.1. Permütasyon
7.2.2. r’li Permütasyon - Aranjman
7.2.3. Kombinasyonlar
7.2.3.1. Newton Binomu ve Pascal Üçgeni
7.2.3.2. Sıralı Parçalanma ve Sırasız Parçalanma
7.2.4. Tekrarlı Permüstasyon ve Kombinasyon
7.2.4.1. Tekrarlı Permüstasyon
7.2.4.2. Tekrarlı Kombinasyon
7.3. Saymanın Temelleri ve Güvercin Yuvası İlkesi
7.4. Temel Olasılık ve Rastgele Süreçler
7.5. Olasılık Aksiyomları ve Kümeler Teorisi
7.6. Koşullu Olasılık
7.7. Stokastik Süreçler ve Markof Zinciri
7.7.1. Markof Zinciri
7.8. Özet
7.8. Çalışma Soruları
Bölüm 8. Ağaçlar ve Hiyerarşi
8.1. Ağaç İfadesindeki Temel Kavramlar
8.2. Bilişimde Çok Kullanılan Çeşitli Ağaç Türleri
8.3. İkili Ağaçlar ve Tipik Uygulamaları
8.3.1. İkili Arama Ağaçları
8.3.2. İkili Arama Ağacı Üzerinde Dolaşma
8.3.3. Bağıntı ve Fonksiyon Ağaçları
8.3.4. Kümeleme Ağacı
8.3.5. Kodlama Ağaçları
8.3.5.1. Huffman Kodlama Ağacı
8.3.5.2. Shannon-Fano Kodlama Ağacı
8.3.6. İkili Arama Ağaçları için Algoritmalar
8.4. Çeşitli Ağaç Yapıları
8.4.1. Sözlük Ağacı – Trie Ağacı
8.4.2. Aile İşaretçisi Ağacı
8.4.3. Komut Çözme Ağacı
8.5. Ağaçların Bellekte Tutulması
8.5.1. Düğüm Bağlantısıyla Ağaç Kurulması
8.5.2. İndis-Bağıntısıyla Ağaç Kurulması
8.6. Özet
8.7. Çalışma Soruları
Bölüm 9. Matris İşlemleri ve Determinant
9.1. Matrislerin Genel Özellikleri
9.2. Matrisler Üzerinde Elemanter İşlemler
9.3. Özel Anlamlı Matrisler
9.4. Matrislerin Determinantı
9.4.1. İşaretli Minörlerle Determinant Hesabı
9.4.2. Gauss Eliminasyon Yöntemiyle Determinant Hesabı
9.5. Matrisin Rankı
9.6. Ters Matris Hesabı
9.7. Özet
9.8. Çalışma Soruları
Bölüm 10. Algoritmalar
10.1. Algoritmanın Temel Özellikleri
10.2. Harzemli ve Harzemli’nin Algoritmaları
10.2.1. Harzemli’nin Algoritmaları
10.3. Arama ve Sıralama Algoritmaları
10.3.1. Sıralama Algoritmaları
10.3.1.1. Araya Sokma Sıralaması
10.3.1.2. Seçmeli Sıralama
10.3.1.3. Kabarcık Sıralaması
10.3.1.4. Birleşmeli Sıralama
10.3.1.5. Kümeleme Sıralaması
10.3.1.5. Hızlı Sıralama
10.3.2. Arama Algoritmaları
10.3.2.2. İkili Arama
10.3.2.3. Çırpı Fonksiyonuyla Arama
10.3.3. Dizinleme Sistemiyle Arama
10.4. Özet
10.5. Çalışma Soruları
Bölüm 11. Sonlu Durum Makinaları ve Otomata Teorisi
11.1. Durum Makinası Temel Kavramlar
11.2. Sonlu Durum Makinası
11.2.1. Durum Makinaların Sınıflanması
11.3. Otomata Teorisi
11.3.1. Deterministik Sonlu Otomata
11.3.2. Deterministik Olmayan Sonlu Otomata
11.3.3. Yığınlı Otomatlar
11.4. Turing Makinesi
11.5. Biçimsel Diller ve Dilbilgisi
11.5.1. Chomsky Sınıflaması
11.6. Özet
11.7. Çalışma Soruları
Bölüm 12. Graf Teorisi Uygulamaları
12.1. Graf Üzerinde Dolaşma
12.1.1. DFS Yöntemi; Önce Derinlik Araması
12.1.2. BFS Yöntemi; Önce Genişlik Araması
12.2. Greedy Karar Verme Yaklaşımı
12.3. Graflar Üzerinde Kısa Yol Problemi
12.3.1. Dijkstra’nın En Kısa Yol Algoritması
12.3.2. Bellman ve Ford’un En Kısa Yol Algoritması
12.3.3. Floyd’un En Kısa Yol Algoritması
12.4. En Küçük Yol Ağacı Problemi
12.4.1. Kruskal’ın En Küçük Yol Ağacı Algoritması
12.4.2. Prim’in En Küçük Yol Ağacı Algoritması
12.4.3. Sollin’in En Küçük Yol Ağacı Algoritması
12.5. Gezgin Satıcı Problemi
12.6. Şebeke Akış Problemi
12.7. Özet
12.8. Çalışma Sorular
Bölüm 13. Algoritma Analizi
13.1. Algoritma Analizinde Temel Kavramlar
13.2. Program Çalışma Hızı ve Karmaşıklık (Kıyaslama)
13.2.1. Yürütme Zamanı
13.2.2. Karmaşıklık
13.2.3. Algoritma Karmaşıklığında Asimtotik Notasyonlar
13.3. Bellek Gereksinimi
13.6. Özet
13.7.
Çalışma Soruları
Kaynakça
Dizin
Diğer programlama ve mühendislik kitaplarımızı incelemek için
buraya tıklayınız.
Akademik Kitaplar, Bilimsel Kitaplar,
Teknik Kitaplar, Üniversite Ders Kitapları |