Prouver le fonctionnement d'un logiciel.

La question :

Bonjour,

Je ne sais pas comment chercher les outils mathématiques dont j'ai
besoin pour résoudre un petit problème. J'aimerai pouvoir prouver qu'un
jeu de rôle est faisable, déterminer sa difficulté et son équilibrage.

Je pense que c'est assez facile à faire de manière empirique, en
codant les comportements et en le faisant fonctionner dans les limites.
Mais j'aimerais pouvoir anticiper les fonctionnalités avant de les
implémenter par exemple, et surtout ne pas devoir tatoner à l'aveuglette
pour équilibrer un jeu.

Donc, savez-vous s'il existe des outils mathématiques qui permettent
de modéliser de tels systèmes, et quelles sont les ressources que je
dois consulter pour tenter de les maîtriser ?

Merci !
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Seeking for a position <http://lupusmic.org/pro/>

Poser votre question sur le forum Programmation

Les 4 réponses :

Mickaël Wolff a écrit :


Bonjour,

Je ne sais pas comment chercher les outils mathématiques dont j'ai
besoin pour résoudre un petit problème. J'aimerai pouvoir prouver qu'un
jeu de rôle est faisable, déterminer sa difficulté et son équilibrage.

Je pense que c'est assez facile à faire de manière empirique, en
codant les comportements et en le faisant fonctionner dans les limites.
Mais j'aimerais pouvoir anticiper les fonctionnalités avant de les
implémenter par exemple, et surtout ne pas devoir tatoner à l'aveuglette
pour équilibrer un jeu.

Donc, savez-vous s'il existe des outils mathématiques qui permettent
de modéliser de tels systèmes, et quelles sont les ressources que je
dois consulter pour tenter de les maîtriser ?

Merci !


Je ne sais pas si cela va répondre pleinement à ta question mais pour
l'idée d'équilibrage (constantes ? évaluation ?) tu pourrais regarder du
coté des algorithmes génétiques.

--
Xavier Nayrac
http://personalbugtracker.free.fr

Bonjour,

Mickaël Wolff a écrit :


Je ne sais pas comment chercher les outils mathématiques dont j'ai
besoin pour résoudre un petit problème. J'aimerai pouvoir prouver qu'un
jeu de rôle est faisable, déterminer sa difficulté et son équilibrage.


Ce que tu cherches ce rapporte aux méthodes formelles : prouver
mathématiquement qu'un programme ou un système vérifie certaines
propriétés.
http://fr.wikipedia.org/wiki/M%C3%A9thodes_formelles


Je pense que c'est assez facile à faire de manière empirique,en
codant les comportements et en le faisant fonctionner dans les
limites.


Cette approche par énumération exhaustive des états est abordable par
des outils spécialisés comme Spin ou Murphi. Mais ces outils sontplus
adaptés à modéliser des systèmes communiquants parallèles ou distribués
qu'un jeu de rôle.

Plus généralement, ces outils relèvent de ce qu'on appelle le /Model
Checking/ : http://fr.wikipedia.org/wiki/Model_checking


Mais j'aimerais pouvoir anticiper les fonctionnalités avant de
les implémenter par exemple, et surtout ne pas devoir tatoner à
l'aveuglette pour équilibrer un jeu.


Bonne approche ! Réfléchir avant de foncer tête baisser dansle code.

Vu d'avion, tu dois :

1. définir tes spécifications : qu'est-ce que fait ton jeu de rôle et
quelles sont les propriétés que tu veux vérifier ;

2. réaliser un modèle de ton jeu. Cela peut être dans un formalisme
particulier (méthode B, un modèle Spin dans le langage Promela, ...)
ou avec les outils mathématiques habituels que tu connais ;

3. appliquer des méthodes manuelles ou des outils plus ou moins
automatiques pour montrer que ton modèle vérifie tes propriétés.


Donc, savez-vous s'il existe des outils mathématiques qui permettent
de modéliser de tels systèmes, et quelles sont les ressources que je
dois consulter pour tenter de les maîtriser ?


Il y en a pas mal. C'est un gros domaine de recherche qui a donné lieuà
pas mal d'outils, certains libres[1]. Je t'ai donné quelques liens mais
j'ai peur que ce ne soit pas assez précis. Si tu décris un peu plus
précisemment ton problème on pourra peut-être t'aider.

Bien cordialement,
d.

Footnotes:
[1] http://gulliver.eu.org/wiki/FreeSoftwareForFormalVerification

--
David Mentré

Bonjour

Merci à David et à Xavier d'avoir répondu. J'attendais un peu plus de
réponses, mais ça n'inspire pas beaucoup

Xavier Nayrac a écrit :


Je ne sais pas si cela va répondre pleinement à ta question mais pour
l'idée d'équilibrage (constantes ? évaluation ?) tu pourrais regarder du
coté des algorithmes génétiques.


J'avais d'entrée écarté les algorithmes génétiques, parce qu'ils
concernent les systèmes qui évoluent tout seuls en apprenant (à moins
que je n'ai mal compris leur but). Or, mon problème ici est de
déterminer l'évolution possible de mon système. Je n'ai pas de notion
d'apprentissage, mais plutôt une notion d'états possibles et probables.


David MENTRE a écrit :


Ce que tu cherches ce rapporte aux méthodes formelles : prouver
mathématiquement qu'un programme ou un système vérifie certaines
propriétés.


[...]


Il y en a pas mal. C'est un gros domaine de recherche qui a donné lieu à
pas mal d'outils, certains libres[1]. Je t'ai donné quelques liens mais
j'ai peur que ce ne soit pas assez précis. Si tu décris un peu plus
précisemment ton problème on pourra peut-être t'aider.


Merci pour cette réponse qui m'a apporté beaucoup de pistes. Je n'ai
pas encore fait le tour, et je ne sais pas si j'en ferais le tour. Je
n'ai plus le niveau mathématique pour plonger directement dedans.

L'avantage c'est que j'ai des mots et concepts pour penser ce que je
devinais intuitivement. Merci !

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org

Seeking for a position <http://lupusmic.org/pro/>

Mickaël Wolff a écrit :


Bonjour,

Je ne sais pas comment chercher les outils mathématiques dont j'ai
besoin pour résoudre un petit problème. J'aimerai pouvoir prouver qu'un
jeu de rôle est faisable, déterminer sa difficulté et son équilibrage.

Je pense que c'est assez facile à faire de manière empirique, en
codant les comportements et en le faisant fonctionner dans les limites.
Mais j'aimerais pouvoir anticiper les fonctionnalités avant de les
implémenter par exemple, et surtout ne pas devoir tatoner à l'aveuglette
pour équilibrer un jeu.

Donc, savez-vous s'il existe des outils mathématiques qui permettent
de modéliser de tels systèmes, et quelles sont les ressources que je
dois consulter pour tenter de les maîtriser ?

Merci !


Je ne sais pas si ton jeux existe déjà ( s'il est développé ),
sans un esprit "scénario" , tu dois pouvoir connaître "l'arbre" de ton jeux.

Il s'agit de toutes les possibilités possibles à partir du départ, plus
il y a de branches plus c'est difficile et tu connais tous les trajets
possibles, donc si ton jeux est possible.

Peut être qu'une démonstration mathématique est peu appropriée ou très
difficile à mettre en place, les militaires utilises des ensembles
d'équations pour simuler un champ de bataille ( style wargame ), j'ai vu
ça dans mes cours ( un ensemble impressionnant d'équations et de
paramètres ).

DP

http://www.obtuli.fr

Poser votre question sur le forum Programmation

Questions similaires :

faire connaître un logiciel commercial

Bonjour à tous, Je n'ai pas trouvé de forum plus approprié que celui-ci pour poser cette question. Le fait est que l'on peut développer le meilleur logiciel de sa catégorie, mais encore faut-il le faire connaître. On peut imaginer diverses choses en dehors du bouche à oreille via les relations...

Logiciel prouvé

J'ai entendu parler depuis un bon moment de logiciel prouvé comme devant faire ce qu'il doit. Je ne me suis jamais vraiment penché sur le sujet, y a-t-il de bons papiers d'introduction ? A part ça, j'ai un problème philosophique avec cette notion : L'idée est si j'ai bien compris d'obtenir une...

Recherche d'un logiciel de versionning

Bonjour, Je suis à la recherche d'un logiciel qui m'aide à tracer les modifications que j'ai pu faire sur un code source. Un peu à la manière de CVS, mais pour un seul utilisateur, et sans serveur. Ca existe ? C'est gratuit ? Merci !

Migration logiciel sous DBASE

Bonjour, je dois re-écrire un logiciel de gestion ancien qui fonctionne sur une base de données dont les extensions de fichiers sont .FIC, .NDX et .MMO pour chaque table. D'après mes recherches, il s'agirait de fichier DBASE. Je n'en suis pas certain, pouvez-vous me confirmer ? Si c'est le cas, se...

Développement logiciel de communication (modem)

Salut, Je cherche des infos sur le développement de logiciels exploitant un modem analogique. Le but principal étant d'avoir accès, lors de la réception d'un appel téléphonique, aux données de la fonctionnalité CLIP (comprent entre autres le numéro de l'appelant) qui vient d'être activée...