Skip to content

Conversation

@kilpikonna
Copy link
Collaborator

Implémentation des fonctions démandées aux questions 4 et 6 pour l'instant, + lecture d'un fichier.

J'ai testé sur plusieurs exemples et j'ai vérifiée à la main le résultat. Mais ça ne veut pas dire que ça marche à 100 % (j'ai vraiment envie de dire oui, mais ce n'était pas évident au niveau des indices).

J'ai modifié un peu des cas de base proposés, car avec l'approche de l'énoncé, il y avait des dépassement de bordes. Pour les éviter, il fallait traiter le cas où l=1 séparement.

kilpikonna and others added 21 commits October 29, 2017 17:04
Implémentation des fonctions démandées aux questions 4 et 6 pour l'instant, + lecture d'un fichier.

J'ai testé sur plusieurs exemples et j'ai vérifiée à la main le résultat. Mais ça ne veut pas dire que ça marche à 100 % (j'ai vraiment envie de dire oui, mais ce n'était pas évident au niveau des indices). 

J'ai modifié un peu des cas de base proposés, car avec l'approche de l'énoncé, il y avait des dépassement de bordes. Pour les éviter, il fallait traiter le cas où l=1 séparement.
Je ne suis pas très à l'aise avec Python, donc je ne suis pas sûre comment faire des constantes. J'ai crée une classe des constantes pour l'instant (une approche trouvée sur l'internet plusieurs fois), mais je ne suis pas sûre si c'est une façon bonne et propre de faire...
J'ai inversé les valeurs de noir et blanc (si on l'affiche à l'aide de plt.imshow(), on a bien noir en noir et blanc en blanc). J'ai mis la valeur de NOT_COLORED en 0.5, ce qui s'affiche en gris sur le graphique.
Ajout d'une fonction de coloration (question 7). Pas commentée, mais suit strictement le pseudo-code donné, bien testée et fait ce qu'il faut. 

Ajout de l'affichage du résultat, et appel de la fonction de coloration
Si il y a aucun bloc, la ligne ne pas être coloriée si il y a déjà une case fixée a noire.
La fonction colour_line_bis a été remplacée par une version complexe. Je garde la version précédente pour qu'on puisse décider laquelle on garde. Cette version est plus lente, mais donne des résultats plus précis. 

D'ailleurs, il y a quelques petites erreurs (comportement bizzare) dans la version précédente. Sur une des examples, il y a un dépassement de bords. Comme je pense qu'on ne la gardera pas, j'ai pas fixé cela...
Comparaison de la vitesse de la fonction colour_line_bis (la vergion originale naive avec la version plus complexe).
Comparaison des résultats obtenus par la méthode "naive" et la méthode "plus sophistiquée".
Erreur trouvé sur la ligne 102 - si on calcule T[j][0], on s'intéresse s'il n'y a pas de noir sur j+1 premières cases uniquement!!! Pas sur toute la ligne!
Fonction colour_line_bis corrigée.
TODO : supprimer des variables, puis mesurer les temps, générer les images, etc.
Ajout de la phase pretraitement ainsi que la mise à jour du programme linéaire après le pretraitement. Ajout d'un import mogpl_part2 pour pouvoir utiliser la fonction algo_dynamique (mais il faudrait mieux diviser le code - mettre les fonctions en commun dans un autre fichier, et les appeler à partir des mogpl_partx, x = 1,2,3).
…hangeant les variables au lieu des contraintes.
Modifications des variables au liea d'ajout des contraintes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants