Vorrei iniziare osservando che si tratta di un problema di compiti a casa, si prega di fornire solo consigli e osservazioni correlate, NESSUN RISPOSTA DIRETTA per favore . Detto questo, ecco il problema che sto esaminando:
Let MEZZA CLIQUE = { | è un grafico non orientato con un sottografo completo con almeno nodi, dove n è il numero di nodi in }. Mostra che HALF-CLIQUE è NP-completo.n / 2 G
Inoltre, conosco quanto segue:
- In termini di questo problema, una cricca è definita come un sottografo non orientato del grafico di input, in cui ogni due nodi sono collegati da un bordo. Un -clique è una cricca che contiene nodi.
- Secondo il nostro libro di testo, " Introduzione alla teoria della computazione " di Michael Sipser , pag 268, che il problema CLIQUE = { | G è un grafico non orientato con k -clique} è in NP
- Inoltre, secondo la stessa fonte (a pag. 283) nota che CLIQUE è in NP-Complpete (quindi ovviamente anche in NP).
Penso di avere il kernel di una risposta qui, tuttavia potrei usare qualche indicazione di ciò che è sbagliato in esso o di eventuali punti correlati che potrebbero essere rilevanti per una risposta . Questa è l'idea generale che ho finora,
Ok, per prima cosa noterei che un certificato sarebbe semplicemente un HALF-QLIQUE di . Ora sembra che ciò che dovrei fare è creare un verificatore che sia una riduzione del tempo polinomiale da CLIQUE (che sappiamo essere NP-Complete) a HALF-CLIQUE. La mia idea sarebbe che questo sarebbe fatto creando una macchina Turing che esegue il verificatore della macchina turing nel libro per CLIQUE con il vincolo aggiuntivo per HALF-CLIQUE.
Mi sembra corretto, ma non mi fido ancora di me stesso in questo argomento. Ancora una volta, vorrei ricordare a tutti che si tratta di un PROBLEMA DI LAVORO A CASA, quindi per favore cerca di evitare di rispondere alla domanda. Qualsiasi consiglio che non sia all'altezza di questo sarebbe il benvenuto!