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