Steiner tree

Transkrypt

Steiner tree
Zastosowanie algorytmu immunologicznego w problemie optymalizacji drzewa Steinera
Michał Bereta
www.michalbereta.pl
Dany jest nieskierowany graf G=(V, E), gdzie V to zbiór wierzchołków a E to zbiór krawędzi. Każda
krawędź ma przypisaną nieujemną wagę/koszt.
Zbiór wierzchołków podzielony jest na zbiór wymaganych wierzchołków oraz zbiór wierzchołków
Steinera.
Zadanie: Połącz minimalnym kosztem wszystkie wymagane wierzchołki (rozwiązanie może zawierad
dowolny podzbiór (również pusty) wierzchołków Steinera). Można wykazad, że rozwiązanie jest
drzewem.
Problem minimalnego drzewa Steinera jest powiązany z problemem minimalnego drzewa rozpinającego
(MST, ang. minimal spanning tree). Jednak dla MST istnieją wydajne algorytmy, np. Prima lub Kruskala.
Szczególny przypadek: metryczne drzewo Steinera. Wierzchołki grafu są punktami w przestrzeni
metrycznej a wagi krawędzi to odległości między tymi wierzchołkami.
Problem: Jeśli dany mamy zbiór wierzchołków na płaszczyźnie Euklidesa (wierzchołki wymagane), jak
połączyd je jak najkrótszymi w sumie połączeniami? Możliwe jest dodawanie punków pośrednich
(Steinera), jako że minimalne drzewo spinające oryginalny zbór wierzchołków nie zawsze jest
optymalnym rozwiązaniem. Ile wierzchołków Steinera powinno byd dodanych oraz gdzie powinny byd
umieszczone?
Przykład (punkt w środku jest dodanym wierzchołkiem Steinera):
Przykład (S1 oraz S2 są dodanymi wierzchołkami Steinera ):
Co wiemy:





Koszt minimalnego drzewa spinającego MST jest co najwyżej dwa razy większy niż koszt
minimalnego drzewa Steinera.
Dla Euklidesowego problemu drzewa Steinera, wierzchołki Steinera muszą mied stopieo 3.
(Stopieo wierzchołka – liczba krawędzi wchodzących/wychodzących z tego wierzchołka).
Trzy krawędzie incydentne z wierzchołkiem Steinera muszą tworzyd kąty 120 stopni.
Maksymalna liczba wierzchołków Steinera to N-2, gdzie N to liczba wymaganych wierzchołków.
Może istnied więcej niż jedno rozwiązanie problemu minimalnego drzewa Steinera.
Zadanie:





Zaprojektuj algorytm immunologiczny oparty na algorytmie CLONALG.
Każdy osobnik w populacji (sztuczny limfocyt) koduje rozwiązanie - położenie wierzchołków
Steinera.
Do oceny limfocytów wykorzystaj algorytm Prima – znajdź MST dla połączonych zbiorów
wierzchołków wymaganych oraz wierzchołków Steinera zakodowanych w danym limfocycie.
Jak wykorzystad informacje z punktu „Co wiemy” ?
Jaka będzie forma kodowanie rozwiązania? Jak wpłynie to na operacje klonowania/mutacji oraz
dopuszczalnośd rozwiązao?

Podobne dokumenty