Articles

Techniques de calcul mental

Sunday, 08 January 2012
|
Écrit par
Grégory Soutadé

Calcul mental

Introduction

Voici quelques techniques pour accélérer le calcul mental. Ces techniques sont très *personnelles* et nécessitent de déjà bien savoir manipuler les méthodes traditionnelles.

Quand on manipule des nombres toute la journée, on est souvent amené à faire des opérations de tête (calcul mental). Un ordinateur, lui, n'a pas de problème, tous les chiffres sont représentés en base 2 (binaire, 0 et 1), les opérations sont donc simples et il est capables de faire des boucles rapidement, trop facile. En plus il a plein de mémoire ... Contrairement à un ordinateur, nous utilisons majoritairement le système décimal :

  • C'est cool
  • On a dix doigts
  • Ça donne des chiffres ronds

Bref, outre le pourquoi du comment de l'utilisation de cette base, le système décimal impose (comme les autres systèmes) des règles à respecter pour chaque opération (+, -, *, /). On apprend ses règles à l'école, je ne reviendrai donc pas dessus.


Calcul par approximation et raffinage

Décomposition

L'idée de cette technique est de transformer une opération "complexe" en une somme d'opérations simples. En base décimale, on pourrait qualifier une "opération simple" comme étant une opération portant sur des nombres ronds. On va donc transformer un des deux opérandes (nombre de part et d'autre de l'opérateur [+, -, *, /]) vers son entier rond le plus proche, effectuer l'opération (qui devient "triviale") puis appliquer la différence. Un exemple vaut mieux qu'un long discours :

198 + 43 (qui équivalent à (200 - 2) + 42)
--> 200 + 43 = 243
243 - 2 = 241

Avec la méthode classique de calcul on obtient :
198 + 43
8 + 3 = 11 --> je pose 1 et je retiens 1 (résultat intermédaire 1)
4 + 9 = 13
13 + 1 = 14 --> je pose 4 et je retiens 1 (résultat intermédaire 41)
0 + 1 = 1
1 + 1 = 2
Résultat final 241

Pour cet exemple on note qu'avec la méthode classique il faut 7 opérations contre 3 pour la technique optimisée. Il y a donc un net avantage à décomposer l'opération. Il faut cependant faire attention, l'opération finale de soustraction peut entraîner des erreurs de calculs.

Calcul de gauche à droite

Dans la série "approximation puis raffinage" il y a aussi l'astuce du calcul de "gauche à droite". Mais on nous apprend le contraire ??? Ben oui... Sauf que le calcul de "gauche à droite" a un gros avantage : économiser de la mémoire. Si on reprend l'exemple précédent (la méthode classique), on remarque que pour une opération membre à membre il faut "poser" un chiffre, puis lui appliquer la retenue précédente. Alors que si on effectue le même calcul de gauche à droite, on a tout de suite le résultat intermédiaire (approximation) que l'on raffine au fur et à mesure, nul besoin de conserver une retenue puisque l'on réalise directement l'opération de propagation :

198 + 43
19 + 4 = 23 (résultat intermédiaire 238)
238 + 3 = 241

En terme de nombre d'opérations, on n'est pas forcément beaucoup plus performant si on pose les retenues qu'avec la méthode classique. Mais en terme de mémorisation, c'est beaucoup plus efficace, et puis si on se trompe sur les dernières opérations, le résultat sera globalement approché (pratique pour des vérifications).

 

Dans le désordre

Il est parfois plus facile de réaliser une suite opération dans un ordre différent de l'ordre initial. Par exemple:

17 + 44 + 23

Transformons le en :

17 + 23 + 44

17  + 23 = 40 (facile grâce au 7 et au 3 qui sont complémentaires)
40  + 44 = 84

Néanmoins, réordonner une suite n'est pas des plus trivial.

 

Multiplication

Pour ce qui est de la multiplication, il faut combiner les deux techniques :

56 * 13 --> équivalent à : (56 * 10) + (56 * 3)
56 * 10 = 560 (premier résultat intermédiaire)
56 *  3
3 * 5 = 15
3 * 6 = 18
15 * 10 = 150
150 + 18 = 168 (second résultat intermédaire)
On arrive à 560 + 168
5 + 1 = 6 (résultat intermédiaire 660)
6 + 6 = 12
1 + 6 = 7 (résultat intermédiaire 728)
0 + 8 = 8
Résultat final 728

Avec la méthode classique :

56 * 13
6 * 3 = 18 --> je pose 8, je retiens 1
3 * 5 = 15
15 + 1 = 16
16 * 10 = 160
160 + 8 = 168 (premier résultat intermédiaire)
6 * 1 = 6
5 * 1 = 5
5 * 10 = 50
50 + 6 = 56
56 * 10 = 560 (second résultat intermédiaire)
On arrive à 560 + 168
0 + 8 = 8
6 + 6 = 12 --> je pose 2, je retiens 1 (résultat 28)
5 + 1 = 6
6 + 1 = 7
Résultat final 728

En comparaison : moins d'opérations, des opérations plus simples à réaliser et moins de résultats à mémoriser.

Il faut cependant faire attention : ce procédé n'est pas "naturel" et peut facilement entraîner des erreurs de calcul. Dans le doute, il vaut mieux décomposer les opérations sur un bon vieux papier !


Division

Il n'y a aucune astuce concernant la division, c'est une opération trop complexe. On peut néanmoins parfois se contenter d'une approximation pour faciliter les calculs : 13 / 4,2 (= 3,095) --> 13 / 4 --> 12 / 4 = 3. On peut aussi annuler la virgule en multipliant par 10 et calculer 130/42 ~= 3,010.

 

Tables de multiplications

En général les tables de multiplications jusqu'à 5 ne posent pas de problème, au-delà il peut apparaitre certaines difficultés. Néanmoins en décomposant l'opération on peut facilement retomber sur nos pattes :
8 * 7 = (8 * 5) + (8 * 2) = 40 + 16 = 56

La table de 10 est triviale
La table de 9 est facile à calculer : Pour tout x on effectue, 9 * x = x * 10 - x.
Exemple : 9 * 4 = 4 * 10 - 4 = 40 - 4 = 36
Pour les tables de 8, 7 et 6, voir la technique plus haut.
La table de 5 est évidente
Pour la table de 4, on peut effectuer le calcul en 2 fois avec une multiplication par deux
Exemple : 8 * 4 = (8 * 2) * 2 = 16 * 2 = 32
Pour la table de 3 le plus simple est de passer par une addition :
Exemple : 8 * 3 = (8 * 2) + 8 ou 8 + 8 + 8 = 16 + 8 = 24
Les tables de 2, 1 et 0 sont simples également


Pourcentage

Pour calculer facilement un pourcentage, l'idéal est de partir de la valeur de 10% (donc /10).

Exemple : 60% de 500 :
500 / 10 = 50 (10%)
50 * 6 = 300

65% de 500 :
500 / 10 = 50 (10%)
50 / 2 = 25 (5%)
50 * 6 = 300
300 + 25 = 325

50% est équivalent à une division par 2

25% est équivalent à une division par 4 (ou une division par 2, elle même divisée par 2) :
25% de 80
80 / 2 = 40
40 / 2 = 20

75% est équivalent à 50% + 25%

Conclusion

Ces techniques permettent de calculer plus rapidement et en utilisant moins de mémoire, mais une utilisation régulière peut entraîner des erreurs (surtout lors du raffinage). L'important dans ce genre d'exercice est d'avoir une bonne représentation mentale (graphique) de l'opération en cours (quelle que soit la méthode utilisée).

Contre le "joyeux noël" collectif

Sunday, 25 December 2011
|
Écrit par
Grégory Soutadé

Dans la série "j'aime pas" (le précédent épisode est ici) : le "joyeux noël" collectif.

Nous sommes en période de fêtes, il fait plus ou moins beau/chaud, c'est la période des huîtres, des dindes, des pères noël pendus à tout-va aux fenêtres... Il est donc tout à fait naturel de souhaiter de bonnes fêtes (joyeux noël, bonne année, bonne santé ...) à ceux qu'on aime !

Dans des temps anciens où Akhenaton dansait le MIA, on n'avait pas tellement le choix : une carte de voeux pour la bonne année, un repas en famille le 24 et quelques coups de fil pour les cousins perdus à l'autre bout de la France.

Mais les temps ont changé, un millénaire s'est écoulé, apportant : le téléphone avec la liste de nos 500 contacts en mémoire (dont le chien du médecin de la soeur d'Isabelle). Le mail avec nos 1000 contacts MSN ainsi que le group-all du boulot. Facebook avec nos 2000 amiscontacts (dont la chienne du plombier qui convoite secrètement le chien du médecin de la soeur d'Isabelle). Twitter avec nos 10000 followers, dont 90% qui comprennent que dalle au français.

Et c'est dans l'hystérie générale (que le cocktail whisky/vodka/champagne favorise) que l'on souhaite dire bonne fête à la terre entière et au moment le plus opportun. Les plus bourrins enverront un "bonne année" à tout leur répertoire à minuit le 31 décembre. Tout le monde sait que les réseaux téléphoniques sont capables de supporter 3 milliards de communications simultanées. Les plus fainéants/"geek" se contenteront d'utiliser Internet.

Bref, on rentre dans l'industrialisation des fêtes de fin d'année (comme la commercialisation, mais ceci est une autre histoire...). Quand on envoi un "bonnes fêtes" à une liste de personnes, il n'y a aucun sentiment personnel vis à vis de ces personnes (à moins que ce groupe soit restreint : oncle/tante/neveu par exemple). On le fait parce qu'on est content/parce qu'il faut le faire/parce que c'est comme ça. Le pire vient de la satisfaction intrinsèque de l'avoir fait. Mais le message qui est, à la base, porteur d'espoirs perds d'un coup toute sa substance car il n'est plus adressé à personne. L'émetteur n'a même plus conscience des gens (à titre personnel) qu'il va toucher (ou non). Il se contente d'avoir la réflexion : liste -> amis -> message. Et on se retrouve avec un message impersonnel de plus, que l'on va traiter ou non.

Quel que soit le mode que l'on a choisi, un message unitaire et personnalisé est le seul moyen d'exprimer ses véritables sentiments. Et puis il faut savoir une chose importante : 80% de la liste n'en a rien à faire de recevoir un message de notre part. Les personnes importantes sont : la famille, les amis et les collègues proches, soit à peu près 20% du répertoire. Le reste sont des contacts utiles.

Il ne faut pas se tromper pour autant : les nouvelles technologies (au sens large), sont une très bonne chose. Elles permettent de fluidifier, d'accélérer et d'augmenter le rayonnement de l'information (il faut quand même faire attention à ne pas trop l'utiliser pour des choses inutiles sinon ça devient du SPAM). Et tout ce qu'apportent le téléphone, le mail, facebook ou encore twitter vont dans ce sens.


En conclusion, il vaut mieux s'abstenir de souhaiter de bonnes fêtes que de balancer 500 textos d'un coup. Vous n'êtes pas obligé de souhaiter de bonnes fêtes à la terre entière.

Un an !

Thursday, 04 August 2011
|
Écrit par
Grégory Soutadé

Il y a un an était posté le premier billet sur ce blog. Je ne me suis jamais fixé un quelconque objectif concernant le contenu ou la fréquence de mise à jour, juste quelques idées et l'envie de faire découvrir des choses. Il y a eu des semaines un peu vide par manque d'envie ou parce que je travaillais sur d'autres projets (dont KissCount), mais au final il est toujours là ! L'objectif innavoué virtuel est de un article par semaine, mais sans jamais me forcer.

Si on regarde les statistiques c'est plutôt positif : ceci constitue le 60ème article, soit 5 articles par mois en moyenne. Au niveau de la fréquentation on atteint les 9000 visites et 2,7Go de données envoyées. Pendant les 8 premiers mois il y avait entre 100 et 200 visites / mois, avec un pic de 900 au mois de décembre dernier grâce à l'annonce de la v0.1 de KissCount sur linuxfr, puis cet article a boosté la fréquentation jusqu'à 1200 puis 1600 visites mensuelles. Il représente aujourd'hui (à la louche) 90% du trafic. C'est un moyen détourné d'attirer des visiteurs, les curieux iront se balader sur les autres publications.

Les autres articles populaires sont ceux sur le SheevaPlug et l'auto hébergement, tandis que ceux sur les films sont finalement peu consultés (même s'ils représentent 50% des billets).

Concernant le SheevaPlug justement, j'en suis très content. Je n'ai eu AUCUN problème matériel en un an, il ne chauffe presque pas et, à part au début, je n'ai plus eu à faire d'intervention physique. La migration vers Debian 6 (Squeeze) a nécessité de remettre de l'ordre dans quelques fichiers de config (notamment le mail), mais ça reste correct. Ce n'est peut être pas une foudre de guerre, mais il fait ce qu'on lui demande ! Le seul point bloquant reste la bande passante qui est un peu faible.

Voilà, malgré mon petit soucis avec OVH, c'est reparti pour un an !


Petite réflexion annexe concernant l'auto hébergement : Qu'adviendra-t-il des articles si le serveur doit être arrêté définitivement ?
Soit il n'y a rien d'important et alors tant pis. Soit on aimerait laisser certaines ressources en ligne et à ce moment il faudra pouvoir les exporter vers un autre site : soit le site d'un particulier, soit le site d'une entreprise qui garantie (normalement) une plus longue pérennité des données.

Where is Ploum ?

Sunday, 24 July 2011
|
Écrit par
Grégory Soutadé

Petite citation que j'ai trouvé particulièrement drôle.

En parlant d'une artiste de jazz (Fanny Bériaux) :

"le Jazz, ça n'est quand même qu'une bande d'intellos qui se branle la nouille en fermant les yeux pendant des solos de quarante-deux minutes. Alors que le métal, au moins, ils hurlent en même temps. Rien à voir."

Cette citation provient de ce billet posté par notre ami Belge Ploum, une moule que l'on retrouve régulièrement sur linuxfr. Son blog parle un peu de tout, mais surtout de logiciels libres, certains billets sont en anglais (voir dans les deux langues). C'est quelqu'un qui ne manque pas d'idée et encore moins d'humour : http://linuxfr.org/users/ploum/journaux/linuxfr-en-j2ee .

Contre les gens qui disent "Salut, ça va ?"

Sunday, 19 June 2011
|
Écrit par
Grégory Soutadé

Petit coup de gueule. Il est très désagréable quand quelqu'un qui vient vous voir commence par un "Salut, ça va ?" car :
1) Il s'en fout de savoir si ça va ou pas
2) Même si ça ne va pas, ça ne le concerne pas ou l'on n'a pas envie d'en parler

Le pire est quand il s'en va sans attendre la réponse, et le summum c'est quand la personne commence par "bien ?". Bien sûr certains ont vraiment envie de savoir si l'on va bien ou pas, mais la plupart du temps les gens ont fait un raccourcis en le "Salut, ça va", comme une formule magique qui, rabâchée à longueur de temps, a perdu tout son sens. Quand on rencontre  quelqu'un, on lui dit "bonjour" ou "bonjour XXX" !