Ocaml grafi bfs

Sax031
Ragazzi devo scrivere un programma in ocaml che dato un grafo ed un insieme di colori, cioè di interi da 1 a N assegni un intero ad ogni vertice in modo che vertici adiacenti siano assegnati colori diversi utilizzando la ricerca in ampiezza.
C'è qualcuno che può aiutarmi?

Risposte
apatriarca
Come hai definito la struttura dati del grafo? 

Sax031
non lo definita, la funzione prenderà come parametro un grafo del tipo
let grafo=[(1,2);(1,3);(2,4);.........];;

apatriarca
Quindi il grafo è semplicemente la lista di tutti gli archi? Devi trovare semplicemente una soluzione o vuoi che abbia una particolare complessità?

Sax031
Il problema in pratica è quello della colorazione del grafo,si trova anche su Wikipedia,devo solo trovare una soluzione utilizzando la ricerca in ampiezza in ocaml, non è difficile l algoritmo è che mi trovo in difficoltà con la sintassi di ocaml

apatriarca
Che tipo di difficoltà trovi nel tradurre il programma in OCaml? Non riesci a tradurre un algoritmo imperativo nel paradigma funzionale? Inizia a scrivere l'algoritmo in pseudocodice e provo a darti una mano (non conosco bene il linguaggio ma ho esperienza con altri linguaggi simili).

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.