Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
Problemler Problemler Soyut Problemler
Formal gösterim, Karar Problemleri , Optimal değerli, Optimal Çözümlü Yüksek seviyeli türler Soyut problemleri Q ile tanımlarsak Bunlar arsında bir binary ilişki, vardır. I örnekler kümesi S çözümler kümesi olsun Q I S Kodlama //Veri Yapıları Somut Problemler //Dilsel problemler
2
Karar Problemi :Bir problem için Evet veya Hayır
cevaplarından hangisinin olduğunu belirleme problemi Polynomial Zaman Algoritması: n boyutlu her girdi için bir c sabitinin ve algoritma bulunur ve bu algoritma problemi O(nc) belirli sürede çözer. P (polynomial time) – Karar Problemleri sınıfı için belirli bir polinomial zaman algoritmasıyla problemin çözümünün bulunduğu problemdir. NP (nondeterministic polynomial time) - Karar Problemleri sınıfı için döngüyü gerçekleştirecak bir polinomial zaman delili vardır. 2
3
Growth-Büyüme functions
f(N)= O(g(N)) Û $c,k " N>k f(n) £ c*g(N) f(N)= W(g(N)) Û $c,k " N>k f(n) ³ c*g(N) f(N)= Q(g(N)) Û f(N)=O(g(N)) and f(N)= W(g(N)) N f(N) Asymptotic optimality/comparison Constant factor disaster! 3 Construct an example where the asymptotic analysis is irrelevant due to the “constant factor disaster”. Illustrate the significance of asymptotic analysis of algorithms with a realistic example.
4
N N logN Fast sort N2 Slow sort 1000N2 2N Powerset partition N! Permutations salesman 10 30 100 105 1000 350000 20 80 400 4*105 106 2.5*1018 700 104 107 1030 10158 109 10300 ??? ½ hour of the TOP500 together 4
5
NP-hard problems? Parallel computing does not solve NP-hard problems !
t(n)=n2 t(n)=2n n= t=100 n= t=104 n= t=106 time limit T Maxproblem(T,1) = X Maxproblem(T,1000)=32 X n= t=1000 n= t=106 n= t=1012 time limit T Maxproblem(T,1)=X Maxproblem(T,1000)=X+10 Parallel computing does not solve NP-hard problems ! But it helps with corresponding heuristics
6
Üç çeşit problem vardır
Problemlerin Sınıfları P NP NP-Complete(NPC) NP-Completeness Proofs(NP –C (tamlık) delilli problemler). Zor problemleri çözme Yaklaşım Algoritmaları Üç çeşit problem vardır Karar Problemleri Örneğin : Verilen sınırlardan daha iyi bir çözüm varmıdır? Optimal değerli Örneğin : En olası çözümün değeri nedir ? Optimal çözümlü Örneğin : optimal değeri veren çözümü bulun
7
Karar Problemleri için kodlama
// veri yapıları Soyut problemi tanımlama (Bilgisayar çözümü için) Veri yapıları veya binary dizisi açısından Bir Soyut nesnelerin S kümesinin bir kodu Bir e eşleme S’den ikili binary dizisinedir. Karar Problemleri için kodlama Örnek problem, e : I {0, 1}* Cevabı, e : S {0, 1} “Standard” Kodlama Hesaplama zamanı bir kodlama bir fonksiyonu olabilir. // Girdinin boyutu (Bir girdi için verilen bit numarı olabailir.) Polinomial ilişkilenmiş kodlama Kodlama öz olarak sonuçlanabilir olarak varsayılır
8
Bilgisayar algoritmaları somut problemleri çözer.
Problem örneği ve çözümleri veri yapısı veya ikili dizi olarak sunulur. // Dilsel (Formal dildeki arayüzü) Biz bir problemi bir somut problemleri örnek kümesi (çözüm kümesi ) binary dizinin kümesini olark adlandırız. Bilgisayar algoritmaları somut problemleri çözer. Somut problemler O(T(n)) zamanda çözülür. Bir n büyüklüğündeki bir problemin i örneği verilirse n = |i|, Algoritma çözüm sağlayabilir. Çoğu O(T(n)) zamanlıdır. Bir somut problem polynomial-zamanlı olarak çözülebilir. O(nk) zamanda çözüm için bir algoritma varsa Bazı kısıtlar için k. (genellikle polinomial sınırlı olarak bilinir.) 8
9
Exponential Time Algorithms 9
Exponential-time (Hard) NP-Complete 22 22 2n n2 Polynomial-time (Easy) n log n F(n) √n Log (n) α(n) n
10
Çözülebilir(easy)ve Çözülemez (hard) problemlerde eşik nedir sorusunun cevabı polinomialliğin üstel kompleksliğe karşı olmasıdır. 10
11
Problemlerin Sınıfları
// Bir problemi ne zor yapar? // Basit yapma : Karar problamlerini sınıflandırarmayla Tanımlama: P Sınıfı Polinomial sınırlı karar problemleri sınıfındadır. //Bunun için bir deterministik algoritma mevcuttur. Tanımlama : NP Sınıfı NP polinomial sınırlı non-deterministik algoritmayla sınırlı kara problemleri sınıfına girer. NP ‘nin ismi “Non-deterministic Polynomiall sınırlı.”’dan gelir. // non-deterministic algorithm bir algoritması vardır. Theorem: P NP 11
12
Analysis of 2-approximation for VC
Correctness: Each edge is removed only after one of its ends is chosen to set C, so each edge is covered Termination: In each iteration we remove at least one edge from the graph, and there are less than n2 edges Approximation ratio 2: For each edge {v,w} selected at the beginning of an iteration at least one end must be in min-VC, and we selected two, so set C is at most twice bigger than the min-VC Time complexity: O(m + n) Exercise 12
13
NP Sınıfı NP bir şöyle bir karar problemi sınıfındadır;
Önerilen bir çözüm verilir (olası çözüm(belgesi) ) Bir girdi verilir Kolaylıkla kontrol edilebilir (polynomial zamanda) Gerçek bir çözüm ise bu görülbilir. Bir non-deterministic algoritma The non-deterministic safhayı “tahmin edebilir”. Bazı tamamen keyfi s dizisi , “önerilen çözümdür” Algoritmadaki her bir zaman farklı olarak çalışabilir. “Doğrulama” Fazını belirleme. Bir belirli algoritma problemin girdisini ve önerilen s çözümünü verebilir ve Doğru veya yanlış değere döner . Çıktı adımında Eğer doğrulama safhasında değer doğru dönüyorsa çıktı yanıtı “evet” tir aksi halde hayırdır. 13
14
Bir Q problemi NP-complete’ise
NP-Complete Sınıfı Bir Q problemi NP-complete’ise Problem NP’de olabilir ve NP-hard olabir, Bir Q problemi NP-hard ise Bütün problemler NP ise Q’ya indirgenebilir. Bir P problemi bir Q problemine indirgenebilir eğer ; Şöyle bir T polinom indirgeme fonksiyonu varsa Her x dizisi için, if x P girdisi için “evet ” then T(x) Q için evet girdisidir. if x Piçin ”hayır”girdisi ise, then T(x) Qiçin “hayır” girdisi. T polynomially kısıtlı zamanda hesaplanabilir. 14
15
NP Completeness Teorisi
Çözülebilir - Çözülemez Problemler NP – Complete Problemleri Problemler Çözülebilir – Çözülemez diye sınıflandırılabilir. Bir Problem çözülebiliyorsa bunun enazından bir polinomial sınır agoritması mevcuttur. Eğer bir Algoritma polinomial sınırlı ise bununen kötü durumda büyüme hızı bir n boyutlu bir p(n) polinomu ile sınırlıdır
16
Bir Problem çözülemiyorsa
Tüm algoritmalar bu problemi polinomial sınırlarda çözemez. Ve bunun f(n) diye çok büyük bir büyüme hızı vardır ve bu p(n) gibi n boyutlu bir polinom ile sınırlandırılamaz. Çözülemez problemlerin sınırları şöyle olabilir; Eğer bir problem çözülemez sınıfında ise bunun için etkin bir algoritma yoktur; Bütün algoritmalar büyük sayıda girdiden dolayı çok ağır kalacaktır. 16
17
NP hard Problemleri Farz edelimki П bir problem olsun(Karar problemi olması şart değil.) Eğer П’ NPC varsa П NP hard problemidir. Eğer П bir optimizasyon ve kararla ilgili bir NP complete problemi ise П NP hard’dır. NP hard’lar NP problemlerinin en zorlarıdır eğerNP hard problemleri polinomial bir zamanda çözülebilirse P=NP’dir. 17
18
En kısa yol problemleri : Bir ağırlıklı kenarları ve iki köşesi v ve w olan grafiği G = (V,E) verilmiş olsun, amacımız v den w’ya en kısa yolu bulmaktır .(O(n2) zamanda belirlenir.) 2-colorability: G = (V,E) çizgesi erilmiş olsun,amacımız iki rengi G’nin düğümlerine aynırenkteki kenarlar yanyana olmamak şartıyla (O(n+m) zamanda atayabiliriz.) 3-clique: G = (V,E) grafiğiverilmiş olsun G’nin 3 ‘lü grup olarak belirlemek. ( buda O(n3) zamanda belirlenir.) 18
19
NP hard Problemlerinin Çözümü
NP Hard optimizasyon problemlerinin çözümünü polinomial zamanda olmasını beklemeyiz .Bunun için 2 olası yaklaşım vardır; 1.Exponansiyel olarak çok kötü komplexleşen bir algoritma kullanma.Bu örnek büyüklüğünün çok büyük olmaması durumunda belki pratik olabilir. 2. Bazı NP hard optimizasyon problemleri için optimal zamanda olurlu bir çözüme yakın bir cevap bulunabilir buda polinomial zaman yaklaşım algoritması olarak bilinir. 19
20
Yaklaşım Algoritması Farzedelim П amaç fonksiyonu maliyet olan bir minimizasyon problemi olsun. Ve yine farzedelim ki A П için bir algoritma olsun ve herhangi bir I aşaması için A(I) çıktısı da olurlu bir çözüm olur. I adımı için optimal çözüm OPT(I) olduğunu gösterir.Algoritma yaklaşım oranı Eğer Bütün I adımları için Bir maximizasyon problemi için ihtiyaç yerine Not : 20
21
Gezgin Satıcı Problemi
Problem : Δ – TSP Adımları : Bir grafik tamamlama ve kenar ağırlıkları w: üçgen eşitsizliğini sağlarız; Bütün a, b, c düğümleri için Arama : Bir Hamilton Çevrimi G içinde H olmak üzere ‘yi minimize ederiz. 21
22
Hesap Karmaşıklığı NP Completness Algoritma örneği 22
23
O : Üst Sınır Fonksiyonu
Tanım: f(n) = o(g(n)) eğer her c>0 ve <= f(n) <= cg(n) bütün Örnek : Yargılama: Eğer çoklu ve küçük n değerlerini yok sayarsak f(n) <= g(n)’dir 23
24
Büyük O Notasyonu “O” ’nun ilişkini nasıl gösterbiliz?
Bir algoritma O(f(n)) çalışma zamanında çok kötü duruma sahipse ;Her yeterince büyük n için sabit bir c sabiti vardır, n boyutlu her girdi çalışması cf(n) zamanını verir. 24
25
Asimptotic Fonksiyonlar
Polinomial Zamanın komplexliği : “n” ‘in girdi “k” ‘nın da sabit olduğu durumda olur. Örnek Polinomial Fonksiyonlar : Örnek Non – Polinomial Fonksiyonlar : exponansiyel Faktoriyel
26
Çalışma zamanlarının Karşılaştırılması
1000 MIPS(saniyedeki milyon komut sayısı)(yr:200x) , 1komut/operasyon 26
27
The class P- P Sınıfı P sınıfı karar problemleri polinomial sınırlı problemlerdir. 27
28
Doğrulama Algoritması
Bir doğrulama Algoritması, x örnek problemini ve “evet” yanıtını verir, eğer x problemi için y olası çözümü var ise bu cevabın “evet olduğunu gösterir. HAMILTONIAN-Çevrimine bakarsak Bir x probleminin köşe ve kener listesi G: ({1,2,3,4}, {(3,2), (2,4), (3,4), (4,1), (1, 3)}) ise ; Bir olası çözümü y = (3, 2, 4, 1, 3) Doğrulama Algoritmasının yanıtı “evet” olur. 28 4 1 2 3
29
P and NP arasındaki ilişki
P = NP. bilinmiyor.; P sınıfı problemler “kolaylıkla” çözülebilir. NP sınıfı “kolaylıkla” doğrulanabilir Bir çözümü doğrulamak bir problemi çözmekten daha kolaydır. Bazı araştırmacılar P and NP’nin aynı sınıfta olmadıklarına inanıyorlar. 29
30
Polynomial İndirgemeler
Motivation: NP-completeness A gibi bir problemi polinomial indirgeme yaparak B haline getirdiğinde şu notasyonu kullanılır. Aµ B A karar problemi için tran herhangi bir x girdisini tran(x) haline getirsin buda B kara probleminin girdisi olsun If Aµ B and B is in P, then A is in P If A is not in P then B is also not in P 30
31
NP-complete problems: Theorem
If any NP-complete problem is not polynomial bound, then all NP-Complete problems are not polynomial bound. If any NP-complete problem is in P, then P = NP. NP P P = NP NP-complete NP-complete P The trival decision problem that always answers “yes” in here Some Problem is definitely in here 31
32
tran A’dan B’ye bir polinomial indirgeme olsun eğer;
1. tran polinomial kısıtlı zaman olarak hesaplanabilir. 2. A’nın girdisi x’in cevabı evet ise o zaman B’nin tran(x) için cevabı evet olur. “yes” or “no” x tran(x) Algorithm for B tran Algorithm for A
33
Polynomial İndirgemeler
Problem P is reducible to Q P p Q Transforming inputs of P to inputs of Q Reducibility relation is transitive
34
Bin Packing: İlk Doldurmada azaltma Stratejisi
Birinci çöp kutusunda hangi nesnenin dolduracağı ve yeri W(n) in (n2) 34
35
Yaklaşım Algoritması Örneği : Bin Packing
Çeşitli boyut ve ölçülerde nesnelerin nasıl paketleneceği Minimum çöp uzayı ile; Çöp Paketleme Let S = (s1, …, sn) 1 <= i <= n için 0 < si <= 1 olduğu durumlarda paketler s1, …, sn olabildiğince az where each bin has capacity one Çöp Paketlemenin Optimal Cevabı Bütün yolları göz önüne alma S yi veya daha az alt kümeye ayırma Daha fazla olmalı (n/2)n/2 olası parçalar 35
36
Hard Problems Algoritmalar Zaman zorluğu Uzay zorluğu
Bir algoritma zaman zorluğu ile bir polinom ile sınırlı ise buna bir polinomal zaman algoritması denir.Bir algoritma polinoial zamanda çalışıyorsa bunun verimli olması gözönünde tutulur. 36
37
Hard Problems Bazı problemlerin çözülmesi zordur
Polinom Zamanlı bilinen algoritma yok. Bir çok combinatoriyel problem zordur. Popülar olan NP-hard problemler: Gezgin Satıcı Problemi(TSP) N-Queens-Kuyruk problemleri Kutu paketleme (Bin packing) 0/1 Sırtçantası (knapsack) Grafikleri parçalara ayırma (Graph partitioning) Ve daha bir çok komplex problemler …
38
Teoriden bilindiği kadarıyla ne yazık ki poly time bir algoritma yok .
Farzedelimki NP hard problemlerini çözmeye ihtiyacım olsun ne yapmalıyım ? Teoriden bilindiği kadarıyla ne yazık ki poly time bir algoritma yok . İstenen şu Üç özellikten birinden fedakarlık yapmalıyım . Problemi optimal bir şekilde çözme Problemi Polinomial zamanda çözme. Problemi gelişigüzel örneklerle çözme. 38
39
Gradient Düşürme Yöntemi : Kapalı Düğüm
KAPALI DÜĞÜM. G = (V, E), çizgesi verilirse minimal kardinaliteyi veren S düğümünün altkümesi aranır bu E de u dan v ye dir.u ve v ‘nin her ikise de S’ Komşuluk ilşkileri S S' eğer S‘ S’ye düğüm ekleme veya S’den bir düğümün silinmesi ile elde edilir. Her S düğüm kapamasın den fazla komşuluğu vardır. Gradient düşürme . S = V. ile başlanır ve Eğer S’ kapalı ve düşük kardinaliteli bir düğüm ise S ile S’ yer değiştirlir. Açıklama :Algoritmanın durmasıen çok herbir güncellemeden kapalı bir boyutun azalmasından itibaren n adım sonra durur 38
40
Local optimum . Komşuluğun olmaması kesinlikle daha iyi.
optimum = yalnızca merkez düğüm local optimum = Bütün düğümler optimum = Sol tarftaki tüm düğümler local optimum = Sağdaki tüm düğümler optimum = Her düğüm local optimum = her üç düğümde bir atlamayla
41
Sivri uçlu bir baca gibi
Lokal Arama Lokal arama. Algoritma çözüm uzayında olması muhtemel çözümlerin sıralı öncülükle araştırır. Mevcut çözümden yakındaki bir çözüme hareket ile araştırır. Komşuluk İlişkileri . S S' arasında problemle ilgili bir komşuluk olsun. Gradient Düşürme . S ‘nin şu anki çözümü gösterdiğini düşünelim. Eğer S’ ile S arasında maliyet düşürmeyle ilgili bir komşuluk varsa, S ile maliyeti düşük olan komşusu yer değiştirir. Aksi halde algoritma durur Bir baca gibi Sivri uçlu bir baca gibi
42
Metropolis Algoritması
Metropolis algorithm. [Metropolis, Rosenbluth, Rosenbluth, Teller, Teller 1953] İstatistiksel Mekaniğin prensibleri ile fiziksel sistemlerin davranılşını simule eder. Globel olarak inişli adıma doğru sapmalıdır fakat arasıra yokuş yukarı adımlar ile lokal minimumlardan kurtulur. Gibbs-Boltzmann foksiyonu : T > 0 sıcaklık ve k bir sabit olmak üzere Enerjisi E e -E / (kT) ile orantılı durgun fiziksel bir sistemin, olasılığını arar. Herhangi bir T>0 sıcaklığı için E energy fonksiyonu monoton azalır. Sistem yüksek enerjili durumdan çok düşük enerjili durumda kalmayı tercih eder. T büyük: yüksek ve düşük enerjili durum kabaca aynı olasıkladır. T küçük: Düşük enerjili durum daha olasasıdır.
43
Metropolis algorithm. Metropolis Algoritması
Sabit bir T sıcaklık verilir , şu anki S durumun korunması Rassal olarak Şimdiki S durumu S’ N(S).yeni durumuna uğratılır. Eğer E(S') E(S), şimdiki durumu S‘olark düzenlenir; Diğer durumlarda şimdiki durum e - E / (kT olasılıkla S’ olarak güncellenir. E = E(S') - E(S) > 0. olduğu durumlarda; Teorem. Şimdi fS(t) S durumundaki ilk t adım sonraki bölümüdür. Sonra bazı teknik koşullarla ilgili olasıklar : Sezgi :Benzetim Gibbs-Boltzmann eşitliğine göre kabaca her bir durumun doğru zamanda harcar
44
Benzetim Tavlama Benzetim Tavlama Physical Örnekler.
T büyük Tepe’ye hareketinin kabul olasılığı büyütür. T küçük Tepe’ye hareketi hemen hemen hiç kabul kabul edilmeyen Idea: turn knob to control T. Soğutma Çizelgesi : T = T(i) i. İterasyonda. Physical Örnekler. Katı alınır ve yüksek ısıya artırılır , güzel kristal yapılari içerdiğini beklemeyiz. Eriyik katı alınır ve aniden soğutulur , yine mükemmel cristal elde edeceğimizi düşünmeyiz. Tavlama: Yüksek ısıdan malzeme kademeli olarak soğutulur , orta dereceli ısılarda dengeye erişir.
45
Hopfield Neural Networks
Hopfield networks., Önceli ağ ile geniş boyutta veri toplayan ve birim komşulukları durumları arasında ilişki kuran basit çağrışımlı bir belleği vardır. Girdi : G = (V, E) Çizgesi ve kenar ağırlıkları w. Konfigürasyonu. Düğüm ataması s u = ± 1. Sezgi : Eğer w uv < 0, then u ve v aynı durumda kalmayı ister ; Eğer wuv > 0 then u ve v farklı durumda kalmayı ister. Not. Genel olarak,bütün kısıtlar gösterecek konfigürasyon yoktur. positive or negative 7 5 6
46
Def. Bir konfigürasyon bütün düğümler sağlanmışsa durağanlaşır.
Def. S konfigürasyonuna göre, kenar e = (u, v) şu koşullara göre iyidir . Eğer we su sv < 0. Bu , Eğer we < 0 then su = sv; Eğer we > 0, su sv.dir Def. S konfigürasyonun göre , Eğer iyi kenar ağırlığı eğer kötü kenar ağırlığından ise a düğümü u’yu sağlar . Def. Bir konfigürasyon bütün düğümler sağlanmışsa durağanlaşır. Hedef. Eğer bir konfıgurasyon varsa, Stabil durum konfigurasyonunu bulma . 4 -1 satisfied node: < 0 -10 -5 -1 bad edge
47
unsatisfied node 10 - 8 > 0
stable
51
Maximum Cut: Local Search Analysis
52
Zaman ve Uzay Problemin boyutu(n) ‘nun fonksiyonu gibi hesaplanmalıdır. Örneğin:n boyutlu bir sıralamada , n boyutlu bir liste taranır ,ve bu n x n lik iki matrisin çarpımı şaklindedir. T(n) : n ‘in zaman fonksiyonudur, S(n) : n ‘in uzay fonksiyonudur ,
53
Matematiksel Arkaplan
O Omega (Ω) Teta (θ) o
54
Büyüme hızı Biz fonksiyonları göreceli olarak büyümelerine göre kıyaslarız; 1000n , n² gibi Tanımlamalar; T(n) = O(f(n)) T(n) ‘nin büyüme oranı <= f(n) ‘nin büyüme oranından T(n) = W (g(n)) T(n) ‘nin büyüme oranı >= g(n) ‘nin büyüme oranından T(n) = Q(h(n)) T(n) ‘nin büyüme oranı = h(n) ‘nin büyüme oranı T(n) = O(p(n)) T(n) büyüme oranı <= p(n)büyüme oranından
55
Zaman Zorluğu C O(n) O(log n) O(nlogn) O(n2) … O(nk) Polinomial
O(2n) Exponensiyel O(kn) O(nn)
56
P, NP, NP-hard, NP-complete(NPC)
Bir problem polinomial zaman algoritmaları ile çözülüyorsa bu problem P sınıfına aittir; Bir problemin çözümünün doğruluğu polinomial zaman algoritması ile sağlanmışsa bu problem NP sınıfına aittir; NP sınıfındaki herhangi bir problem zor ise bu tip problemler de NP hard sınıfına aittir. Bir NP hard problemi için var olan polinomial zaman algoritması bütün NP problemleri için polinomial çözümlerin varolduğunu ifade eder .
57
Farklı Sınıflar Arasındaki İlişki
58
Parçalara Ayırma Problemi
N adet tamsayı verilsin , tamsayıları iki alt kümeye bölüp birbirinden farklı olan ikili alt küme elemanların toplamını minimum yapacak şekle getiririz.
59
Çöp Toplama Problemi Boyutları s1 , s2 ....sn olan n eleman verilmiş olsun. Bütün boyutlar 0<= si<=1 ‘dir. Problem çöp numaraları en az olacak bu paketleri toplamak her çöpün kapasitesi verilmiştir. Örnek(Optimal Cevap) 7 elemanlı bir büyüklük için ; 0.2, 0.5, 0.4, 0.7, 0.1, 0.3, 0.8.
60
TSP (Gezgin Satıcı Problemi)
TSP Bir şehir kümesi ve şehirler arasında uzaklıklar verilirse herşehir bir kez ziyaret edilmek koşuluyla belli bir başlangıç noktasından başlanıp tur sonunda tekrar aynı yere gelmek koşuluyla minimum tur’u veren mesafe aranır.
61
П Bir karar problemi olsun bu I=(F,c,k)’dır
Karar Problemleri :Problemin cevebı yalnızca Evet -Hayır olur. Bir şehir kümesi ve şehirler arasında uzaklıklar verilirse herşehir bir kez ziyaret edilmek koşuluyla belli bir başlangıç noktasından başlanıp tur sonunda tekrar aynı yere gelmek koşuluyla minimum tur’u veren mesafe aranır. MST verilen bir G=()V,E) çizgede ve bir sınırı K, K dan büyük bir ağaç varmıdır? TSP Bir şehir seti ve şehirler arsı uzaklık verildikten sonra ve bir B sınırına gore herşehir yalnızca bir kere ziyaret edilerek sonlandırılan tur sırasında toplam mesafenin B’deb büyük olanı var mıdır gibi sorular? П Bir karar problemi olsun bu I=(F,c,k)’dır Örnek için Evet yanıt kümesi Y П tarfından verilir. A alt görevinde çözüm incelemsinde f Fverilir ve k dan düşük maliyetli olanlar check edilir. NP completness karar problemleri ile birleşmiştir.
62
Karar Problemi Akım Memnuniyeti problemi(Circuit SAT) Örnek : Bu problemde Akım C , AND OR veya NOT kapılarından oluşan bir karışımdan oluşur. Soru : C nin çıktısını 1 yapacak atanmış bir boolean değeri varmıdır? Aşağıdaki şekilde örnek gözükmektedir
63
P sınıfının Zorluğu Bu tür problemler girdi boyunda polinomial bir zamanda çözülebilir.
Girdi Boyutu : Binary dizisinin kod büyüklüğü Problem çözülebilir sınıftadır. Bilgisayar hesaplaması turing makinasının belirlenmesi ile ile ilgilidir. Belirlemenin manası her bir adımda bir hesap tahminidir. Bir Turing Makinası genel bir bilgisayar matematik modelidir.(herhangi bir hesaplama bir turing makinasında polinomial zamana ihtiyacı vardır.
64
NP Sınıfının Karmaşıklığı
Bazı problemlerin çözümlerini gözden geçirmeyi deterministik bir makinada polinomial zamanda gerçekleştirebiliriz.= Problem polinomial zamanda Nondeterministik Turing makinasında çözülebilir. Nondeterministik : Makina bütün olasılıkları parelel olarak gözden geçirerek doğru yanıtı tahmin etmeye çalışır. NP Sınıfı : Bu tür problemler problemi polinomial zamanda doğrulayabilir. TSP bir NP’dir çünkü tur tahmini Her şehri bir kez ziyaret Başalngıç noktasın ageri dönüş Uzaklığın toplamı <=B Olmak üzere bütün bunlar O(n ) zamanda yapılır.
66
NP-nin tamlığı ve NP-nin zorluğu
67
NP-nin Tamlığının Sağlanması
68
NP Hard Problemlerinin Çözüm yöntemleri
Yaklaşım Algoritmaları Sabit ornda optimumluktan uzaklaşmayı garntiler Minimum Steiner Problemi için MST gibi. Sözde Polinomial zaman Algoritması Bir polinomial foksiyonun karmaşıklığını içerir problem boyutu kadar değildir. Sırt çantası problemiiçin O(nW)örneği Kısıtlama Orjinal problemi çalışılabilecek alt gruplara ayırma En uzun yol problemi için direk çevrimsiz çizge Geniş Arama / Dal Sınır Problem boyutu küçükse olurludur. Lokal Arama Simulated Annealing (hill climbing), GA... Heuristic Performansı garanti vermez
73
Kutu Doldurma
74
Kutu Doldurma Algoritması
75
Kutu Doldurma için Tam sayılı Doğrusal Programlama
76
Gezgin Satıcı Problemi (Traveling Salesperson Problem (TSP)
G ağırlıklı yönlendirilmiş çizge olsun (Let G be a weighted directed graph) G in içeresinde yapılan bir tur dolaşım çizgedeki tüm düğümlere uğramayı içerir. TSP => Amaç en kısa yolu bulmaktır Problem NP-hard’dır. ( N! formunda)
77
Bir TSP Uygulaması Home city Visit city
78
Applications Of TSP Her bir düğüm Joe’nun satış yaptığı bir şehri gostermektedir. Sınırlardaki ağırlıklar (u,v)Joe ‘nun u şehrinden v şehrine yolculuk ettiği zaman verilir Ayda bir Joe kendi şehrinden ayrılıp satış yaptığı bolgeleri ziyaret edip saonra evine donmektedir. Satış yaptığı bolgelere yaptığı turlarda harcadığı toplam sure yolculuk suresi + bulunduğu şehirdeki harcadığı süredir. Amaç toplam süreyi minimum yapmak ,bunu için Joe en kısa uzunluktaki tur’u seçmeli .
79
Applications Of TSP Tenis örneği Tennis practice.
Yaklaşık 200 tenis topundan olşan bir sepetle başlayalım . Bütün toplar bittiğinde bizim kortta 200 adet topumuz yerdedir. Bu toplar bir robot tarfından toplanırsa (daha gerçekçi olarak bir tenis oyuncusu tarafından) Robot bulunduğu yerden başlayıp topun olduğu her yeri bir kez ziyaret ederek (her bir topu topluyor) ilk başaldığı yere geri dönüyor.
80
Applications Of TSP Robot Station
81
Applications Of TSP 201 düğüm TSP.
200 tennis topu ve robot istasyonundan oluşan düğümler var. Yönlendirilmiş Çizgesini tamamlamalıyız. Sınır uzunluğu (u,v) u ve v düğümleri olarak verilen 2 nesne arasındaki mesafedir. En kısa mesafe top toplama zamanını minimum yapar. Gerçektende bizim amacımız bir tur için hesaplanan gerkli zamanı ve top toplama için hesaplanan tur için harcanan süreyi minimum yapmaktır.
82
Applications Of TSP n+1 vertex TSP. İmalat
Bir robot kolu bir metal plakayı n adet delik açamak için kullanılıyor. Robot Station Time to drill the holes is fixed. The only variable is the time the robot spends moving from one hole location to the next and finally returning to its base. n+1 vertex TSP.
83
n-Kralice Problemi 8x8 Chessboard
Bir kraliçe n x n ‘lik bir satranç tahtasındabulunur, benzer konumda herhangi bir satır , stunu veya çapraz ilerliyebilir. 8x8 Chessboard
84
8 Kralice Problemi 8x8lik bir satranç tahtasında 8 kralice bunu gibi durumda diğer yerler deneyemeyebilir.
85
4-Queens Problem 4 kralice 4x4 lük bir satranç tahtasındaki yerleşimi böyle olan kraliçeler diğer kralicelere saldırır mı? 4x4
86
One possible solution for 8-Queens Problem
8x8
87
8 Kraliçe- Gösterim Genotipi: 1 den 8 e kadar olan
bir permutasyondan oluşur. 1 2 3 4 5 6 7 8 Fenotipi : Bir konfigürasyondur
88
Zor problemler Bir çok gereklilik olarak bazı kısıtları sağlamak için bir alt küme veyapermutasyon bulmalısınız ve (olası olarak da) Amaç fonksiyonunu optize etmelisiniz. Çözüm uzayını bir ağaç gibi düzenleyebilir ve cevabı da bu ağaçta sistematik olarak bir arama yapabilirsiniz.
89
Permutasyon Problemleri
Çözüm için n elemanlı bir permutasyon bulmalızsınız. Permutasyon bazı kısıtları memnun etmeli ve amaç fonksiyonunu olası olarak optimize etmeli . Örnekler . TSP. n-queens(n - Kralice). Her bir kralice değişik satır sutunda olmalı. i. Kralice i. Satıra yerleşecek olacak kralice olsun. ci i. Kralicenin yerleşeceği kolon olsun c1, c2, c3, …, cn [1,2,3, …, n] gibi 2 kralicenin saldırmadığı bir permutasyon olsun
90
Çözüm Uzayı Permutasyon problemi.
Çözüm uzayında n! Çözümden oluşan bir permutasyon problemine sahiptir. Uzayda Sistematik olmayan bir aramada cevap O(pn!) zamanda alınır. P bir cözümün çözüm uzayındagerekliolan süresidir.
91
8 Kralice - Operatorleri
1 2 3 4 5 6 7 8 Mutasyon: 2 numara değişimi Crossover: İki ebeveynin birleşmesi 1 2 3 4 5 6 7 8
92
8 Kralice- Uygunluk & Seçim
Uygunluk: Bir kralicenin cezası denetlenebilir kralicelerin sayısına eşittir. Konfigürasyonun uygunluğu bütün kraliçelerin cezaları toplamına eşittir. Seçim: Rus ruleti kullanılıyor Uygunluk(C1) = 1 Uygunluk(C2) = 2 Uygunluk(C3) = 3 C1 C2 C3 1/6 = 17 % 3/6 = 50 % 2/6 = 33 %
93
Problem: shortest path from a to z
d 5 5 4 7 3 4 1 2 a z 3 4 c 5 e 5 g a b c d e f g z S ∞ x 4(a) 3(a) a,c
94
processed: fromNode: distance: # # # index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75
95
processed: fromNode: distance: # # # index: 1 5 7 2 3 4 6 20 40 15 35 10 50 75 Unprocessed node adjacent to 2 is 4. # > = 55 so replace # with 55
96
processed: fromNode: distance: # # index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75
97
processed: fromNode: distance: # # index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75 Unprocessed node adjacent to 5 is 3. 35 > = 30 so replace 35 with 30
98
processed: fromNode: distance: # # index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75 Unprocessed node adjacent to 5 is 6. # > = 70 so replace # with 70
99
processed: fromNode: distance: # index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75 Unprocessed node adjacent to 5 is 7. # > = 95 so replace # with 95
100
processed: fromNode: distance: index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75
101
processed: fromNode: distance: index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75 Unprocessed node adjacent to 3 is 4. 55 < = 65 no change in array
102
processed: fromNode: distance: index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75
103
processed: fromNode: distance: index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75 Unprocessed node adjacent to 4 is 6. 70 > = 65 so replace 70 with 65
104
processed: fromNode: distance: index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75
105
processed: fromNode: distance: index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75
106
processed: fromNode: distance: index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75 Unprocessed node adjacent to 6 is 7. 95 > = 80 so replace 95 with 80
107
processed: fromNode: distance: index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75
108
processed: fromNode: distance: index: IndexOfMin 1 5 7 2 3 4 6 20 40 15 35 10 50 75 All nodes have been processed Algorithm finishes.
109
Theorems Dijkstra’s algorithm finds the length of a shortest path between two vertices in a connected simple undirected weighted graph G=(V,E). The time required by Dijkstra's algorithm is O(|V|2). It will be reduced to O(|E|log|V|) if heap is used to keep {vV\Si : L(v) < }, where Si is the set S after iteration i.
110
The Traveling Salesman Problem
The traveling salesman problem is one of the classical problems in computer science. A traveling salesman wants to visit a number of cities and then return to his starting point. Of course he wants to save time and energy, so he wants to determine the shortest cycle for his trip. We can represent the cities and the distances between them by a weighted, complete, undirected graph. The problem then is to find the shortest cycle (of minimum total weight that visits each vertex exactly one). Finding the shortest cycle is different than Dijkstra’s shortest path. It is much harder too, no polynomial time algorithm exists!
111
The Traveling Salesman Problem
Importance: Variety of scheduling application can be solved as a traveling salesmen problem. Examples: Ordering drill position on a drill press. School bus routing. The problem has theoretical importance because it represents a class of difficult problems known as NP-hard problems.
112
THE FEDERAL EMERGENCY MANAGEMENT AGENCY
A visit must be made to four local offices of FEMA, going out from and returning to the same main office in Northridge, Southern California.
113
FEMA traveling salesman Network representation
114
40 2 3 25 35 50 40 50 1 4 45 65 30 80 Home
115
FEMA - Traveling Salesman
Solution approaches Enumeration of all possible cycles. This results in (m-1)! cycles to enumerate for a graph with m nodes. Only small problems can be solved with this approach.
116
FEMA – full enumeration
Possible cycles Cycle Total Cost 1. H-O1-O2-O3-O4-H 210 2. H-O1-O2-O4-O3-H 3. H-O1-O3-O2-O3-H 4. H-O1-O3-O4-O2-H 5. H-O1-O4-O2-O3-H 6. H-O1-O4-O3-O2-H 7. H-O2-O3-O1-O4-H 8. H-O2-O1-O3-O4-H 9. H-O2-O4-O1-O3-H 10. H-O2-O1-O4-O3-H 11. H-O3-O1-O2-O4-H 12. H-O3-O1-O2-O4-H 260 Minimum For this problem we have (5-1)! / 2 = 12 cycles. Symmetrical problems need to enumerate only (m-1)! / 2 cycles.
117
FEMA – optimal solution
40 2 3 25 35 50 40 1 50 4 45 65 30 80 Home
118
The Traveling Salesman Problem
Unfortunately, no algorithm solving the traveling salesman problem with polynomial worst-case time complexity has been devised yet. This means that for large numbers of vertices, solving the traveling salesman problem is impractical. In these cases, we can use efficient approximation algorithms that determine a path whose length may be slightly larger than the traveling salesman’s path, but
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.