• Keine Ergebnisse gefunden

- verwenden keine ¬ -Gatter

N/A
N/A
Protected

Academic year: 2021

Aktie "- verwenden keine ¬ -Gatter "

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

22.12.2004 Monotone Schaltkreise

- verwenden keine ¬ -Gatter

=> berechnen nur monotone Funktionen

( x

1

≤y

1

, … , x

n

≤y

n

=> f(x

1

, … , x

n

) ≤ f(y

1

, … , y

n

) )

Graphen auf V = {1, … , n} als Eingabe mit ( n 2 ) Variablen x

ij

für

1≤i<j≤n

Damit sind zahlreiche interessante Graphproblemen monoton:

- Erreichbarkeit - Zusammenhang - Clique

- …

Betrachte die Funktion mit:

(x) =

1, es gibt i, j, k mit x

ij

=x

jk

=x

ik

{ 0, sonst

Also (x) =1 , wenn den eingegebenen Graph ein Dreieck enthält.

Theorem 2

Jeder monotone Schaltkreis, der berechnet, hat die Größe Ω(n

3

/log

4

n) Beweis mit Approximationsmethode

• Testinputs T

+

mit x єT

+

=> ∆ (x) =1 Testinputs T

-

mit x єT

-

=> ∆ (x) =0

• Approximatoren: „einfache“ Schaltkreise

• Ziel 1: Jeder Approximator A hat A( x ) ≠ ∆ (x) für viele

Testinputs x

• Ziel 2: Kleien Schaltkreise haben gute Approximatoren, d.h.

size(c) klein => es gibt Approximator ĉ mit:

c(x) ≤ ĉ(x) für die meisten x єT

+

c(x) ≥ ĉ(x) für die meisten x єT

-

(2)

Testinputs:

T

+

:= wähle3 Punkte i,j,k , setze x

ij

= x

jk

= x

ik

= 1 ,sonst 0

=> |T

+

| = ( n 3 )

T

-

:= färbe V in 2 Farben, verbinde verschiedenfarbige Punkte

=> |T

-

| = 2

n-1

Approximatoren:

Ein k -Approximator ist eine Disjunktion ∨

i≤r

x

i

vor r≤k Variablen.

Lemma 2: (Ziel (1))

Für k -Approximator A mit A 0 ist die Zahl der x єT

-

mit A( x )=1 mindestens 2

n-2

Beweis:

Ist A 0 , so ist A = x

i1j1

V … V x

irjr

. Betrachte x

i1j1

=1 wenn i

1

und j

1

verschiedene Farben haben. Das ist für 2

n-2

der x єT

-

der Fall.

Konstruktion der Approximatoren:

Eine Variable ist ein k -Approximator.

Für je 2 k -Approximatoren A und A’ definieren wir A Π A’ und A

Π

A’ , die Disjunktion/Konjunktion von A, A’ approximieren.

Dazu ein paar graphentheoretische Lemmas:

Definition:

- Ein Stern ist ein Graph, der Form E = {(i,j

1

), (i,j

2

),… (i,j

m

)}

und i heißt Zentrum des Sterns

- Ein Matching ist ein Graph mit e ∩ e’ = O für e,e’є E

- zwei Graphen (V,E

1

) und (V,E

2

) sind disjunkt, falls E

1

∩ E

2

= O

(3)

Lemma 3:

Sei S ein Stern mit k Knoten. Dann ist die Anzahl der x єT

-

, die disjunkt zu S sind, 2

n-k-1

Beweis:

Damit x von S disjunkt ist müssen also k+1 Knoten, die S berührt, die gleiche Farbe haben. Es gibt 2

n-(k+1)

Möglichkeiten, die restlichen zu färben.

Lemma 4:

Sei M ein Matching mit k Knoten. Dann ist die Anzahl der x єT

-

, die disjunkt zu M sind, 2

n-k-1

Beweis:

Jedes Paar, das im M verbunden ist, muss gleichfarbig sein. Es bleiben n-2k isolierten Punkte. Also gibt es 2

(n-2k)+k-1

Möglichkeiten zu färben.

Lemma 5:

Jeder Graph mit m Kanten enthält entweder einen Stern oder ein Matching mit (m/2)

1/2

Kanten.

Beweis:

Sei s die Maximale Größe eines Sterns in G=(V,E) mit |E| = m . Wähle ein Matching m wie folgt:

M:= O ; R:= E;

while R ≠ O

wähle Kante {i,j} aus R;

M := M U { { i,j } } ;

entferne aus R alle Kanten e mit e ∩ {i,j} ≠ O ;

Da in jedem Durchlauf höchstens 2s-1 Kanten aus R entfernt werden (sonst wäre ein Stern größer als s ) gibt es mindestens m / (2s-1)

Schleifendurchläufe, also |M|≥ m / (2s-1) . Behauptung folgt, da

max ( s, ( m / (2s-1) ) ) (*) ( m*s / (2s-1) )

1/2

> (m/2)

1/2

(*) gilt wegen max(a,b)=(a*b)

1/2

also

max ( s, ( m / (2s-1) ) ) ≥ ( m*s / (2s-1) )

1/2

(m/2)

1/2

(4)

Lemma 6:

Sei G=(V,E) mit |E|=m beliebig. Dann ist die Zahl der x єT

-

disjunkt zu G höchsten 2

n-(m/2)1/2 -1

Beweis:

Folgt sofort aus Lemmas 3,4,5

Nun ist A

1

=V

k1q=1

x

iqjq

und A

2

=V

k2r=1

x

irjr

, dann definiere:

A

1

v A

2

= V

k1q=1

x

iqjq

v V

k2r=1

x

irjr

, falls k

1

+k

2

≤k A

1

Π A

2

:= { 1 , sonst Klar ist A

1

Π A

2

≥ A

1

v A

2

Lemma 7:

Die Anzahl der x єT

-

mit A

1

v A

2

= 0 und A

1

Π A

2

= 1 ist höchstens 2

n-(k/2)1/2-1

Beweis:

A

1

v A

2

= 0 gilt wenn der Graph (V,E) mit

E = {{i

q

,j

q

} , q≤k

1

} U {{i

r

,j

r

} , r≤k

2

}

disjunkt zu x ist. Da |E|= k

1

+k

2

≥ k , ist dies nach Lemma 6 für höchstens 2

n-(m/2)1/2 -1

x єT

-

der Fall.

Es ist A

1

^ A

2

=

q≤k1,r≤k2

x

iqjq

^ x

i’rj’r

geschrieben als

q≤k3

x

iqjq

r≤k4

x

i’rj’r

^ x

i“rj“r

mit k

3

≤k , k

4

≤k

2

. Definiere :

A

1 Π

A

2

:=

q≤k3

x

iqjq

Lemma 8:

Die Anzahl der x єT

+

mit A

1

(x) ^ A

2

(x)= 0 ist höchstens k

2

Beweis:

Dies ist nur möglich, falls x ein Dreieck {i,j,k} ist, und {i’

r

j’

r

} ,

{i“

r

j“

r

} Kanten von {i,j,k} sind. Das kann für maximal k

4

≤k

2

Tupel

{i,j,k} der Fall sein.

(5)

Beweis von Theorem 2:

Sei C monotone Schaltkreis (mit f 2) der berechnet, der Größe s (Anzahl ^ , v

– Gatter)

Konstruiere Approximator A

c

induktiv:

Für input x

ij

A

c

= x

ij

Für C=C

1

vC

2

A

c

= A

c1

Π A

c2

Für C=C

1

^ C

2

A

c

= A

c1

Π A

c2

Nach Lemma 7

Anzahl x єT

-

mit A

c

( x )=1 ist ≤ s*2

n-(k/2)1/2-1

Nach Lemma 8

Anzahl x єT

+

mit A

c

( x )=0 ist ≤ s*k

2

Nach Lemma 2 ist entweder

A ≡ 0 , also s*k

2

( n 3 ) , also s ( n 3 )/ k

2

oder

s*2

n-(k/2)1/2-1

≥ 2

n-2

, also s ≥2

(k/2)1/2-1

Für k=18*log

2

n folgt

s ( n 3 )/ 18

2

log

4

n

oder

s ≥ 2

3*log(n)-1

≥ n

3

/2 1. Wert ist kleiner, also folgt

size(c) ( n 3 )/ 18

2

log

4

n = Ω(n

3

/log

4

n)

Referenzen

ÄHNLICHE DOKUMENTE

(b) Zeigen Sie: Jede endliche Menge hat gleich viele Teilmengen mit einer ger- aden Anzahl von Elementen wie Teilmengen mit einer ungeraden Anzahl von Elementen.. (Hinweis:

(Was passiert, wenn Sie versuchen, dies bereits für n ≥ 1 zu

[r]

Es ist eine gute Übung (aber durchaus etwas schwerer), die Behauptung erst einmal zu „finden“ wenn sie nicht angegeben ist.. Zum Beispiel: in Aufgabe 6) muss die Formel für

[r]

Es wird ein Beweis ohne Worte dazu gegeben. 2 Beweis

[r]

Es werden allerdings nicht alle pythagoreischen Tripel generiert... Jedes pythagoreische Dreieck ist zwei