Quelqu'un a des nouvelles de l'enseignement des maths ?

Discussions entre membres de la communauté, sur des sujets qui ne concernent que la communauté
Message
Auteur
ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1251 Message par ProfGrincheux » 02 mars 2021, 18:47

Ces gens-la sont très sérieux et très sincères mais ont été systématiquement critiqués et dénigrés comme ultra-élitistes.

Ceux dont les opinions politiques me sont connues sont pourtant très à gauche et ne sauraient être suspectés d'être favorables aux inégalités sociales. Kahane notamment a été assez longtemps au comité central du PCF.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1252 Message par WolfgangK » 03 mars 2021, 00:00

ProfGrincheux a écrit :
02 mars 2021, 18:47
Ces gens-la sont très sérieux et très sincères mais ont été systématiquement critiqués et dénigrés comme ultra-élitistes.

Ceux dont les opinions politiques me sont connues sont pourtant très à gauche et ne sauraient être suspectés d'être favorables aux inégalités sociales. Kahane notamment a été assez longtemps au comité central du PCF.
Le problème n'est pas d'être favorable ou défavorable aux inégalités sociales. Le problème, c'est si on veut se donner une obligation de moyens ou une obligation de résultats.
Et le problème pour la gauche c'est si l'obligation de moyens ne donne pas les résultats attendus.
Historiquement, il y avait au PC la volonté d'un nivellement par le haut.
Comme vous le remarquiez par ailleurs, la réalité a la tête dure, donc vouloir n'est pas pouvoir.
En plus, le temps joue contre les espérances, puisque plus une société est méritocratique a la génération N, moins elle l'a l'air à la génération N+1 (si la mobilité sociale a permis aux parents d'atteindre le niveau d'étude correspondant à leurs capacités cognitives, la mobilité intergénérationnelle sera minimale,les capacités cognitives étant corrélées à 0.7 entre époux et autant entre parents et enfants).

Donc comme les gens "de gauche" n'arrivent pas à comprendre qu'il serait préférable de renoncer à faire arriver tout le monde au même niveau scolaire / académique et faire plutôt en sorte que que tout le monde arrive à un niveau de vie décent indépendamment du niveau scolaire / académique.
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1253 Message par ProfGrincheux » 03 mars 2021, 09:30

Le point est que les réformes de l'enseignement ont été faites pour rendre plus égalitaire la société quand c'était la gauche et réduire les coûts quand c'était la droite.

Les maths ont notamment été mises au ban des accusées pour leur caractère élitiste anti-égalitaire. Non, en effet, tout le monde n'y arrive pas des qu'on dépasse l'arithmétique et la géométrie élémentaires. Même les statistiques descriptives ne sont pas bien comprises (regardez les erreurs de raisonnement que la fixation sur la moyenne pour les séries statistiques fait commettre à des gens instruits).

Que les idées de la gauche sur l'éducation soient absurdes n'est pas une nouveauté pour moi. C'est au sujet de l'éducation que les premiers symptômes de mon conservatisme se sont manifestés il y a fort longtemps. Faire baisser le niveau de l'élite est juste débile, il suffit de contempler le gouvernement actuel pour le constater.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1254 Message par ProfGrincheux » 03 mars 2021, 10:50

Sinon, je suis d'accord avec vous. Il n'est pas raisonnable de vouloir amener tout le monde au même niveau scolaire. En particulier de vouloir le faire au même rythme.

Et pour les maths, il faut du temps, beaucoup de temps, pour faire les exos et internaliser les routines de calcul. Les profs de maths du secondaire, notamment au lycée n'ont plus le temps de le faire, les profs de CPGE doivent le faire mais c'est du travail très ingrat.

À la fac les horaires d'enseignement sont trop réduits pour le faire avec des étudiants qui il faut bien le dire sont pour la plupart moyens (l'autonomie pour travailler tout seul ils y arrivent en M2, en M1 pour les bons, en L3 pour les excellents) . S'ils survivent on leur fait avoir le CAPES ou un M de niveau équivalent . Les agrégés qu'on forme aujourd'hui ont presque tous fait 2 ans de CPGE.

Ce que je suis payé à faire est de produire des diplômés qui ont au moins ce niveau, je préférerais d'ailleurs en produire plus et de niveau plus élevé. Une partie des jeunes lauréats du CAPES n'a pas la compétence disciplinaire pour enseigner la spécialité maths au lycee.

Mais on a un gros taux d' échec en L1/2. S'ils ne sont pas capables de faire un calcul de 3 lignes sans se tromper c'est super dur à leur apprendre.

Le seul truc que je peux faire c'est de leur conseiller dd faire des tonnes d' exos calculatoires chez eux. Mais ca veut dire 100h de boulot pour une UE de 6 ECTS (un semestre comprend 30 ECTS). Sachant que s'ils en font la moitié et ont toujours procédé ainsi, ils valident les doigts dans le nez. Parce que la moyenne des paquets de copie est toujours supérieure ou égale à 8/20 et atteint facilement 10 si le prof est gentil. C'est une convention sociale: quand un collègue rend un paquet de copies à 3/20, je sais par expérience que les ennuis du directeur de département commencent....
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1255 Message par WolfgangK » 03 mars 2021, 11:00

Congressman for #NY16. Former middle school principal.
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1256 Message par ProfGrincheux » 03 mars 2021, 11:02

Si le thermomètre ne donne pas la température voulue, cassons le thermomètre.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1257 Message par WolfgangK » 03 mars 2021, 11:11

ProfGrincheux a écrit :
03 mars 2021, 10:50
Sinon, je suis d'accord avec vous. Il n'est pas raisonnable de vouloir amener tout le monde au même niveau scolaire. En particulier de vouloir le faire au même rythme.

Et pour les maths, il faut du temps, beaucoup de temps, pour faire les exos et internaliser les routines de calcul. Les profs de maths du secondaire, notamment au lycée n'ont plus le temps de le faire, les profs de CPGE doivent le faire mais c'est du travail très ingrat.

À la fac les horaires d'enseignement sont trop réduits pour le faire avec des étudiants qui il faut bien le dire sont pour la plupart moyens (l'autonomie pour travailler tout seul ils y arrivent en M2, en M1 pour les bons, en L3 pour les excellents) . S'ils survivent on leur fait avoir le CAPES ou un M de niveau équivalent . Les agrégés qu'on forme aujourd'hui ont presque tous fait 2 ans de CPGE.

Ce que je suis payé à faire est de produire des diplômés qui ont au moins ce niveau, je préférerais d'ailleurs en produire plus et de niveau plus élevé. Une partie des jeunes lauréats du CAPES n'a pas la compétence disciplinaire pour enseigner la spécialité maths au lycee.

Mais on a un gros taux d' échec en L1/2. S'ils ne sont pas capables de faire un calcul de 3 lignes sans se tromper c'est super dur à leur apprendre.

Le seul truc que je peux faire c'est de leur conseiller dd faire des tonnes d' exos calculatoires chez eux.
Les tonnes d'exercices calculatoire, je me souviens les avoir fait vers 13-14 ans…
Pendant les vancances et le soir à la maison, jusqu'à ce qu'il n'y ait plus de fautes "bêtes" / d'inattention. En, fait jusqu'à ce qu'il n'y ait plus besoin de faire attention pour faire sans faute.
Qu'est-ce que les gamins font au collège / lycée, s'ils ne font pas ça ?

Pour le calcul, c'est comme pour la programmation : il faut comprendre que c'est un langage. C'est facile d'apprendre un langage, sauf handicap lourd, n'importe qui peut le faire. Mais c'est super long : il faut des années pour le faire. Et c'est simple : il suffit de pratiquer. Mais c'est long parce qu'il est indispensable de beaucoup pratiquer. Il ne suffit pas de comprendre les règles calculatoires de même qu'il ne suffit pas de comprendre les règles de grammaire d'un langage (et de connaître le vocabulaire) pour le parler, parce que ce ne sont pas les processus de réflexion laborieuse qui doivent être utilisés si l'on veut aller assez vite.
ProfGrincheux a écrit :
03 mars 2021, 10:50
Sachant que s'ils en font la moitié et ont toujours procédé ainsi, ils valident les doigts dans le nez. Parce que la moyenne des paquets de copie est toujours supérieure ou égale à 8/20 et atteint facilement 10 si le prof est gentil. C'est une convention sociale: quand un collègue rend un paquet de copies à 3/20, je sais par expérience que les ennuis du directeur de département commencent....
C'est pour ça que la baisse du niveau suit mécaniquement la baisse / suppression de sélection : les enseignants adaptent évidemment leurs exigences au public.
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1258 Message par ProfGrincheux » 03 mars 2021, 11:28

Le problème est que sur ce point nous pensons exactement pareil et que notre point de vue est minoritaire.

L'acquisition des automatismes de calcul n'est pas l'objectif des programmes de maths du secondaire. Un taux d'erreur exorbitant est toléré. 1% au niveau N est exorbitant car ca devient 10% au niveau N+1 puis 50% au niveau N+2. Et à 50% de taux d'erreur plus rien n'est possible à part redoubler et reconstruire les bases.

Ce fait idiot est le coeur du problème pédagogique en maths.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1259 Message par WolfgangK » 04 mars 2021, 23:53

ProfGrincheux a écrit :
03 mars 2021, 11:28
Le problème est que sur ce point nous pensons exactement pareil et que notre point de vue est minoritaire.
Comment est-ce possible ? Ce n'est même pas une question de niveau ou culture mathématique (je suis à peu près aussi nul qu'on peut l'être en ayant un diplôme d'ingénieur), mais n'importe qui de compétent en n'importe quoi (sport, instrument de musique,…) sait que la pratique répétitive est indispensable à la maîtrise des automatismes de base qui sont indispensables pour progresser.
Personne ne peut faire autrement pour acquérir un niveau de compétence quelconque, parce que c'est comme ça que fonctionne le cerveau (mes souvenirs de neuroscience sont trop flous, mais on doit pratiquer pour faire changer la zone du cerveau mise en jeu en créant un module "autonome" qui ne mobilise plus la concentration).
ProfGrincheux a écrit :
03 mars 2021, 11:28
L'acquisition des automatismes de calcul n'est pas l'objectif des programmes de maths du secondaire. Un taux d'erreur exorbitant est toléré. 1% au niveau N est exorbitant car ca devient 10% au niveau N+1 puis 50% au niveau N+2. Et à 50% de taux d'erreur plus rien n'est possible à part redoubler et reconstruire les bases.

Ce fait idiot est le coeur du problème pédagogique en maths.
Là aussi c'est une évidence, chaque étape multiplie les risques de résultat faux et une solution à un problème mathématique peut nécessiter de nombreuses étapes. Mais qui monterait dans une voiture dont les roues auraient une chance sur 100 de se démonter à chaque tour de roue ?
Modifié en dernier par WolfgangK le 05 mars 2021, 01:25, modifié 1 fois.
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1260 Message par ProfGrincheux » 05 mars 2021, 01:03

Il y a des évidences que les gens refusent de voir. Ça s’appelle les biais idéologiques. La chute du niveau des bacheliers est, par exemple, tue soigneusement (le message commence à passer pour les maths). Ainsi que la dégradation spectaculaire de la condition sociale des enseignants du secondaire au cours des 20 dernières années. Et le faible niveau en sciences de la plupart des professeurs des écoles (évidemment, pour résoudre le problème, il faut d’urgence étudier le chamanisme andin :roll: ).

Il est à peu près clair que les IUFM/ESPE/INSPE sont un échec mais comme c’est un bastion des sciences de l’éducation et des didacticiens, que ça leur procure des postes, et que c’est eux qui sont supposés être les experts il ne faut pas attendre d’eux qu’ils le reconnaissent.

Tout le monde a des biais idéologiques d’ailleurs. Même ceux qui croient être pragmatiques et dépourvus d’idéologie.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1261 Message par WolfgangK » 07 mars 2021, 15:52



https://scihub.unblockit.link/10.1007/978-3-030-44292-7

p 227
Queering Mathematics: Disrupting Binary Oppositions in Mathematics Pre-service Teacher Education
In this chapter, we draw on this social definition of borders to elaborate on processes of social division around gender and sexuality1 in mathematics education.
goal in this chapter is to support pre-service teachers in recognizing and chal-lenging salient borders around gender, sexuality, and other identity categories in mathematics education. Ultimately, we look toward opportunities for hybridity cre-ated by these borders and in the blurring or queering of them. We begin with a review of literature, framed by Anzaldúa’s and Nail’s ideas about borders, that doc-uments the extent to which sexist and heterosexist ideologies patrol, reinforce, and perpetuate borders in mathematics that marginalize women and queer people. Next, against this backdrop, we present recommendations that will be useful for teachers, teacher educators, and mathematics education researchers alike about how to queer mathematics education
J'espère que ProfGrincheux est rassuré : Sifar va pouvoir améliorer le niveau des élèves qui arriveront dans le supérieur grâce aux recherche en enseignement des maths.
Heureusement que je suis là pour diffuser la recherche :mrgreen: !
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1262 Message par ProfGrincheux » 07 mars 2021, 20:04

Je suis vachement rassuré.

C'est une démonstration par l'absurde de ce à quoi on arrive en partant de la thèse que les mathématiques sont une construction sociale.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
Jeffrey
Modérateur
Modérateur
Messages : 10235
Enregistré le : 12 févr. 2012, 19:59

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1263 Message par Jeffrey » 07 mars 2021, 20:40

WolfgangK a écrit :
07 mars 2021, 15:52


https://scihub.unblockit.link/10.1007/978-3-030-44292-7

p 227
Queering Mathematics: Disrupting Binary Oppositions in Mathematics Pre-service Teacher Education
In this chapter, we draw on this social definition of borders to elaborate on processes of social division around gender and sexuality1 in mathematics education.
goal in this chapter is to support pre-service teachers in recognizing and chal-lenging salient borders around gender, sexuality, and other identity categories in mathematics education. Ultimately, we look toward opportunities for hybridity cre-ated by these borders and in the blurring or queering of them. We begin with a review of literature, framed by Anzaldúa’s and Nail’s ideas about borders, that doc-uments the extent to which sexist and heterosexist ideologies patrol, reinforce, and perpetuate borders in mathematics that marginalize women and queer people. Next, against this backdrop, we present recommendations that will be useful for teachers, teacher educators, and mathematics education researchers alike about how to queer mathematics education
J'espère que ProfGrincheux est rassuré : Sifar va pouvoir améliorer le niveau des élèves qui arriveront dans le supérieur grâce aux recherche en enseignement des maths.
Heureusement que je suis là pour diffuser la recherche :mrgreen: !
C’est qui ce pitre ?
J’écoute rarement les vidéos, mais c’est complément loufoque.
Quis custodiet ipsos custodes?

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1264 Message par WolfgangK » 07 mars 2021, 23:28

Jeffrey a écrit :
07 mars 2021, 20:40
WolfgangK a écrit :
07 mars 2021, 15:52


https://scihub.unblockit.link/10.1007/978-3-030-44292-7

p 227
Queering Mathematics: Disrupting Binary Oppositions in Mathematics Pre-service Teacher Education
In this chapter, we draw on this social definition of borders to elaborate on processes of social division around gender and sexuality1 in mathematics education.
goal in this chapter is to support pre-service teachers in recognizing and chal-lenging salient borders around gender, sexuality, and other identity categories in mathematics education. Ultimately, we look toward opportunities for hybridity cre-ated by these borders and in the blurring or queering of them. We begin with a review of literature, framed by Anzaldúa’s and Nail’s ideas about borders, that doc-uments the extent to which sexist and heterosexist ideologies patrol, reinforce, and perpetuate borders in mathematics that marginalize women and queer people. Next, against this backdrop, we present recommendations that will be useful for teachers, teacher educators, and mathematics education researchers alike about how to queer mathematics education
J'espère que ProfGrincheux est rassuré : Sifar va pouvoir améliorer le niveau des élèves qui arriveront dans le supérieur grâce aux recherche en enseignement des maths.
Heureusement que je suis là pour diffuser la recherche :mrgreen: !
C’est qui ce pitre ?
J’écoute rarement les vidéos, mais c’est complément loufoque.
Le mec n'est pas intéressant en lui-même : j'ai seulement mis la vidéo parce que c'est elle qui m'a fait découvrir l'article mis en lien. C'est l'article qui est "intéressant". Le pdf est gros, mais on peut sauter à la page 227 pour trouver l'article en question dont j'ai mis un extrait.
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

sanglier78
Messages : 898
Enregistré le : 28 avr. 2020, 19:43

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1265 Message par sanglier78 » 16 mars 2021, 12:06

De pire en pire
https://www.valeursactuelles.com/societ ... le-comment

cela promet pour l'informatique et la base 2

Avatar du membre
immoglobine
+
+
Messages : 2612
Enregistré le : 17 oct. 2007, 19:06
Localisation : Lyon (69)

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1266 Message par immoglobine » 16 mars 2021, 14:37

sanglier78 a écrit :
16 mars 2021, 12:06
De pire en pire
https://www.valeursactuelles.com/societ ... le-comment

cela promet pour l'informatique et la base 2
A mort Louis croix V bâton !
La propriété privée nous a rendus si stupides et si bornés qu'un objet n'est nôtre que lorsque nous le possédons.
K. Marx [Manuscrits de 1844]

lisa
Messages : 892
Enregistré le : 19 juin 2008, 12:04

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1267 Message par lisa » 16 mars 2021, 15:03

sanglier78 a écrit :
16 mars 2021, 12:06
De pire en pire
https://www.valeursactuelles.com/societ ... le-comment

cela promet pour l'informatique et la base 2
Dans le même registre
Remarque d'une élève ( 15 ans à l'époque . Elle doit avoir le double aujourd'hui)
"On m'a offert une montre à cadran. C'est nul"
????
"Ben oui...quand on me demande l'heure cela me demande un gros effort..et je ne suis pas toujours sûre de ma réponse..alors qu'avec une "moderne" quand c'est 15h 42 c'est écrit" :D

Avatar du membre
wasabi
~~+
~~+
Messages : 22450
Enregistré le : 27 janv. 2008, 12:32

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1268 Message par wasabi » 16 mars 2021, 15:20

lisa a écrit :
16 mars 2021, 15:03
Dans le même registre
Remarque d'une élève ( 15 ans à l'époque . Elle doit avoir le double aujourd'hui)
"On m'a offert une montre à cadran. C'est nul"
????
"Ben oui...quand on me demande l'heure cela me demande un gros effort..et je ne suis pas toujours sûre de ma réponse..alors qu'avec une "moderne" quand c'est 15h 42 c'est écrit" :D
normal, en plus sur les montres ils savent pas écrire "IV" ils mettent "IIII"
C'est la même idée que les notaires, qui ne savent pas écrire mille, ou mille neuf cent quatre vingt, ils écrivent respectivement mil et dix neuf cent quatre vingt
c'est juste de l'ésotérisme
"Le marché peut rester irrationnel plus longtemps que vous ne pouvez rester solvable" - J.M. Keynes, 1936

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1269 Message par WolfgangK » 01 avr. 2021, 15:38

Croisement avec la file humour :
Image
Image
Image
Image
Image
Image
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1270 Message par WolfgangK » 02 avr. 2021, 21:56

Je ne me souviens plus dans quelle file on avait des colles de maths, alors je poste ici :
Image
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

Avatar du membre
henda
~~+
~~+
Messages : 7426
Enregistré le : 23 déc. 2010, 13:56

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1271 Message par henda » 03 avr. 2021, 07:06

381654729

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1272 Message par ProfGrincheux » 03 avr. 2021, 09:16

Je suis arrivé à la main à une situation où j’ai seulement 96 cas à tester dont celui donné par henda.

C’est à dire que la permutation des 9 chiffres qui donne l’ecriture décimale du nombre se décompose en produit d’une permutation de {1,3,5,7} d’une de {2,6} et d’une {4,8}. Pas trouvé d’astuce pour voir que la permutation est triviale sur {2,6} et {4,8}.

A ce stade, j’arrête de chercher des astuces et je bourrine.

Tu as utilisé l’ordi, henda?
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
henda
~~+
~~+
Messages : 7426
Enregistré le : 23 déc. 2010, 13:56

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1273 Message par henda » 03 avr. 2021, 09:40

Oui :wink: (j'ai pas osé proposer ma méthode sur ce fil dédié aux maths, de peur de décevoir les matheux :oops:)

J'ai tout de même cherché quelques portions de solutions pour simplifier le problème (genre le chiffre 5), puis j'ai commencé par les premiers chiffres pour tâter la complexité, et ensuite j'ai fait mouliner la machine car je ne suis pas un gros matheux, peu de temps hélas à consacrer à cet exercice intellectuel, mais par contre je suis informaticien donc j'ai vite évalué que ça me prendrait moins de temps à coder une moulinette bourrine.

Ensuite j'ai trouvé sur le net la solution par une voie plus matheuse : http://villemin.gerard.free.fr/Wwwgvmm/ ... 816547.htm

La solution du collégien/lycéen serait probablement de recopier le texte dans google et de trouver une page qui donne la solution à l'énnoncé :mrgreen:

En python :

Code : Tout sélectionner

def duplicateDigits(n):
    return [digit for digit in n if n.count(digit) > 1]

def validNumber(n):
    return (int(n) % len(n) == 0) and (len(duplicateDigits(n)) == 0)

units = [str(x) for x in range(1, 10)]
numbers = units
for step in range(1, 9):
    numbers = [n + u for n in numbers for u in units if validNumber(n + u)]

print(numbers)
Ici les nombres sont traités comme des chaînes de caractères (par commodité). Ainsi 'n + u' est la concaténation du nombre 'n' et du chiffre 'u' ('123' + '4' = '1234').

L'algo produit toutes les combinaisons qui marchent pour chaque ordre de grandeur en partant de 1 digit jusqu'à 9 digits. À chaque fois qu'on rajoute un digit, on repart des combinaisons déjà validées à l'étape précédente qu'on augmente d'un digit, et à chaque étape on filtre uniquement les solutions valides.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1274 Message par ProfGrincheux » 03 avr. 2021, 10:31

J’ai arrêté la chasse aux astuces quand tu as donné la solution. Je n’ai pas eu le temps de réduire mod 3 la congruence mod 6.
Ensuite, je suis très lent quand il faut coder. Je ne sais même pas quel langage je choisirais.....
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1275 Message par WolfgangK » 03 avr. 2021, 10:51

ProfGrincheux a écrit :
03 avr. 2021, 10:31

Ensuite, je suis très lent quand il faut coder. Je ne sais même pas quel langage je choisirais.....
Idéalement en assembler :mrgreen: ? Pour https://en.m.wikipedia.org/wiki/Intel_BCD_opcode

En pratique en c++.
Le problème est la nature duale ( hombre et séquence de chiffres) des données manipulées.
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1276 Message par ProfGrincheux » 03 avr. 2021, 13:22

Effectivement, le langage machine serait le choix le plus naturel de mon point de vue.

À ma grande honte je n’ai jamais écrit une ligne en c++ ni en python. Je suis au courant que LaTeX est MT-complet mais je ne l’utilise pas ainsi! Bref, je suis nul en programmation et c’est normal il aurait fallu me formater quand j’étais formatable.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1277 Message par WolfgangK » 03 avr. 2021, 15:24

henda a écrit :
03 avr. 2021, 09:40
Oui :wink: (j'ai pas osé proposer ma méthode sur ce fil dédié aux maths, de peur de décevoir les matheux :oops:)

J'ai tout de même cherché quelques portions de solutions pour simplifier le problème (genre le chiffre 5), puis j'ai commencé par les premiers chiffres pour tâter la complexité, et ensuite j'ai fait mouliner la machine car je ne suis pas un gros matheux, peu de temps hélas à consacrer à cet exercice intellectuel, mais par contre je suis informaticien donc j'ai vite évalué que ça me prendrait moins de temps à coder une moulinette bourrine.

Ensuite j'ai trouvé sur le net la solution par une voie plus matheuse : http://villemin.gerard.free.fr/Wwwgvmm/ ... 816547.htm

La solution du collégien/lycéen serait probablement de recopier le texte dans google et de trouver une page qui donne la solution à l'énnoncé :mrgreen:

En python :

Code : Tout sélectionner

def duplicateDigits(n):
    return [digit for digit in n if n.count(digit) > 1]

def validNumber(n):
    return (int(n) % len(n) == 0) and (len(duplicateDigits(n)) == 0)

units = [str(x) for x in range(1, 10)]
numbers = units
for step in range(1, 9):
    numbers = [n + u for n in numbers for u in units if validNumber(n + u)]

print(numbers)
Ici les nombres sont traités comme des chaînes de caractères (par commodité). Ainsi 'n + u' est la concaténation du nombre 'n' et du chiffre 'u' ('123' + '4' = '1234').

L'algo produit toutes les combinaisons qui marchent pour chaque ordre de grandeur en partant de 1 digit jusqu'à 9 digits. À chaque fois qu'on rajoute un digit, on repart des combinaisons déjà validées à l'étape précédente qu'on augmente d'un digit, et à chaque étape on filtre uniquement les solutions valides.
Image
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

Avatar du membre
henda
~~+
~~+
Messages : 7426
Enregistré le : 23 déc. 2010, 13:56

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1278 Message par henda » 03 avr. 2021, 20:00

:mrgreen:

À noter que l'algo ne teste que 2781 nombres composés de 2 à 9 chiffres.

Avatar du membre
henda
~~+
~~+
Messages : 7426
Enregistré le : 23 déc. 2010, 13:56

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1279 Message par henda » 03 avr. 2021, 20:18

ProfGrincheux a écrit :
03 avr. 2021, 13:22
Effectivement, le langage machine serait le choix le plus naturel de mon point de vue.
Pourquoi le langage machine te semblerait le plus naturel ? C'est ce qu'il y a de moins expressif comme type de langage.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1280 Message par ProfGrincheux » 03 avr. 2021, 20:48

C'est du second degré, de l'auto-ironie. :wink: Tu m'as grillé par une méthode brutale, bien joué.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
henda
~~+
~~+
Messages : 7426
Enregistré le : 23 déc. 2010, 13:56

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1281 Message par henda » 03 avr. 2021, 21:07

Ah ça me rassure :)

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1282 Message par WolfgangK » 03 avr. 2021, 22:13

henda a écrit :
03 avr. 2021, 09:40
Oui :wink: (j'ai pas osé proposer ma méthode sur ce fil dédié aux maths, de peur de décevoir les matheux :oops:)

J'ai tout de même cherché quelques portions de solutions pour simplifier le problème (genre le chiffre 5), puis j'ai commencé par les premiers chiffres pour tâter la complexité, et ensuite j'ai fait mouliner la machine car je ne suis pas un gros matheux, peu de temps hélas à consacrer à cet exercice intellectuel, mais par contre je suis informaticien donc j'ai vite évalué que ça me prendrait moins de temps à coder une moulinette bourrine.

Ensuite j'ai trouvé sur le net la solution par une voie plus matheuse : http://villemin.gerard.free.fr/Wwwgvmm/ ... 816547.htm

La solution du collégien/lycéen serait probablement de recopier le texte dans google et de trouver une page qui donne la solution à l'énnoncé :mrgreen:

En python :

Code : Tout sélectionner

def duplicateDigits(n):
    return [digit for digit in n if n.count(digit) > 1]

def validNumber(n):
    return (int(n) % len(n) == 0) and (len(duplicateDigits(n)) == 0)

units = [str(x) for x in range(1, 10)]
numbers = units
for step in range(1, 9):
    numbers = [n + u for n in numbers for u in units if validNumber(n + u)]

print(numbers)
Ici les nombres sont traités comme des chaînes de caractères (par commodité). Ainsi 'n + u' est la concaténation du nombre 'n' et du chiffre 'u' ('123' + '4' = '1234').

L'algo produit toutes les combinaisons qui marchent pour chaque ordre de grandeur en partant de 1 digit jusqu'à 9 digits. À chaque fois qu'on rajoute un digit, on repart des combinaisons déjà validées à l'étape précédente qu'on augmente d'un digit, et à chaque étape on filtre uniquement les solutions valides.
J'ai pas pu m'empêcher de faire une traduction en C++ :

Code : Tout sélectionner

#include <vector>
#include <algorithm>
#include <iostream>
#include <iterator>
#include <chrono>

/*
g++ Slow.cxx -O6 -march=native -o Slow -std=c++17
./Slow
381654729
0.423816ms
 */

typedef short digit_t;
/*
def duplicateDigits(n):
    return [digit for digit in n if n.count(digit) > 1]
*/
bool duplicate_digits(std::vector<digit_t> const& n){
  bool already[]= {false, false, false, false, false, false, false, false, false, false};
  for(auto it= n.begin(); it != n.end(); ++it){
    if(already[*it]){
      return true;
    }
    already[*it]= true;
  }
  return false;
}
  
/*
def validNumber(n):
    return (int(n) % len(n) == 0) and (len(duplicateDigits(n)) == 0)
*/

bool valid_number(std::vector<digit_t> const & n){
  if(duplicate_digits(n)) return false;
  int res=0;
  for(auto it=n.begin(); it != n.end(); ++it){
    res= res*10+ (*it);
  }
  return (res % n.size() == 0);
}

  /*
  units = [str(x) for x in range(1, 10)]
numbers = units
for step in range(1, 9):
    numbers = [n + u for n in numbers for u in units if validNumber(n + u)]

print(numbers)
  */

int main(int argc, char* argv[]){
  using std::chrono::high_resolution_clock;
  using std::chrono::duration;
  using std::chrono::milliseconds;

  auto start = high_resolution_clock::now();
  
  std::vector<std::vector<digit_t> > numbers;
  for(digit_t u= 1; u != 10; ++u){
    std::vector<digit_t>tmp;
    tmp.push_back(u);
    numbers.push_back(tmp);
  }
  for(int step=1; step != 9; ++step){
     std::vector<std::vector<digit_t> > tmp;
    for(auto it= numbers.begin(); it != numbers.end(); ++it){
      std::vector<digit_t> n(*it);
      for(digit_t u= 1; u != 10; ++u){
	n.push_back(u);
	if(valid_number(n)){
	  tmp.push_back(n);
	}
	n.pop_back();
      }
    }
    numbers=tmp;
  }

  std::copy(numbers[0].begin(), numbers[0].end(), std::ostream_iterator<int>(std::cout));
  duration<double, std::milli> elapsed = high_resolution_clock::now() - start;
  std::cout << std::endl<< elapsed.count() << "ms"<<std::endl;
  return 0;
}
python → 1.5ms chez moi, C++ 0.4ms : ça vaut pas la peine de se fouler en fait :oops:
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

Avatar du membre
wasabi
~~+
~~+
Messages : 22450
Enregistré le : 27 janv. 2008, 12:32

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1283 Message par wasabi » 03 avr. 2021, 22:26

WolfgangK a écrit :
03 avr. 2021, 22:13
python → 1.5ms chez moi, C++ 0.4ms : ça vaut pas la peine de se fouler en fait :oops:
suffit de faire les remarques triviales sur les divisions (que les emplacements pairs ont des chiffres pair, que le 5eme emplacement a le 5, que donc le premier emplacement ne peut contenir que 1 3 7 ou 9...) et vous divisez déjà le temps de calcul par deux
Et j'ai sûrement passé moins de temps à faire se constat ou l'écrire que vous à tapez le code, même en comptant mon temps double pour compenser la plus piètre accélération :mrgreen:
"Le marché peut rester irrationnel plus longtemps que vous ne pouvez rester solvable" - J.M. Keynes, 1936

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1284 Message par WolfgangK » 04 avr. 2021, 00:43

wasabi a écrit :
03 avr. 2021, 22:26
WolfgangK a écrit :
03 avr. 2021, 22:13
python → 1.5ms chez moi, C++ 0.4ms : ça vaut pas la peine de se fouler en fait :oops:
suffit de faire les remarques triviales sur les divisions (que les emplacements pairs ont des chiffres pair, que le 5eme emplacement a le 5, que donc le premier emplacement ne peut contenir que 1 3 7 ou 9...) et vous divisez déjà le temps de calcul par deux
Et j'ai sûrement passé moins de temps à faire se constat ou l'écrire que vous à tapez le code, même en comptant mon temps double pour compenser la plus piètre accélération :mrgreen:
Vous êtes le Fresh Grad et Henda est le senior dev :P .

Le nombre de solutions à tester est si dérisoire qu'il n'est pas évident qu'on gagne vraiment à la diminuer si c'est au prix d'un code plus complexe.
Toutes les solutions se valent si elles donnent le même résultat. C'est juste parce que je ne peux pas faire un code d'aussi haut niveau qu'henda pour une tâche d'aussi bas niveau que je ferais les choses différemment :

Code : Tout sélectionner

#include <iostream>
#include <array>
#include <vector>
#include <algorithm>
#include <chrono>

struct number{
  std::array<short, 9> digits;
  int used=0;
  number():digits({1,2,3,4,5,6,7,8,9})
  {}

  template<typename Out>
  void add_digit(Out out) {
    for(int i=used; i != digits.size(); ++i){
      std::swap(digits[used], digits[i]);
      ++used;
      if(static_cast<unsigned int>(*this) % used == 0){
	*out= *this;
	++out;
      }
      --used;
    }
  }

  explicit operator unsigned int() const{
    unsigned int res=0;
    for(int i=0; i != used; ++i){
      res= res*10+digits[i];
    }
    return res;
  }
  
};

int main(int argc, char* argv[]){
  using std::chrono::high_resolution_clock;
  using std::chrono::duration;
  using std::chrono::milliseconds;

  auto start = high_resolution_clock::now();

  number init;
  std::vector<number> res(1,init);
  for(int i=0; i !=9; ++i){
    std::vector<number> tmp;
    std::for_each(res.begin(), res.end(),[&tmp](auto v){
      v.add_digit(std::back_inserter(tmp));
    });
    std::swap(res, tmp);
  }
  std::cout<<static_cast<unsigned int>(res[0])<<std::endl;
  duration<double, std::milli> elapsed = high_resolution_clock::now() - start;
  std::cout << std::endl<< elapsed.count() << "ms"<<std::endl;

  return 0;
}
0.18ms chez moi.
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1285 Message par ProfGrincheux » 04 avr. 2021, 08:42

wasabi a écrit :
03 avr. 2021, 22:26
WolfgangK a écrit :
03 avr. 2021, 22:13
python → 1.5ms chez moi, C++ 0.4ms : ça vaut pas la peine de se fouler en fait :oops:
suffit de faire les remarques triviales sur les divisions (que les emplacements pairs ont des chiffres pair, que le 5eme emplacement a le 5, que donc le premier emplacement ne peut contenir que 1 3 7 ou 9...) et vous divisez déjà le temps de calcul par deux
Et j'ai sûrement passé moins de temps à faire se constat ou l'écrire que vous à tapez le code, même en comptant mon temps double pour compenser la plus piètre accélération :mrgreen:
Le temps de calcul n’est pas divisé par 2 mais par le coefficient $9!/4!^2$.

Mais ça vous laisse 5076 cas. C’est effectivement une complexité ridicule des que vous avez accès à un ordinateur. Ça m’a pris un peu de temps de descendre a 96 cas. Évidemment nos amis ont rigolé avec les 9!, pardon 8!, malheureux cas à traiter.

La limite de ces méthodes de brutes c’est que le même problème en sexagésimal prendrait, je pense, un temps supérieur à l’âge de l’univers. En sexagésimal il faudrait amha approcher le problème de façon différente.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
henda
~~+
~~+
Messages : 7426
Enregistré le : 23 déc. 2010, 13:56

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1286 Message par henda » 04 avr. 2021, 13:01

WolfgangK a écrit :
04 avr. 2021, 00:43

Code : Tout sélectionner

#include <iostream>
#include <array>
#include <vector>
#include <algorithm>
#include <chrono>

struct number{
  std::array<short, 9> digits;
  int used=0;
  number():digits({1,2,3,4,5,6,7,8,9})
  {}

  template<typename Out>
  void add_digit(Out out) {
    for(int i=used; i != digits.size(); ++i){
      std::swap(digits[used], digits[i]);
      ++used;
      if(static_cast<unsigned int>(*this) % used == 0){
	*out= *this;
	++out;
      }
      --used;
    }
  }

  explicit operator unsigned int() const{
    unsigned int res=0;
    for(int i=0; i != used; ++i){
      res= res*10+digits[i];
    }
    return res;
  }
  
};

int main(int argc, char* argv[]){
  using std::chrono::high_resolution_clock;
  using std::chrono::duration;
  using std::chrono::milliseconds;

  auto start = high_resolution_clock::now();

  number init;
  std::vector<number> res(1,init);
  for(int i=0; i !=9; ++i){
    std::vector<number> tmp;
    std::for_each(res.begin(), res.end(),[&tmp](auto v){
      v.add_digit(std::back_inserter(tmp));
    });
    std::swap(res, tmp);
  }
  std::cout<<static_cast<unsigned int>(res[0])<<std::endl;
  duration<double, std::milli> elapsed = high_resolution_clock::now() - start;
  std::cout << std::endl<< elapsed.count() << "ms"<<std::endl;

  return 0;
}
0.18ms chez moi.
Tu comptes l'affichage du résultat dans le temps d'exécution ? Ça doit représenter la moitié du temps total.
Toute façon avec de telles faibles durées de calcul, ce problème ne constitue pas un bon benchmark.

En fait ici on a même un problème sans paramètre et qui n'a qu'une solution unique, donc on n'a finalement pas beaucoup de contraintes. Il n'y a pas de problème de performances car peu de cas à tester pour une machine. C'est pas un algo qu'on va industrialiser non plus, une fois qu'on a le résultat c'est fini et le programme peut même aller à la benne. Il n'y a pas de maintenance future à réaliser. On peut finalement le coder de manière dégueulasse et le choix du langage portera alors sur celui dans lequel on se sent suffisamment à l'aise pour le résoudre au plus vite (il n'y a pas de gain ici à apprendre un nouveau langage qui serait supposé plus efficace pour résoudre ce problème). Pour du jetable quick & dirty, python est souvent assez pratique.
Le choix du langage peut aussi être influencé par le besoin de montrer son code à un certain public (étudiants, ingénieurs, débutants, experts, ...) et de ce qu'on veut montrer (un algo, une construction spécifique d'un langage, etc.).

Pour en revenir au C++, je suis souvent étonné de l'engouement qu'il suscite.
J'aimais bien ce langage quand j'ai appris à développer, il y a près de 20 ans, mais aujourd'hui je le trouve rebutant. La syntaxe reste cryptique pour le profane malgré ses évolutions (en fait ils ont peut être parfois aggravé les choses en introduisant de nouvelles fonctionnalités), là où d'autres langages ont su la simplifier. Il est un mélange de constructions bas niveau et haut niveau en même temps. Sa bibliothèque standard par exemple, n'est franchement pas évidente à appréhender comparée à celle des autres langages. Je vois bien l'argument des performances (quand il y en a besoin) mais c'est tout. En terme de lisibilité, c'est devenu l'horreur alors que c'est désormais un critère fondamental pour moi. Juste par curiosité, pourquoi utilises-tu plutôt la forme « ++i » que « i++ » ?

Pour comparer, voici une version en Ada, que je considère être un langage de même niveau que C++ (langage compilé nativement avec à peu près les mêmes fonctionnalités) :

Code : Tout sélectionner

with Ada.Containers.Indefinite_Vectors;
with Ada.Real_Time;
with Ada.Text_IO;

procedure Main is

   subtype Number is String;

   package Number_Vectors is new Ada.Containers.Indefinite_Vectors
     (Index_Type   => Natural,
      Element_Type => Number);
   
   function Has_No_Duplicate_Digits (N : Number) return Boolean
   is
      Found : array (Character range '1' .. '9') of Boolean := (others => False);
   begin
      for Digit of N loop
         if Found (Digit) then
            return False;
         end if;

         Found (Digit) := True;
      end loop;

      return True;
   end Has_No_Duplicate_Digits;

   function Is_Valid_Number (N : Number) return Boolean is
   begin
      return Has_No_Duplicate_Digits (N) and
        Integer'Value (N) mod N'Length = 0;
   end Is_Valid_Number;

   Units   : constant String := "123456789";
   Numbers : Number_Vectors.Vector := Number_Vectors.To_Vector ("", 1);

   Start   : Ada.Real_Time.Time;
   Elapsed : Duration;

   use type Ada.Real_Time.Time;

begin
   
   Start := Ada.Real_Time.Clock;

   for Step in 1 .. 9 loop
      declare
         New_Numbers : Number_Vectors.Vector;
      begin
         for N of Numbers loop
            for U of Units loop
               if Is_Valid_Number (N & U) then
                  New_Numbers.Append (N & U);
               end if;
            end loop;
         end loop;

         Numbers.Assign (New_Numbers);
      end; 
   end loop;
   
   Elapsed := Ada.Real_Time.To_Duration (Ada.Real_Time.Clock - Start);

   Ada.Text_IO.Put_Line (Numbers.First_Element);
   Ada.Text_IO.Put_Line (Numbers.Length'Image & " solution(s)");
   Ada.Text_IO.Put_Line (Elapsed'Image & " seconds");

end Main;

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1287 Message par WolfgangK » 04 avr. 2021, 14:00

henda a écrit :
04 avr. 2021, 13:01
WolfgangK a écrit :
04 avr. 2021, 00:43

Code : Tout sélectionner

#include <iostream>
#include <array>
#include <vector>
#include <algorithm>
#include <chrono>

struct number{
  std::array<short, 9> digits;
  int used=0;
  number():digits({1,2,3,4,5,6,7,8,9})
  {}

  template<typename Out>
  void add_digit(Out out) {
    for(int i=used; i != digits.size(); ++i){
      std::swap(digits[used], digits[i]);
      ++used;
      if(static_cast<unsigned int>(*this) % used == 0){
	*out= *this;
	++out;
      }
      --used;
    }
  }

  explicit operator unsigned int() const{
    unsigned int res=0;
    for(int i=0; i != used; ++i){
      res= res*10+digits[i];
    }
    return res;
  }
  
};

int main(int argc, char* argv[]){
  using std::chrono::high_resolution_clock;
  using std::chrono::duration;
  using std::chrono::milliseconds;

  auto start = high_resolution_clock::now();

  number init;
  std::vector<number> res(1,init);
  for(int i=0; i !=9; ++i){
    std::vector<number> tmp;
    std::for_each(res.begin(), res.end(),[&tmp](auto v){
      v.add_digit(std::back_inserter(tmp));
    });
    std::swap(res, tmp);
  }
  std::cout<<static_cast<unsigned int>(res[0])<<std::endl;
  duration<double, std::milli> elapsed = high_resolution_clock::now() - start;
  std::cout << std::endl<< elapsed.count() << "ms"<<std::endl;

  return 0;
}
0.18ms chez moi.
Tu comptes l'affichage du résultat dans le temps d'exécution ? Ça doit représenter la moitié du temps total.
Toute façon avec de telles faibles durées de calcul, ce problème ne constitue pas un bon benchmark.

En fait ici on a même un problème sans paramètre et qui n'a qu'une solution unique, donc on n'a finalement pas beaucoup de contraintes. Il n'y a pas de problème de performances car peu de cas à tester pour une machine. C'est pas un algo qu'on va industrialiser non plus, une fois qu'on a le résultat c'est fini et le programme peut même aller à la benne. Il n'y a pas de maintenance future à réaliser. On peut finalement le coder de manière dégueulasse et le choix du langage portera alors sur celui dans lequel on se sent suffisamment à l'aise pour le résoudre au plus vite (il n'y a pas de gain ici à apprendre un nouveau langage qui serait supposé plus efficace pour résoudre ce problème). Pour du jetable quick & dirty, python est souvent assez pratique.
Le choix du langage peut aussi être influencé par le besoin de montrer son code à un certain public (étudiants, ingénieurs, débutants, experts, ...) et de ce qu'on veut montrer (un algo, une construction spécifique d'un langage, etc.).
D'accord à 100%. Au passage, le fait que le programme soit sans paramètre implique qu'on pourrait faire calculer le résultat par le compilateur C++ et générer un programme qui se contente de l'afficher :D .
Le reste appelle une réponse plus complète : à suivre … :)
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

Nouveau stephanois
-+
-+
Messages : 2413
Enregistré le : 09 mars 2013, 23:44

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1288 Message par Nouveau stephanois » 04 avr. 2021, 15:01

Bonjour, auriez-vous un manuel de maths généraliste à conseiller pour aller au delà du niveau Terminale ? Je ne suis pas matheux c'est juste par curiosité et défi personnel.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1289 Message par ProfGrincheux » 04 avr. 2021, 19:42

N. Bourbaki. Éléments de Mathématique. :mrgreen:

Je ne connais pas de manuel raisonnable pour l’autoformation à ce niveau. Un proche âgé de 45 ans s’est inscrit pour le fun en L1 en enseignement à distance à la fac de Besançon. Ça l’amuse beaucoup, il a un esprit assez original. Il peine à valider les UE mais c’est surtout parce qu’il ne maîtrise pas le stress de l’examen en temps limité. Et puis ça n’a pas d’importance, il n’a pas besoin de ça pour gagner sa vie, il est professeur des écoles .
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
Jeffrey
Modérateur
Modérateur
Messages : 10235
Enregistré le : 12 févr. 2012, 19:59

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1290 Message par Jeffrey » 04 avr. 2021, 20:38

WolfgangK a écrit :
02 avr. 2021, 21:56
Je ne me souviens plus dans quelle file on avait des colles de maths, alors je poste ici :
Image
c'est un problème de combinatoire. Il n'est résolu que par des méthodes de crible, parce que structurellement vous n'identifiez pas une règle qui assure l'existence ou l'unicité de la solution.
Certaines des contraintes n'en sont pas. Ainsi les deux extrémités peuvent être oubliées : tout nombre écrit avec les chiffres de 1 à 9 est divisible par 9, et tout nombre de 1 à 9 est divisible par 1.
On peut le résoudre avec un parcours dans un graphe (et sa programmation, par exemple, le chiffre central doit être divisible par 5, c'est donc 5), c'est une contrainte forte.
Par exemple, vous avez un graphe complet avec 9 sommets, les chiffres 1 à 9, vous passez d'un sommet au suivant selon une règle. La première règle est "doit être divisible par deux", puis on avance, il faut parcourir la totalité des sommets.
Si vous prenez le problème comme cela, vous avez un problème qu'on appelle de type "branch and cut". C'est à dire que vous allez vous rendre compte qu'à un certain avancement, vous ne pouvez pas satisfaire la contrainte suivante. Il faut supprimer tous les embranchements qui partent de là.

Une suggestion pour faire un truc qui teste plus vos compétences de programmation :
reprendre le même problème en base B quelconque et trouver quelles bases donnent l'existence d'une solution au moins.
En base 3 :
un nombre de deux chiffres ab divisible par 2, puis a divisible par 1 , réponse [2,1] = 7 pas divisible par 2 et [1,2]=5 non plus, il n'y en a pas.
En base 4 : solution [3,2,1]
Enumérez les solutions et les bases associées et indiquez le temps de résolution.
Quis custodiet ipsos custodes?

Avatar du membre
Sifar
~~+
~~+
Messages : 7198
Enregistré le : 13 mai 2008, 19:52

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1291 Message par Sifar » 04 avr. 2021, 20:55

Nouveau stephanois a écrit :
04 avr. 2021, 15:01
Bonjour, auriez-vous un manuel de maths généraliste à conseiller pour aller au delà du niveau Terminale ? Je ne suis pas matheux c'est juste par curiosité et défi personnel.
Mon réflexe serait de chercher un cours en ligne de MPSI ou PCSI.
http://perso.eleves.ens-rennes.fr/~tpie ... s_mpsi.pdf
http://les.mathematiques.free.fr/pdf/livre.pdf
L'idéal est de trouver un site de prof de maths de MPSI/PCSI, pour avoir aussi les fiches d'exercices, les devoirs maisons, etc...
http://christophebertault.fr/
Edit: le dernier lien est excellent.
Modifié en dernier par Sifar le 04 avr. 2021, 21:21, modifié 1 fois.
...and suddenly, out of the blue, and with absolutely no reason at all people voted for Adolf Hitler.

Ils n'ont pas de homard ? Qu'ils mangent des kebabs!
( Adapté de Sibeth N'diaye, porte-parole du gouvernement de la République Française. ( ou pas. )

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1292 Message par ProfGrincheux » 04 avr. 2021, 21:20

Jeffrey a écrit :
04 avr. 2021, 20:38
WolfgangK a écrit :
02 avr. 2021, 21:56
Je ne me souviens plus dans quelle file on avait des colles de maths, alors je poste ici :
Image
c'est un problème de combinatoire. Il n'est résolu que par des méthodes de crible, parce que structurellement vous n'identifiez pas une règle qui assure l'existence ou l'unicité de la solution.
Certaines des contraintes n'en sont pas. Ainsi les deux extrémités peuvent être oubliées : tout nombre écrit avec les chiffres de 1 à 9 est divisible par 9, et tout nombre de 1 à 9 est divisible par 1.
On peut le résoudre avec un parcours dans un graphe (et sa programmation, par exemple, le chiffre central doit être divisible par 5, c'est donc 5), c'est une contrainte forte.
Par exemple, vous avez un graphe complet avec 9 sommets, les chiffres 1 à 9, vous passez d'un sommet au suivant selon une règle. La première règle est "doit être divisible par deux", puis on avance, il faut parcourir la totalité des sommets.
Si vous prenez le problème comme cela, vous avez un problème qu'on appelle de type "branch and cut". C'est à dire que vous allez vous rendre compte qu'à un certain avancement, vous ne pouvez pas satisfaire la contrainte suivante. Il faut supprimer tous les embranchements qui partent de là.

Une suggestion pour faire un truc qui teste plus vos compétences de programmation :
reprendre le même problème en base B quelconque et trouver quelles bases donnent l'existence d'une solution au moins.
En base 3 :
un nombre de deux chiffres ab divisible par 2, puis a divisible par 1 , réponse [2,1] = 7 pas divisible par 2 et [1,2]=5 non plus, il n'y en a pas.
En base 4 : solution [3,2,1]
Enumérez les solutions et les bases associées et indiquez le temps de résolution.
Tu noteras que j’ai posé la question B=60.

Comme tu as l’air plus fort que moi en info, j’en profite pour te poser quelques questions (typiques de comment pense un matheux pur).

Quelle est la complexité du problème en B? Le problème est il NP-complet? NP-difficile?

Les autres ont le droit de répondre.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1293 Message par ProfGrincheux » 04 avr. 2021, 21:41

Sifar a écrit :
04 avr. 2021, 20:55
Nouveau stephanois a écrit :
04 avr. 2021, 15:01
Bonjour, auriez-vous un manuel de maths généraliste à conseiller pour aller au delà du niveau Terminale ? Je ne suis pas matheux c'est juste par curiosité et défi personnel.
Mon réflexe serait de chercher un cours en ligne de MPSI ou PCSI.
http://perso.eleves.ens-rennes.fr/~tpie ... s_mpsi.pdf
http://les.mathematiques.free.fr/pdf/livre.pdf
L'idéal est de trouver un site de prof de maths de MPSI/PCSI, pour avoir aussi les fiches d'exercices, les devoirs maisons, etc...
http://christophebertault.fr/
Edit: le dernier lien est excellent.
L’autoformation n’est pour le moment pas possible à ce niveau. Ça viendra peut être un jour avec l’IA mais pour le moment il y a encore besoin d’un prof.

Je suis arrivé au point où l’auto formation en maths est possible quand je suis entré à l’ENS. Mais alors comme maintenant quand j’apprends une théorie nouvelle je dois poser des questions à qui la maîtrise mieux que moi. Ou discuter au tableau avec quelqu’un qui en est au même point que moi. Sinon je loupe toujours un truc.

Sauf si c’est moi qui la fabrique. Dans ce cas je sais que je vais me gourer et j’en discute au tableau avec d’autres.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
Jeffrey
Modérateur
Modérateur
Messages : 10235
Enregistré le : 12 févr. 2012, 19:59

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1294 Message par Jeffrey » 04 avr. 2021, 21:53

ProfGrincheux a écrit :
04 avr. 2021, 21:20


Tu noteras que j’ai posé la question B=60.
où ça ? je n'ai pas vu dans le fil ?
ProfGrincheux a écrit : Comme tu as l’air plus fort que moi en info, j’en profite pour te poser quelques questions (typiques de comment pense un matheux pur).

Quelle est la complexité du problème en B? Le problème est il NP-complet? NP-difficile?
En fait, la question est un peu mal posée.
Un problème n'a pas de complexité donnée. Ce sont les algorithmes de résolution qui ont une complexité.
Par exemple, si tu veux trier des éléments par ordre de taille, tu peux les comparer en cherchant le plus grand, puis le second, puis le troisième... Si tu as n éléments, tu a une complexité algorithmique en n² . Il y a d'autres méthodes plus efficaces, qui aboutissent à une complexité quasi linéaire (en nlog(n))
Mais là, on a un problème, et pas de méthode a priori de résolution.
Ensuite, il y a un truc fréquemment pas vu quand on parle de complexité. NP, P et autres sont des classes de complexité temporelles. Mais en règle générale, la complexité d'un algo est à la fois temporelle et spatiale.
Par exemple, la méthode de Henda est un algorithme récursif. Il énumère les solutions avec un digit, puis passe à deux avec une boucle récursive.
L'appel récursif, qui est géré par la machine, est un étalement spatial. La machine stocke les données d'appels itérés et réassemble à travers la pile d'appel les solutions itérées.
Son algo, du point de vue de la complexité temporelle par rapport à la grandeur B me semble être de classe E, cad exponentielle, parce qu'il y a B premiers digits, puis B-1 seconds digits, etc, et comme on sait, B! est d'ordre exponentiel par la formule de ce vieil écossais connu des taupins.
ProfGrincheux a écrit : Les autres ont le droit de répondre.
ou de faire mieux
Quis custodiet ipsos custodes?

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1295 Message par ProfGrincheux » 04 avr. 2021, 22:09

Ce matin à 8h42.

B! ça je vois bien comment on y arrive. Mais il y a peut être une façon différente de voir le problème. Moi je vois un systeme triangulaire de B-2 congruences a B inconnues à coefficients entiers de taille B dont les solutions de taille inferieure à B sont peut être moins nombreuses que B^B. Remarque ça ressemble à du B^B/B! et donc..... Ensuite faut trier celles qui ne sont pas dans les hyperplans X_i=X_j.
Modifié en dernier par ProfGrincheux le 04 avr. 2021, 22:31, modifié 5 fois.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.

Avatar du membre
Jeffrey
Modérateur
Modérateur
Messages : 10235
Enregistré le : 12 févr. 2012, 19:59

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1296 Message par Jeffrey » 04 avr. 2021, 22:18

ProfGrincheux a écrit :
04 avr. 2021, 22:09
Ce matin à 8h42.
ah oui, effectivement
Quis custodiet ipsos custodes?

Nouveau stephanois
-+
-+
Messages : 2413
Enregistré le : 09 mars 2013, 23:44

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1297 Message par Nouveau stephanois » 05 avr. 2021, 07:31

@Sifar: merci pour les liens.

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1298 Message par WolfgangK » 05 avr. 2021, 14:57

Jeffrey a écrit :
04 avr. 2021, 20:38
WolfgangK a écrit :
02 avr. 2021, 21:56
Je ne me souviens plus dans quelle file on avait des colles de maths, alors je poste ici :
Image
c'est un problème de combinatoire. Il n'est résolu que par des méthodes de crible, parce que structurellement vous n'identifiez pas une règle qui assure l'existence ou l'unicité de la solution.
Certaines des contraintes n'en sont pas. Ainsi les deux extrémités peuvent être oubliées : tout nombre écrit avec les chiffres de 1 à 9 est divisible par 9, et tout nombre de 1 à 9 est divisible par 1.
On peut le résoudre avec un parcours dans un graphe (et sa programmation, par exemple, le chiffre central doit être divisible par 5, c'est donc 5), c'est une contrainte forte.
Par exemple, vous avez un graphe complet avec 9 sommets, les chiffres 1 à 9, vous passez d'un sommet au suivant selon une règle. La première règle est "doit être divisible par deux", puis on avance, il faut parcourir la totalité des sommets.
Si vous prenez le problème comme cela, vous avez un problème qu'on appelle de type "branch and cut". C'est à dire que vous allez vous rendre compte qu'à un certain avancement, vous ne pouvez pas satisfaire la contrainte suivante. Il faut supprimer tous les embranchements qui partent de là.

Une suggestion pour faire un truc qui teste plus vos compétences de programmation :
reprendre le même problème en base B quelconque et trouver quelles bases donnent l'existence d'une solution au moins.
En base 3 :
un nombre de deux chiffres ab divisible par 2, puis a divisible par 1 , réponse [2,1] = 7 pas divisible par 2 et [1,2]=5 non plus, il n'y en a pas.
En base 4 : solution [3,2,1]
Enumérez les solutions et les bases associées et indiquez le temps de résolution.
Je vois que toi aussi tu as conservé une âme d'étudiant et que la victoire d'un dév senior comme Henda te laisse sur ta faim. Comment modifier le problème pour que la meilleure réponse soit aussi la plus intéressante ?
Je voyais le problème comme un arbre implicite avec pour racine un nombre de 0 chiffres et pour feuilles des nombres de B chiffres en base B. La méthode d'Henda est un parcours en largeur d'abord pour arriver à toutes les feuilles. Est-ce que pour rendre le problème plus intéressant, c'est-à-dire pour lequel un parcours plus malin que la largeur d'abord serait plus efficace, il ne faudrait pas aussi cherche se contenter d'une solution s'il y en a une ?
Mais alors se pose la question des heuristiques de parcours :
- quel sommet de l'arbre il est pertinent d'explorer
- quel arc choisir alors

On pourrait être tenté de faire un parcours en profondeur d'abord pour le choix des sommets, vu qu'on veut arriver au plus vite à une feuille. Je n'ai pas d'intuition a priori sur l'ordre des arcs (chiffre à ajouter) : en général on cherche à fermer le maximum de possibilités le plus tôt possible pour rencontrer les culs-de-sacs le plus tôt possible, non ? Mais là est-ce qu'il y aurait une façon de faire ça ?
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

Avatar du membre
WolfgangK
~~+
~~+
Messages : 11258
Enregistré le : 20 juin 2011, 00:02

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1299 Message par WolfgangK » 05 avr. 2021, 15:01

Pour revenir aux maths, même si on reste un peu côté informatique :
http://multimaths.net/
L'islamophobie n'est pas plus du racisme que l'antisionisme n'est de l'antisémitisme.
Que les racistes soient islamophobes n'implique pas que les islamophobes soient racistes.

ProfGrincheux
+
+
Messages : 2971
Enregistré le : 28 févr. 2019, 20:46

Re: Quelqu'un a des nouvelles de l'enseignement des maths ?

#1300 Message par ProfGrincheux » 05 avr. 2021, 15:35

L'info théorique est extrêmement proche des maths. Comme la physique théorique. A l'origine c'est une branche des maths appliquées et il en reste quelque chose. Je connais un petit nombre de collegues classés en 27 qui, fondamentalement, font des maths. Par exemple les combinatoriciens.

La méthode utilisée par henda est naturelle quand tu ne trouves pas de structure ou d'astuce. L'informatique (les computers) a été inventée au départ pour ne pas avoir à faire certains calculs interminables et fastidieux. Ca ne permet cependant pas de tout faire.
Ignorés: pimono, Laurent, Manfred, ddv, maud lepage 75.