David Schirrmeister 3531a57ef0 update
2025-04-08 17:02:19 +02:00

85 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Einleitung
![image_590.png](image_590.png)
## Das Ampelproblem
![image_553.png](image_553.png)
### Lösungsansatz
- ungerichteter Graph $G = (V, E)$
- V = endliche Knotenmenge
- E = endliche Kantenmenge
- wichtige Eigenschaft: si, sj verträglich oder nicht
> Graph G=(V, E) für kommende Abbildung:
>
> V = {s1, s2, s3, s4, s5, s6},
> E = {{s1, s4}, {s1, s5}, {s2, s4}, {s2, s5}, {s3, s6}, {s4, s5}}
![image_588.png](image_588.png)
### Formalisierung des algorithmischen Vorgehens
1. Verträglichkeitsgraphen erstellen ($G = (V,E)$)
2. finde eine größte [Clique](#clique-c) $C_1$ in V
3. Entferne aus G alle Knoten aus $C_1$ und Kanten Adjazent zu $C_1$
- $V ← V $ \\ $ C_1$
- $E ← E $ \ {$e ∈ E | e ∩ C_1 \neq ∅$}
4. finde eine größte [Clique](#clique-c) $C_2$ in V
5. ...
## Clique C
nicht-leere Teilmenge $C \subseteq V$, wenn zwei verschiedene Knoten in C paarweise durch eine Kante aus E verbunden sind
**Es gilt:**
${u,v} \in E$ für alle $u,v \in C$ mit $u \ne v$
per Definition ist **auch jede einelementige Teilmenge** $C \subseteq V$ eine Clique
Größe einer Clique:
$|C|$
### Maximum Clique-Size
> Eingabe: Graph V = (V, E)
>
> Ausgabe: Größe einer größten Clique C von G
> Theorem 1.1
>
> Algorithmus A löse MaximumClique. Dann existiert Algorithmus B mit ~ gleicher Laufzeit der MaximumCliqueSize löst.
1. Verträglichkeitsgraphen erstellen ($G = (V,E)$)
2. finde eine größte [Clique](#clique-c) $C_1$ in V
3. zähle Elemente der Clique
> Theorem 1.2
>
> Algorithmus A löse MaximusCliqueSize. Dann existiert Algorithmus B mit ähnlicher Laufzeit der MaximumClique löst.
**Zentrale Beobachtung**:
- Für G = (V, E) und v ∈ V sei G - v = (V\v,{e ∈ E | v !∈ e}).
- Sei k die Größe einer Clique in G und $k_{-v}$ die Größe einer größten Clique in G-v.
- Dann gilt:
- (a) v ∈ allen größten Cliquen → $k_{-v}$ = k - 1
- (b) v !∈ allen größten Cliquen → $k_{-v}$ = k
![image_589.png](image_589.png)
### MaximumCliqueDec
> Eingabe: Graph V = (V, E) und k ∈ Ν
>
> Ausgabe: gibt es eine Clique C der Größe k in G?
> Theorem 1.3
>
> Algorithmus A löse MaximumCliqueDec. Dann existiert ähnlicher Algorithmus B mit ähnlicher Laufzeit, der MaximumCliqueSize löst.
**B(G, k) für G = (V, E)**
1. Verträglichkeitsgraphen erstellen ($G = (V,E)$)
2. Cliquen finden
3. Elemente der ersten Clique zählen
4. falls Elemente = k → Abbruch sonst zur nächsten