Clique problem În informatic , problema clique se refer la oricare dintre problemele legate de gsirea particulara particu lara grafuri complete complete (³clique ") într-un grafic , de exemplu, seturi de elemente în cazul în care fiecare pereche de elemente este conectat.
De exemplu, problema clique se folesete in lumea reala, ca exemplu . Intr-o reea social , în cazul în care graficul de nodurile reprezinta oamenii, iar graficul de marginile reprezint cunoatere reciproc. Pentru a gsi un subgroup de oameni care se cunosc toti reciproc, se poate inspecta sistematic toate subgrupurile, acest proces dureaza prea mult timp pentru a fi practic in reelele sociale care cuprinde mai mult de cateva sute de oameni. Dei acest acesta cautare poate fi îmbuntit prin algoritmi mai eficienti , toati acesti algoritmi i-au timp in plus pentru a rezolva problema. Prin urmare, o mare parte din teoria despre problema cliquq este dedicat identificrii unor tipuri speciale de grafuri care admit algoritmi mai eficienti, sau la stabilirea dificultati de calcul a problemei generale în diferite modele de calcul. calcul. [ 1 ] Împreun cu cererile sale în reelele sociale , problema clique are, de asemenea, multe aplicaii în bioinformatic i chimie computaional . [ 2 ] Problemele Clique includ:
gsirea clique maxim (o clique cu cel mai mare numr de noduri), gasirea greutatii maxime într-un graf ponderat, enumerând toate clique maxime (grupari care nu pot fi extinse) rezolvarea problemei de decizie de testare a unui graf ce conine un clique mai mare decât o dimensiune dimensiune data.
ceste probleme sunt toate grele: problema deciziei clique este NPcomplet (unul dintre Karp a 21-complete probleme NP ), problema de a gsi clique maxim este atât fix-parametru refractare i greu de aproximat , i enumerând toate gruparile maxima poate necesita timp exponenial ca exista grafice cu multe grupari maxim exponenial. Cu toate acestea, exist algoritmi pentru aceste probleme care ruleaz în timp exponenial sau care ocupa anumite specializate de intrare grafice mai mult în timp polinomial. [ 1 ] A
Dei subgrafurile complete au fost studiate pentru mai mult timp în matematic, [ 3 ], termenul de "cliquq" i problema de listare algoritmic clique amandoua provin din tiinele sociale, în cazul în care subgrafuri complete sunt utilizate pentru modelul social clique , grupuri de oameni care se cunosc intre ei. Terminologia "clique" vine de la Luce & Perry (1949) , i primul algoritm de rezolvare a problemei clique este alui Harary & Ross (1957) , [ 1 ], care au fost motivate prin aplicarea sociologica Muli alii au conceput algoritmi pentru diferite versiuni ale problemei clique. [ 1 ] În anii 1970, cercetatorii au inceput sa studieze acesti algoritmi din punct de vedere al analizei cel mai ru caz , de exemplu, Tarjan & Trojanowski (1977) . De asemenea, în anii 1970, începând cu activitatea lui Cook (1971) i Karp (1972) , cercettorii au început sa gseasca justificare matematica pentru dificultatea perceput a problemei clique în teoria NPcomplet i ireductibil rezultatele aferente. În anii 1990, o serie de lucrri ai progresat începând cu Feige et al. (1991) i raportate atunci în principalele ziare, [ 4 ], au artat c nu este posibil nici mcar s aproximeze problema cu acuratee i eficient.
DEFINITII: Un graf neorientat este format dintr-un set finit de noduri i un set de perechi neordonate de noduri, care sunt numite muchii . Prin convenie, în analiza algoritmului, numrul de noduri în graf este notat cu n i numrul de muchii se noteaz cu m . Un clique într-un graf G este un subgraf de G , care are un subset S de vârfuri astfel încât fiecare doua varfuri întrS formeaza o muchie în G . Un clique maxim este un clique unde noduri nu mai pot fi adugate, un clique maxim este un clique care include numr maxim de noduri, i numarul clique ( G ) este numrul de noduri într-un clique maxim de G . [ 1 ] Mai multe probleme strâns legate de clique-finding au fost studiate. y
Î n problema clique-maxim, inputul este un graf neorientat, iar outputul este
o clique-maxim în grafic. Dac exist mai multe clique-maxim, doar unul trebuie s fie outputul. y
Î n problema ponderate clique- maxim, inputul este un graf neorientat cu
greuti pe vârfurile sale (sau, mai puin frecvent, margini), iar outputul este un clique cu greutate total maxim. Problema maxim clique este cazul special în care toate greutile sunt una. y
Î n problema clique-maxim listarea , inputul este un graf neorientat, iar
rezultatul este o list a tuturor grupari maxima. Problema clique-maxim poat fi rezolvata cu ajutorul unei subrutine un
unui algoritm pentru
problema clique-maxim, deoarece clique- maxim trebuie s fie inclusa printre toate gruparile maxime. y
Î n problema k- clique, inputul este un graf neorientat i un numr de k, iar
rezultatul este un clique de mrime k dac exist una (sau, uneori, toate gruparile de k dimensiune). y
Î n problema deciziei clique, inputul este un graf neorientat i un numr k,
iar outputul este o valoare boolean: "true" daca graficul conine un kclique i false în caz contrar.
Primele patru dintre aceste probleme sunt toate importante în aplicaii practice; problema deciziei clique nu este, dar este necesar pentru a aplica teoria NPcomplet pentru problemele clique de constatare.
Problema clique i problema stabilite independent sunt complementare: o clic în G este un set independent în completarea graficul G i vice versa. Prin urmare, multe rezultate de calcul pot fi aplicate la fel de bine s fie o problem, i unele lucrri de cercetare nu fac distincie clar între cele dou probleme. Cu toate acestea, cele dou probleme au proprieti diferite atunci când este aplicat la familiile restrâns de grafice, de exemplu, clic problema poate fi rezolvat în timp polinomial pentru grafice planare [5] în timp ce problema set independent rmâne NP-hard pe grafice planare. Primele patru dintre aceste probleme sunt toate importante în aplicaii practice; problema deciziei clic nu este, dar este necesar pentru a aplica teoria NPcomplet pentru problemele clica de constatare.
Problema clica i problema stabilit independent sunt complementare: un clique în G este un set independent în completarea graficului G i vice versa. Prin urmare, multe rezultate de calcul pot fi aplicate la fel de bine la ambele probleme i unele lucrri de cercetare nu fac distincie clar între cele dou probleme. Cu toate acestea, cele dou probleme au proprieti diferite atunci când este aplicat la familiile restrâns de grafuri, de exemplu, problema clique poate fi rezolvat în timp polinomial pentru grafice planare [5] în timp ce problema de set independent rmâne NP-hard pe grafice planare. Maxim fa de maxim
O clic maxim, numit uneori includere-maxim, este o problema clique care nu este inclus într-o problema clique mai mare. Gsirea un clique maxim este simpl: Incepand cu un vârf singur, s creasc actuala problema clique un nod la
un moment dat prin reiterarea peste nodurile grafului rmase, adugând un nod în cazul în care acesta este conectat la fiecare nod în problema clique actual, i aruncarea înapoi în mare . Acest algoritm ruleaza in O (m) timp. Cu toate acestea, grupari maxima poate fi foarte mic, un graf poate conine o problema clique de dimensiune n-1, ci o problema clique maxim de dimensiunea 2. Astfel, în timp ce un maxim (de exemplu, cea mai mare) problema clique este în mod necesar maxim, reciproca nu deine, i cea mai mare atenie este acordat algoritmici mult mai greu de a gsi un maxim sau altfel problema clique mari. [edit] Grupari de dimensiune fix Un algoritm forta bruta pentru a testa dac un graf G conine o clique k-vertex, i pentru a gsi orice astfel de clique pe care le conine, este de a examina fiecare subgraf cu vârfurile k cel puin i verificai pentru a vedea dac aceasta face o cclique. Acest algoritm are nevoie de timp O (NK k2): exist O (NK) subgrafuri pentru a verifica, fiecare dintre care are O (k2) margini a crui prezen în G trebuie s fie verificate. Astfel, problema poate fi rezolvat în timp polinomial ori de câte ori k este o constant fix. Când k este o parte a de intrare la problema, cu toate acestea, timpul este exponenial. [6]