www.matheraum.de
Das Matheforum.
Das Matheforum des MatheRaum.

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenKomplexität & BerechenbarkeitCliquen-Problem und k-Clique
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Informatik • Physik • Technik • Biologie • Chemie
Forum "Komplexität & Berechenbarkeit" - Cliquen-Problem und k-Clique
Cliquen-Problem und k-Clique < Komplex. & Berechnb. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Komplexität & Berechenbarkeit"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Cliquen-Problem und k-Clique: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:40 Mi 22.06.2011
Autor: Pille456

Aufgabe
Problem: k-Clique (Für ein [mm] k\in\IN) [/mm]
Gegeben: Ein ungerichteter Graph G
Frage: Gibt es in G eine Clique C der Größe k?

Problem: Clique
Gegeben: Ein ungerichteter Graph G und ein (festes) k [mm] \in \IN [/mm]
Frage: Gibt es in G eine Clique C der Größe k?

k-Clique lässt sich in polynomineller Zeit lösen. Warum folgt daraus nicht, dass sich auch das Problem Clique in polynomieller Zeit lösen lässt?


Hio,

Ich glaube ich habe die Problemdefinition nicht ganz verstanden, denn ich verstehe die Frage nicht so recht.

Erstmal ist das k-Cliquen-Problem für jedes k [mm] \in \IN [/mm] ein anderes Problem. Heißt das nun, dass jedes dieser Probleme in polynomineller Zeit lösen lässt oder nur bestimmte?

Beim Clique-Problem erhalte ich nun k als zusätzliche Eingabe:
Angenommen für alle k [mm] \in \IN [/mm] lässt sich k-Clique (jeweils) in polynomineller Zeit lösen, wo ist dann das Problem, für Clique einfach eine Fallunterscheidung zu machen und entsprechend dem eingegebenen k den passenden Algo. für das k-Clique Problem aufzurufen, der dann in polynomineller Zeit abläuft?

Gruß
Pille

        
Bezug
Cliquen-Problem und k-Clique: Antwort
Status: (Antwort) fertig Status 
Datum: 21:02 Mi 22.06.2011
Autor: felixf

Moin!

> Problem: k-Clique (Für ein [mm]k\in\IN)[/mm]
>  Gegeben: Ein ungerichteter Graph G
>  Frage: Gibt es in G eine Clique C der Größe k?
>  
> Problem: Clique
>  Gegeben: Ein ungerichteter Graph G und ein (festes) k [mm]\in \IN[/mm]
>  
> Frage: Gibt es in G eine Clique C der Größe k?
>  
> k-Clique lässt sich in polynomineller Zeit lösen. Warum
> folgt daraus nicht, dass sich auch das Problem Clique in
> polynomieller Zeit lösen lässt?
>  
> Hio,
>  
> Ich glaube ich habe die Problemdefinition nicht ganz
> verstanden, denn ich verstehe die Frage nicht so recht.
>  
> Erstmal ist das k-Cliquen-Problem für jedes k [mm]\in \IN[/mm] ein
> anderes Problem. Heißt das nun, dass jedes dieser Probleme
> in polynomineller Zeit lösen lässt oder nur bestimmte?

Jedes.

Allerdings: fuer jedes fest gewaehlte $k$ hast du ein anderes Polynom. Und das ist hier der Knackpunkt.

> Beim Clique-Problem erhalte ich nun k als zusätzliche
> Eingabe:
>  Angenommen für alle k [mm]\in \IN[/mm] lässt sich k-Clique
> (jeweils) in polynomineller Zeit lösen, wo ist dann das
> Problem, für Clique einfach eine Fallunterscheidung zu
> machen und entsprechend dem eingegebenen k den passenden
> Algo. für das k-Clique Problem aufzurufen, der dann in
> polynomineller Zeit abläuft?

Nun, schau dir mal die Laufzeit des polynomiellen Algorithmus an. Der Algorithmus ist sehr einfach: fuer jede $k$-elementige Teilmenge von $V(G)$ teste, ob diese eine $k$-Clique ist. Da es [mm] $\binom{|V(G)|}{k} [/mm] = [mm] O(|V(G)|^k)$ [/mm] solche Teilmengen gibt, ist die Laufzeit somit polyomiell in $|V(G)|$.

Aber was bedeutet das jetzt fuer die Laufzeit deines Algorithmus?

LG Felix


Bezug
                
Bezug
Cliquen-Problem und k-Clique: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 13:25 Do 23.06.2011
Autor: Pille456

Hio!
Ich fasse das mal in meinen Worten zusammen:

Der Algorithmus zum Testen, ob ein Graph G=(V,E) eine k-Clique hat kann wie folgt vorgehen:
Teste jede k-Elementige Teilmenge von V, ob diese eine Clique ist. Falls eine gefunden wird geben diese aus, sonst gebe "nein" zurück.
Nun ist die Frage: Wie viele k-elementigen Teilmengen gibt es? Das ist gerade der Binominialkoeffizient:
[mm] \vektor{|V| \\ k}=\bruch{|V|!}{k!(|V|-k)!} [/mm]
Wie kommt man hiervon auf [mm] O(|V|^k) [/mm] ? Irgendwie finde ich das recht unintuitiv, denn je größer k wird, je weniger Teilmengen gibt es und je weniger hat der Algorithmus zu testen.
Ich glaube mir fehlt hier gerade noch die Tatsache, dass man die Mengen miteinander kombinieren muss oder?
Bsp: k=1, dann gibt es ja nicht |V| Kandidaten, sondern ich muss ja gerade jedes v [mm] \in [/mm] V mit jedem anderen x [mm] \in [/mm] V (x [mm] \not= [/mm] v) vergleichen oder?

Klar ist, wenn die Laufzeit [mm] O(|V|^k) [/mm] beträgt, und sowohl G=(V,E) und k die Eingabe ist, dass der Algo. dann exponentiell abläuft, weil ja k gerade auch die Eingabe ist!

Aber wer sagt mir, dass der Algorithmus zum Lösen von k-Clique gerade so abläuft, dass er alle Teilmengen testen muss? Klar das geht, aber hier ist ja nur von irgendeinem polynominellen Algorithmus die Rede. Ist die Einschränkung hier nicht zu groß gewählt oder ist es egal, da ich sowieso weiß, dass jeder Algorithmus zum Lösen von k-Clique polynominelle Zeit braucht und es somit für die Laufzeit egal wird, welchen konkret ich betrachte?

Bezug
                        
Bezug
Cliquen-Problem und k-Clique: Antwort
Status: (Antwort) fertig Status 
Datum: 15:51 Do 23.06.2011
Autor: felixf

Moin!

> Hio!
>  Ich fasse das mal in meinen Worten zusammen:
>  
> Der Algorithmus zum Testen, ob ein Graph G=(V,E) eine
> k-Clique hat kann wie folgt vorgehen:
>  Teste jede k-Elementige Teilmenge von V, ob diese eine
> Clique ist. Falls eine gefunden wird geben diese aus, sonst
> gebe "nein" zurück.
>  Nun ist die Frage: Wie viele k-elementigen Teilmengen gibt
> es? Das ist gerade der Binominialkoeffizient:
>  [mm]\vektor{|V| \\ k}=\bruch{|V|!}{k!(|V|-k)!}[/mm]
> Wie kommt man hiervon auf [mm]O(|V|^k)[/mm] ? Irgendwie finde ich
> das recht unintuitiv, denn je größer k wird, je weniger
> Teilmengen gibt es und je weniger hat der Algorithmus zu
> testen.

Wenn du dich fuer die Laufzeit von $k$-Clique interessierst, bist du an der Laufzeit fuer $|V| [mm] \to \infty$ [/mm] interessiert. Dann ist $k$ konstant, und [mm] $\binom{|V|}{k} [/mm] = [mm] \frac{1}{k!} \prod_{i=0}^{k-1} [/mm] (|V| - i)$ ist ein Polynom in $|V|$ von Grad $k$. Also ist die Laufzeit [mm] $O(|V|^k)$. [/mm]

Wenn du natuerlich auch $k$ laufen laesst, sieht es anders aus. Es gilt ja [mm] $\binom{|V|}{k} [/mm] = [mm] \binom{|V|}{|V| - k}$, [/mm] weswegen die Laufzeit eher [mm] $|V|^{\min\{ k, |V| - k \}}$ [/mm] ist. Fuer $k [mm] \approx \frac{|V|}{2}$ [/mm] ist die Laufzeit [mm] $\binom{|V|}{|V|/2}$ [/mm] (nehmen wir mal an dass $n$ geraede ist), fuer diesen Ausdruck gibt es asymptotische Abschaetzungen, und diese sind exponentiell in $|V|$.

Und schliesslich: [mm] $\sum_{k=0}^{|V|} \binom{|V|}{k} [/mm] = [mm] 2^{|V|}$. [/mm]

>  Ich glaube mir fehlt hier gerade noch die Tatsache, dass
> man die Mengen miteinander kombinieren muss oder?
> Bsp: k=1, dann gibt es ja nicht |V| Kandidaten, sondern ich
> muss ja gerade jedes v [mm]\in[/mm] V mit jedem anderen x [mm]\in[/mm] V (x
> [mm]\not=[/mm] v) vergleichen oder?

Nein, bei $k = 1$ musst du streng genommen gar nichts tun. Jeder Vertex von $G$ bildet eine 1-Clique. Alternativ kannst du auch jede 1-elementige Teilmenge durchgehen und schauen ob es eine 1-Clique ist (ist es immer). Aber eine quadratische Laufzeit bekommst du sicher nicht.

> Klar ist, wenn die Laufzeit [mm]O(|V|^k)[/mm] beträgt, und sowohl
> G=(V,E) und k die Eingabe ist, dass der Algo. dann
> exponentiell abläuft, weil ja k gerade auch die Eingabe
> ist!
>  
> Aber wer sagt mir, dass der Algorithmus zum Lösen von
> k-Clique gerade so abläuft, dass er alle Teilmengen testen
> muss?

Niemand. Aber du kannst gern versuchen einen anderen zu finden :-)

Man kann da schon ein wenig herumtricksen, aber die Laufzeit aendert sich nicht wesentlich.

> Klar das geht, aber hier ist ja nur von irgendeinem
> polynominellen Algorithmus die Rede. Ist die Einschränkung
> hier nicht zu groß gewählt oder ist es egal, da ich
> sowieso weiß, dass jeder Algorithmus zum Lösen von
> k-Clique polynominelle Zeit braucht und es somit für die
> Laufzeit egal wird, welchen konkret ich betrachte?

Es gibt auch nicht-polynomielle Algorithmen fuer $k$-Clique (wie fuer jedes andere Problem auch, grob gesprochen: man muss einfach irgendwie Zeit totschlagen). Hier weisst du nur, dass es fuer jedes $k$ einen polynomiellen Algo fuer $k$-Clique gibt.

Wie schnell der ist ist nicht gesagt, und ob es schneller geht als [mm] $O(|V|^k)$ [/mm] (fuer festes $k$) oder [mm] $O(|V|)^{k-1})$ [/mm] oder sowas ist eine Frage fuer sich.

Die Laufzeit muss jedoch exponentiell in $k$ sein, da es ansonsten auch einen subexponentiellen Algorithmus fuer Clique geben wuerde. Bekannt ist aber keiner.

LG Felix


Bezug
                                
Bezug
Cliquen-Problem und k-Clique: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:45 Do 23.06.2011
Autor: Pille456

Hio!

Danke für Deine Hilfe, hat mir wirklich sehr geholfen. Gerade die Abschätzung $ [mm] \sum_{k=0}^{|V|} \binom{|V|}{k} [/mm] = [mm] 2^{|V|} [/mm] $ hat es doch nochmal recht deutlich erklärt. Ich fühle mich in dem Thema zwar noch nicht so sicher, aber das Cliquen-Problem habe ich nun deutlich besser verstanden.

Bezug
                                        
Bezug
Cliquen-Problem und k-Clique: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 00:24 Fr 24.06.2011
Autor: felixf

Moin!

> Danke für Deine Hilfe, hat mir wirklich sehr geholfen.
> Gerade die Abschätzung [mm]\sum_{k=0}^{|V|} \binom{|V|}{k} = 2^{|V|}[/mm]

Das ist keine Abschaetzung, sondern echte Gleichheit :-)
Folgt direkt aus dem binomischen Lehrsatz, wenn man $(1 + [mm] 1)^{|V|}$ [/mm] damit ausschreibt.

LG Felix


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Komplexität & Berechenbarkeit"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheforum.net
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]