Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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.

Benzer bir sunumlar


... konulu sunumlar: "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."— Sunum transkripti:

1

2 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 1

3 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(n c ) 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

4 Growth-Büyüme functions f(N)= O(g(N))  c,k  k f(n)  c*g(N) f(N)=  (g(N))  c,k  k f(n)  c*g(N) f(N)=  (g(N))  f(N)=O(g(N)) and f(N)=  (g(N)) Asymptotic optimality/comparison Constant factor disaster! 3 N f(N)

5 N N logN Fast sort N 2 Slow sort 1000N 2 2 N Powerset partition N! Permutations salesman * * ??? ½ hour of the TOP500 together 4

6 NP-hard problems? t(n)=n 2 n=10 t=100 n=100 t=10 4 n=1000 t=10 6 time limit T Maxproblem(T,1) = X Maxproblem(T,1000)=32 X t(n)=2 n n=10 t=1000 n=20 t=10 6 n=40 t=10 12 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. 5

7 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. 6

8 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. 7

9 Somut Problem 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(n k ) zamanda çözüm için bir algoritma varsa Bazı kısıtlar için k. (genellikle polinomial sınırlı olarak bilinir.) 8

10 Exponential Time Algorithms 9 2n2n n log n √n√n Log (n) α(n) Polynomial-time (Easy) Exponential- time (Hard) n F(n) 2 2 n2n2 NP-Complete

11 Çözülebilir(easy)ve Çözülemez (hard) problemlerde eşik nedir sorusunun cevabı polinomialliğin üstel kompleksliğe karşı olmasıdır. 10

12 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

13 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 n 2 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

14 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

15 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

16 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. 15

17 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

18 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

19 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(n 2 ) 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(n 3 ) zamanda belirlenir.) 18

20 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

21 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 Bütün I adımları için Not : 20

22 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

23 Hesap Karmaşıklığı NP Completness Algoritma örneği 22

24 O : Üst Sınır Fonksiyonu Tanım: f(n) = o(g(n)) eğer her c>0 ve 0<= 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

25 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

26 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 25

27 Çalışma zamanlarının Karşılaştırılması 1000 MIPS(saniyedeki milyon komut sayısı)(yr:200x), 1komut/operasyon 26

28 The class P- P Sınıfı P sınıfı karar problemleri polinomial sınırlı problemlerdir. 27

29 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

30 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

31 Polynomial İndirgemeler Motivation: NP-completeness A gibi bir problemi polinomial indirgeme yaparak B haline getirdiğinde şu notasyonu kullanılır.  A karar problemi için tran herhangi bir x girdisini tran(x) haline getirsin buda B kara probleminin girdisi olsun If  and  is in P, then  is in P If A is not in P then B is also not in P 30

32 NP-complete problems: Theorem P = NP NP-complete The trival decision problem that always answers “yes” in here NP-complete P Some Problem is definitely in here 31 NP  P If any NP-complete problem is in P, then P = NP. If any NP-complete problem is not polynomial bound, then all NP-Complete problems are not polynomial bound.

33 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. tran Algorithm for B x tran(x) “yes” or “no” Algorithm for A 32

34 Polynomial İndirgemeler Problem P is reducible to Q P  p Q Transforming inputs of P to inputs of Q Reducibility relation is transitive. 33

35 Bin Packing: İlk Doldurmada azaltma Stratejisi Birinci çöp kutusunda hangi nesnenin dolduracağı ve yeri W(n) in  (n2) 34

36 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 = (s 1, …, s n ) 1 <= i <= n için 0 < s i <= 1 olduğu durumlarda paketler s 1, …, s n 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

37 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

38 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 …. 37

39 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

40 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

41 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 39

42 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. 40 Bir baca gibiSivri uçlu bir baca gibi

43 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.

44 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 f S (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

45 Benzetim Tavlama 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.

46 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 farklı durumda kalmayı ister. Not. Genel olarak,bütün kısıtlar gösterecek konfigürasyon yoktur positive or negative

47 Def. S konfigürasyonuna göre, kenar e = (u, v) şu koşullara göre iyidir. Eğer we su sv 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 bad edge satisfied node: < 0

48 unsatisfied node > 0 unsatisfied node > 0 stable

49

50

51

52 Maximum Cut: Local Search Analysis

53 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,

54 Matematiksel Arkaplan O Omega (Ω) Teta (θ) o

55 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) =  (g(n)) T(n) ‘nin büyüme oranı >= g(n) ‘nin büyüme oranından T(n) =  (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

56 Zaman Zorluğu C O(n) O(log n) O(nlogn) O(n 2 ) … O(n k )Polinomial O(2 n )Exponensiyel O(k n ) O(n n )

57 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.

58 Farklı Sınıflar Arasındaki İlişki

59 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.

60 Çö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.

61 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.

62 Karar Problemi 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.

63 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

64 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.

65 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

67 NP-nin tamlığı ve NP-nin zorluğu

68 NP-nin Tamlığının Sağlanması

69 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

70

71

72

73

74 Kutu Doldurma

75 Kutu Doldurma Algoritması

76 Kutu Doldurma için Tam sayılı Doğrusal Programlama

77 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)

78 Bir TSP Uygulaması Home city Visit city

79 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.

80 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.

81 Applications Of TSP Robot Station

82 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.

83 Applications Of TSP İmalat Bir robot kolu bir metal plakayı n adet delik açamak için kullanılıyor. n+1 vertex TSP. Robot Station

84 n-Kralice Problemi Bir kraliçe n x n ‘lik bir satranç tahtasındabulunur, benzer konumda herhangi bir satır, stunu veya çapraz ilerliyebilir. 8x8 Chessboard

85 8 Kralice Problemi 8x8lik bir satranç tahtasında 8 kralice bunu gibi durumda diğer yerler deneyemeyebilir.

86 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

87 One possible solution for 8-Queens Problem 8x8

88 8 Kraliçe- Gösterim Fenotipi : Bir konfigürasyondur Genotipi: 1 den 8 e kadar olan bir permutasyondan oluşur.

89 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.

90 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

91 Çözüm Uzayı Permutasyon problemi. n = 2, {12, 21} n = 3, {123, 132, 213, 231, 312, 321} Çö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.

92 8 Kralice - Operatorleri Mutasyon: 2 numara değişimi Crossover: İki ebeveynin birleşmesi

93 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(C 1 ) = 1 Uygunluk(C 2 ) = 2 Uygunluk(C 3 ) = 3 C1C1 C2C2 C3C3 1/6 = 17 % 3/6 = 50 % 2/6 = 33 %

94 Problem: shortest path from a to z a bd f z ceg abcdefgzS 0∞∞∞∞∞∞∞a x4(a)3(a)∞∞∞∞∞a,c xx

95 processed: fromNode: distance: # 20 # # index: IndexOfMin

96 processed: fromNode: distance: # 20 # # index: Unprocessed node adjacent to 2 is 4. # > = 55 so replace # with

97 processed: fromNode: distance: # # index: IndexOfMin

98 processed: fromNode: distance: # # index: IndexOfMin Unprocessed node adjacent to 5 is > = 30 so replace 35 with

99 processed: fromNode: distance: # # index: IndexOfMin Unprocessed node adjacent to 5 is 6. # > = 70 so replace # with

100 processed: fromNode: distance: # index: IndexOfMin Unprocessed node adjacent to 5 is 7. # > = 95 so replace # with

101 processed: fromNode: distance: index: IndexOfMin

102 processed: fromNode: distance: index: IndexOfMin Unprocessed node adjacent to 3 is < = 65 no change in array

103 processed: fromNode: distance: index: IndexOfMin

104 processed: fromNode: distance: index: IndexOfMin Unprocessed node adjacent to 4 is > = 65 so replace 70 with 65

105 processed: fromNode: distance: index: IndexOfMin

106 processed: fromNode: distance: index: IndexOfMin

107 processed: fromNode: distance: index: IndexOfMin Unprocessed node adjacent to 6 is > = 80 so replace 95 with 80

108 processed: fromNode: distance: index: IndexOfMin

109 processed: fromNode: distance: index: IndexOfMin All nodes have been processed Algorithm finishes.

110 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 {v  V\S i : L(v) <  }, where S i is the set S after iteration i.

111 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!

112 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.

113 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.

114 FEMA traveling salesman Network representation

115 Home

116 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.

117 Possible cycles CycleTotal Cost 1. H-O1-O2-O3-O4-H H-O1-O2-O4-O3-H H-O1-O3-O2-O3-H H-O1-O3-O4-O2-H H-O1-O4-O2-O3-H H-O1-O4-O3-O2-H H-O2-O3-O1-O4-H H-O2-O1-O3-O4-H H-O2-O4-O1-O3-H H-O2-O1-O4-O3-H H-O3-O1-O2-O4-H H-O3-O1-O2-O4-H260 Minimum For this problem we have (5-1)! / 2 = 12 cycles. Symmetrical problems need to enumerate only (m-1)! / 2 cycles. FEMA – full enumeration

118 Home FEMA – optimal solution

119 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


"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." indir ppt

Benzer bir sunumlar


Google Reklamları