25 martie 2015

Problema canibalilor si a misionarilor folosind KLEE

Despre problema canibalilor si a misionarilor am mai scris si aici, unde am prezentat o solutie clasica. Aceasta problema se mai poate rezolva si printr-un fel de forta bruta, folosind unealta KLEE

Klee genereaza automat teste cat mai exhaustive care sa acopere cat mai multe ramificatii, ghicind astfel cateva seturi de valori posibile pentru datele de intrare care trimit programul spre o ramura principala sau alta. Asadar, se pot afla si valorile pentru care se obtine solutia. 

Chiar daca pentru "Problema canibalilor si a misionarilor" timpul de executie a reiesit mult mai mare decat rezolvarea clasica, acesta vrea sa fie doar un model de cum se poate aplica Klee, care este cu siguranta mult mai util in alte situatii unde nu exista o rezolvare precisa.

Mai intai, cateva slide-uri introductive despre Klee:



Si in cele din urma, codul pentru problema canibalilor si a misionarilor (care desigur mai poate fi imbunatatit).


Niciun comentariu: