Retrouver une formule derrière une fonctionnalité d'un jeu

Olympiades mathématiques, énigmes et défis
regitraz
Messages: 6
Enregistré le: 20 Oct 2019, 15:02

Retrouver une formule derrière une fonctionnalité d'un jeu

par regitraz » 28 Juil 2022, 22:44

Bonjour,
En gros j'aimerai créer un Gdoc sur un de mes jeux préféré, et pour cela j'ai besoin de retrouver la formule mathématique derrière une des fonctionnalité du jeu.

Pour essayer de vous l'expliquer, dans ce jeu spatial vous avez 3 type de chasseurs qui boostent soit la structure, soit le ciblage, soit l'attaque.
On se retrouve donc avec une répartition en % des ces 3 chasseurs (ex : 25% / 20% / 55%) qui détermine les bonus que l'on a.

Les croiseurs donnent une répartition de chasseurs idéale a atteindre, ce qui donne plus de bonus si l'idéal est respecté.
La différence entre la répartition réelle qu'on sélectionne nous même dans le jeu et celle idéale s'appelle la cohérence, c'est le bonus dont j'aimerai retrouver le calcul.
En gros la cohérence c'est le % de similitude entre la répartition objectif et la répartition réelle.


On se retrouve donc avec, par exemple :
- Un idéal : 90% / 5% / 5%
- Une répartition réelle en fonction des chasseurs sélectionné : 86,956521% / 0% / 13,043478%
La somme des trois chasseurs fait toujours 100%


Le but de l'énigme est donc de retrouver la formule qui permet de calculer la cohérence en fonction de ces deux suites de valeurs que je vous ai données juste au dessus.

A cette fin on a sur le forum du jeu une phrase du développeur, qui a très mauvais caractère donc personne lui demande la formule :
"Pour les Matheux, la cohérence fait référence à la distance entre le point idéal et le point réel projetés sur une sphère de rayon 1 par rapport au centre du repère dans un espace de dimension 3 dont chacun des axes représente la proportion de chaque chasseur)"

je peut vous donner deux info supplémentaires :
1) Si les deux points idéal et réel sont égaux la cohérence vaut 100%
2) avec les nombres au dessus, la cohérence vaut 79.47%

Je me suis cassé le cul dessus un aprèm entier, j'ai pas réussit, donc toute aide / solution est bonne a prendre ^^
Merci d'avance !
Modifié en dernier par regitraz le 28 Juil 2022, 23:57, modifié 1 fois.



lyceen95
Membre Complexe
Messages: 2255
Enregistré le: 15 Juin 2019, 00:42

Re: Retrouver une formule derrière une fonctionnalité d'un j

par lyceen95 » 28 Juil 2022, 23:22

On peut faire quelques hypothèses.
Ici, l'hypothèse la plus simple mènerait au résultat : cohérence = 90.04% pour l'exemple donné.
Peut-être que pour une raison quelconque, il suffit d'appliquer un coefficient 2.06 ... et on arrive au 79.47% annoncé.
Il faudrait au moins un autre point pour valider cette hypothèse.
Par exemple, quelle est la cohérence entre (90, 0, 10) et (80, 20, 0) ? Si on a du 49.5%, alors l'hypothèse tient la route.

regitraz
Messages: 6
Enregistré le: 20 Oct 2019, 15:02

Re: Retrouver une formule derrière une fonctionnalité d'un j

par regitraz » 28 Juil 2022, 23:34

En gardant comme objectif (90, 5, 5) j'ai :
- pour (90, 0, 10) : 84.98% de cohérence
- pour (80, 20, 0) : 64.48% de cohérence


A mon avis il faut partir dans le sens que propose le développeur du jeu, c'est a dire faire de ces 3 valeurs des points, les projeté sur une sphère et calculer la distance entre eux, et c'est cette distance qui donnerais la cohérence.
Mais je ne sais pas faire, autrement je ne serait pas la ^^
En gardant a l'esprit que cette hypothèse, bien que probable, n'est peut être pas la solution.

lyceen95
Membre Complexe
Messages: 2255
Enregistré le: 15 Juin 2019, 00:42

Re: Retrouver une formule derrière une fonctionnalité d'un j

par lyceen95 » 29 Juil 2022, 10:11

J'oubliais la première étape : projeter les points sur une sphère.
Mais ça ne change à peu près rien.

On a 2 points A(a, b, c) et B(a', b', c')
Exemple A(90,5,5) et B(80,20,0)
La première étape est de les projeter sur la sphère unité.
On calcule la distance OA = racine(a²+b²+c²) et pareil la distance OB=racine(a'²+b'²+c'²)
Exemple : OA=90.28 et OB=82.46
La projection de A sur cette sphère unité, c'est le point obtenu en divisant les 3 coordonnées a,b,c par OA
et pareil pour OB
On note C et D ces 2 points
Exemple : C (99.69, 5.54, 5.54) et D (97.01, 24.25, 0)
Je vais noter C(d, e, f) et D(d', e', f')
On calcule la distance entre C et D
Distance = racine ( (d'-d)² + (e'-e)²+(f'-f)² )
Exemple : Distance = 19.7

Si on imagine 2 points à la surface de la terre, cette formule donne la distance pour une taupe, qui creuserait un tunnel entre les 2 points. Un humain qui marcherait sur terre aurait une distance un tout petit peu plus grande, mais sur les données testées, l'écart est vraiment minime.

Plus la distance est grande, plus la cohérence est faible, on est tenté de dire que Cohérence = 100-Distance
Mais ça ne colle pas avec les valeurs données.
En gros, il faut dire Cohérence=100-2*distance
Ca ne colle pas parfaitement, mais ça y ressemble.

Sur la base des explications données, et des quelques exemples, difficile d'aller plus loin.
Avec une cinquantaine d'autres points (et en faisant varier le point objectif à d'autres, pas toujours le même), une personne motivée pourrait peut-être aller plus loin.

regitraz
Messages: 6
Enregistré le: 20 Oct 2019, 15:02

Re: Retrouver une formule derrière une fonctionnalité d'un j

par regitraz » 29 Juil 2022, 12:59

Voici quelques autres valeurs en faisant varier l'objectif, si ca peut aider :
Avec comme objectif (25 / 20 / 55) :
- (100, 0, 0) : Cohérence 1.03%
- (20, 10, 70) : Cohérence 58.88%
- (20, 20, 60) : Cohérence 80.88%

Avec comme objectif (0, 70, 30) !
- (100, 0, 0) : Cohérence 17.15%
- (0, 80, 20) : Cohérence 70.6%
- (0, 50, 50) : Cohérence 38.66%

Ne devrait-on pas calculer la distance entre les deux points projeté comme l'arc d'un cercle pour prendre en compte la courbure plutôt qu'avec la distance euclidienne ?
Modifié en dernier par regitraz le 30 Juil 2022, 00:13, modifié 3 fois.

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21528
Enregistré le: 11 Nov 2009, 22:53

Re: Retrouver une formule derrière une fonctionnalité d'un j

par Ben314 » 29 Juil 2022, 13:04

Salut,
J'ai aussi tenté quelques formules plausibles mais sans résultat.
Pour tenter d'aller plus loin, il faudrait que tu donne le nom du jeu si ce dernier est gratuit et qu'on peut rapidement faire de nombreux tests ou, à défaut, que tu donne une série bien plus conséquente de données.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

lyceen95
Membre Complexe
Messages: 2255
Enregistré le: 15 Juin 2019, 00:42

Re: Retrouver une formule derrière une fonctionnalité d'un j

par lyceen95 » 29 Juil 2022, 22:49

Je pense que tu as fait quelques erreurs en recopiant les derniers résultats. Les données étaient vaguement cohérentes jusque là, mais là elles ne le sont plus du tout.

Objectif (0, 70, 30) , réel (0, 80, 20) et tu annonces une cohérence de 1.23%, je verrais plutôt du 70% environ.

Par rapport aux explications données, le calcul que je décrivais me paraît complet. Il y a certainement des trucs un peu tordus qui ne sont pas expliqués.
Tu peux tenter quelques calculs pour vérifier :
Objectif (20,40,40) réel (20, 50, 30)
Objectif (20,40,40) réel (20, 30, 50)
Normalement, ces 2 tests doivent donner le même résultat si les explications sont complètes. Est-ce le cas ?

Objectif (20,40,40) réel (20, 50, 30)
Objectif (20,50,30) réel (20, 40, 40)
Pareil , la distance AB ou la distance BA, c'est pareil, est-ce que ces 2 jeux de données donnent le même résultat ?

Objectif (60, 10, 30) réel (53, 8, 39)
Objectif (8, 39, 53) réel (10, 30, 60)
Pareil, a-t-on le même résultat sur ces 2 tests ?

regitraz
Messages: 6
Enregistré le: 20 Oct 2019, 15:02

Re: Retrouver une formule derrière une fonctionnalité d'un j

par regitraz » 30 Juil 2022, 01:18

Tu a raison j'ai fait une erreur au niveau du Objectif (0, 70, 30) , réel (0, 80, 20), j'ai édit le message au dessus.
Désolé du dérangement.

Pour ce qui est des objectifs ils sont défini par le jeu et (20, 40, 40) n'existe pas. Toutefois (40, 40, 20) existe et est très similaire, je vais donc baser les tests demandé sur ca.
Du coup (20, 50, 30) deviens (30, 50, 20) (on échange la première et la troisième valeur, comme pour l'objectif, car les chiffres réel eux sont modulable a volonté)

Ce qui nous donne :
Objectif (40,40,20) réel (30, 50, 20) : Cohérence : 59.14%
Objectif (40,40,20) réel (50, 30, 20) : Cohérence : 59.14%

Objectif (50,20,30) réel (40, 20, 40) : 59.14%

Dans le même genre j'ai pu vous faire :
Objectif (60, 30, 10) réel (53, 39, 8) : Cohérence : 68.7%

Pour le dernier je n'ai pas réussit a avoir les valeurs exacte, le résultat est donc légèrement faussé, mais au vu du résultat je pense que vous avez raison et que la cohérence aurait été la même.
Objectif (7.99, 54.01, 38) (10, 60, 30) : Cohérence : 72.18%


Cela me semble plutôt être un franc succès, votre formule semble en effet avoir le bon schéma, il reste toutefois a l'ajuster afin de retrouver les valeurs au dessus.

lyceen95
Membre Complexe
Messages: 2255
Enregistré le: 15 Juin 2019, 00:42

Re: Retrouver une formule derrière une fonctionnalité d'un j

par lyceen95 » 30 Juil 2022, 09:58

Bon, donc l'hypothèse qu'il fallait prendre une ellipsoïde, et pas une sphère, elle disparaît.
J'ai pensé entre temps à une autre problématique.
Les pourcentages sont toujours supérieurs à 0. C'est assez logique, mais les pistes explorées donnaient éventuellement des pourcentages négatifs.
Comment bâtir une formule qui donnera toujours un pourcentage positif ?
A partir du point objectif, on prend le point le plus loin possible (pour 50.20.30, on prend (0.100.0) ; c'est forcément un point parmi 100.0.0, 0.100.0 et 0.0.100
On calcule la distance entre ce point pire et le point objectif, on calcule la distance entre le point réel et le point objectif.
Et on calcule un pourcentage
Et on fait le complément à 100.

J'ai testé, et ça ne marche toujours pas. Les résultats donnés par cette méthode donnent toujours des pourcentages de cohérence sensiblement plus élevés que ceux donnés.

Peut-être que quelques exemples avec des cohérences faibles vont aider à avancer.
Cible (50.20.30) Points étudiés (2.2.96) (2.96.2) et (96.2.2) et aussi (0.0.100) , (0.100.0) et (100.0.0)
Mais j'ai de moins en moins d'espoir.

regitraz
Messages: 6
Enregistré le: 20 Oct 2019, 15:02

Re: Retrouver une formule derrière une fonctionnalité d'un j

par regitraz » 30 Juil 2022, 15:01

J'ai pris comme cible (40, 40, 20) :
- Pour (96, 2, 2) : Cohérence : 4.37%
- Pour (2, 96, 2) : Cohérence : 4.37%
- Pour (2, 2, 96) : Cohérence : 1.7%
Je remarque que les % sont plus élevé (4.37%) lorsque la cible est plus élevée, et aussi que ce n'est pas linéaire : si la cible double, la cohérence elle ne double pas.

- Pour (100, 0, 0) : Cohérence : 3.36%
- Pour (0, 100, 0) : Cohérence : 3.36%
- Pour (0, 0, 100) : Cohérence : 2.39%

Il semblerait aussi que la cohérence ne soit jamais a 0% a moins d'avoir l'objectif (0, 0, 0), c'est a dire pas d'objectif XD

lyceen95
Membre Complexe
Messages: 2255
Enregistré le: 15 Juin 2019, 00:42

Re: Retrouver une formule derrière une fonctionnalité d'un j

par lyceen95 » 30 Juil 2022, 18:50

Tu es sûr d'avoir correctement recopié ?

Je suis surpris par :
Cible (40.40.20)
Pour (2,2,96) cohérence=1.7%
Pour (0,0,100), cohérence = 2.39%
Clairement, quand on va de (2,2,96) à (0,0,100) , on s'éloigne de la cible.
Ce n'est pas normal que la cohérence augmente.

Le fait que la cohérence ne tombe jamais à 0 est un peu anormal. Clairement, tout n'est pas dit dans les 2 phrases d'explication.

regitraz
Messages: 6
Enregistré le: 20 Oct 2019, 15:02

Re: Retrouver une formule derrière une fonctionnalité d'un j

par regitraz » 30 Juil 2022, 19:18

je viens de vérifier : c'est correct
Et non on a clairement pas tout dans ces deux phrases...

 

Retourner vers ⚔ Défis et énigmes

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 22 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite