Buenas,
Entiendo que tenés un algoritmo que recibe una instancia de 3-SAT y querés probar que, si hay una asignación que satisface la instancia recibida (la colección de cláusulas), el algoritmo retorna true.
Utilizando la misma instancia que recibís e invocando a un algoritmo que resuelve AL MENOS 2-SAT, no lo vas a poder lograr (justamente por lo que decis, que una instancia de 3-SAT se pueda satisfacer no significa que la misma instancia se pueda satisfacer al menos dos veces).
Te recomiendo modificar la instancia de 3-SAT para que, si la original tiene una asignación válida, la nueva instancia tenga al menos 2 (manteniendo el recíproco: si la nueva tiene al menos 2, la anterior tiene al menos una).
Saludos,
JP
Entiendo que tenés un algoritmo que recibe una instancia de 3-SAT y querés probar que, si hay una asignación que satisface la instancia recibida (la colección de cláusulas), el algoritmo retorna true.
Utilizando la misma instancia que recibís e invocando a un algoritmo que resuelve AL MENOS 2-SAT, no lo vas a poder lograr (justamente por lo que decis, que una instancia de 3-SAT se pueda satisfacer no significa que la misma instancia se pueda satisfacer al menos dos veces).
Te recomiendo modificar la instancia de 3-SAT para que, si la original tiene una asignación válida, la nueva instancia tenga al menos 2 (manteniendo el recíproco: si la nueva tiene al menos 2, la anterior tiene al menos una).
Saludos,
JP