C'est toujours sympa de voir de nouveaux projets en répétition espacée :-) Ce qui serait bien, c'est qu'il y ait une sensibilisation à ce genre d'outils dès l'école, en particulier pour les langues !
En lisant ton code vite-fait, sauf erreur, je vois que tu utilises à peu près l'algorithme SM2 d'origine. Une petite amélioration facile qui est typiquement faite, c'est d'ajouter une touche de randomisation aux intervalles, par exemple de ±5%. Ça permet d'étaler un peu les révisions dans le temps, de sorte que même si un jour particulier tu apprends plus de nouvelles cartes que d'habitude, l'algorithme évite un pic de révisions dans le futur en partageant la charge un peu avec les jours proches.
Dans morji, j'utilise la fonction suivante pour calculer la valeur randomisée qui modifie l'intervalle, ±5% en général, avec des formules ad hoc un peu différentes pour les intervalles de moins de 60 jours.
proc morji::interval_noise {interval}{set noise 0set day 86400# use noise calculation similar to mnemosyne'sif{$interval<=10*$day}{set noise [expr{$day*rand()*2}]}elseif{$interval<=20*$day}{set noise [expr{$day*(rand()*5-2)}]}elseif{$interval<=60*$day}{set noise [expr{$day*(rand()*7-3)}]}else{set noise [expr{$interval*(-0.05+0.1* rand())}]}return[expr{int($noise/$day)}]}
# De la répétition espacée : chouette !
Posté par anaseto . En réponse au journal Flashcards en 1 clic pour perfectionner son anglais. Évalué à 5.
C'est toujours sympa de voir de nouveaux projets en répétition espacée :-) Ce qui serait bien, c'est qu'il y ait une sensibilisation à ce genre d'outils dès l'école, en particulier pour les langues !
En lisant ton code vite-fait, sauf erreur, je vois que tu utilises à peu près l'algorithme SM2 d'origine. Une petite amélioration facile qui est typiquement faite, c'est d'ajouter une touche de randomisation aux intervalles, par exemple de ±5%. Ça permet d'étaler un peu les révisions dans le temps, de sorte que même si un jour particulier tu apprends plus de nouvelles cartes que d'habitude, l'algorithme évite un pic de révisions dans le futur en partageant la charge un peu avec les jours proches.
Dans morji, j'utilise la fonction suivante pour calculer la valeur randomisée qui modifie l'intervalle, ±5% en général, avec des formules ad hoc un peu différentes pour les intervalles de moins de 60 jours.