Salta ai contenuti. | Salta alla navigazione

Strumenti personali

Esercizio encoding SAT

Il file near.pl contiene un'istanza di un problema di map coloring.  E` costituito da uninsieme di fatti

near(A,B)

che rappresentano gli stati confinanti, piu` un fatto

numcol(N)

che indica quanti colori si hanno a disposizione.

Scrivere un programma (in un linguaggio a scelta) che salva su un file mapcol.cnf la conversione in SAT del problema del mapcoloring con gli encoding visti (direct, support e log). Lo si provi con il SAT solver sviluppato nell'esercizio SAT e con MiniSat.

Chi vuole utilizzare ECLiPSe, puo` usare le primitive:

  • open(NomeFile,Modo,FileHandler) per aprire un file. Modo puo` essere read o write.
  • write(FileHandler,Dato) per scrivere sul file un Dato
  • writeln(FileHandler,Dato) per scrivere sul File un Dato e andare a capo
  • close(FileHandler)