Algoritmalar II Ders 9 Dinamik Programlama ve Açgözlü Yaklaşım Soruları.

Slides:



Advertisements
Benzer bir sunumlar
KİRİŞLER M.FERİDUN DENGİZEK.
Advertisements

Hazırlayanlar: M. Hakan AKYÜZ, İ. Kuban ALTINEL ve Temel ÖNCAN
Yinelemeli Algoritma Analizi & Asimptotik Notasyon
Ayrık Yapılar Algoritma Analizi.
MIT503 Veri Yapıları ve algoritmalar
STRİNG FONKSİYONLARI.
IT503 Veri Yapıları ve algoritmalar
Algoritmalar Ders 8 Dinamik Programlama.
MIT503 Veri Yapıları ve algoritmalar Algoritma Oluşturma – Açgözlü algoritmalar ve buluşsallar Y. Doç. Yuriy Mishchenko.
BU KONUDA ÖĞRENECEKLERİMİZ
PROGRAMLAMA.  Hepimiz çok işi biliyoruz ki, bilgisayarlar günümüzde yaşamımızın kaçınılmaz birer parçası haline gelmiştir. Akıllı cep telefonlarımızdan,
Cebirsel İfadeler’ de Toplama İşlemi
HAZIRLAYANLAR HATİCE MERVE ÜNAL AYŞE ESKİCİ HİLAL POLAT NURŞAH ERDOĞAN
Özyinelemeli(Recursive) Algoritma Tasarımı
Kümeler.
Algoritmalar DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama
KARAR DESTEK SİSTEMLERİ - KDS DECISION SUPPORT SYSTEMS-DSS
TBF Genel Matematik I DERS – 1 : Sayı Kümeleri ve Koordinatlar
ALGORİTMA ve PROGRAMLAMA
Palindrom Palindrom, tersten okunuşu da aynı olan cümle, sözcük ve sayılara denilmektedir.cümlesözcüksayılara.
Palindrom Palindrom, tersten okunuşu da aynı olan cümle, sözcük ve sayılara denilmektedir.cümlesözcüksayılara.
DERS 2 MATRİSLERDE İŞLEMLER VE TERS MATRİS YÖNTEMİ
Sürekli Zaman Aktif Filtre Tasarımı
CEBİRSEL İFADELER ŞEHİT POLİS İSMAİL ÖZBEK ORTA OKULU BURSA/KESTEL.
PROLOG PROGRAMLAMA DİLİNDE
SINIFLANDIRMA VE REGRASYON AĞAÇLARI
YMT219: Veri Yapıları Ders Saatleri: Pazartesi 9:15-12, 17:30-20:15
BENZETİM Prof.Dr.Berna Dengiz 3. Ders Monte Carlo Benzetimi
Bölüm 3: Kırılma İndisi Prof. Dr. M. Halûk Güven ZKÜ Fen-Ed. Fak.
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
KÜMELER.
YONT401 YÖNETİM BİLİŞİM SİSTEMLERİ
KÜMELER.
Ar. Gör. Pelin Alcan İŞ SIRALAMA DERS 3.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
DOĞRUSAL EŞİTSİZLİKLER
BİL 102 BİLGİSAYAR PROGRAMLAMA DERS 1. PROGRAM GELİŞTİRME AŞAMALARI 1- Probleme ilişkin veriler nelerdir? 2- Çözüm yöntemi nasıl olacaktır? 3- Çözüm sonucunda.
PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 2015 – 2016 Güz Dönemi Kredi : 3+1
Algoritmalar ve Programlama I Ders 2: Akış Diyagramları
SİMPLEKS METOT Müh. Ekonomisi.
1 7. HAFTA. 2 Referanslar  Referanslar adres temsilcisidir  İşaretçilerin görevlerini kısmi olarak yapabilirler  Değişken değildirler.  Bellekte yer.
CEBİRSEL İFADELER Terim , Katsayı, Kuvvet
SES VE ÇEŞİTLERİ SES NEDİR ? Ses, dilin en küçük birimidir. Genellikle sesler tek başına bir anlam taşımaz.
Dinamik programlama ve açgözlü yaklaşım soruları.
Dinamik programlama ve Açgözlü algoritma
Kümeler Küme, matematiksel anlamda tanımsız bir kavramdır. Bu kavram "nesneler topluluğu veya yığını" olarak yorumlanabilir. Bu tanımdaki "nesne" soyut.
Dynamic Programming Introduction to Algorithms MIT Press (Chapter 15)
PROGRAMLAMA TEMELLERİ Burak UZUN Bilişim Teknolojileri Öğretmeni Burak UZUN.
Algoritmalar II Ders 6 Açgözlü Algoritmalar.
Algoritmalar II Ders 2 Dinamik Programlama Yöntemi.
Algoritmalar II Ders 5 Açgözlü Algoritmalar.
Algoritmalar II Ders 10 Dinamik Programlama ve Açgözlü Yaklaşım Soruları-2.
Algoritmalar II Ders 8 Açgözlü Algoritmalar.
Algoritmalar II Ders 7 Açgözlü Algoritmalar.
Algoritmalar II Ders 4 Dinamik Programlama Yöntemi.
Formel Diller ve Soyut Makineler
Çok Katmanlı Algılayıcı-ÇKA (Multi-Layer Perceptron)
İleri Algoritma Analizi
Diziler.
Algoritmalar II Ders 3 Dinamik Programlama Yöntemi.
İleri Algoritma Analizi
Bilgisayar Bilimi Problem Çözme Süreci-2.
Problemi Çözme Adımları
İleri Algoritma Analizi
doğal sayısındaki rakamların sayı değerleri toplamı kaçtır?
Algoritmalar II Ders 3 Dinamik Programlama Yöntemi.
İleri Algoritma Analizi
Algoritmalar II Ders 2 Dinamik Programlama Yöntemi.
Bölüm 5 Azalt ve yönet (Decrease-and-Conquer)
Kelime (Text) İşleme Algoritmaları
Sunum transkripti:

Algoritmalar II Ders 9 Dinamik Programlama ve Açgözlü Yaklaşım Soruları

Problem 1: En uzun artan altdizi Bulma sorusu

Problem2

Problem3:Palindrom sorusu-1 Problem: Bir dizgenin düzden okunuşuyla tersten okunuşu aynı ise bu dizgeye palindrom denir. Örneğin, 145541 ve KABAK birer palindromlardır. Verilen bir dizgeden en az sembol silerek palindrom elde etmek istiyoruz. Örneğin, 1245541 dizgesinden 1 sembol, yani 2 silinirse palindrom oluşur.

DİNAMİK PROGRAMLAMA YAKLAŞİMİ Verilen dizge S[1...n] olsun. 1. Adım. Optimal çözümün yapısını inceleme ve alt problemi tanımlama Altproblem S[i...j] dizisinden minimum sayıda harf atılarak palindrom elde etme sorusu olsun. Ana problem S[1...n ] dizisinden minimum sayıda harf atılarak palindrom elde etme sorusudur. Ana problemin optimal çözümü , alt problemin optimal çözümünü içermektedir, aksi durumda yani S[i...j] dizisinden daha az harf atılarak palindrom elde edilebilseydi S[1...n] dizisinden de daha az harf atılarak palindrom elde edilebilirdi.

Altproblemlerin optimal çözümleri arasında özyinelemeli formül S[i,j] dizisinden palindrom elde etmek için atılması gereken minimum harf sayısı f(i,j) olsun. Eğer S[i]=S[j] ise S[i...j] dizgesinde baştaki ve sondaki harfler aynıdır, yani bu harflerin atılması gerekmiyor, bu durumda S[i+1...j-1] dizgesi için atılması gereken minimum harf sayısı ile f(i,j) sayısı aynı olacaktır. Yani f(i+1,j-1)=f(i,j) eğer S[i]=S[j] ise

Eğer S[i]≠S[j] ise ya S[i], ya da S[j] nin atılması gerekiyor Eğer S[i]≠S[j] ise ya S[i], ya da S[j] nin atılması gerekiyor. Eğer S[i] atılırsa geriye S[i+1...j] dizgesi, eğer S[j] atılırsa geriye S[i...j-1] dizgesi kalacaktır. Her iki durumda atılması gereken harf sayısı 1 artacaktır. Bu iki durumdan minimum olanı seçmemiz gerektiğinden f(i,j)=min{f(i+1,j),f(i,j-1)}+1, eğer S[i]≠S[j] ise

Sonuç olarak, f(i,j) =f(i+1,j-1) eğer S[i]=S[j] ise = min{f(i+1,j),f(i,j-1)}+1, eğer S[i]≠S[j] ise Ayrıca f(i,i)=0 her i≥1 için f(i+1,i)=0 her i≥1 için

Burada f(i,j) değerleri aşağıda gibi hesaplanır önce indisler farkı 1 olanlar, yani f(1,2), f(2,3),...f(n-1,n), sonra indis farkı 2 olanlar yani f(1,3),f(2,4),...f(n-2,n), sonra indis farkı 3 olanlar... ve en sonda indis farkı n-1 olan yani f(1,n) hesaplanır. Bu işlem karesel zamanda yapılır.

Problem4: palindrom sorusu-2