09-03-2013, 05:24 PM
Salut,
+ pour les atouts, - pour les problèmes
En raisonnant agent par agent:
+ Facilité de conception (orienté objet, raisonnement sur un objet simple, l'agent)
+ Modularité (ajout d'un type d'agent, modification de paramètres, ajout de comportements/actions possibles)
+ Emergence (comportements faisant apparaitre une intelligence collective)
- Lourdeur des calculs (limités pour un match de foot: 11x2=22 joueurs +1 arbitre, ca va)
- Emergence (comportements imprévus rendant le déboggage compliqué)
En raisonnant statistiquement
- Théorisation mathématique requise (choix des fonctions qui, aux paramètres de l'ensemble des joueurs, associe le résultat du match)
- Faible modularité (mélasse de code, besoin de repartir au niveau "conception" si on veut ajouter un paramètre d'entrée)
- Comportements ultra-prévisible (la fonction f(paramètres)=score_du_match est simple face à un ensemble de 22 agents, qui ont un comportement macroscopique chaotique)
+ Déterminisme (en changeant tel paramètre et connaissant la fonction f() précédente, on en déduit immédiatement l'impact sur le résultat du match)
+ Rapidité de calcul (il suffit d'évaluer la fonction)
A toi de faire ton choix.
Dans le cadre d'un match de foot avec peu de joueurs, un système agent-par-agent me semble réalisable. Il sera plus long à développer qu'un système statistique, mais sera également bien plus immersif. Si tu préfères faire, pour l'instant, dans la rapidité de développement pour avoir une version jouable assez vite, alors privilégie la méthode statistique. Tu pourras toujours, plus tard, la remplacer par un système agent-par-agent.
+ pour les atouts, - pour les problèmes
En raisonnant agent par agent:
+ Facilité de conception (orienté objet, raisonnement sur un objet simple, l'agent)
+ Modularité (ajout d'un type d'agent, modification de paramètres, ajout de comportements/actions possibles)
+ Emergence (comportements faisant apparaitre une intelligence collective)
- Lourdeur des calculs (limités pour un match de foot: 11x2=22 joueurs +1 arbitre, ca va)
- Emergence (comportements imprévus rendant le déboggage compliqué)
En raisonnant statistiquement
- Théorisation mathématique requise (choix des fonctions qui, aux paramètres de l'ensemble des joueurs, associe le résultat du match)
- Faible modularité (mélasse de code, besoin de repartir au niveau "conception" si on veut ajouter un paramètre d'entrée)
- Comportements ultra-prévisible (la fonction f(paramètres)=score_du_match est simple face à un ensemble de 22 agents, qui ont un comportement macroscopique chaotique)
+ Déterminisme (en changeant tel paramètre et connaissant la fonction f() précédente, on en déduit immédiatement l'impact sur le résultat du match)
+ Rapidité de calcul (il suffit d'évaluer la fonction)
A toi de faire ton choix.
Dans le cadre d'un match de foot avec peu de joueurs, un système agent-par-agent me semble réalisable. Il sera plus long à développer qu'un système statistique, mais sera également bien plus immersif. Si tu préfères faire, pour l'instant, dans la rapidité de développement pour avoir une version jouable assez vite, alors privilégie la méthode statistique. Tu pourras toujours, plus tard, la remplacer par un système agent-par-agent.