Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pp:25:teme:haskell-sat [2025/05/02 15:16]
mihnea.muraru [Etapa 2]
pp:25:teme:haskell-sat [2025/05/08 23:34] (current)
mihnea.muraru [Haskell: SAT Solving]
Line 2: Line 2:
  
   * Data publicării:​ 09.04.2025   * Data publicării:​ 09.04.2025
-  * Data ultimei modificări: ​30.04.2025+  * Data ultimei modificări: ​08.05.2025
   * Deadline hard: ziua laboratorului 10   * Deadline hard: ziua laboratorului 10
   * [[https://​curs.upb.ro/​2024/​mod/​forum/​view.php?​id=152382|Forum]]   * [[https://​curs.upb.ro/​2024/​mod/​forum/​view.php?​id=152382|Forum]]
Line 250: Line 250:
 ==== Aplicație la problema 3-colorare ==== ==== Aplicație la problema 3-colorare ====
  
-Problema **//​3-colorare//​** a unui **graf neorientat** urmărește asocierea ​uneia dintre trei culori (''​Red'',​ ''​Green'',​ ''​Blue''​) fiecărui nod din graf, astfel încât oricare două **noduri adiacente** să fie **colorate diferit**. Problema poate fi rezolvată prin **reducere la SAT**, parcurgând etapele:+Problema **//​3-colorare//​** a unui **graf neorientat** urmărește asocierea ​unei culori ​din trei (''​Red'',​ ''​Green'',​ ''​Blue''​) fiecărui nod din graf, astfel încât oricare două **noduri adiacente** să fie **colorate diferit**. Problema poate fi rezolvată prin **reducere la SAT**, parcurgând etapele:
  
   - **Codificarea** instanței //​3-colorare//​ într-o formulă CNF.   - **Codificarea** instanței //​3-colorare//​ într-o formulă CNF.
Line 278: Line 278:
 A treia etapă a temei abordează **rezolvarea** clauzelor, **învățarea** clauzelor, algoritmul de **satisfacere** și aplicația la problema **//​3-colorare//​**. A treia etapă a temei abordează **rezolvarea** clauzelor, **învățarea** clauzelor, algoritmul de **satisfacere** și aplicația la problema **//​3-colorare//​**.
  
-Construcțiile și mecanismele de limbaj pe care le veți exploata în rezolvare, pe lângă cele din etapa 1 și 2, sunt:+Construcțiile și mecanismele de limbaj pe care le veți exploata în rezolvare, pe lângă cele din etapele ​1 și 2, sunt:
  
   * **polimorfismul ad-hoc**   * **polimorfismul ad-hoc**
Line 285: Line 285:
 Modulul de interes din **schelet** este ''​Solver'',​ care conține **operațiile** pe care trebuie să le implementați. Găsiți detaliile despre **funcționalitate** și despre **constrângerile de implementare**,​ precum și **exemple**,​ direct în fișier. Aveți de completat definițiile care încep cu ''​%%*** TODO ***%%''​. Modulul de interes din **schelet** este ''​Solver'',​ care conține **operațiile** pe care trebuie să le implementați. Găsiți detaliile despre **funcționalitate** și despre **constrângerile de implementare**,​ precum și **exemple**,​ direct în fișier. Aveți de completat definițiile care încep cu ''​%%*** TODO ***%%''​.
  
-Pentru **rularea testelor**, încărcați în interpretor modulul ''​TestSolver''​ și evaluați ''​main''​.+Pentru **rularea testelor**, încărcați în interpretor modulul ''​TestSolver''​ și evaluați ''​main''​. Ultimul test (''​stress''​) utilizează grafuri mai mari și execuția poate dura câteva secunde.
  
 Este suficient ca arhiva pentru **vmchecker** să conțină modulele ''​Solver'',​ ''​ExtendedFormula''​ din etapa 2 și ''​Formula''​ din etapa 1. Este suficient ca arhiva pentru **vmchecker** să conțină modulele ''​Solver'',​ ''​ExtendedFormula''​ din etapa 2 și ''​Formula''​ din etapa 1.
Line 302: Line 302:
 ===== Changelog ===== ===== Changelog =====
  
 +  * 08.05 (23:30): Publicat testele etapei 3 și actualizat tipurile ''​Graph'',​ ''​Color''​ și ''​ThreeColoring''​ din ''​Solver.hs''​ cu ''​deriving (Show, Eq)''​ în loc de ''​deriving Show''​.
   * 30.04 (22:30): Publicat etapa 3, momentan fără teste   * 30.04 (22:30): Publicat etapa 3, momentan fără teste
   * 27.04 (09:50): Etapa 2: Actualizat teste ''​backtrackToUnitClause''​   * 27.04 (09:50): Etapa 2: Actualizat teste ''​backtrackToUnitClause''​
pp/25/teme/haskell-sat.1746188189.txt.gz · Last modified: 2025/05/02 15:16 by mihnea.muraru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0