Quelques outils :
http://skaya.enix.org/webs/systeme/
max.* : fichier de test "barbare" (croissance extrêmement rapide)
- max.lif : au format "lif" (utilisé par pas mal de programmes disponibles sur le Net)
- max.bin : au format "binaire" demandé par le projet
- max.asc : au format "ascii" demandé par le projet
Outils de conversion (travaillent sur stdin/stdout) :
- ascii2bin.py : petit programme Python convertissant du format ascii vers le format binaire
- lif2ascii.py : petit programme Python convertissant du format lif vers le format ascii
(il y a pas mal d'exemples au format "lif" disponibles sur le Net)
Points à vérifier :
Partie 1 (algo)
- noter le type de structure de données utilisé (tableau, champ de bits, liste, ...) ; par exemple : "liste de lignes, chaque ligne est un champ de bits, utilisation de deux structures séparées pour étape N et N+1"
- laisser tourner avec "max", essayer de noter à partir de quel moment le programme n'arrive plus à faire 1 itération par seconde ; par exemple "plante au bout de 50 itérations", ou encore "impossible de faire plus d'une itération par seconde, passe 300 itérations (je n'ai pas été plus loin, trop long)"
- noter si le rapport fait une analyse (même sommaire) de la complexité temps et/ou mémoire ; par exemple : "petite analyse de la complexité : O(VC) en temps, O(C) en mémoire, où V est le nombre moyen de voisins et C le nombre de cellules", ou encore "pas d'analyse de complexité"
- s'il n'y a pas d'analyse de complexité, évaluer très grossièrement la complexité ; par exemple : "algorithme très naïf, fait 8 parcours complets d'une liste de longueur C pour chaque cellule!!!"
- noter si le rapport fait état d'une justification de la technique utilisée
- noter s'il y a quelquechose de particulier ; par exemple : "passe d'une liste chaînée de cellules à une liste chaînée de blocs au delà d'une certaine densité, sur des zones de 10x10 cellules"