Question ayant des valeurs aléatoires qui "changent" entre le "sujet" et le "corrigé" : bug ?

Added by JL F about 9 years ago

Bonjour,

Je réalise un QCM dont certaines questions possèdent des valeurs random (tirées par AMC). Il arrive selon certaines circonstances (lesquelles ?) que ces valeurs soient "modifiées" par AMC entre le "sujet" et la "correction" : c'est-à-dire que les valeurs affichées entre ces deux PDF ne sont plus les mêmes !!!

A priori cela dépend du nombre de questions de ce type et du nombre total de sujet, mais je n'ai pas pu déterminer de relation "évidente".

Si je génère de nouveau le même sujet (sans aucune modification sur les sources latex), le sujet généré peut varier et au bout de quelques fois (hum, désolé de n'être pas plus précis, c'est variable dans le comportement d'AMC...), le "sujet" et le "corrigé" deviennent enfin identiques. Pour déterminer cela, je compare la 1ère page du sujet et de la correction.

Ce problème n'est pas reproductible de façon fiable, néanmoins je fourni en pièce jointe l'archive du projet avec notamment les fichiers
  • DOC-sujet.pdf
  • DOC-corrige.pdf
  • ./scans/1.png (1ère question de la 1ère page répondue correctement)
  • ./cr/corrections/pdf/0001.pdf (la correction de cette page est faite mais avec les MAUVAISES valeurs, celles visibles dans DOC-corrige.pdf)

J'ai essayé de "forcer" la main avec AMCrandomseed, mais cela ne change rien.

Pour reproduire : simplement générer le sujet et comparer sujet/corrige. Si les deux sont identiques, produire plus de sujets (200 permet généralement d'avoir ce problème).

Merci d'avance pour l'aide et le support

JL

test.7z - Archive contenant le projet AMC (941.6 kB)


Replies (7)

RE: Question ayant des valeurs aléatoires qui "changent" entre le "sujet" et le "corrigé" : bug ? - Added by Frédéric Bréal about 9 years ago

J'ai essayé de "forcer" la main avec AMCrandomseed, mais cela ne change rien.

Cette commande ne sert qu'à modifier le mélange des questions et réponses.

Dans votre cas, il faut forcer le paquet fp à prendre la même valeur de seed (l'origine de la suite pseudo-aléatoire).
C'est ce que je fais avec mes sujets.
J'ai créé une commande Nsujet dans le préambule.

%pour écrire le numéro du sujet en pied de page
\makeatletter
\def\Nsujet{\the\AMCid@etud}
\makeatother
\renewcommand{\AMCsubjectPageTag}{\Nsujet}

    \exemplaire{1}{
        \vspace{2mm}
\FPseed\Nsujet % <- Initialise le nombre pour la suite pseudo aléatoire
        \cleargroup                                                                  {temp}
        \melangegroupe{gBoole-gate-and}         \copygroup[0]{gBoole-gate-and}       {temp}
        \melangegroupe{temp}         
        \restituegroupe[0]{temp}
    }

Vous pouvez choisir n'importe quelle valeur (dans la limite du paquet fp.

\FPseed5

mais ici tous les élève auront les mêmes valeurs.

RE: Question ayant des valeurs aléatoires qui "changent" entre le "sujet" et le "corrigé" : bug ? - Added by Frédéric Bréal about 9 years ago

Par contre pour le paquet pgfmaths, que j'utilisais avant, je ne sais pas comment faire donc cette commande

\pgfmathrandominteger{\x}{1}{14} %Exclut 0000 et 1111 (trop faciles)

je l'ai remplacée par dans mes sujets
\FPeval{\x}{round(1+13*random,0)}

RE: Question ayant des valeurs aléatoires qui "changent" entre le "sujet" et le "corrigé" : bug ? - Added by Frédéric Bréal about 9 years ago

J'ai trouvé pour pgf (mais je n'ai pas testé sur votre sujet)

\pgfmathsetseed{ integer }

RE: Question ayant des valeurs aléatoires qui "changent" entre le "sujet" et le "corrigé" : bug ? - Added by Frédéric Bréal about 9 years ago

J'ai testé le sujet.
Le problème c'est que la correction est uniquement liée au sujet 1.

Je n'ai jamais réussi à activer et comprendre l'option correcindiv, c'est pour cela que je suis passé au copies pré-remplies. Chaque élève a sa propre correction avec des valeurs aléatoires.

RE: Question ayant des valeurs aléatoires qui "changent" entre le "sujet" et le "corrigé" : bug ? - Added by Alexis Bienvenüe about 9 years ago

Je n'ai jamais réussi à activer et comprendre l'option correcindiv,

Avec la version de développement d'AMC, on peut demander la fabrication du corrigé individuel depuis Edition/Préférences/Documents.

\pgfmathsetseed{ integer }

Il me semble effectivement que c'est la clé. Vous n'utilisez pas AMC pour rendre vos valeurs numériques aléatoires, mais PGF. Il faut absolument que plusieurs compilations de votre sujet donnent le même résultat, car sinon vous aurez de graves problèmes lors de la correction (pour extraire la barème et les bonnes réponses, AMC compile le document source). La bonne manière de faire cela est de fixer la graine du générateur aléatoire utilisé par PGF.

RE: Question ayant des valeurs aléatoires qui "changent" entre le "sujet" et le "corrigé" : bug ? - Added by JL F about 9 years ago

Merci !!!!!!
C'est la commande \pgfmathsetseed{ integer }. J'utilisais par ailleurs la commande \FPeval{\x}{round(....)} et je pensais la le PRNG était traité de la même façon avec pfg. D'où mon erreur...

RE: Question ayant des valeurs aléatoires qui "changent" entre le "sujet" et le "corrigé" : bug ? - Added by Frédéric Bréal about 9 years ago

Avec la version de développement d'AMC, on peut demander la fabrication du corrigé individuel depuis Edition/Préférences/Documents.

J'ai la version Auto Multiple Choice 1.2.2015.102901 et la case corrigé est cochée.

J'ai mis ceci dans le préambule (j'ai pris le sujet de JL F) mais je n'ai qu'une feuille en correction. Y a-t-il autre chose à rajouter ?

\usepackage[francais,bloc,completemulti,correcindiv]{automultiplechoice}

(1-7/7)