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

Benzer belgeler
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

Problem Set 1 Çözümler

Pratik Ara Sınav 1 Çözümleri

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

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

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

Problem Seti 4 Çözümler

6.Hafta Kıyım Fonksiyonu (Hashing), BST. Doğrudan erişim tabloları Çarpışmaları ilmekleme ile çözmek Kıyım fonksiyonu seçimi Açık adresleme

Algoritmalara Giriş 6.046J/18.401J DERS 2

BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1

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

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

Algoritmalara Giriş 6.046J/18.401J

11.Konu Tam sayılarda bölünebilme, modüler aritmetik, Diofant denklemler

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

2. (x 1 + x 2 + x 3 + x 4 + x 5 ) 10 ifadesinin açılımında kaç terim vardır?

KARAKTER DİZGİLERİ, BAĞINTILAR, FONKSİYONLAR KESİKLİ MATEMATİKSEL YAPILAR

İleri Diferansiyel Denklemler

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

İleri Diferansiyel Denklemler

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) =?

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar

Problem Seti 2 Çözümler

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

Temel Kavramlar. (r) Sıfırdan farklı kompleks sayılar kümesi: C. (i) Rasyonel sayılar kümesi: Q = { a b

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

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

Microsoft Office Excel 2007

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

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

MS Excel. Excel Microsoft Office in bir parçasını oluşturur. Office 2007, Office 2010, Office 2013, Office 2016

Tanım Bir X kümesi üzerinde bir karakter dizgisi (string) X kümesindeki. boş karakter dizgisi (null string) denir ve l ile gösterilir.

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

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

Donatılar-Hesap Makinesi

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

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

Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR

Gerçekten Asal Var mı? Ali Nesin

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

10. DİREKT ÇARPIMLAR

1 BAĞINTILAR VE FONKSİYONLAR

Bölüm Özeti. Algoritmalar. Fonksiyonların Büyümesi. Algoritmaların Karmaşıklığı. Örnek Algoritmalar Algoritmik Paradigmalar

Rastgele değişken nedir?

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

YGS / Temel Matematik Soru ve Çözümleri

3 KESİKLİ RASSAL DEĞİŞKENLER VE OLASILIK DAĞILIMLARI

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

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

Excel Formüller ve Fonksiyonlar. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı

2. Aşağıdaki pseudocode ile verilen satırlar işletilirse, cnt isimli değişkenin son değeri ne olur?

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

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

İstatistik ve Olasılık

olsun. Bu halde g g1 g1 g e ve g g2 g2 g e eşitlikleri olur. b G için a b b a değişme özelliği sağlanıyorsa

Problem Seti 8 Çözümleri

Birden Fazla RDnin Bileşik Olasılık Fonksiyonları

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR

Web Madenciliği (Web Mining)

Sevdiğim Birkaç Soru

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

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

Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir?

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

Grup Homomorfizmaları ve

İSTATİSTİK EXCEL UYGULAMA

İSTANBUL TİCARET ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR SİSTEMLERİ LABORATUVARI LİNEER KRİPTANALİZ

Bu kısımda işlem adı verilen özel bir fonksiyon çeşidini ve işlemlerin önemli özelliklerini inceleyeceğiz.

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.

İleri Diferansiyel Denklemler

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

MIT Açık Ders Malzemesi İstatistiksel Mekanik II: Alanların İstatistiksel Fiziği 2008 Bahar

MAT 302 SOYUT CEBİR II SORULAR. (b) = ise =

2018 / 2019 EĞİTİM - ÖĞRETİM YILI DESTEKLEME VE YETİŞTİRME KURSLARI 6. SINIF MATEMATİK DERSİ YILLIK PLAN ÖRNEĞİ. Konu Adı Kazanımlar Test No Test Adı

CEVAP ANAHTARI 1-A 2-C 3-A 4-D 5-D 6-E 7-A 8-E 9-D 10-D 11-C 12-B 13-E 14-E 15-E 16-A 17-D 18-B

Formüller ÜNİTE 5. Bu üniteyi çalıştıktan sonra; Formüller Menüsü İşlev Kitapçığı Tanımlı Adlar Formül Denetleme Hesaplama

MARKOV ZİNCİRLERİNDE DURUMLARIN SINIFLANDIRILMASI

Örnek...3 : Aşağıdaki ifadelerden hangileri bir dizinin genel terim i olabilir? Örnek...4 : Genel terimi w n. Örnek...1 : Örnek...5 : Genel terimi r n

İleri Diferansiyel Denklemler

2. REGRESYON ANALİZİNİN TEMEL KAVRAMLARI Tanım

T.C. ÇANAKKALE ONSEKİZ MART ÜNİVERSİTESİ

Normal Altgruplar ve Bölüm Grupları

EĞİTİM ÖĞRETİM YILI FATİH SULTAN MEHMET ORTAOKULU MATEMATİK UYGULAMALARI 8 YILLIK PLANI 1.DÖNEM AY HAFTA TARİH KAZANIM AÇIKLAMA

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR

8. HOMOMORFİZMALAR VE İZOMORFİZMALAR

VI. OLİMPİYAT SINAVI SORULAR

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

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

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

Algoritmalara Giriş 6.046J/18.401J

BMT 101 Algoritma ve Programlama I 3. Hafta (Örnekler) Yük. Müh. Köksal GÜNDOĞDU 1

İleri Diferansiyel Denklemler

İleri Diferansiyel Denklemler

Veri Ağlarında Gecikme Modeli

Transkript:

Algoritmalara Giriş Ekim 10, 2005 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik D. Demaine ve Charles E. Leiserson Dağıtım13 Problem Seti 3 Çözümler Problem 3-1. Örüntü Eşleme (Pattern matching) Müdür Skinner ın bir problemi var: Skinner, Bart Simpson ın, son kitap raporunda bazı metinleri aşırdığından kesinlikle emin. Bart ın cümlelerinden biri, kulağa tuhaf biçimde tanıdık geliyordu ama, Skinner bunun nereden alındığını tam olarak anlayamadı ve bazı bilgiç MIT öğrencilerinin ona yardım edip edemeyeceğini görmeye karar verdi. Skinner size içinde Springfield halk kütüphanesinin tüm metinlerinin olduğu bir DVD verir. Veri; T[i] in ya 0 ya da 1 olduğu, T[1.. n] dizilimi olarak gördüğümüz, T[1], T[2],..., T[n], ikili dizgisi içinde depolanmıştır Aynı zamanda Skinner; Bart Simpson'ın kitap raporundan bir alıntıyı da size verir; P[1.. m] kısa ikili dizgisinde, yine her P[i], ya 0 ya da 1 ve m < n'dir. A[1.. k] ikili dizgisinde, i, j t a m s a y ı l a r ı i ç i n 1 i j k olduğunda, A[i], A[i + 1],..., A[j] ikili dizgisi yerine, A[i.. j ] simgelemini kullanırız ve buna, A nın altdizgisi deriz. Bu problemin amacı, P nin T nin bir altdizgisi olup olmadığını belirlemek, yani bazı i, j ler için 1 i j n olduğunda P = A[i.. j ] olup olmadığına karar vermektir. Bu probleminde, O (log n)-bit tamsayılarını sabit zamanda işleyebileceğinizi farzedin. Örneğin, eğer x n 7 ve y n 5 olsa, x + y yi sabit zamanda hesaplayabilirsiniz. Diğer yandan, m-bitlik tamsayıların sabit zamanda işlenebileceğini varsayamazsınız, çünkü m çok büyük olabilir. Örneğin, eğer m = Θ (log 2 n) ve x ve y nin her biri m-bitlik tamsayılarıysa, x + y yi sabit zamanda hesaplayamazsınız. (Genellikle, girdi boyutu logaritmik uzunlukta olan tamsayıları sabit zamanda işleyebileceğinizi varsaymak mantıklıdır, ancak daha büyük tamsayılar orantılı olarak fazla zaman gerektirir.) (a) Elimizde; bazı A[1.. k] ve bazı 1 i k m+1 ikili dizgileri için, x = A[i.. (i + m 1)] ikili dizgisinin m-bitlik kıyım değerini hesaplayan h(x) kıyım fonksiyonu olduğunu farz edelim. Ayrıca, kıyım fonksiyonunun mükemmel olduğunu farz edelim. Eğer x y ise, h(x) h(y) dir. Kıyım fonksiyonunu O(m) sürede hesaplayabileceğinizi farz edin. P nin, T nin altdizgisi olup olmadığını O(mn) sürede nasıl belirleyeceğinizi gösterin. Çözüm: Örüntü dizgisinin kıyımını hesaplarız ve A nın tüm olası m-uzunluklu kıyımlarıyla kıyaslarız; yani 1 i < n - m + 1 için, h(p) yi, h(a[i.. ( i + m - 1)]) ile karşılaştırırız. Kıyım fonksiyon mükemmel olduğundan, h(p) = h(a[i.. (i + m - 1)]) eğer ve sadece eğer P = A[i,.. ( i + m - 1)] olduğunda olabilir. Ortada O(n) kıyım fonksiyonu hesaplaması ile kıyım değerlerinin O(n) sayıda kıyaslaması vardır ve O(mn) toplam koşma zamanı için her hesaplama ve kıyaslama, O(m) süresi gerektirir. Kıyım fonksiyonunun hesaplaması O(m) süre aldığından, bu algoritma asimptotik olarak, sadece altdizgileri kıyaslamaktan daha iyi değildir. Bu bölüm problemin geri kalanı için motivasyonu arttırmak amacıyla tasarlandı.

2 Dağıtım 13: Problem Seti 3 Çözümler (b) Aşağıdaki h p kıyım fonksiyonları ailesini düşünün; bu fonksiyonlar [2, cn 4 ] değer kümesindeki p asal sayısı tarafından, bir c > 0 sabiti için parametrelenmiş : h p (x) = x (mod p). Farz edelim ki p, [2, cn 4 ] değer kümesindeki tüm asal sayılar içinden, tekdüze ama rastgele olarak seçildi. Birkaç i yi 1 i n- m + 1 arasında sabitleyelim ve x = T[i.. (i + m - 1)] olsun. Uygun bir c seçildiğinde, eğer x P ise, İpucu: Sayılarla ilgili şu 2 teorik olguyu hatırlayalım: (1) bir x tamsayısının en fazla lg x asal faktörü vardır; (2) Asal Sayı Teoremi: [2,x] değer kümesinde Θ(x/ lg x) asal sayı vardır. Çözüm: Hem x hem de P, sadece (x - P) = 0 (mod p) olduğunda, aynı kıyım değerine sahiptir. yani, eğer p, x - P nin bir faktörü ise. x ile P, m-bitlik sayılar olduklarından, (x - P) en fazla m + 1 n bit e sahiptir. (x - P) 2 n olduğundan (x - P) nin en fazla lg 2 n = n asal faktörü olur. olur Asal Sayı Teoremine göre; [2, cn 4 ] aralığında, en az Ω ( ) asal vardır. Uygun seçilmiş sabitler için, bu olasılığın O(1/n) olduğunu gösterebiliriz. Daha resmi argüman şöyledir: Öyle n' ve d sabitleri vardır ki, tüm n > n' değerleri için, [2, cn 4 ] aralığındaki asalların sayısı en az d (en 4 / lg cn 4 ) olur. Bu nedenle, tüm n > n' ler için, (x - P) yi bölecek bir p seçme olasılığı en çok: n max{2 lg c, 64} ise, lg c + 4 lg n < n olduğunun sağlanması kolaydır. Bu nedenle eğer c > 1/c' ve n max{n', 2 lg c, 64} seçersek şunu elde ederiz: (c) Şık (b) de tanımlanan h p (x) i hesaplamak ne kadar süre alır? İpucu: x in m-bitlik bir tamsayı olduğuna ve artık sabit sürede işlenemeyeceğine dikkat edin.

Dağıtım 13: Problem Seti 3 Çözümler 3 Çözüm: p cn 4 olduğundan, biliyoruz ki p nin O(lg n) bit i vardır. O(lg n)-bitlik tamsayıları sabit sürede işlediğimizi varsayarsak, eğer w nin de O(lg n) biti varsa, w (mod p) yi sabit zamanda hesaplamak mümkündür. Eğer x, m-bit li bir sayıysa ve m = ω(lg n) ise hesaplama, giderek daha karmaşık hale gelir. Onun yerine, x ön-ekleri olan kıyım fonksiyonlarını adım adım hesaplayarak, h p (x) i O(m) sürede hesaplarız. y, x = A[1.. m] dizgisinin k en önemli bitleri olsun ve h p (y) = y (mod p) yi daha önceden hesaplamış olduğumuzu farzedelim. Ardından, sabit sayıda işlemle x in en önemli (k + 1) bitleri olan z nin kıyım fonksiyonunu hesaplayabiliriz. z = A[1.. (k + 1)] dizgisini bir sayı olarak yorumlarsak, z = 2y + A[k +1] olur. Böylece h p (z) tam olarak: h p (z) = (2y + A[k + 1 ] ) (mod p) = (2h p (y) + A[k + 1]) (mod p) dir. h p (y) verilmiş ise h p (z) yi hesaplamak, sadece üç ilave tamsayı işlemi gerektirir: Bir sola kaydırma, toplama ve bir bölme. Böylece, x in her bit i için, sabit miktarda iş yaparız. Bu bölümün amacı; h p (x) in sabit sürede hesaplanamayacağını fark etmektir ve bu nedenle, Şık (d) deki algoritma asimptotik bir gelişmeyi gösterir. O(m) yanıtı kabul edilebilir. Bu hesaplamayı, x i her biri c lg n bit uzunluğunda, m/(c lg n) basamağa bölerek daha hızlı yapabileceğimize dikkat edin. Böylece önceki algoritma, bu şekilde değiştirilerek h p (x), O(m / lg n) sürede hesaplanabilir. (d) 1 i n - m için, Şık (b) de gösterildiği gibi h p (A[i.. ( i + m- 1)]) in değerini önceden biliyorsak, sabit sürede, h p (A[(i + 1).. (i + m)]) yi nasıl hesaplayacağınızı gösterin. Çözüm: Dizgileri çift sayı olarak yorumladığımızda, şu denklem çıkar: Bu denklemin her iki tarafının modulo p sini aldığımızda şuna ulaşırız; (mod p) değerinin ön-hesaplamasını yapmış olduğumuzu ve bu değeri bir α değişkeninde depoladığımızı farz edelim. h p (A[(i + 1).. (i + m)]) yi hesaplamak için, αa[i] (mod p) yi hesaplarız ve bu değeri, h p (A[i.. (i + m 1)]) dan çıkarırız. Ardından, 2 ile çarpmak için 1 bit sola kaydırırız, A[i + m] bit ini buna ekleriz ve kalan p modülosunu hesaplarız. Kıyım değerlerimiz O(lg n)-bitlik tamsayılar olduğundan, tüm bu işlemler sabit sürede yapılabilir.

4 Dağıtım 13: Problem Seti 3 Çözümler (e) Şık (b) deki kıyım fonksiyonları ailesini kullanarak, O(n) beklenen zamanda, P nin T nin altdizgisi olup olmadığını belirlemek için bir algoritma tasarlayın Çözüm: P kıyımını, A nın tüm m-uzunluğundaki alt-dizgi kıyım fonksiyonlarıyla karşılaştırıp, eşleşmeyi bulana veya A metnini bitirene kadar, Şık (a) daki algoritmayı kullanabiliriz. Şık (b) de belirtilen kıyım ailesinden seçilmiş olan, h p kıyım fonksiyonunu ve kıyım fonksiyonlarını adım adım hesaplamak için de Şık (d) deki yöntemi kullanırız. h p kusursuz bir kıyım fonksiyonu olmadığından, eğer kıyım değerlerinin eşleştiğini keşfedersek, eşit olup olmadıklarını görmek için, iki dizgiyi birbiriyle karşılaştırırız. Koşma süresini çözümlemek için, iki ayrı maliyeti analiz ederiz: her alt-dizgi için kıyım fonksiyonunu hesaplama maliyeti ve kıyım değerleri eşleştiğinde, alt-dizgileri karşılaştırma maliyeti.. Bu beklenen iki koşma süresinin de O(n) olduğunu gösterir ve istenen sonucu alırız. İlk h p (A[1.. m - 1]) kıyım fonksiyonunu hesaplamak, O(m) zamanı gerektirir. Öte yandan, Şık (d) deki yöntemle tüm m-uzunluklu dizgilerinin kıyım değerlerini hesaplamak, toplam O(m + n) = O(n) zamanı gerektirir. Eğer kıyım değerleri eşleşirse, iki m-uzunluklu altdizginin karşılaştırma maliyeti O(m) olur. i dizininde sahte pozitiflik varsa,, değeri 1 olan bir göstergesel rastgele değişkeni olsun, yani, eğer Şık (b) ye gore, ama ise Öyleyse, sahte pozitiflik için alt-dizgileri karşılaştırmanın beklenen toplam maliyeti şu olur: Eşleşme için, alt-dizgilerin karşılaştırma maliyeti O(m) = O(n) dir, çünkü algoritma, bir eşleşme bulduktan sonra durur. Problem 3-2. 2-Evrensel Kıyımlama H, her h Є H nin U anahtarlar evrenini {0,1,...,m 1} ya eşlemlediği bir kıyım fonksiyonları grubu olsun. Eğer her sabit x, y anahtar-çifti için x y olursa, ve h, H nin içinden birbiçimli ve rastgele seçilirse, h(x), h(y) çiftinin {0,1,..., m 1} içindeki eleman çiftlerinden eşit olasılıkla biri olması durumunda, H 2-evrenseldir deriz. (Olasılık kıyım fonksiyonunun sadece rastgele seçimi ile hesaplanır.) (a) H nin 2-evrensel olması durumunda, evrensel olacağını gösterin.

Çözüm: H, 2-evrensel ise, o halde, x ve y farklı anahtarlarının her çifti için ve tüm i Є {0,1,... m - 1} ler için; x ve y nin çarpışması için tam olarak m olası yol vardır; h(x) = h(y) = i Böylece; yani i Є {0,1,... m - 1} için, Bu nedenle, tanımı gereği, H evrenseldir. (b) H ye evrensel olarak belirli bir aile inşa edin, ancak 2-evrensel olmasın ve cevabınızı gerekçeleyin. Aileyi, anahtar başına bir sütun ve fonksiyon başına bir satır olacak şekilde bir tablo olarak yazın. m, H, ve U yu mümkün olduğunca küçük tutmaya çalışın. İpucu: m, H, ve lui ile ilgili örnekler var ve hepsi 4 den küçük. Çözüm: m = H = U = 2 ile örnek bulabiliriz. Bir U = {x, y} evreninde, aşağıdaki H ailesini düşünün: x y h 1 0 0 h 2 1 0 Eğer, H den bir rastgele kıyım fonksiyonu seçersek, iki x ve y anahtarının çarpışma olasılığı, h 1 in seçilme olasılığı veya 1/m = 1/2 dir. Böylece H bir evrensel kıyım ailesidir. Öte yandan, 2-evrensel olan bir kıyım ailesinden, rastgele seçilmiş bir h kıyım fonksiyonu için, h(x),h(y) nin tüm olası çiftleri, yani 0,0, 0,1, 1,0, 1,1 eşit olasılıklı olmak zorundadır. Bu örnekte, h(x), h(y) asla 0,1 ya da 1,1 e eşit olamaz; dolayısıyla H, 2-evrensel değildir. (c) Bir rakibin; H kıyım ailesini bildiğini ve kıyımladığımız anahtarları denetlediğini ve çarpışmayı zorlamak istediğini farz edin. Problemin bu kısmında, H nin evrensel olduğunu varsayın. Şu senaryo gerçekleşiyor: h kıyım fonksiyonunu H den rastgele seçiyoruz, bunu rakipten saklıyoruz ve sonra rakip bir x anahtarını seçiyor ve h(x) değerini öğreniyor. Şimdi rakip çarpışmayı zorlayabilir mi? Diğer bir deyişle, h(x) = h(y) durumunu 1/m den daha büyük bir olasılıkla oluşturacak bir y x bulabilir mi? Eğer bulabilecekse, Şık (b) deki ile aynı formatta, belirli bir evrensel kıyım ailesi yazın ve rakibin bu senaryoda çarpışmayı nasıl zorlayabileceğini açıklayın. Eğer bulamayacaksa, rakibin çarpışmayı, 1/m den daha büyük bir olasılıkla zorlayamayacağını kanıtlayın.

Dağıtım 13: Problem Seti 3 Çözümler 5 5 Çözüm: Önceki örneğimize ek bir anahtar ekleyerek, rakibin çarpışmayı zorlayabildiğine dair bir senaryo oluşturabiliriz. Bir U evreninde U = {x, y, z}, aşağıdaki H ailesini düşünün: x y z h 1 0 0 1 h 2 1 0 1 H, hala bir evrensel kıyım ailesi: x ile y, 1/2 olasılıkla çarpışıyor, x ile z, 1/2 olasılıkla çarpışıyor ve y ile z, 0 < 1/2 olasılıkla çarpışıyor. Rakip, h 1 i mi h 2 yi mi seçmiş olduğumuzu, bize kıyımlama için x i vererek belirleyebilir. Eğer; h(x) = 0 ise, h 1 i seçmişizdir ve bu durumda rakip bize y yi verir. Aksi takdirde, eğer h(x) = 1 ise, h 2 yi seçmişizdir ve rakip bize z yi verir. d) Şık (c) deki soruyu cevaplayın ancak, bu kez H nin yalnızca evrensel değil, 2-evrensel olduğunu varsayın. Çözüm: 2-evrensel bir kıyım ailesiyle rakip, çarpışmayı 1/m den daha iyi bir olasılıkla zorlayamaz. Aslında, h(x) i bilmek, rakibe başka bir y anahtarı için h(y) ile ilgili bir bilgi vermez. Bunu resmi olarak koşullu olasılıkları kullanarak kanıtlayabiliriz. h Є H rastgele kıyım fonksiyonunu seçtiğimizi ve sonra da rakibin bir x anahtarını kıyımlamamız için bizi zorladığını ve h(x) = X değerini öğrendiğini varsayalım. Ardından rakip bize çarpışmaya yol açacağını umarak, herhangi bir y x anahtarını veriyor. 2-evrenselliğin tanımı gereği, x y olan herhangi bir x ve y için, Pr [h(y) = h(x) h(x) = X] = Pr h H [h(y) = h(x) and h(x) = X] 1/m 2 1 = =. Pr h H [h(x) = X] 1/m m h H Bu nedenle, rakibin ilk olarak hangi x i seçtiğinin ve hangi h(x) = X değerini öğrendiğinin hiç önemi yoktur; herhangi bir y ile x in çarpışmasının olasılığı sadece 1/m dir.