Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

Répondre

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
six plus trois
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Retour

Résumé de la discussion (messages les plus récents en premier)

Wiwaxia
03-05-2024 09:28:01

Bonjour,

Les fonctions citées g(x) = (enx - 1)/(enx +  1) font en fait intervenir la fonction tangente hyperbolique:

g(x) = Tanh(nx) ;

et comme le résultat attendu est un entier (0 ou ±1), il faut procéder à un transtypage par recours à l'arrondi à l'entier le plus proche, en utilisant

g1(x) = Round(Tanh(nx)) ,

ce qui évite de confier au processeur l'approximation douteuse g(x) ≈ 1 pour x > 0 .

On a de plus: Tanh(1) = 0.761594 ce qui permet l'emploi d'une fonction plus simple:

g2(x) = Round(Tanh(x)) .

Enfin, la solution envisagée présente une complication calculatoire extravagante par rapport à la définition algorithmique de fa fonction Sgn(x), qui ne demande aucune opération arithmétique ni recours à une fonction transcendante.

... Et je le répète, la fonction en cause f = (S+|S|*Sgn(x))/2 + x = f(x, S) dépend non pas d'une seule mais de deux variables (voir #18); mais elle résume l'algorithme à mettre en œuvre.

Ernst
02-05-2024 23:17:52
EC67675 a écrit :

Merci pour vos réponses, voulez-vous dire qu'il est possible de remplacer par ${\Large{\frac {{{\rm e}^{100\,x}}-1}{{{\rm e}^{100\,x}}+1}}}$ dans votre formule $ f(x)=\frac{S}{2}+\frac{\left | S \right |\left | x \right |}{2x}+x $ ?

Bonsoir EC67675

Pas la peine, sur ce coup la formule originelle fonctionne très bien.

L’idée de base, c’est d’exprimer le nouveau score en fonction de l’ancien score et de ${x}$. Si les deux sont de même signe, on les ajoute, s’ils sont de sens contraire on repart sur ${x}$ tout seul. Fallait donc trouver le moyen, mathématiquement parlant, d’exprimer le signe d’une valeur ici par ${+1}$ ou par ${-1}$, et également d’annuler entièrement le score ou pas du tout.

En informatique c’est simple puisqu’on a des instructions signe, partie entière, vrai, faux, si ceci alors cela, etc. En mathématiques il est plus difficile d’exprimer les choses avec une formule et une seule. Écrire ${\Large{\frac { \left| x \right| }{x}}}$ marche très bien tant que ${x}$ est différent de zéro – et c’était le cas dans le petit problème proposé. Sauf que voilà, il aurait suffit que ${x}$ puisse prendre d’autres valeurs dont zéro pour que cela ne marche plus du tout, la division par zéro étant déclarée impossible.

Dans ce cas, je disais qu’à la place de ${\Large{\frac { \left| x \right| }{x}}}$ il faut plutôt écrire ${\Large{\frac {{{\rm e}^{nx}}-1}{{{\rm e}^{nx}}+1}}}$ qui renvoie également le signe selon les valeurs de ${x}$ même quand il est égal à zéro. Sauf qu’une fois encore, attention, faut quand même que ${n}$ soit grand. Par exemple si ${n=10}$ cela commence à se rapprocher de ce que l’on souhaite, mais si on calcule en virgule flottante cela risque de poser problème à cause des décimales. Avec ${n=100}$ il n’y a plus aucun problème même si on calcule en quadruple précision puisque ça sort effectivement ${-1}$,${0}$ ou ${1}$.

Petite démonstration avec Maple :

signe

Avec ${n=10}$ on voit que pour des valeurs assez grandes ça marche, mais avec ${-1}$ ou ${1}$ on a une floppée de décimales gênantes. Avec ${n=100}$ c’est ${-1}$, ${0}$ ou ${1}$ quoi qu’il arrive.

EC67675
02-05-2024 20:31:39

Bonsoir Ernst,

Merci pour vos réponses, voulez-vous dire qu'il est possible de remplacer par ${\Large{\frac {{{\rm e}^{100\,x}}-1}{{{\rm e}^{100\,x}}+1}}}$ dans votre formule $ f(x)=\frac{S}{2}+\frac{\left | S \right |\left | x \right |}{2x}+x $ ?

Merci et bonne soirée

Ernst
02-05-2024 00:24:31
Wiwaxia a écrit :

Pour WolframAlpha, il suffit de taper en entrée du site: Heaviside step function.

Bonsoir,

C’est toujours bien de le savoir, mais je ne pense pas que cela soit bien nécessaire dans la mesure où avec WolframAlpha la fonction ${sgn()}$ marche déjà très bien : elle sort directement ${-1 / 0 / 1}$ en fonction de valeurs négatives / nulles / positives sans avoir besoin ni d’initialisation, ni de formule.

Ceci dit, depuis nos échanges je me suis penché sur la fonction ${sgn()}$ telle que la présente Wikipédia. D’une part je suis content d’avoir trouvé tout seul la formule ${\Large{\frac { \left| x \right| }{x}}}$ et d’autre part j’ai testé la fonction ${\Large{\frac {{{\rm e}^{100\,x}}-1}{{{\rm e}^{100\,x}}+1}}}$ qui sur ce problème donne le signe exact même en quadruple précision, et cela sans avoir à faire d’exception sur ${x}$.

Wiwaxia
01-05-2024 19:09:31

Bonjour,

Ernst a écrit :

... Par aillers je m'aperçois que ni WolframAlpha ni Maple18 ne connaissent de fonction H(x), c'est plutôt embêtant ça, difficile de s’en servir...

Pour WolframAlpha, il suffit de taper en entrée du site: Heaviside step function.

Ernst
29-04-2024 10:37:56

Bonjour Wiwaxia,

Ici je voulais une formule mathématique, vu qu'avec un algorithme de programmation le problème était trivial. Et comme j’étais sûr d’éviter la division par zéro puisque x ne prenait que la valeur 1 ou -1, et comme cela marche aussi quel que soit S entier zéro compris, cela répondait bien à la demande je pense.

Par aillers je m'aperçois que ni WolframAlpha ni Maple18 ne connaissent de fonction H(x), c'est plutôt embêtant ça, difficile de s’en servir...

Wiwaxia
28-04-2024 17:19:35

Bonjour,

Ernst a écrit :
Wiwaxia a écrit :

La fonction de Heavyside est directement liée au signe d'une grandeur réelle:

Sgn(x) = 2*H(x) - 1 .

Bonjour Wiwaxia,

... / ... Dans ce cas autant définir directement la fonction sgn(x) = -1 si x <0 et 1 sinon, non ? ...

Pas exactement, parce que le signe du zéro n'est pas défini, et la fonction doit alors retourner zéro (faute de mieux).
Il suffit d'écrire l'algorithme complet et symétrique:


FUNCTION Sgn(x: Reel):ShortInt;
  VAR s: ShortInt;
  BEGIN
    IF (x>0) THEN s:= 1
             ELSE IF (x<0) THEN s:= -1
                           ELSE s:= 0;
    Result:= s
  END;

Remarque: J'espère que l'indentation est respectée.

On obtient le même résultat en utilisant la fonction H(x).

Ernst
28-04-2024 13:42:54
Wiwaxia a écrit :

La fonction de Heavyside est directement liée au signe d'une grandeur réelle:

Sgn(x) = 2*H(x) - 1 .

Bonjour Wiwaxia,

Cool. Je ne savais pas qu'on pouvait écrire des fonctions avec des si. Dans ce cas autant définir directement la fonction sgn(x) = -1 si x <0 et 1 sinon, non ? D'autant que j’ai l’impression que WolframAlpha est capable de gérer le truc sans problème, exemple.

Wiwaxia
28-04-2024 11:29:52

Bonjour,

Ernst a écrit :

... / ... En informatique on a une fonction dédiée souvent appelée SGN mais en mathématiques je n’en connais pas ... .

La fonction de Heavyside est directement liée au signe d'une grandeur réelle:

Sgn(x) = 2*H(x) - 1 .

L'expression donnée de f(x) est astucieuse, mais il s'agit en fait d'une relation de récurrence entre deux valeurs consécutives du score; elle donne la nouvelle valeur de (S) en fonction de l'ancienne, et de la dernière réponse donnée:

Sn+1 = f(Sn, xn+1) .

Ernst
27-04-2024 19:13:36

Bonsoir tout le monde,

En me relisant je m’aperçois que j’aurais plutôt dû écrire que la fonction renvoyait une valeur correspondant au nouveau score en tenant compte de la règle du jeu vu que S en lui-même conserve sa valeur, mais bon, l’essentiel me semblait être de trouver la formule qui allait bien.

Ma démarche a été d’abord de savoir comment trouver le signe du score et également de x. En informatique on a une fonction dédiée souvent appelée SGN mais en mathématiques je n’en connais pas. Ensuite elle a été de trouver comment garder le score ou l’annuler en fonction de ces signes. Si je le garde on ajoute x vu que c’est de même signe, et si on l’annule on ajoute x aussi puisqu’il est de signe contraire – et donc on passe à l’unité de l’autre côté du zéro, donc dans tous les cas on ajoute x.

Restait à trouver comment garder ou annuler. Et là je me suis dit que ça marchait avec un score divisé par deux suivi d'un signe + ou - devant le score lui aussi divisé par deux. Soit j'ajoute les deux et j'obtiens bien le score originel, soit je retire le deuxième au premier et comme c'est la même chose il se retrouve à zéro.

Voili voilou.

Ernst
27-04-2024 16:05:08
EC67675 a écrit :

J’aimerais vous demander s’il est possible de formuler une équation permettant d’obtenir S à partir de x (x serait la seule inconnue), quelles que soient leurs valeurs respectives…

Bonjour Jean

Si j’ai bien compris, il s’agit d’établir une équation avec x comme seule variable, S étant un paramètre fixe au moment du tirage, à savoir le score qu’il convient de modifer, et x ne pouvant prendre que deux valeurs, 1 ou -1. L’équation est la suivante :

$ f(x)=\frac{S}{2}+\frac{\left | S \right |\left | x \right |}{2x}+x $

S=3 et x=1. C’est un gain supplémentaire, S passe à 4.
S=3 et x=-1. Oups, perte donc annulation du score qui passe à -1.
...
S=-3 et x=-1. La perte continue, S passe à -4.
S=-4 et x=1. Yé, gain, on annule tout et S repart à 1.

Bernard-maths
27-04-2024 12:43:01

Re,

cela me fait penser à une notation du genre ± 2n+1
mais à bidouiller ?

B-m

Bernard-maths
27-04-2024 12:29:35

Bonjour à TOUS, et un peu à Yoshi !

MOI j'ai répondu en 3 minutes, mon algo est juste ... (?)

Après, c'est TOUT ! Cela dépend des tirages (réponses) successifs, qui ne dépendent pas de moi ...

Cette façon de compter n'est pas équitable ...

prenons 2 joueurs sur 5 réponses :

- le 1er répond F, F, F, F, J : il a finalement +1
- le 2ème répond J, J, J, J, F : il a finalement -1

Cordialement, B-m-w

yoshi
27-04-2024 12:18:16

Re,

@Bernard-maths
Alors, où en es-tu ?

Moi, j'ai pris de l'avance ;-D....

@+

yoshi
25-04-2024 14:38:00

J'ai corrigé avec  $S\geq 0$ et $S\leq 0$
(c'est la planification de l'affichage qui m'a pris le plus de temps...)
Maintenant ça roule (tirages aléatoires de l'état de la réponse : 0 fausse 1 juste)

Exemple de sortie:

Réponse n°  1  Ancienne somme  0   Mauvaise réponse     Nouvelle Somme  -1
Réponse n°  2  Ancienne somme -1   Bonne Réponse        Nouvelle Somme   1
Réponse n°  3  Ancienne somme  1   Bonne Réponse        Nouvelle Somme   2
Réponse n°  4  Ancienne somme  2   Bonne Réponse        Nouvelle Somme   3
Réponse n°  5  Ancienne somme  3   Bonne Réponse        Nouvelle Somme   4
Réponse n°  6  Ancienne somme  4   Mauvaise réponse     Nouvelle Somme  -1
Réponse n°  7  Ancienne somme -1   Bonne Réponse        Nouvelle Somme   1
Réponse n°  8  Ancienne somme  1   Bonne Réponse        Nouvelle Somme   2
Réponse n°  9  Ancienne somme  2   Mauvaise réponse     Nouvelle Somme  -1
Réponse n° 10  Ancienne somme -1   Mauvaise réponse     Nouvelle Somme  -2
Réponse n° 11  Ancienne somme -2   Mauvaise réponse     Nouvelle Somme  -3
Réponse n° 12  Ancienne somme -3   Bonne Réponse        Nouvelle Somme   1
Réponse n° 13  Ancienne somme  1   Mauvaise réponse     Nouvelle Somme  -1
Réponse n° 14  Ancienne somme -1   Bonne Réponse        Nouvelle Somme   1
Réponse n° 15  Ancienne somme  1   Bonne Réponse        Nouvelle Somme   2
Réponse n° 16  Ancienne somme  2   Mauvaise réponse     Nouvelle Somme  -1
Réponse n° 17  Ancienne somme -1   Mauvaise réponse     Nouvelle Somme  -2
Réponse n° 18  Ancienne somme -2   Mauvaise réponse     Nouvelle Somme  -3
Réponse n° 19  Ancienne somme -3   Bonne Réponse        Nouvelle Somme   1
Réponse n° 20  Ancienne somme  1   Bonne Réponse        Nouvelle Somme   2

Le script est ici : https://www.bibmath.net/forums/viewtopi … 45#p111645

@+

Pied de page des forums