GEDİZ ÜNİVERSİTESİ SİSTEM MÜHENDİSLİĞİ YÜKSEK LİSANS PROGRAMI SMY 544 ALGORİTMALAR GÜZ 2015



Benzer belgeler
EM302 Yöneylem Araştırması 2 Dinamik Programlama. Dr. Özgür Kabak

DOĞRUSAL PROGRAMLAMADA DUALİTE (DUALITY)

İleri Diferansiyel Denklemler

Dinamik Programlama. En uzun ortak altdizi En uygun altyapı Altproblemlerin çakışması

OYUN TEORİSİ. Özlem AYDIN. Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak

İleri Diferansiyel Denklemler

FABRİKA ORGANİZASYONU Üretim Planlama ve Yönetimi 2. Uygulama: Sipariş ve Parti Büyüklüğü Hesaplama

C++ Dilinde Bazı Temel Algoritmalar

Özdeğer ve Özvektörler

3.2. DP Modellerinin Simpleks Yöntem ile Çözümü Primal Simpleks Yöntem

GEO182 Lineer Cebir. Matrisler. Matrisler. Dersi Veren: Dr. İlke Deniz Derse Devam: %70. Vize Sayısı: 1

Zeki Optimizasyon Teknikleri

m=n şeklindeki matrislere kare matris adı verilir. şeklindeki matrislere ise sütun matrisi denir. şeklindeki A matrisi bir kare matristir.

7. BÖLÜM İÇ ÇARPIM UZAYLARI İÇ ÇARPIM UZAYLARI İÇ ÇARPIM UZAYLARI İÇ ÇARPIM UZAYLARI .= Genel: Vektörler bölümünde vektörel iç çarpım;

Algoritmalar. DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama Sayı üstelleri Fibonacci sayıları Matriks çarpımı Strassen in algoritması

DARÜŞŞAFAKA LİSESİ SALİH ZEKİ LİSE ÖĞRENCİLERİ ARASI MATEMATİK PROJELERİ YARIŞMASI

BİLGİSAYAR MÜHENDİSLİĞİ DOKTORA DERS PROGRAMI (Lisanstan gelenler için)

TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ MAKİNA MÜHENDİSLİĞİ ANABİLİM DALI DOKTORA PROGRAMI ŞEKİL TANIMA ÖDEV 2 KONU : DESTEK VEKTÖR MAKİNELERİ

BİLGİSAYAR VE ENFORMASYON BİLİMLERİ YÜKSEK LİSANS DERS PROGRAMI (Tezli Program)

YÖNEYLEM ARAŞTIRMASI - I

YÖNEYLEM ARAŞTIRMASI - III

ÖZDEĞERLER- ÖZVEKTÖRLER

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

Trigonometrik Dönüşümlerin Fiziksel Yorumu

DOĞU AKDENİZ ÜNİVERSİTESİ MATEMATİK BÖLÜMÜ 23. LİSELERARASI MATEMATİK YARIŞMASI

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

YÖNEYLEM ARAŞTIRMASI - I

Final Sınavı. Güz 2005

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

Genel Graf Üzerinde Mutlak 1-merkez

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

DOĞRUSAL PROGRAMLAMANIN ÖZEL TÜRLERİ

3. BÖLÜM MATRİSLER 1

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

Bölüm 2: Kuvvet Vektörleri. Mühendislik Mekaniği: Statik

VEKTÖR UZAYLARI 1.GİRİŞ

Ege Üniversitesi Elektrik Elektronik Mühendisliği Bölümü Kontrol Sistemleri II Dersi

Matris İşlemleri Uygulaması

ARAZİ ÖLÇMELERİ. Temel Ödev I: Koordinatları belirli iki nokta arasında ki yatay mesafenin

İleri Diferansiyel Denklemler

YZM 2105 Nesneye Yönelik Programlama

DOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 1001

İleri Yöneylem Araştırması Uygulamaları Tam Sayılı Programlama

0 dan matematik. Bora Arslantürk. çalışma kitabı

2.3. MATRİSLER Matris Tanımlama

Optimal Kontrol. Durum ve Çıkış Geri-beslemeli Kontrolörlerin DME. 18 Aralık Yıldız Teknik Üniversitesi, Istanbul, Türkiye

ÇARPANLAR ve KATLAR ASAL SAYILAR. Örnek-2 : 17 ve 27 sayılarının asal sayı olup olmadığını inceleyelim.

Algoritmalara Giriş J/18.401J Ders 15. Dinamik Programlama En uzun ortak altdizi En uygun altyapı Altproblemlerin çakışması

Nokta uzayda bir konumu belirtir. Noktanın 0 boyutlu olduğu kabul edilir. Herhangi bir büyüklüğü yoktur.

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms)

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

TAM SAYILARDA ÇARPMA BÖLME İŞLEMLERİ ESRA ÇAKIR

BÖLÜM 4: MADDESEL NOKTANIN KİNETİĞİ: İMPULS ve MOMENTUM

Lineer Cebir. Doç. Dr. Niyazi ŞAHİN TOBB. İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler

İleri Diferansiyel Denklemler

Fonksiyon Optimizasyonunda Genetik Algoritmalar

Projenin Adı: İstatistik yardımıyla YGS ye hazırlık için soru çözme planlaması

MEKATRONİK MÜHENDİSLİĞİ YÜKSEK LİSANS PROGRAMI

Cebir 1. MIT Açık Ders Malzemeleri

METASEZGİSEL YÖNTEMLER

MATEMATiKSEL iktisat

Altın Oran Arama Metodu(Golden Search)

Temelleri. Doç.Dr.Ali Argun Karacabey

ESNEK YAPILANDIRMA UYGULAMASINDA YENİLİKLER

İÇİNDEKİLER ÖNSÖZ Bölüm 1 SAYILAR 11 Bölüm 2 KÜMELER 31 Bölüm 3 FONKSİYONLAR

üslü sayılar temel kurallar-1

STATİK MÜHENDİSLİK MEKANİĞİ. Behcet DAĞHAN. Behcet DAĞHAN. Behcet DAĞHAN. Behcet DAĞHAN

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Kafes Yapıları. Hatırlatma

Sayısal Yöntemler (COMPE 350) Ders Detayları

Excel' de formüller yazılırken iki farklı uygulama kullanılır. Bunlardan;

Algoritmalara Giriş. Prof. Erik Demaine. November 16, 2005 Copyright by Erik D. Demaine and Charles E. Leiserson L18.1

Çarpım fonksiyonu, seçilen hücredeki rakamların veya belirtilen hücre aralığının çarpımını alır.

KOMBİNATORYAL OPTİMİZASYON

EXCEL FORMÜLLER, FONKSİYONLAR

TAMSAYILI PROGRAMLAMA

Sloan Yönetim Okulu / Massachusetts Teknoloji Enstitüsü Güzl 2004 Professors Berndt, Chapman, Doyle ve Stoker

STATİK KUVVET ANALİZİ (2.HAFTA)

x 2i + A)( 1 yj 2 + B) u (v + B), y 1

YÖNEYLEM ARAŞTIRMASI - III

Tam ve Karma Stratejili Oyunlar. İki Kişili Oyunlar için

KONU 4: DOĞRUSAL PROGRAMLAMA MODELİ İÇİN ÇÖZÜM YÖNTEMLERİ I

8.Konu Vektör uzayları, Alt Uzaylar

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

EBOB - EKOK EBOB VE EKOK UN BULUNMASI. 2. Yol: En Büyük Ortak Bölen (Ebob) En Küçük Ortak Kat (Ekok) 1. Yol:

KISITLI OPTİMİZASYON

KABA KÜME TEORİSİ (Rough Set Theory) Dr. Sedat TELÇEKEN

KARAR TEORİSİ. Özlem AYDIN. Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

Programlama Nedir? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir?

Pamukkale Üniversitesi. Makine Mühendisliği Bölümü. MENG 219 Deney Föyü

BELĐRLĐ BĐR SIKMA KUVVETĐ ETKĐSĐNDE BĐSĐKLET FREN KOLU KUVVET ANALĐZĐNĐN YAPILMASI

Ege Üniversitesi Elektrik Elektronik Mühendisliği Bölümü Kontrol Sistemleri II Dersi

Ayrık Fourier Dönüşümü

Ulaştırma ve Atama. Konu 2. Ulaştırma Modeli. Doç. Dr. Fazıl GÖKGÖZ

Tedarik Zincirlerinde Yer Seçimi Kararları (Location Decisions)

PERMÜTASYON, KOMBİNASYON. Örnek: Örnek: Örnek:

Elipsoid Üçgenlerinin Hesaplanması Yedek Hesap Yüzeyi olarak Küre

International Olympiad in Informatics 2013

Transkript:

GEDİZ ÜNİVERSİTESİ SİSTEM MÜHENDİSLİĞİ YÜKSEK LİSANS PROGRAMI SMY 544 ALGORİTMALAR GÜZ 2015

Algoritmalar Ders 9 Dinamik Programlama SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 2

Dinamik Programlama Böl-ve-fethet gibi bir tasarım tekniği. Böl ve fethet yönteminde alt problemlerin bağımsız olması gerekiyor. DP da alt problemler bağımsız değilse de, DP uygulanabilir. DP her alt problemi bir kez çözer ve çözümleri bir tabloda saklar Aynı alt problemin birden fazla ortaya çıkma durumunda her seferinde tekrar çözüm yapmaz, tabloda saklamış olduğu değeri problemde yerine koyar. Bu şekilde işlemlerin çözümünün hızlanması sağlanmış olur. SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 3

Dinamik Programlama DP, genelde en iyileme (optimizasyon) problemlerine uygulanır. Bu tip problemlerin birden fazla çözümü olabilir. Amaç bu çözümler içinde en iyisini bulmaktır. DP gelişimi dört adımda özetlenebilir ve bu dört adım DP nin temelini oluştururlar. SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 4

Dinamik Programlama DP geliştirmek için şu dört adım izlenmelidir: 1. Optimal çözümün yapısının karakteristiği ortaya çıkarılmalı. 2. Özyinelemeli olarak optimal çözümün değerini tanımlamalı. 3. Alttan-üste (bottom-up) mantığı ile bir optimal çözümün değerini hesaplamalı. 4. Hesaplanan bilgilerden optimal çözüm elde edilir. SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 5

Zincir Matris Çarpımı <A 1,A 2,...,A n > matris zinciri olsun. C=A 1 A 2...A n çarpımı hesaplanmak isteniyor. Matris çarpımının birleşme özelliği vardır. Bundan dolayı her türlü paranteze alma her zaman için aynı sonucu verecektir. Örneğin <A1,A2,A3,A4> için beş tane farklı hesaplama yöntemi vardır. (A1(A2(A3A4))) (A1(A2A3)A4)) Seçilecek olan parantezlemenin ((A1A2)(A3A4)) hesaplama maliyeti üzerinde ((A1(A2A3)A4) önemli bir etkisi vardır. (((A1A2)A3)A4) SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 6

Zincir Matris Çarpımı Seçilen yolun maliyet üzerindeki etkisini daha rahat görebilmek için <A1,A2,A3> zinciri ele alınsın. Boyutlar sırasıyla 10x100, 100x5, 5x50 olsun. p q ve q r boyutlarındaki iki matrisin çarpımında pqr tane skaler çarpım işlemi gerçekleştirilir. 1. alternatif: Bu üç matrisin çarpımı ((A1A2)A3) parantezlemesine göre yapılırsa, A1A2 matrislerinin çarpımında 10.100.5=5000 tane skaler çarpım yapılır. Elde edilen sonuç matrisin boyutları 10x5 olur. Bu matris ile A3 matrisinin çarpımı içinde 10.5.50=2500 tane skaler çarpım yapılır. Toplam olarak 7500 tane skaler çarpım yapılır. SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 7

Zincir Matris Çarpımı 2. alternatif: Eğer matrisler (A1(A2A3)) şeklinde çarpılırlarsa, A2A3 matrislerinin çarpımı için 100.5.50=25000 tane skaler çarpıma ihtiyaç vardır. Elde edilen sonuç matrisinin boyutları 100x50 olur. Bu matris ile A1 matrisinin çarpımı için de 10.100.50=50000 tane skaler çarpımyapılır. Toplam olarak 75000 tane skaler çarpım yapılır. SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 8

DP: Zincir Matris Çarpımı Çarpılacak olan n tane matris için yapılabilecek parantez sayısı P(n) olsun. Bu durumda P(1)=P(2)=1 olur ve P(3)=2, P(4)=5 olur. Fakat n büyüdüğü zaman yapılabilecek parantez sayısı da oldukça hızlı artacaktır. Aşağıdaki yineleme bağıntısı n boyutlu matris zinciri için farklı parantezleme sayısını verir. P(n)=O(2 n ) dir. Yani çözüm sayısı üstel(exponential)dir. SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 9

Zincir Matris Çarpımı (Dinamik Programlama ile Çözümü) Adım 1: Optimal çözümün yapısının karakteristiği ortaya çıkarılmalı. A i A i+1...a j çarpımı için aşağıdaki gibi optimal parantezleme yapabiliriz. A i A i+1...a k ve A k+1...a j 1 i k < j n olmak üzere SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 10

Zincir Matris Çarpımı (Dinamik Programlama ile Çözümü) Adım 2: Özyinelemeli olarak optimal çözümün değerini tanımlamalı. A i A i+1...a j çarpımının minimum maliyete sahip parantezlemesinin özyinelemeli tanımı şu şekildedir. A i matrisinin boyutları p i-1 x p i dir. SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 11

Zincir Matris Çarpımı (Dinamik Programlama ile Çözümü) Adım 3: Alttan-üste (bottom-up) mantığı ile bir optimal çözümün değerini hesaplamalı. SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 12

Örnek: Zincir Matris Çarpımı (Dinamik Programlama ile Çözümü) SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 13

Zincir Matris Çarpımı (Dinamik Programlama ile Çözümü) Adım 4: Hesaplanan bilgilerden optimal çözüm elde edilir. Fonksiyonun ilk çalıştırılması: PRINT-OPTIMAL-PARENS(s,1,n) SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 14

Sırt Çantası Problemi Ağırlığı sırasıyla 4, 3 ve 5 kg olan eşya 1, 2 ve 3 ün kıymetleri 11, 7 ve 12 dir. 10 kg lık bir sırt çantası söz konusu olduğunda toplam kıymeti en yüksek tutmak için sırt çantası nasıl doldurulmalıdır? Eşya Ağırlık Kıymet 1 4 11 2 3 7 3 5 12 Aşamalar Durumlar Her aşamada neye karar verilecek? Yineleme formülü SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 15

Sırt Çantası Problemi g(w): w ağırlığından elde edilecek en yüksek kıymet g(w) = maks { bj + g(w wj) } j: eşyalar bj : j eşyasının kıymeti wj : j eşyasının ağırlığı Eşya Ağırlık Kıymet 1 4 11 2 3 7 3 5 12 SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 16

Kibrit Çöpü Oyunu Masa üzerinde 30 kibrit çöpü vardır. İki kişi (ben ve rakibim) oynuyor. Sırası gelen 1,2 veya 3 kibrit çöpü çekiyor. Ben başlıyorum, rakibim oynuyor, ben oynuyorum Son çöpü alan oyuncu kaybediyor. Oyunu kazanmayı nasıl başarabilirim? SMY 544, ALGORİTMALAR, Güz 2015 Ders#9 17