Je suppose que le nombre dans la définition du problème CLIQUE p est exactement égal au nombre d'arêtes dans le graphique, contrairement au commentaire de gphilip à la question.⌈p(t2)⌉
Le problème CLIQUE p est NP-complet pour toute constante rationnelle 0 < p <1 par une réduction du problème CLIQUE habituel. (L'hypothèse que p est rationnel n'est nécessaire que pour que puisse être calculé à partir de N dans le polynôme temporel dans N. )⌈pN⌉
Soit k ≥3 un entier satisfaisant à la fois k 2 ≥1 / p et (1−1 / k ) (1−2 / k )> p . Étant donné un graphique G avec n sommets et m arêtes avec une valeur de seuil s , la réduction fonctionne comme suit.
- Si s < k , nous résolvons le problème CLIQUE en temps O ( n s ) temps. S'il existe une clique de taille au moins s , nous produisons une instance de oui fixe. Sinon, nous produisons une no-instance fixe.
- Si n < s , nous produisons une non-instance fixe.
- Si n ≥ s ≥ k , on ajoute à G un graphe ( k −1) -partite où chaque ensemble se compose de n sommets qui ont exactement bords et produire ce graphique.⌈ p ( n k2) ⌉-m
Notons que le cas 1 prend O ( n k −1 ) temps, qui est polynomial en n pour chaque p . Le cas 3 est possible car si n ≥ s ≥ k , alors est non négatif et tout au plus le nombre d'arêtes dans le complet ( k −1) graphique -partite K n , ..., n comme le montrent les deux revendications qui suivent.⌈ p ( n k2) ⌉-m
Revendication 1 . .⌈ p ( n k2) ⌉-m≥0
Preuve . Puisque , il suffit de prouver , ou de manière équivalente pnk ( nk −1) ≥ n ( n -1). Puisque p ≥ 1 / k 2 , on a pnk ( nk −1) ≥ n ( n −1 / k ) ≥ n ( n −1). QED . p ( nkm ≤ ( n2)p ( n k2) ≥ ( n2)
Réclamation 2 . . (Notez que le côté droit est le nombre d'arêtes dans le graphe complet K (1) -parti K n ,…, n .)⌈ p ( n k2) ⌉-m<n2( k-12)
Preuve . Puisque et m ≥ 0, il suffit de prouver , ou de façon équivalente n 2 ( k -1) ( k -2) - pnk ( nk -1) - 2 ≥ 0. Puisque p <(1−1 / k ) (1−2 / k ), nous avons
QED .p ( n k⌈ x ⌉ < x + 1 n2(k-1)(k-2)-pnk(nk-1)-2≥n2(k-1)(k-2)-n(n-1p ( n k2) +1≤n2( k-12)
n2( k - 1 ) ( k - 2 ) - p n k ( n k - 1 ) - 2
≥ n2( k - 1 ) ( k - 2 ) - n ( n - 1k) (k-1)(k-2)-2
= nk( k - 1 ) ( k - 2 ) - 2 ≥ ( k - 1 ) ( k - 2 ) - 2 ≥ 0.
Edit : la réduction dans la révision 1 avait une erreur; il fallait parfois un graphe avec un nombre d'arêtes négatif (quand p était petit). Cette erreur est maintenant corrigée.