Kanalzuweisung bei großen Forderungen

Werbung
Kanalzuweisung bei großen Forderungen - Teil II
von Laura Schultheiss
20. Dezember 2007
Inhaltsverzeichnis
1 Einleitung
2
2 Einige Begriffe aus der Graphentheorie
2
3 Über die Berechung des Spanns
3
4 Cliquen mit Ko-Ort und Adjazenzbedingung
5
1
1
Einleitung
Im Folgenden wird eine Aussage über die Schnelligkeit der Berechnung des
Spanns gemacht. Im Anschluß gezeigt, wie sich Span(B,x) berechnet, wenn
B aus einer Clique entsteht.
Hierfür bedarf es einiger Grundbegriffe aus der Graphentheorie, die zu Beginn eingeführt werden sollen.
2
Einige Begriffe aus der Graphentheorie
Definitionen
• Ein Graph ist ein Paar (V,E) mit E ⊆ V ×V , wobei V eine nichtleere,
endliche Menge von Knoten und E eine endliche Menge von Kanten
ist. Man Schreibt für V, bzw. E auch V(G), E(G).
• Zwei Knoten u und v heißen adjazent oder auch benachbart, wenn
es eine Kante e gibt, die beide Koten verbindet.
• Ein Graph heißt vollständig, wenn je zwei Knoten u und v adjazent
sind.
• Eine Kante heißt gerichtet, wenn sie zwei Knoten eines Graphens unter Berücksichtigung einer Reihenfolge verbindet.
• Ein gerichteter Graph ist ein paar (V,A) wobei V wieder eine nichtleere, endliche Menge von Knoten und E eine endliche Mengen von
gerichteten Kanten ist.
• Eine Clique zu einem Graph ist eine Teilmenge von Knoten, innerhalb
derer je zwei Knoten adjazent sind.
• Ein Weg ist eine endliche Folge von Knoten für die gilt, dass für alle
i gilt: vi und vi + 1 sind adjazent.
• Ein Pfad ist eine endliche Folge von Knoten, die paarweise verschieden sind und es gilt für alle i: vi und vi + 1 sind adjazent.
• Die Länge eines Pfades ist die Anzahl der beinhalteten Kanten.
2
• Eine Instanz ist eine konkrete Fragestellung bei einem Entscheidungsproblem.
• Ein Kreis ist ein gerichteter Weg, beidem der Startknoten gleich dem
Endknoten ist.
• Ein einfacher Kreis ist ein Kreis, der jeden Knoten aus genau einmal
enthält.
• Eine Inputlänge ist die Länge der binären Codierung des Inputs.
• Eine Laufzeit eines Algorithmus ist die maximale Anzahl von Schritten, die dieser für eine Instanz mit bestimmter Inputlänge benötigt.
Es ist wünschenswert, dass die Laufzeit durch ein Polynom beschränkt
ist.
nach [2] und [3]
3
Über die Berechung des Spanns
Im folgenden Abschnitt soll untersucht werden, wie schnell sich span(A,x)
berechnen läßt. Dies geschieht in Theorem 3.2., zu dessen Beweis bedarf es
Lemma 3.1..
Lemma 3.1
Sei D ein gerichteter Graph mit n Knoten. Dann läßt sich jeder Weg W in
D in einen Weg W0 , der jeden Knoten von W enthält und die maximalen
Länge n2 hat, sowie eine Familie von einfachen Kreisen zerlegen.
Beweis:
Man betrachte die gerichteten Kanten von W. Diese kann man in einen
einfachen Pfad mit l Knoten und einr Familie C von einfachen Kreisen zerlegen. Sein nun zu Anfang der Weg W0 dieser einfache Pfad. Wenn die
Menge der Knoten V (W0 ) 6= V (W ) ist, so gibt es einen Kreis C ∈ C sodass
V (C) ∩ V (W0 ) 6= ∅ aber V (C) 6⊆ V (W0 ), C und W0 haben also mindestens einen gemeinsamen Knoten, C beinhaltet jedoch auch mindestens einen
Knoten, der nicht W0 ist. Nun fügt man C zu W0 hinzu und wiederholt die
Prozedur. Dies ist höchstens n-l mal möglich, da nach dem ersten Schritt
nur n-l Knoten übrig bleiben, die nicht schon in W0 sind. Außerdem hat
jeder Kreis maximal n Knoten und n Kanten. Daher hat W0 maximal die
Länge l + (n − l)n ≤ n2 .
3
Theorem 3.2
Sei (T,k,A) eine Instanz des Models der zulässigen Zuweisungen mit ganzzahligem Forderungsvektor x. Dann läßt sich span(A,x) in polynomieller
Zeit berechen. Das Polynom hat eine Größenordnung gleich der Länge des
Inputvektors x.
Beweis:
Man betrachtet einen Weg W im ”gerichteten Graph der Nachfolger”mit l
Knoten. Seien φ1 , ..., φl die Zuweisungen bezüglich der Knoten von W und
der Aufwand cW seien k(l-1) zuzüglich (φt )max . Des Weiteren sei für jeden
Transmitter t ∈ T mW,t = |φ1 (t)| + |φ2 (t)| + ... + |φt (t)|.
Für jeden Weg W im gerichteten Graphen der Nachfolger der Länge höchstens
n2 betrachtet man nur den Wert SP(t) des folgenden ganzzahligen Programms. Hierbei steht die Variable yC für die jeweiligen Elementarkreise C
mit V (C) ⊆ V (W ).
X
min cW +
kC yC ,
C
mW,t +
X
yC mC,t ≥ xt für alle t ∈ T,
C
y ≥ 0, ganzzahlig für alle C.
Die Anzahl an Variablen dieses ganzzahligen Programms ist beschränkt
durch die Anzahl von Elementarkreisen von A und die Anzahl von Bedingungen ist n (n ist Anzahl Knoten des Graphens). Also läßt sich SP(W)
sich in polynomieller Zeit findend. Das Polynom hat die Größenordnung der
Länge von x. Das Minimum von SP(W) für alle Wege W der maximalen
Länge n2 läßt sich innerhalb der selben Zeitbeschränkung finden.
Bleibt zu zeigen, dass dieses Minimun gleich dem span(A,x) ist.
Man betrachte eine (A,x)-zulässige Zuweisung f die nur die positiven Werte
aus span(A,x) benutzt und definiert sich Zuweisungen wie folgt:
Für i = 0, ..., b(span(A, x) − 1)/kc sei
φi (t) = f (t) ∩ {ik + 1, ik + 2, ..., (i + k)k}
φ0i (t) = φi (t) − ik für alle t ∈ T.
Die Zuweisungen φ0i , erzeugen einen Weg W im gerichteten Graph des Nachfolgers, welcher sich gemäß Lemma 3.1 zerlegen läßt. Nun betrachtet man
das ganzzahlinge Programm für W0 , wobei yC die Anzahl des Auftretens
des Elementarkreises C in der Zerlegung ist.
X
mW0,t +
mC,t yC ≥ xt für jeden Transmitter t ∈ T
C∈
cW0 +
X
C
4
kC yC = span(A, x)
P
Dann ist SP (W0 ) ≤ span(A, x) da SP(W) das Minimum über cW + C kC yC
ist.
Um die entgegen gesetzte Ungleichung zu zeigen betrachtet man eine optimale Lösung y des ganzzahligen Programms zu Weg W0 , welches den
minimalen Wert über alle ganzzahligen Programme für alle Möglichkeiten
von Wegen W bestimmt. Dann kann man einen Weg W im gerichteten
Graph des Nachfolgers
finden, der jeden Knoten u exakt sooft durchläuft,
P
wie W0 zuzüglich u∈C yC u durchläuft. Dieser Weg W erzeugt eine (A,x)zulässige Zuweisung welche die positiven Werte aus SP (W0 ) benutzt. Daher
ist span(A,x)≤ SP (W0 ) und somit span(A, x) = SP (W0 ).
4
Cliquen mit Ko-Ort und Adjazenzbedingung
In diesem Abschnitt wird gezeigt, wie Span(K,x), mit K Clique, berechnet
werden kann.
Sie eine Menge T von Transmittern gegeben. Wir betrachten die Menge A
von Modellen zulässiger Zuweisungen für T welche mittels eines Graphen
G zusammen mit einem Ko-Ort-Bedingungswert k0 und einem AdjazenzBedingungswert k1 ≤ k0 beschrieben werden kann. Die Knoten des Graphen
repräsentieren hier die Transmitter.
Eine Zuweisung zuweisung von Kanälen zu Knoten ist zulässig, genannt
(k0 , k1 )-zulässig, genau dann wenn die folgenden zwei Bedingungen gelten:
• je zwei verschiedene Kanäle, die einem einzelnen Knoten zugewiesen
sind, haben einen Mindestensabstand von k0 .
• je zwei Kanäle, die benachtbarten Knoten zugewiesen sind, haben
einen Mindestabstand von k1 .
Man schreibt nun spank0 ,k1 (G, x) für span(A,x).
Sei K die Menge aller Cliquen K von G und für alle Cliquen K sei BK die
Menge der Zuweisungen für T die den Ko-Ort und Adjazenzbedingungen
genügen. Sei B die Familie (BK : K ∈ K). Es ist maxK∈K span(BK , x) =
maxK∈K spank0 ,k1 (K, x). Das folgende Theorem zeigt uns, dass wir
spank0 ,k1 (K, x) schnell berechnen können.
Theorem 4.1
Sei K=(V,E) ein vollständiger Graph, seien k0 ≥ k1 ≥ 1 ganzzahlig und
sei x ein nichtnegativer ganzzahliger Forderungsvektor. Sei t = bk0 /k1 c und
δ = (t + 1)k1 − k0 sodaß 0 < δ ≤ k1 . Außerdem sei r=r(x) die Anzahl
5
der
P Knoten mit maximaler Forderung und s=s(x) die totale Forderung, also
v∈V xv . Dann gilt:


(xmax − 1)k0 + (r − 1)k1 + 1



(x
max − 1)k0 + (r − 1)k1 + 1 + lδ
spank0 ,k1 (K, x) =




(s − 1)k + 1
1
für s ≤ t(xmax − 1) + r
für s = t(xmax − 1) + r + l,
0 < l ≤ xmax − 2
für s ≥ (t + 1)(xmax − 1) + r
Außerdem kann eine (k0 , k1 )-zulässige Zuweisung die im Spann nur positive
Werte benutzt in der Zeit O(|V |xmax ) gefunden werden.
Beweis:
Da der vollständige Beweis sehr lang ist, wird hier nur verkürzt der erste
Fall des Theorems gezeigt.
Wenn xmax = 1 ist wird jedem Transmitter nur ein Kanal zugewiesen, es
gilt s=r. Des Spann ist dann (s − 1)k1 + 1.
Sei nun xmax ≥ 2.
Zunächst wird die ≤ “ -Richtung gezeigt. Sei s ≤ t(xmax − 1) + r.
”
Sei f eine beliebige (k0 , k1 )-zulässige Zuweisung für K und x, und sei fmax
der größte verwendete Kanal. Da alle s-1 Abstände zwischen den aufeinander folgenden Kanälen die von f benutzt werden mindestens die Größe k1
haben folgt
fmax ≥ (s − 1)k1 + 1.
Man betrachtet die r Knoten mit maximaler Forderung. Unter diesen sei
υ derjenigen Knoten, sodass der niedrigste Kanal d1 der ihm zugewiesen
ist maximal ist. Seien die xmax Kanäle, die dem Knoten υ zugewiesen sind:
d1 ≤ d2 ≤ .. ≤ dxmax . Dann ist d1 ≥ (r−1)k1 +1 und dmax −d1 ≥ (xmax −1)k0
und somit
fmax ≥ dxmax ≥ (xmax − 1)k0 + (r − 1)k1 + 1.
Für die ≥“-Richtung werden die Knoten zunächst angeordnet und jedem
”
Knoten υ der Reihe nach xυ Kennzeichnungen gegeben.
Die Knoten υ0 , υ1 , ... seien nun so geordnet, dass der Knoten mit der Forderung xmax zuerst kommt, dann der Knoten mit Forderung xmax − 1 und
schließlich die restlichen Knoten in beliebiger Anordnung. υ0 , υ1 , ..., υr−1 sind
die Knoten mit maximaler Forderung. Für i=0,...,r-1 kennzeichnet man die
Knoten υi mit
(i, 0), (i, 1), ..., (i, xmax − 1).
Jetzt müssen den Kennzeichnungen Kanäle zugewiesen werden. Dies geschieht in umgekehrter lexikographischer Reihenfolge:
(0,0),(1,0),(2,0),...,(0,1),(1,1),...,(0,2),(1,2),...
6
wobei in jedem Schritt jedem der niedrigste verfügbare Kanal zugewiesen
wird. Die Kanäle steigen in k1 -Schritten an.
Es ist r ≤ t da s ≥ rxmax . Außerdem ist jede benutzte Kennzeichnung von
der Form (i,j) mit i ≤ t − 1, da
s − rxmax
i≤
+ r − 1 ≤ dt − re + r − 1 = t − 1
xmax − 1
Der Kennzeichnung (i,j) weißt man den Kanal jk0 + ik1 + 1 zu. Alle Kennzeichnungen kriegen eindeutige Kanäle zugewiesen und die Zuweisung ist
(k0 , k1 )-zulässig.
Es werden außerdem nur Kanäle bis (xmax − 1)k0 + (r − 1)k1 + 1 benutzt.
Die Zuweisungen können in der Zeit O(|V |xmax ) gefunden werden, weil zum
einen die Knoten mit Nachfrage xmax und xmax −1 in der Zeit O(|V |logxmax )
bestimmt werden können, und damit auch die Kennzeichnungen und schließlich die Zuweisungen in der Zeit O(|V |xmax ).
Literatur
[1] Gerke. S., McDiarmid. C Channel Assignment with Lange Demands
[2] Prof. R. Schrader Vorlesung Graphentheorie
[3] www.wikipedia.de Glossar zu Graphentheorie, ganzzahlige lineare Optimierung
7
Herunterladen