Algoritmalara Giriş Ekim 31, 2005 Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson Dağıtım 19.



Benzer belgeler
Algoritmalara Giriş Massachusetts Institute of Technology Profesör Erik D. Demaine ve Charles E. Leiserson. Problem Seti 6 Çözümleri

Algoritmalara Giriş Ekim 17, 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Dağıtım 15.

Algoritmalara Giriş Eylül 21, 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Çalışma notu 6

Problem Set 1 Çözümler

Algoritmalara Giriş Kasım 7, 2005 Massachusetts Institute of Technology Profesör Erik D. Demaine ve Charles E. Leiserson Dağıtım 22.

Ara Sınav 1. Algoritmalara Giriş 14 Ekim 2005 Massachusetts Institute of Technology Profesörler Erik D. Demaine ve Charles E. Leiserson Kitapçık 14

Algoritmalara Giriş Ekim 24, 2005 Massachusetts Institute of Technology Profesör Erik D. Demaine ve Charles E. Leiserson Dağıtım 16.

Algoritmalar. DERS 7 Dengeli Arama Ağaçları Kırmızı-siyah ağaçlar Kırmızı-siyah ağacın yüksekliği Rotation / Dönme Insertion / araya yerleştirme

Algoritmalara Giriş 6.046J/18.401J

Pratik Ara Sınav 1 Çözümleri

6.046J/18.401J DERS 7 Kıyım Fonksiyonu (Hashing I) Prof. Charles E. Leiserson

Problem Seti 4 Çözümler

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

Algoritmalara Giriş 6.046J/18.401J DERS 2

Algoritmalara Giriş 6.046J/18.401J

Algoritmalara Giriş Ekim 10, 2005 Massachusetts Institute of Technology Professors Erik D. Demaine ve Charles E. Leiserson. Problem Seti 3 Çözümler

Algoritmalara Giriş 6.046J/18.401J

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

Pratik Final Sınavı Çözümleri 2

b) Algoritmanızın en kötü durumda işlem zamanını asimptotik olarak bulunuz

Problem Seti 7 Çözümleri

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

10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST)

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

SORULAR. 2. Noktaları adlandırılmamış 6 noktalı kaç ağaç vardır? Çizerek cevaplayınız.

Algoritmalara Giriş. Prof. Erik Demaine. September 26, 2005 Copyright Erik D. Demaine and Charles E. Leiserson L5.1

köşe (vertex) kenar (edg d e)

7.Hafta Dengeli Arama Ağaçları (Red - Black Tree)

A GRUBU Her bir yüzü düzgün beşgen olan düzgün 12-yüzlünün kaç ayrıtı vardır? A) 30 B) 24 C) 12 D) 36 E) 48

Algoritma ve Akış Diyagramları

T I M U R K A R A Ç AY - H AY D A R E Ş C A L C U L U S S E Ç K I N YAY I N C I L I K A N K A R A

B03.10 Algoritmalari Uygulamak : Durum 3 (Yuvalı Kontrol Yapıları) Şimdi başka bir problem üzerinde çalışalım.

10.Konu Tam sayıların inşası

Problem Seti 2 Çözümler

Final Sınavı. Güz 2005

ANADOLU ÜNİVERSİTESİ AÇIKÖĞRETİM FAKÜLTESİ İLKÖĞRETİM ÖĞRETMENLİĞİ LİSANS TAMAMLAMA PROGRAMI. Analiz. Cilt 2. Ünite 8-14

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

13.Konu Reel sayılar

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);

Proje Yönetimi Çalışma Sayfası

MAT223 AYRIK MATEMATİK

MARKOV ZİNCİRLERİNDE DURUMLARIN SINIFLANDIRILMASI

ÖĞRETİM) İŞLETME (İNGİLİZCE), LİSANS Bİ*** KA*** PROGRAMI, (ÖRGÜN ÖĞRETİM)

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

(14) (19.43) de v yi sağlayan fonksiyona karşılık gelen u = F v fonksiyonunun ikinci türevi sürekli, R de 2π periodik ve

Sistemin kullanılabilmesi için eğitime katılacak personelin önceden kayıt olması gerekmektedir.

EVRİM YENİ YIL İŞLEMLERİ

BLM-431 YAPAY ZEKA. Ders-3 Durum Uzayında Arama. Yrd. Doç. Dr. Ümit ATİLA

MIT Açık Ders Malzemeleri Bu materyallerden alıntı yapmak veya Kullanım Koşulları hakkında bilgi almak için

Math 103 Lineer Cebir Dersi Final Sınavı

Lineer Dönüşümler ÜNİTE. Amaçlar. İçindekiler. Yazar Öğr. Grv.Dr. Nevin ORHUN

A GRUBU Noktaları adlandırılmış K 6 tam çizgesinin tam olarak 3 noktalı kaç tane alt çizgesi vardır? A) 9 B) 20 C) 24 D) 60 E) 160

MIT Açık Ders Malzemeleri Bu materyallerden alıntı yapmak veya Kullanım Koşulları hakkında bilgi almak için

Algoritmalar. Ders 14 En Kısa Yollar II Bellman-Ford algoritması Floyd-Warshall algoritması

Limit Oyunları. Ufuk Sevim 10 Ekim 2012

4.3. Türev ile İlgili Teoremler

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

Öğrenci E Posta Açma Sistemi ve Kullanma Dokümanı

Şimdi başka bir problem üzerinde çalışalım.

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

Hizmete Ozel Yurtiçi Otel Rezervasyon Adımları. Yurt içi otel rezervasyonu yapmak için tıklayınız.

Math 103 Lineer Cebir Dersi Final Sınavı

DEVRE VE SİSTEM ANALİZİ ÇALIŞMA SORULARI

14.12 Oyun Teorisi Ders Notları

MAT223 AYRIK MATEMATİK

sayfasını açınız Sayfanın sağ üst köşesinde AVON Login yazısını bulacaksınız. Buraya tıklayiniz

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

Genel Graf Üzerinde Mutlak 1-merkez

6.046J/18.401J DERS 9. Post mortem (süreç sonrası) Prof. Erik Demaine

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

BİLGİ ye Hoşgeldiniz,

Problem Seti 8 Çözümleri

Kişisel Geçmiş Formu

Bu materyallerden alıntı yapmak veya kullanım şartları hakkında bilgi almak için:

Ders 8: Konikler - Doğrularla kesişim

1.4. KISMİ SIRALAMA VE DENKLİK BAĞINTILARI

MATEMATİK Fasikül 1 KONU ANLATIMLI FASİKÜL SET ÖLÇEN SIRA SENDE UYGULAMALARI ÇÖZÜMLÜ ÖRNEK SORULAR

Algoritmalar ve Programlama. Algoritma

SINAV YÖNERGESİ. Numarası : CEVAP. Adı Soyadı : ANAHTARI A) 512 B) 513 C) 256 D) 1024 E) 1025 A) 252 B) 256 C) 3024 D) 126 E) =?

1. GRUPLAR. c (Birleşme özelliği) sağlanır. 2) a G için a e e a a olacak şekilde e G (e ye birim eleman denir) vardır.

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

Solucan Haber Mayıs ve Haziran Kampanyası! Memnuniyet Garantili!*

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

2. SINIFLAR PYP VELİ BÜLTENİ. ( 26 Mart-04 Mayıs 2018 )

Değerli Yöneticiler, son yıllarda vergi incelemeleri büyük ölçüde bu konu etrafında dönmeye başladı.

FRAMESCAFF Uyumlu Cephe Sistemi Broşürü FRAMESCAFF. Uyumlu Cephe İskele Sistemi. v2014/12tr

Görsel Programlama - I Uygulamalı Ödevi

DOĞRUSAL OLMAYAN PROGRAMLAMA -I-

MIT Açık Ders Malzemeleri Bu materyallerden alıntı yapmak veya Kullanım Koşulları hakkında bilgi almak için

2.Hafta Algoritmaların Analizi. Araya Yerleştirme Sırlaması (Insert Sort) Birleştirme Sıralaması (Merge Sort ) Yinelemeler

OYUN GELİŞTİRME AŞAMALARI-I

Kapı Donanımı Şartnameleri Geleceği Yazmak

HANGİ MAKALE HANGİ DERGİYE?

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

YÜKSEKLİK ÖLÇMELERİ DERSİ GEOMETRİK NİVELMAN

tepav Tasarruf kamudan başlar Nisan2012 N DEĞERLENDİRMENOTU Türkiye Ekonomi Politikaları Araştırma Vakfı

Anadolu Üniversitesi Sınav Hizmetleri Sınav Kılavuzu. Bilgisayar Araştırma ve Uygulama Merkezi. YÖK Uzman Yardımcılığı Giriş Sınavı

Oyununuzun senaryosunu kısaca tanıtınız/ amacını da belirtiniz:

Transkript:

Algoritmalara Giriş Ekim 31, 2005 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik D. Demaine ve Charles E. Leiserson Dağıtım 19 Problem Seti 6 Okumalar: Bölüm 17 ve karşılaştırmalı çözümleme konusunda dağıtılan not. Hem egzersizler hem de problemler çözülecek, ama sadece problemler teslim edilecektir. Egzersizler ders materyalini hazmettirmek amacıyla hazırlanmıştır. Her ne kadar egzersiz çözümlerini teslim etmeyeceksiniz de egzersizdeki konulardan sorumlu olacaksınız. Her sayfanın üstüne adınızı, dersin kod numarasını, problemin numarasını, etüt bölümünüzü ve ortak çalışma yaptığınız arkadaşlarınızın isimleriyle tarihleri yazın. Lütfen çözümlerinizi zımbalayın ve üç delikli kağıtta teslim edin. Sık sık bir problem için "bir algoritma bulun" isteğiyle karşılaşacaksınız. Bu konudaki yanıtınız kısa bir makale şeklinde olmalıdır. Makalenin konu paragrafı, çözdüğünüz problem ve sonuçlarınızı özetleyecek şekilde düzenlenmelidir. Makalenizin ana yapısında aşağıdaki bilgiler verilmelidir: 1. Algoritmanın İngilizce açıklaması ve eğer faydalı olacaksa sözde kodu.. 2.Algoritmanızın nasıl çalıştığını gösteren en az bir işlenmiş örnek veya şekil. 3.Algoritmanın doğruluğunun kanıtı (veya göstergesi). 4. Algoritmanın koşma zamanının çözümlemesi. Amacınız iletişim kurmaktır.tam not sadece iyi açıklanan doğru yanıtlara verilecektir. Ya da net olmayan açıklamalar daha düşük notlandırılacaktır. Egzersiz 6-1. Kitaptaki Egzersiz 6-2. Kitaptaki Egzersiz 6-3. Kitaptaki Egzersiz 6-4. Kitaptaki Egzersiz 6-5. Kitaptaki 17.1-1 nolu egzersiz (410. Sayfa) 17.3-3 nolu egzersiz (416. Sayfa) 17.3-6 nolu egzersiz (416. Sayfa) 17.3-7 nolu egzersiz (416. Sayfa) 17.4-2 nolu egzersiz (425. Sayfa) 1

Problem 6-1. Elektronik Billboard (İlan Tahtası) E-Bill adlı yeni bir Elektronik İlan Tahtası firması kuruyorsunuz. Şimdilik bir ilan tahtanız var ve aynı anda tahtada sadece 1 reklam yayınlayabiliyorsunuz. Müşterilerinizle yaptığınız anlaşmaya göre, reklamlarını bir hafta boyunca yayınlarsanız size ödeme yapıyorlar, aksi halde yapmıyorlar. Müşteriler size reklamlarıyla rastgele zamanlarda geliyorlar ve yayın için bir bütçe öneriyorlar. Size geldikleri zaman reklamlarını hemen yayına başlayıp başlayamayacağınıza karar vermek zorundasınız. O sırada başka bir reklam yayınlıyorsanız, o yayınını kesebilirsiniz ama kesilen yayından edeceğiniz kardan da vazgeçmiş olursunuz. Amaç karınızı en fazla arttıracak algoritmayı kuramlamaktır. Gerçekte bir i reklamı anında geliyor ve karı oluyor. Bir reklam gelir gelmez algoritma onu yayınlayıp yayınlamayacağına anında karar vermek zorunda. Algoritma, zamanında gelen i reklamını, zamanından +1 zamanına kadar yayınlarsa, karını alıyor. Aynı anda sadece tek işin geldiğini varsayın. Ayrıca, i reklamı t zamanında bittiğinde billboard da hemen başka bir reklamın başlatılabileceğini de varsayın. Aşağıdaki AD-SCHEDULE algoritmasında α > 1 in bir sabit olduğu durumu düşünün. Karı bir i reklamı geldiğinde; olan 1. Eğer hiç reklam yayınlanmıyorsa, i yi yayınlamaya başla, 2. Eğer kârı olan bir k reklamı yayınlanıyorsa, k yı sadece ve sadece olursa yayından çıkar, aksi halde i yi kabul etme.. > α Algoritmanın bir hafta boyunca yayınladığı reklamlar, tamamlanmış reklamlar, yayına başlayıp bir haftadan önce yayından kaldırdığı reklamlar da atılan reklamlar olarak anılırlar. Algoritmanın hiç kabul etmediği reklamlar da reddedilen reklamlar olarak anılırlar. Algoritma sadece tamamlanmış reklamlardan kar edebilir. (a) Şekil 1 deki geliş dizisini düşünün. AD-SCHEDULE (reklam-zamanlama çizelgesi) algoritmasının α = 1.5 durumunda yürütüm iznini verin, yani her reklam gelişinde hangi eylemlerin olduğunu, hangilerinin tamamlandığını ve reddedildiğini açıklayın. A D -S CHEDULE tarafından kazanılan toplam karı hesaplayın. (b) OPT (optimum) algoritmasının gelecek reklamlar dizisini önceden bildiğini ve reklam plasmanını karı en çok arttıracak şekilde yaptığını kabul edin. Şekil 1 deki reklamlardan hangileri OPT tarafından tamamlanır, reddedilir ve atılır? OPT nin karı nedir? 2

Rek 1 2 3 4 5 6 7 8 Geliş zamanı 1.0 1.7 1.8 2.0 2.1 2.5 3.0 4.1 Kar 1.0 1.3 1.8 3.0 2.3 4.0 4.5 6.2 Şekil 1: AD-SCHEDULE için örnek bir girdi (c) Eğer α = 1 olursa, A D-S CHEDULE un OPT ye oranla gelişigüzel kötü karlar edeceğini gösterin. (İpucu: OPT un iyi, AD-SCHEDULE un ise kötü sonuçlar vereceği bir reklamlar dizisi verin.) A ={1,2, n} reklam kümesini düşünün. Bir S A a l t kü m e s i, e ğe r ve sa d e ce e ğ e r, a l go r it m a S a lt kü m e sin d e ki t ü m re kla m la r ı t a m a m la ya b i li yo r sa b il lb o a rd p ro b l e m in e b i r çö z ü m ge t i ri r. Y a n i X çö zü m ü n d e k i h içb i r re k la m ça k ışm a z. B ir S çö zü m ü n ü n Ps karı; olur.. Bir reklamlar dizisi A için, A D-S CHEDULE un S A çözümünü, OPT un da S* C. çözümünü ürettiğini düşünün. Herhangi bir t anında St S AD-SCHEDULE un tamamladığı reklamlar kümesi olsun( t anı dahil) ve Dt A - S de o ana kadar ADSCHEDULE tarafından atılan reklamların kümesi olsun. Benzer şekilde S*t S*, OPT un t anına kadar tamamladığı reklamların kümesi olsun.. (d) AD-SCHEDULE un t anında yayınladığı reklamın j olduğunu varsayın. Aşağıdaki ifadeyi tümevarım yöntemiyle kanıtlayın. (e) OPT nin bir kez başlattıktan sonra hiç bir reklamı çıkarmaya gerek duymayacağını kanıtlayın. Başka bir deyişle, eğer en uygun bir OPT algoritması bazen reklamları çıkaran bir S* çözümü üretiyorsa, o zaman aynı çözümü üreten, ama hiç bir reklamı yayın dışı etmeyen bir başka OPT* algoritması vardır. (f) Tüm j Є S* ler için, α pf(j) pj ve αj - 1< α f(j) αj durumlarını sağlayan bire çok (injective) bir eşlemleme, f : S* D U S olduğunu gösterin. (Eşlemlemenin bire çok olduğunu göstermeyi unutmayın.) 3

(g) j* ve j, OPT* ve AD-SCHEDULE un t anında yayınladıkları reklamlar olsun. Tüm t değerleri için şunu kanıtlayın: (h) Aşağıdaki potansiyel fonksiyonu düşünün; Burada AD-SCHEDULE ve OPT*, j and j* reklamlarını t anında yayınlıyorlar. (d) ve (g) şıklarını kullanarak, bu potansiyel fonksiyonun daima artı değerli kaldığını kanıtlayın. Dilerseniz bunu doğrudan tümevarım kullanarak da kanıtlayabilirsiniz. (i) A D -S CHEDULE un α2 / (α - 1)-rekabetçi (competitive) olduğu sonucunu çıkarın. (j) Rekabetçilik oranını en aza indiren en uygun α değeri nedir? (k) İsteğe bağlı: AD-SCHEDULE un karı P olduğunda,opt'un karının en az (( α 2 /( α - 1)) 1)P olacağı bir reklamlar dizisi örneği verin (i) İsteğe bağlı: Billboard-çizelgeleme probleminin, reklam uzunluklarının değiştiği ve karın da reklam uzunluğuna orantılı olduğu bir biçimini düşünün. Yani her i reklamının pi karı ve yayın süresi var. AD-SCHEDULE un problemin bu şekli için tam bir çözümlemesini yapın. 4

Problem 6-2. Kırmızı-siyah ağaçları yeniden yapılandırmanın maliyeti. Kırmızı-siyah ağaçların yapısını değiştiren 4 temel işlem vardır : düğüm araya yerleştirmeleri, düğüm silmeleri, döndürmeler ve renk değiştirmeler. RB-INSERT (KS-ARAYA YERLEŞTİRME) ve RB-DELETE (KS-SİLME) nin kırmızı-siyah özelliklerin korunması için, sadece O(1) düzeyinde döndürme, düğüm araya yerleştirme ve düğüm silme kullandığını görmüştük, ama bunlar çok daha fazla renk değiştirmesi yapabilir. (a) n sayıda düğümü olan bir kırmızı-siyah ağacı, RB-INSERT işleminin Ω (lgn) düzeyinde renk değiştirmesine neden olduğunu öngörerek nasıl yapılandıracağınızı açıklayın. Aynı şeyi RB-DELETE için yapın. İşlem başına renk renk değişimlerinin sayısının en kötü durumu logartmik olabilir ama, biz aşağıdaki teoremi kanıtlayacağız.. Teorem 1 Başlangıçta boş bir kırmızı-siyah ağaçta, RB-INSERT ve RB-DELETE işlemleri, en kötü durumda O(m) yapısal değişikliğe neden olur. (FIXUP: ONARIM) (b) Kitaptaki Şekil 13.4, 13.5, ve 13.6 yı dikkatlice inceleyin. Hem RB-I NSERT -F IXUP hem de RB-DELETE -F IXUP ın kodlarının ana döngülerince yürütülen işlemlerden bazıları sonlanıyor: bir kez karşılaşıldığında, sabit sayıda işlem sonrası döngünün sona ermesine neden oluyorlar. RB-I NSERT -F IXUP ve RB-DELETE-FIXUP ın her durumu için, hangilerinin sonlandığını, hangilerinin sonlanmadığını belirtin. Önce sadece araya yerleştirme uygulamasındaki yapısal değişiklikleri çözümleyeceğiz. T bir kırmızı-siyah ağaç olsun ve (T) de T deki kırmızı düğümlerin sayısı olsun. RB-INSERTFİXUP ın her üç durumunda uygulanan yapısal değişimlerin 1 potansiyel birimle ödendiğini varsayın. (c) T RB-I NSERT -F IXUP ın 1. durumu T ye uygulandığında çıkan sonuç olsun. Şöyle olduğunu savunun: (T ) = (T)-1 (d) Kırmızı-siyah bir ağaca RB-I NSERT kullanarak araya yerleştirme yapmak üç parçaya bölünebilir. TREE-INSERT, kullanıldığında RB-INSERT-FIXUP ın sonlanmayan durumları ve sonlanan durumlarından kaynaklanan yapısal değişimleri ve potansiyel değişiklikleri listeleyin. 5

(e) Şık (d) yi kullanarak, ( ya göre) RB-INSERT in yapısal değişimlerinin amortize edilmiş sayısının olduğunu savunun. Şimdi teoremi hem araya yerleştirmeler, hem de silmeler için kanıtlamak istiyoruz. w(v) yi şöyle tanımlayalım: 0 1 0 2 eğer v kırmızı ise, eğer v siyah ise ve kırmızı ardılı yoksa, eğer v siyah is eve bir kırmızı ardılı varsa, eğer v siyah is eve iki kırmızı ardılı varsa. Bir T kırmızı-siyah ağacının potansiyelini şöyle tanımlayalım: ve T', RB-INSERT-FIXUP veya RB-D ELETE -F IXUP ın herhangi bir sonlanmayan durumunun T ye uygulanmasıyla oluşan ağaç olsun. (f) RB-I NSERT-FIXUP ın tüm sonlanmayan durumlarında (T ) (T)-1 olduğunu gösterin. RB-INSERT-FIXUP tarafından uygulanan yapısal değişimlerin amortize edilmiş sayısının ( ya göre) O(1) olduğunu tartışın. (g) RB-DELETE -F IXUP ın tüm sonlanmayan durumlarında (T ) (T)-1 olduğunu gösterin. RB-DELETE -FIXUP tarafından uygulanan yapısal değişimlerin amortize edilmiş sayısının ( ya göre) O(1) olduğunu tartışın. (h) Teorem 1 in kanıtlamasını tamamlayın.. 6