1 / 30

Approximation Algorithms for Hard Geometric Problems

Approximation Algorithms for Hard Geometric Problems. Sinem ASLAN 06/05/08. İncelenecek Problemler. 1. Travelling Salesman Problem (TSP) 2. Steiner Tree Problem. 1. Euclidean TSP.

zuri
Télécharger la présentation

Approximation Algorithms for Hard Geometric Problems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Approximation Algorithms for Hard Geometric Problems Sinem ASLAN 06/05/08

  2. İncelenecek Problemler • 1. Travelling Salesman Problem (TSP) • 2. Steiner Tree Problem

  3. 1. Euclidean TSP • Euclidean metriği kullanılan bir düzlemde bulunan noktalarının tamamının ziyaret edildiği en kısa turu bulma problemidir. • Başka bir deyişle: uzaklıklarının toplamını minimize eden permütasyonları aranmaktadır.

  4. Euclidean TSP, NP-Hard bir problemdir. • Üçgen eşitsizliğine göre: • Dolayısıyla bir turdaki kesişen bir kenar çifti, bir ayrık kenar çifti ile yer değiştirildiğinde, turun toplam uzunluğunda azalma olacaktır. B A C

  5. Çözüm: Yaklaşım (Approximation) Algoritmaları • Optimum çözüm bilinmemesine rağmen optimumdan nekadar uzaklaşılabileceğinin sınırı verilebilir. • Christofides (1976): • 3/2 lik bir yaklaşım oranı bulur. • Sadece üçgen eşitsizliğini kullanır. • Tüm metrik uzaylarında bu yaklaşım oranını elde edebilir. • Heuristics • Komşuluklarla çözüm (TSP with neighborhood):

  6. MST ile, yaklaşım oranı = 2 olan bir tur oluşturulabilir. • |MST(S)|<=|TSP(S)| • MST hesapla • Ağacın çevresinde her düğümü 2 kere ziyaret edecek şekilde dolaş. • Her indeksin ikinci kere tekrarlandığı durumları yok et. Bu, toplam uzunluğu arttırmaz.

  7. Christofides,1976 • 1. n noktadan geçen bir MST hesapla ve bu ağacı T olarak isimlendir.

  8. Christofides (2) • 2. T’deki n noktanın herhangi birinin odd-degree (kendisinden çıkan kenar sayısının tek olması) olmasını engelle. Bunun için minimum length matching algoritması kullan. • Noktalarının odd degree si yokedilmiş olan yeni çizgeyi M olarak isimlendir. M ve T nin birleşiminden oluşan H çizgesinde, M veya T’nin her ikisinde de yer alan bağlantılar iki kere görünecektir.

  9. Christofides (3) • 3. H, hiç odd-degree nokta içermediği için bir Euler çizgesidir. H üzerinde bir Euler devresi çizilirse (başladığı noktada son bulacak ve bir kere ziyaret edilen nokta tekrar ziyaret edilmeyecek) bu devre, TSP’e bir yaklaşım çözümü olur.

  10. H ağacı ve optimum TS tur uzunluğu arasındaki ilişki nedir? • Optimum TSP çözümü bilinmemesine rağmen, optimum çözümden ne kadar uzaklaşılabileceğini gösteren bir sınır belirlenebilir. • H ağacının uzunluğu = U(H) • T ağacının uzunluğu = U(T) • M ağacının uzunluğu = U(M) • TS turun uzunluğu = U(TST) olsun.

  11. Teorem: U(H) < (3/2)U(TST) • Kanıt: n nokta içeren TS turundan bir bağlantı silinirse, n düğümlü ve n-1 bağlantılı bir kapsayan (spanning) ağaç oluşur. Tüm uzunluklar pozitif ve T minimum kapsayan ağaç olduğu için: • U(T) < U(TST) ‘dir.

  12. 2. adımda bulunan minimum-length matching noktaları arasındaki bağlantıların uzunluğu • U(M) U(TST)/ 2 olmalıdır. • U(H) = U(M) + U(T) olduğu için • U(H) < (3/2) U(TST) sonucuna varılabilir. Christofides’ın algoritması, optimalin 3/2 katı olmaktadır.

  13. 2. Buluşsal (Heuristic) Yöntemler • Noktaları belli bir sırada kullanan ekleme (insertion) yöntemleri • Yeni eklenecek olan noktası, kenarı silinerek ve ve kenarları eklenerek mevcut turla bütünleştirilir ve kenarı her zaman turun toplam maliyetini minimize edecek şekilde seçilir. • Enyakına ekleme • En uzağa ekleme • Rastgele ekleme

  14. 2. Buluşsal (Heuristic) Yöntemler (2) • 2.1. Rosenkrantz, Stearns, Lewis, 1977 • Herhangi bir nokta ekleme sırası en fazla uzunluğunda olur. • 2.2. Chandra, Karloff, Tovey, 1994 • Bazı ekleme sıraları, uzunluğunda turlar üretir. • 2.3. Nearest Insertion • Turdaki bir noktaya en yakın olan noktayı ekler ->Yakınsama oranı = 2

  15. 3. Komşuluklarla çözüm • Toplamda n nokta içeren k basit çokgenin her birinden geçen en kısa tur araştırılmaktadır.

  16. 3. Komşuluklarla çözüm

  17. 2. Steiner Tree (ST) Problemi • Bir düzlemde bulunan noktalarından geçen en kısa düzlemsel çizgeyi bulma problemidir. Bulunan çizge Steiner Ağacı olarak adlandırılır. • Steiner Ağacı; • S’deki tüm noktaları içerir (Terminal noktalar) • Bu noktalardan geçen minimum ağacı bulmak için fazladan nokta kullanabilir (Steiner noktaları) • Steiner noktalarında, aralarında olan üç kenar bağlantısı bulunur • MST, bir suboptimal Steiner Ağaçtır.

  18. NP Hard olan ST Problem Çeşitleri • 1. Euclidean ST • Noktalar arasındaki uzaklığı metriği ile ifade eder: • 2. Rectilinear ST • metriğini kullanır: ve noktaları arasındaki uzaklık olarak tanımlanır. • 3. Network ST • Kenar ağırlıklı bir çizgede bulunan S noktalarını kapsayan altçizge aranır.

  19. Steiner Oranları • MST, yaklaşık bir Steiner Tree olarak kabul edilmiş ve enkötü-durumdaki yaklaşım oranı araştırılmıştır. • Kullanılan steiner oranı, tüm nokta kümesi üzerindeki MST uzunluğunun, Steiner Minimal Tree uzunluğuna bölümünün limitidir.

  20. 1. Rectilinear ST • Teorem 1 (Hwang.76): • Rectilinear MST (RMST) hiçbir zaman, Rectilinear Steiner Minimal Tree (RST) uzunluğunun 3/2 katından fazla olamaz. • Kanıt: • Kullanılacak Varsayımlar: • 1. RST’deki bazı terminallerinin degree sinin en az iki olduğu durumlar • 2. RST(S)’nin full, yani tüm terminallerinin degree sinin 1 olduğu durumlar

  21. RST Teorem 1 Kanıt • 1. RST’deki bazı terminallerinin degree sinin en az iki olduğunu varsayalım • si’yi silmek, RST(S)’i iki veya daha fazla sayıda bileşene ayırır. si ile birlikte S1, bu bileşenlerden ikisi ve S2= {si} S\S1 olsun. Inductive hipotezi ile teorem 1, S1 ve S2 için geçerli olur. • RMST(S), RMST(S1) ve RMST(S2)’nin birleşiminden daha uzun değildir ve RST Steiner ağacı, RST(S1) ve RST(S2)’nin birleşimidir, dolayısıyla Teorem 1 S için geçerli olur.

  22. RST Teorem 1 Kanıt • 2. RST(S)’nin full, yani tüm terminallerinin degree sinin 1 olduğunu varsayalım. • Hwang, bu durumda, herzaman, (a) ve (b)’deki yapıda iki en kısa ağaç bulunacağını ispatlamıştır. • Derecesi 3 olan iki Steiner noktasının birbirine çok yakın konumlandığı durumlarda, derecesi 4 olan bir Steiner noktası limit olarak kabul edilebilir. (a) (b)

  23. RST Teorem 1 Kanıt • Herhangi bir full Steiner minimal ağacı bu iki yapıdan birisine veya full olmayan bir yapıya birtakım flipping ve sliding işlemleri ile getirilebilir.

  24. RST Teorem 1 Kanıt • Son adım, Berman et al,94 tarafından basitleştirilmiştir. Buna göre en fazla 3/2|RST(S)| uzunlouğunda bir kapsama ağacı elde edilir. • Soldaki RST nin, uzunluğu enfazla 3|RST| olan versiyonları sağdaki şekillerdir. • Sağdaki iki şekilden daha kısa olanı 3/2|RST| kadardır.

  25. 2. Euclidean ST • Teorem 2.1 (Du, Hwang): • Euclidean MST hiçbir zaman, Euclidean ST uzunluğunun katından fazla olamaz. • Kanıt: • S, Euclidean düzleminde n noktayı temsil etmektedir. • |ST(S)| : S terminalleri için Steiner Minimal Tree uzunluğu • |MST(S)|: S terminalleri için MST uzunluğu • Du ve Hwang, bir T topolojisini full ST’ye uygun hale getirip, |MST(S)| / |ST-T(S)| oranını sınırlamaya çalışır. • |ST-T|=1 olacak şekilde S yi ölçeklendirir. Böylece, |MST(S)| / |ST-T(S)| oranının sınırlarını belirleme problemi, |MST(S)|’nin sınırlarını belirleme problemine dönüşür. • S’nin, |MST(S)|’yi maksimize eden çok özel bir nokta kümesi olduğunu KANITLA.

  26. 2. Euclidean ST • Teorem 2.1 (Du, Hwang) – Devam : • S’nin, |MST(S)|’yi maksimize eden çok özel bir nokta kümesi olduğunu KANITLA. • Soldaki şekildeki noktalar iki farklı MST oluşturur. • S3’ü hareket ettirerek iki birbirinin aynısı olan MST elde edilebilir (eşkenar dörtgen). Bu yeni noktalar kümesi, MST topolojilerinin maksimum kümesidir.

  27. 2. Euclidean ST • Teorem 2.1 (Du, Hwang) – Devam : • Nokta sayısı 4’ü geçtiğinde, maximal MST kümesi yeterince özel olmaz. • Du ve Hwang, ST-T(S) den oluşturulan bir çokgen içerisinde yer alan “iç topologiler” kavramını kullanmıştır. • Minimum iç kapsayan ağaç topolojilerinin maksimum kümesini oluşturan noktalar kümesi oldukça özeldir. • Bu topolojiler içerisindeki kenarların herbiri eşkenar üçgen kenarları olmalıdır. • Bu oldukça kısıtlanmış noktalar kümesi için Steiner problemi bazı temel argümanlar ile çözülür. • Soldaki şekildeki noktalar iki farklı MST oluşturur. • S3’ü hareket ettirerek iki birbirinin aynısı olan MST elde edilebilir (eşkenar dörtgen). Bu yeni noktalar kümesi, MST topolojilerinin maksimum kümesidir.

  28. 2. Euclidean ST • Lemma 1: |MST(S)|, x in bir Konveks fonksiyonudur. • Euclidean norm un kendisi bir konveks fonksiyondur ve lineer bir fonksiyonun konveks fonksiyonu konvekstir, dolayısıyla |si sj| konvekstir (si ve sj terminaller). MST(S), |si sj| fonksiyonlarının toplamı olduğu için konvekstir. • Lemma 2: f: Delta -> R olmak üzere, konveks fonksiyonların sonlu kümesinin alt zarfı olsun. Bu durumda f, Deltanın sınırında veya bir kritik vektörde maksimuma ulaşır. • Steiner Ağacın noktaları çevresine kenarlar çizersek, PT(S) ile gösterilen bir Steiner Ağaç çokgeni oluştururuz. Bir MST’nin her kenarı PT(S) ile belirlenen kapalı alan içerisinde yer alıyorsa buna iç kapsayan ağaç(inner spanning tree) denir. • Soldaki şekildeki noktalar iki farklı MST oluşturur. • S3’ü hareket ettirerek iki birbirinin aynısı olan MST elde edilebilir (eşkenar dörtgen). Bu yeni noktalar kümesi, MST topolojilerinin maksimum kümesidir.

  29. 2. Euclidean ST • Lemma 3: x bir kritik vektörse, S eşkenar yapıdadır. • Lemma 4: S eşkenar yapıdaysa, |MST(S)|/|ST(S)| • Hexagonal ağaç: her kenarı, yatay, yatay+60d, yatay-60d yönlerine paralel olan ağaç.Her nokta kümesi için |HT(S)|/|ST(S)|<=2/kök(3) • Herhangi bir SMT kenarı, bu ağacın kenarlarından herhangi birisi ile enfazla 2/kök(3) kadar büyültülerek değiştirilebilir.

  30. Kaynaklar • [1] M. Bern and D. Eppstein.Approximation algorithms for geometric problems, Approximation Algorithms for NP-hard Problems 296-345, PWS Publishing, 1996. • [2]MIT Urban Operations Research, Chapter 6: Applications of Network Models, http://web.mit.edu/urban_or_book/www/book/chapter6/contents6.html

More Related