CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Python] possible de modéliser ça ?

Kwns
Kwns
Niveau 10
06 juin 2017 à 15:57:42

hey.

je considère une population de N agents.
1/10 de cette population sont soumis à une idée.
Chacun va en parler à n personnes (n compris entre 0 et 10 choisit de façon aléatoire)
Y'a moyen de programmer un truc pour voir ce qu'il se passe au bout d'un certain temps ? Genre l'évolution des personnes au courant de cette idée ?

J'ai aucune idée de comment faire. [[sticker:p/1kki]][[sticker:p/1kki]]

Morphisme
Morphisme
Niveau 10
06 juin 2017 à 16:26:22

Le plus simple est d'utiliser une numpy array de N booléens qui représente si chaque personne a l'idée ou pas.
Tu peux ensuite facilement accéder au nombre de personnes qui ont l'idée en sommant ton array, ou diffuser l'idée en mettant de nouvelles valeurs à True.

Kwns
Kwns
Niveau 10
06 juin 2017 à 16:37:14

Bonne idée !
J'essaye, je reviendrai tout à l'heure. Merci.

Papalia-92i
Papalia-92i
Niveau 5
06 juin 2017 à 17:23:04

Je sais pas si c'est comme la propagation d'épidémie mais tu peux regarder le sujet d'ipt des mines de 2016. (La dernière partie)

Kwns
Kwns
Niveau 10
06 juin 2017 à 18:47:34

Ah merde, j'avais pas vu ton message, merci quand même.
De toute façon, l'idée de méca me suffisait amplement, j'ai réussi ce que je cherchais à faire.

Cependant, un nouveau problème apparaît. [[sticker:p/1kkn]]

On peut choisir de façon aléatoire entre 0 et 1 mais est-ce qu'on peut influencer l'aléatoire (:hap:)
genre avec uniform(0,1) j'ai un float entre 0 et 1 de façon uniforme mais comment faire pour avoir 75% de chance d'avoir un nombre entre 1/2 et 1 et 25% de chance selon d'en avoir un entre 0 et 1/2 ?

Dois-je créer une fonction ?

Merci !

Papalia-92i
Papalia-92i
Niveau 5
06 juin 2017 à 18:52:36

Au pif je dirais tu tires un nombre au hasard dans [0,1] si ce nombre est dans [0,0.25] tu demandes a retourner un nombre au hasard entre [0,1/2] et pareil avec 0.75 https://image.noelshack.com/fichiers/2017/19/1494613194-risisinge.png

Message édité le 06 juin 2017 à 18:52:55 par Papalia-92i
Grimmys
Grimmys
Niveau 19
06 juin 2017 à 18:58:22

Pourquoi un numpy array de booléens ? :(

Je trouve ça lourd... Par récursivité avec une variable enregistrant le nombre de personnes ayant l'idée, ça se fait bien bien plus simplement je trouve, vue que c'est seulement le nombre qui importe et non les personnes en tant que tel... :(

Enfin bref trop tard, mais j'ai du mal à saisir l'intérêt du tableau de booléens, donc ça me perturbe. :hap:

Pour ton autre problème :

Oui, effectivement faire une fonction je pense que ça serait judicieux. Enfin, y a peut-être déjà une fonction qui permet de faire ça (je connais pas le module random par coeur :hap: ), mais c'est toujours plus sympa de coder soi même.

Ce que je ferais consisterait à tirer aléatoirement uniformément un nombre entre 1/2 et 1, un autre entre 0 et 1/2.
Et après, en ajoutant trois fois le nombre entre 1/2 et 1, contre une seule fois l'autre nombre, dans une liste ; je tirerais un nombre aléatoire de cette liste, qui serait mon résultat final.

L'idée qui me vient d'instinct, mais je sais pas si il y a plus simple. [[sticker:p/1jnh]]

Grimmys
Grimmys
Niveau 19
06 juin 2017 à 19:02:26

Le 06 juin 2017 à 18:52:36 Papalia-92i a écrit :
Au pif je dirais tu tires un nombre au hasard dans [0,1] si ce nombre est dans [0,0.25] tu demandes a retourner un nombre au hasard entre [0,1/2] et pareil avec 0.75 https://image.noelshack.com/fichiers/2017/19/1494613194-risisinge.png

Ah oui, tout simplement. [[sticker:p/1lmb]]

Morphisme
Morphisme
Niveau 10
06 juin 2017 à 19:24:40

Le 06 juin 2017 à 18:58:22 Grimmys a écrit :
Pourquoi un numpy array de booléens ? :(

Je trouve ça lourd... Par récursivité avec une variable enregistrant le nombre de personnes ayant l'idée, ça se fait bien bien plus simplement je trouve, vue que c'est seulement le nombre qui importe et non les personnes en tant que tel... :(

Enfin bref trop tard, mais j'ai du mal à saisir l'intérêt du tableau de booléens, donc ça me perturbe. :hap:

Si tu relis la question il n'est pas intéressé que par le nombre de personnes ayant l'idée mais par la modélisation de l'état de son problème, qui n'est bien modélisé que par une fonction de l'ensemble des personnes vers {0,1}.

Quand bien même il ne serait intéressé que par le nombre de personnes ayant l'info, si c'est la seule donnée que tu stockes, il faudrait faire un travail supplémentaire de calcul de probas, alors qu'avec un array et un masque d'indices tu fais ça en deux lignes.

Sous forums
  • Histoire
  • Philosophie
  • Cours et Devoirs
  • Politique
  • Environnement & Nature
  • Métiers & Orientation
La vidéo du moment