Correction devoir maison haïku

évaluation devoir maison

Vous avez tous réalisé un solveur fonctionnel, qui était en général basé sur 6 variables, une par catégorie de mot et par ligne. C’est plus lisible si vous utilisiez des chaînes de caractères pour les noms des variables pluôt que des chiffres, mais c’est un détail. Parfois vous avez bien documenté que vous avez changé le solveur pour qu’il boucle dans un ordre aléatoire sur les valeurs du domaine de la variable de branchement. Bien sûr cela ne permet pas une génération uniforme sur les solutions, mais ce n’était pas demandé.

Compter les syllabes était une tâche optionelle difficile. D’abord comment compter les syllabes d’un mot ? J’étais particulièrement impressionné par votre recherche dans ce sens. Vous avez proposé plusieurs possibilités, comme utiliser une bibliothèque de syllabation (pyphen), ou utiliser un autre lexique qui vient avec cette information (OpenLexicon), ou compter les groupes de voyelles (c’est la solution simpe que j’avais en tête). Puis comment imposer l’égalité entre les lignes ? Une solution simple était de faire le filtrage sur la suite des solutions générées. Une autre plus dans l’esprit de la programmation par contraintes, était d’utiliser des variables entières. J’avais pensé à quelque chose comme

variables

Pour chaque ligne i (1 ou 2):
Verbe_i : tous les verbes
Nom_i : tous les noms communs
Adj_i : tous les adjectifs
syllabes_i: tous les triplets d'entiers de 1 à k

où k est le plus grand nombre de syllables dans un mot du lexique.

contraintes:

pour chaque cat dans (Verbe, Nom, Adj):

cat_1 != cat_2

rime:

Adj_1[-1] == Adj_2[-1]

pour chaque ligne i:

syllabes_i[0] == nombre de syllabes dans Verbe_i
syllabes_i[1] == nombre de syllabes dans Nom_i
syllabes_i[2] == nombre de syllabes dans Adj_i

puis

sum(syllabes_1) == sum(syllabes_2) 

Il y a une difficulté technique que j’aurais pu vous éviter: le solveur que nous avons écrit en cours, retourne une solution sans restituer avant le domaine des variables. Ceci pose un problème lors de plusieurs appels successifs au solveur. Ça devrait être réglé dans le solveur dans le dépôt github.

Pour évaluer votre rendu, je me suis basé sur la documentation, le modèle, le code et éventuellement votre approche concernant les syllables. La note finale reflete également l’effort de vos réflexions et l’élégance de vos solutions.

Vos haikus:

Insulter la photographie ancienne / Commencer la réalité humaine

doute important monter / souvenir fort glisser

vouloir un voyage beau / exister un vent nouveau.

Voir la sécurité impossible / Sortir la situation difficile.

accompagner sentiment heureux / raconter maître vieux.

bateau bleu remonter / capitaine nouveau remarquer.

détester monde faux / descendre front sérieux.

éviter confiance bonne / revenir ombre étrange.

mari chercher nouveau / souvenir poser beau.

traverser froid gauche / espérer grand hôtel.

couvrir beau patron / ramener nouveau pouvoir.

Sauter l’instant difficile/ Bouger une prison jeune.

servir compte fort / rendre ennemi mort

fermer le bonjour bleu / boire le chien nouveau

Crier tout haut / parler seul mort

Apparaître temps grand / Chanter ciel froid

Sauter l’instant difficile / Bouger une prison jeune

Naître bonheur simple / Essayer avenir libre

et maintenant ne dites plus rien pendant un moment.