İleri Algoritma Analizi

Slides:



Advertisements
Benzer bir sunumlar
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Advertisements

Prof. Dr. Ahmet Arıkan Gazi Ü niversitesi Gazi Eğitim Fakültesi OFMAE Bölümü Matematik Eğitimi Anabilim Dalı.
BLG 368 Yöneylem Araştırması Serkan Türkeli. İlk hikayemiz Biri Thales’e sorar: “Sana göre dünyada biricik devamlı olan şey nedir?” –“Ümit” der; “zira.
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
Hat Dengeleme.
T.C. ORDU VALİLİĞİ İlköğretim Müfettişleri Başkanlığı TAM ÖĞRENME MODELİ TAM ÖĞRENME MODELİ.
Bilimsel bilgi Diğer bilgi türlerinden farklı
Makine Öğrenmesinde Yeni Problemler YILDIZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ.
TEST ÇÖZME TEKNİKLERİ. Test çözmede 3 unsur önemlidir.
Hopfield Ağı Ayrık zamanSürekli zaman Denge noktasının kararlılığı Lyapunov Anlamında kararlılık Lineer olmayan sistemin kararlılığı Tam Kararlılık Dinamik.
Greedy Algorithms.
Momentum Terimi Momentum terimi Bu ifade neyi anımsatıyor? Lineer zamanla değişmeyen ayrık zaman sistemi HATIRLATMA.
O R T L G İ M A A Ve Problem çözme.
GEOMETRİK CİSİMLER VE HACİM ÖLÇÜLERİ
Yazılım Mühendisliği1[ 3.hft ]. Yazılım Mühendisliği2 Yazılım İ sterlerinin Çözümlemesi Yazılım Yaşam Çevrimi “ Yazılım Yaşam çevrimin herhangi bir yazılım.
ÇARPMA İŞLEMİ X x x x xx x.
Çok Katmanlı Algılayıcı-ÇKA (Multi-Layer Perceptron)
Yapılan çalışmanın detaylarını, yöntemlerini, farsa şekil, formül, yazılım algoritması, çalışma biçimleri, çalışma durumları, uygulama alanları, çalışmanın.
ÇOK BOYUTLU SİNYAL İŞLEME
YÖNLENDİRME. Yönlendirme ● Statik ● Dinamik ● Kaynakta yönlendirme ● Hop by hop yönlendirme.
BİLGİSAYAR PROGRAMLAMA DERSİ
PROGRAMLI ÖĞRETİM Tanımı:
Presentation and Explaing Method 8.Sınıf
Proje Oluşturma ve Yönetimi Bilişim Teknolojileri Öğretmeni
BİLİMSEL ARAŞTIRMA YÖNTEMLERİ ÜNİTE 3
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Proje Oluşturma ve Yönetimi
BİLİMSEL ARAŞTIRMA TEKNİKLERİ
Eğitsel Rehberlik Yrd. Doç. Dr. Gökhan Atik.
Problem Çözme ve Algoritmalar
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
ÖZDEŞLİKLER- ÇARPANLARA AYIRMA
Çözülemiyen Matematik Soruları
İleri Algoritma Analizi
Bilimsel Araştırma Yöntemleri
BİYOİNFORMATİK NEDİR? BİYOİNFORMATİKTE KULLANILAN SINIFLAMA YÖNTEMLERİ
DOSYA BÜYÜKLÜKLERİ İkili Sistem Dosya Büyüklükleri ve Hesaplamalar
Kanuni Sultan Süleyman İmam Hatip Ortaokulu Rehberlik Servisi
STORAGE BÜŞRA KARADENİZ
Buluş nedir?.
Hürriyet Anadolu Lisesi
ZEE ZİHİN ENGELLİLERE BECERİ VE KAVRAM ÖĞRETİMİ
PROBLEM ÇÖZME VE ALGORİTMA
Yrd.doç.Dr. H. Deniz GüllerOĞlu
SAĞLIK KURUMLARINDA KARAR VERME YÖNTEMLERİ
İleri Algoritma Analizi
PROBLEM ÇÖZME VE ALGORİTMALAR
Bilgisayar Mühendisliğine Giriş
Ahmet Cevahir ÇINAR Mustafa Servet KIRAN
Meriç ÇETİN Pamukkale Üniversitesi Bilgisayar Mühendisliği Bölümü
MBT-303 özel öğretim yöntemleri-ı
İleri Algoritma Analizi
TEKNOLOJİ VE TASARIM DERSİ 7.D.1. Özgün Ürünümü Tasarlıyorum.
Doğrusal Mantık Yapısı İle Problem Çözme
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
İleri Algoritma Analizi
Bilgisayar Bilimi Koşullu Durumlar.
Bilgi Teknolojileri Hafta 01
MAK212-SAYISAL YÖNTEMLER Sayısal Türev ve İntegral
NİŞANTAŞI ÜNİVERSİTESİ
Hata ayıklama da denilen programlama hatalarını bulma ve düzelme işlemine ne denir? a) Veri b) Yazılım c) Bug d) Debugging e) Donanım.
BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler
Ders İçeriği Nicel araştırma adımları
Bilgehan Arslan, Süreyya Gülnar
İleri Algoritma Analizi
8. Ders Tüm ikililer arasında en kısa yollar
Rekürensler Rekürens aranan fonksiyonun ve onun daha önceki girişlerdeki değerinin bir arada bulunduğu denklem veya eşitsizliktir. Örneğin, MERGE-SORT.
Chapter 4 Divide-and-Conquer
Bilimsel Araştırma Yöntemleri
Sunum transkripti:

İleri Algoritma Analizi Ders1 Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Giriş Algoritma nedir? Algoritmanın doğruluğu nedir? Algoritmalar teorisinin araştırma konuları Algoritma tasarlama yöntemleri Problem çözüm aşamaları Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Algoritma nedir? Bilgisayar algoritması bir problemin bilgisayarın yardımıyla sonlu bir zaman süresinde çözülebilmesini sağlayan detaylı ve adım adım ne yapılacağını anlatan talimatlar dizisidir Algoritma problemin verilenlerini (bu verilenlere giriş denir) elde edilmesi istenen sonuçlara (bu sonuçlara da çıkış denir) dönüştürebilmelidir. Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Algoritmanın doğruluğu nedir? Algoritma problemin koşulunu sağlayan her girişi istenen çıkışa dönüştürebiliyorsa bu algoritma doğrudur denir. Bir algoritma problemin koşularını sağlayan en az bir girişi yanlış bir çıkışa dönüştürüyorsa veya herhangi bir çıkışa dönüştüremiyorsa bu algoritma yanlıştır denir. Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Algoritmalar teorisinin araştırma konuları Algoritma tasarlama yöntemleri Algoritmanın analizi: -Doğruluğunun ispatı -İşlem zamanı analizi -Hafıza analizi -Optimal (en iyi) algoritma olma analizi Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Algoritma tasarlama yöntemleri Bir problemin çözümü için bir algoritma yazmadan önce bu algoritmanın hangi yöntemle tasarlanabileceğine karar verilmelidir. Aşağıdaki algoritma tasarlama yöntemleri vardır: -Kaba kuvvet yöntemi -Böl ve yönet yöntemi -Azalt ve yönet yöntemi -Dönüştür ve yönet yöntemi -Hafıza ve zaman takası yöntemi -Dinamik programlama yöntemi -Açgözlü yaklaşım yöntemi -İteratif iyileştirme yöntemi Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Kaba Kuvvet yöntemi Akla gelen ilk yöntemdir Genelde verimli bir algoritma üretmez ama iyi algoritma üretilebilen problemler de vardır. Örneğin, 2 matrisin çarpım algoritması Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Böl ve yönet Problemi daha küçük alt problemlere bölerek çözebilen algoritma tasarlama yöntemidir. Sıralama algoritmaları olan Birleştirmeli sıralama (Merge Sort) ve Hızlı Sıralama (Quicksort) algoritmaları böl ve yönet yöntemi ile tasarlanmışlardır. Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Azalt ve yönet yöntemi Problemde verilen boyutu azaltarak yapılan algoritma tasarlama yöntemidir. Azaltma sabit sayı kadar(genelde bir) veya sabit çarpan kadar (genelde iki) olabilir. Bir sıralama algoritması olan Eklemeli Sıralama (Insertion sort) algoritması azalt ve yönet (bir azaltma ile) yöntemi ile tasarlanmıştır. Sıralı dizide bir arama algoritması olan İkili Arama (Binary Search) algoritması azalt ve yönet (yarıya kadar azaltma) yöntemi ile tasarlanmışlardır. Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Dönüştür ve yönet yöntemi Problemi daha kolay çözülebilen başka bir probleme dönüştürerek yapabilen algoritma tasarlama yöntemidir. Örneğin, bir sıralama algoritması olan Yığın Sıralama (Heapsort) algoritması dönüştür ve yönet yöntemi ile tasarlanmıştır. Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Hafıza Zaman takası yöntemi Bir problemin daha hızlı çözülebilmesi için hafızayı daha fazla kullanarak tasarlanan algoritmalar hafıza zaman takası yöntemi ile tasarlanan algoritmalardır. Bu yöntemle tasarlanmış algoritmalardan biri bir sıralama algoritması olan Sayarak Sıralama (Counting Sort) algoritmasıdır. Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Dinamik Programlama (DP) yöntemi Bu yöntem optimizasyon (en iyiyi bulma) problemlerinde kullanılır. Böl ve yönet yönteminde olduğu gibi problemi daha küçük alt problemlere bölerek algoritma tasarlanır ama bu yöntemde alt problemler böl ve yönet yönteminde olduğu gibi bağımsız olmazlar. DP yöntemi ayrıca problemi çok daha hızlı çözebilmek için hafıza zaman takası yöntemini de kullanmaktadır. DP yöntemi ile tasarlanmış algoritmalara örnek olarak En Uzun Ortak Alt dizi (EUOA)(İngilizcesi LCS) bulma algoritması gösterilebilir. Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Açgözlü yaklaşım Bu yöntem de optimizasyon problemlerini çözmek için kullanılır. Yöntemin ana fikri çok basittir: Her adımda o adım için en iyi olan seçim yapılır ve bu seçimin ana problem için en iyi çözüme ulaştıracağı umut edilir. Genelde yöntem başarılı sonuç vermez ama doğru sonuca ulaştırdığı örnekler de vardır, örneğin kesirli çanta problemi bu yöntemle çözülebilir. Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

İteratif iyileştirme yöntemi Bu yöntem de genelde optimizasyon problemleri için kullanılır. Yöntemin ana fikri: Her adımda en iyi değeri (maksimumu veya minimumu) aranan fonksiyonun bir önceki adıma göre daha iyi değerine ulaşmak Örnek olarak, Doğrusal Programlama problemi için var olan Simpleks algoritma gösterilebilir Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

Problem çözüm aşamaları Problemi anlama Çözüm için strateji belirleme, yani algoritma tasarlama yöntemi için karar verme Algoritma tasarlama (Sözde kod yazma) -Giriş -Çıkış -Adımlar Algoritma analizi -Doğruluğunun ispatı -İşlem süresi ve hafıza analizi -Algoritmanın optimal (en iyi) olma analizi Algoritmayı bir programlama dilinde yazma (Kod yazma) Test ve gerçekleştirme Prof. Dr. Şahin EMRAH İleri Algoritma Analizi

2. Derse kadar dersi alan öğrencilerin yapması gerekenler Aşağıdaki algoritmaların sözde kodlarının incelenmesi ve nasıl çalıştıklarının örnekler üzerinde öğrenilmesi: -Selection Sort -Insertion Sort -Quick Sort -Binary Search Aşağıdaki problemlerin ne olduklarını okumak ve problemi anlamak -Hırsız çantası problemi (0-1 ve kesirli problem) -En uzun ortak altdizi bulma problemi