Algorithme de prise de décision
Répondre à la discussion
Affichage des résultats 1 à 19 sur 19

Algorithme de prise de décision



  1. #1
    invite8090beca

    Algorithme de prise de décision


    ------

    Hello !

    Je ne sais pas du tout si c'est le bon endroit pour ce genre de demande, mais je suis étudiante en prépa, et dans le cadre de mes TIPE je cherche un code (sous python) qui programmerait la prise de décision (c'est à dire qui aurait plusieurs entrées différentes, qui recouperait ces informations et qui en déduirait la meilleure solution).. Une ébauche en tout cas, pour l'adapter à mon contexte. Je me suis dit que c'était un "thème" assez connu et que peut-être quelqu'un avait déjà codé ça..

    Ce serait vraiment une grande aide.

    Merci d'avance pour vos réponses

    -----

  2. #2
    invite6486d7bd

    Re : Algorithme de prise de décision

    Voir peut-être du côté de Pyke.
    http://pyke.sourceforge.net/

    Qui apparemment permet de produire des systèmes experts (ce qu'on peut entendre par "système d'aide à la décision")

  3. #3
    Dlzlogic

    Re : Algorithme de prise de décision

    Bon, je reformule ma réponse autrement.
    Soit le but de ce TIPE est justement d'écrire un programme qui résout ce type de problème, alors on ne peut vraiment pas le faire à votre place, surtout en l'absence d'énoncé.
    Soit ce n'est qu'un détail auxiliaire dans votre TIPE, alors c'est pas très dur à faire, si on suppose que les cas et tests sont assez limités.
    Dans tous les cas, il me semble que vous devriez donner plus de détails, étant donné l'énormité de ce problème, dans le cas général.

  4. #4
    invite8090beca

    Re : Algorithme de prise de décision

    Bonjour,

    Le but de ce TIPE n'est pas de créer le code, c'est comme vous le dites, un détail. Mais qui a pourtant son importance :
    Alors en fait l'expérience qui nécessiterait cet algorithme c'est ça :
    On modélise des capteurs de mouvement par des lasers qui sont pointés sur des diodes. On coupera les faisceaux selon nos besoins (simuler une présence, une panne....) et du coup l'algorithme devrait prendre en entrée le fonctionnement (ou pas) des diodes, et le cas échéant, la durée de non-fonctionnement.
    Ensuite, l'algorithme devra recouper ces informations là, il y aura surement des probabilités dans le lot, et en sortie il faudra un 'oui' ou un 'non', de manière à allumer une autre photodiode, qui simulerait le déclenchement d'une alarme.
    On cherche un modèle général pour ce genre de prise de décision, quelque chose qui dépendrait de contraintes pour ensuite choisir une solution appropriée.
    On n'est cependant pas excessivement douées en informatique, c'est pourquoi avoir une base, un code déjà conçu, ça nous aiderait pas mal, pour éviter de faire quelque chose de trop naïf. C'est aussi ce que nous ont conseillé nos professeurs.

    J'espère vous avoir donné assez de détails.

    Merci en tout cas pour votre réponse.

  5. A voir en vidéo sur Futura
  6. #5
    Dlzlogic

    Re : Algorithme de prise de décision

    Bonjour,
    Si j'ai bien compris, vous devez créer ce qu'on peut appeler une boite noire de sécurité.
    C'est à dire un système qui fonctionne automatiquement.
    Bien-sûr, tout ça fonctionne avec l'informatique, mais ce n'est qu'une histoire de traduction d'une logique en code. Le plus important est, à mon avis, la description de la logique, la traduction, ce n'est qu'un détail.
    Donc, encore à mon avis, au lieu de chercher un truc existant et l'adapter à votre problème, je trouve plus intéressant de partir de l'énoncé qui me parait tout à fait clair et "construire" la logique, c'est à dire l'algorithme. Vous trouverez bien quelqu'un qui vous aidera dans l'écriture du code, si la logique est claire et détaillée.
    En fait, on est très loi d'un algorithme de prise de décision, lequel sous-entend l'accumulation d'expériences, la pondération des évènements etc.

  7. #6
    invite9dc7b526

    Re : Algorithme de prise de décision

    A mon humble avis c'est plus un problème mathématique qu'informatique. Il faut commencer par modéliser le problème et choisir une approche mathématique (par exemple analyse discriminante linéaire, arbres de classement (CART), réseaux de neurones, etc) avant de penser programmation.

  8. #7
    invite0b618583

    Re : Algorithme de prise de décision

    Ce que tu décris (assez vaguement) c'est ce qu'on appelle "un problème d'optimisation". Il y a de nombreux sous-type de problème d'optimisation (continue, convexe, différentiable, linéaire, discrète...)
    et de nombreux algorithme exacts ou approchés. Je peux sans problème te donner une demi-douzaine d'algos sur lesquels des livres entiers ont été écrits. Donc écrire "un algorithme qui prends des inputs,
    des contraintes et choisit une solution appropriée" c'est un peu vague et hors scope TIPE. Ceci-dis si tu restreint un peu ton problème, par exemple en te disant que le seul choix que tu as est 0-1 (allumer l'alarme ou non)
    as partir de données complexes mais pour lesquelles tu as des exemples d'entrainement (des exemples où tu donnes la "bonne réponse") alors il existe des outils plus adapté et déjà codé.
    En python je t'invite à regarder l'excellent packet scikit-learn qui propose de nombreux outils pour ce type de problématique.

    Mais avant de penser programmation il faudra mieux déterminer les caractéristiques de ton problème et choisir l'outil mathématique adéquat (comme l'a pointé minushabens).

  9. #8
    invite8090beca

    Re : Algorithme de prise de décision

    Bonsoir,

    Merci pour vos réponses.
    Je croyais avoir répondu mais le message ne s'est pas publié.
    Je ne suis qu'en 1ère année donc je vous avoue que les approches mathématiques dont vous me parlez sont peu claires (mais je vais aller me renseigner).
    Je comprends qu'il faut d'abord voir l'aspect mathématique avant la programmation.
    Néanmoins si vous avez une petite explication à me donner de certaines approches mathématiques dont vous m'avez parlé je suis preneuse, c'est parfois plus compréhensible que certains sites internet

  10. #9
    Dlzlogic

    Re : Algorithme de prise de décision

    Bonsoir,
    Cela fait plaisir de vous relire.
    Dans un premier temps, oubliez toute notion mathématique et forcément toute traduction informatique.
    Décrivez la liste de vos capteurs, leur disposition.
    Indépendamment, un capteur s'arrête, que se passe-t-il ensuite ?
    Imaginez que vous souhaitiez installer ce réseau de surveillance dans votre maison. Que peut-il arriver ?
    N'hésitez pas à raconter ce que vous avez décrit.
    Un conseil, imaginez l'organisation la plus compliquée possible, le reste viendra tout seul.

  11. #10
    invite8090beca

    Re : Algorithme de prise de décision

    Bonjour,

    Alors au niveau des capteurs, ils seront au nombre de 3, pour leur disposition, nous ne savons pas encore comment ils seront placés.
    Si un capteur s'arrête, le code que nous voulons créer devra prendre la décision, soit de déclencher l'alarme (allumer une diode) soit non. Cette décision sera prise selon la durée de non-fonctionnement du capteur, c'est à dire pour essayer de faire la différence entre une panne et la présence d'un intrus.
    On veut justement que le code soit capable de différencier si c'est juste un animal qui vient de passer devant les capteurs, ou bien un intrus, ou même encore une panne d'un des capteurs.
    Nous avons commencé à écrire des "règles simples" mais que je trouve très naïves du style "Si il y a que des 1 -> ne pas déclencher" donc envoyer 0 en sortie, sachant que le " 1 " dont je parle représente le fonctionnement du capteur (0 si il ne marche pas).
    Je pourrais traiter toutes les situations possibles avec des "if", mais je pense que cela mènerait à quelque chose de très et trop "simpliste".

  12. #11
    Dlzlogic

    Re : Algorithme de prise de décision

    Bonjour,
    Non, c'est pas simpliste du tout, c'est comme ça qu'il fait faire.
    D'abord, il faut lister les évènement possibles (au hasard : les 3 s'arrêtent un court instant, successivement, puis se rallument).
    Puis, les causes possibles (ex : la promenade de votre chat préféré).
    Enfin, les décisions possibles.

    Donc il y a 3 chapitres à décrire.
    Quand ce sera décrit et que vous serez sûr qu'il n'y a rien à ajouter, vous pourrez étudier les liaisons entre les 3 chapitres, mais pas avant.
    Mais naturellement, ce n'est que mon conseil.

  13. #12
    invite8090beca

    Re : Algorithme de prise de décision

    Bonjour,

    C'est donc ce que nous allons faire. Nous allons écrire un algorithme en traitant toutes les possibilités (de manière à ce que mon chat préféré ne soit pas détecté).
    Mais à côté de cela nous avons pensé à utiliser un peu de "machine learning" afin de comparer les deux codes : un qui suit des contraintes que l'on a prédéfini, et un qui "apprendrait de lui même", mais nous n'avons que très peu d'informations sur cette idée là, j'ai le module scikit-learn déjà installé et nous avons lu quelques documentations mais ce n'est pas très clair pour nous (voire même totalement flou). Pourriez vous nous aider ?
    On voudrait traiter la durée de non-fonctionnement du capteur en entrée de l'algorithme. Il faut donc que l'algorithme fonctionne en continu. Comment est-ce réalisable? Si vous avez des idées, nous sommes preneuses.
    Merci pour vos réponses

  14. #13
    Dlzlogic

    Re : Algorithme de prise de décision

    Oui, c'est un sujet très intéressant. J'avais mis au point une application de cela pour des études de prix dans un contexte Travaux Public.
    En gros, il y a deux choses à considérer
    1- les critères à mémoriser et à mettre à jour. Dans mon contexte, il y en avait 3, c'est déjà pas mal
    2- les formules de mise à jour. Ca c'est le plus difficile à définir. Pour être homogène, elle doivent être constantes et définitives. Par contre, rien n'interdit qu'elle contiennent des paramètres qui, eux, peuvent être variable en fonction d'autre éléments.

    Bien-sûr il faut prévoir une période de "mise au point" qui est une sorte d'étalonnage du système, mais il est indispensable de se dire qu'une fois verrouillé, c'est définitif.

    PM vous utilisez le terme "algorithme" à la place de "programme" ou "logiciel" ou "applicatif". Algorithme a un sens très précis : c'est une description logique d'une action ou d'un enchainement logique d'actions. Cela n'a rien à voir avec l'informatique. Les Grecs (entre autres) faisaient de l'algorithmique.

  15. #14
    invite8090beca

    Re : Algorithme de prise de décision

    Est ce que coder quelque chose avec du machine learning est accessible pour nous alors que nous ne nous y connaissons pas énormément là dedans?

    Et merci pour la précision de vocabulaire, j'y ferai attention. Mais que signifie PM ? "Private message" ?

  16. #15
    Dlzlogic

    Re : Algorithme de prise de décision

    Concertant la première question, ma réponse est très claire. Il est beaucoup plus difficile d'écrire ce qu'on veut faire, c'est à dire écrire l'algorithme que de le traduire dans n'importe quel code. D'autre part, pour comprendre un code écrit par quelqu'un d'autre, il me parait indispensable de connaitre très bien le sujet. Donc, comme le sujet de votre projet n'est pas l'écriture du code mais celui de l'analyse, si celle-ci est complète, l'écriture dans votre langage préféré sera facile et on pourra vous aider. Ce sait que cet avis n'est pas partagé par tout le monde. Je dirai que pour un étudiant, il me parait nécessaire de réinventer la roue.

    PM. ça veut dire "Pour Mémoire". C'est très utilisé. "Message Privé" n'est utilisé que sur les forum et on dit MP.

  17. #16
    invite8090beca

    Re : Algorithme de prise de décision

    D'accord, nous y réfléchirons. On va d'abord se concentrer sur l'écriture du code dans lequel on prévoit toutes les situations possibles. Ce sera déjà une base.

    Je ne connaissais pas du tout cette abréviation. Oui je m'en doutais pour MP mais puisque je ne savais pas pour PM, j'ai préféré demander.

    Merci pour votre aide en tout cas.

  18. #17
    invite0b618583

    Re : Algorithme de prise de décision

    Bonjour,

    La base de la classification (supervisée) : on dispose de données x_1, ..., x_n, auxquelles on associe des labels y_1,...,y_n.
    L'objectif est de trouver une fonction qui à chaque nouvelle donnée x associeras le bon label y. L'apprentissage automatique
    (Machine Learning) propose diverses méthodes pour trouver des fonctions qui font ça "au mieux" avec tout plein de résultats
    théoriques et pratiques.

    si vous voulez utiliser des outils de machine learning la première chose à faire est de déterminer les paramètres à fournir à votre outil.
    Par exemple ça peut être les données de vos 3 capteurs, par seconde, sur les 20 dernières secondes. Ce sera l'espace dans lequel vis vos x.

    Ensuite il faut construire des exemples : enregistrer des données et dire dans quel cas il faut déclencher l'alarme (label y= 1) et dans quel
    cas ne rien faire (label y= 0) .

    Ensuite il faut choisir un modèle d'apprentissage et l'entrainer pour votre problème. C'est là que scikit-learn peut vous aider (ça ne sers à rien
    de recoder en moins bien un algo déjà bien implémenté).

    Pour votre problème je vous suggère deux directions :
    - les SVM, qui ont l'avantage d'être compréhensible en supp (surtout le cas linéaire) et hyper documentée sur le net (google est riche en tuto sur le sujet).
    le raisonnement mathématique derrière est plutôt simple à comprendre et expliquer
    - les réseaux de neurones, plus difficile à vraiment appréhender mais très à la mode en ce moment.

    Dans les deux cas on trouveras aussi des tuto expliquant comment faire des SVM / réseau de neurones avec scikit-learn

    P.S: de mon côté aussi c'est la première fois que je vois écrit "PM"...

  19. #18
    invite8090beca

    Re : Algorithme de prise de décision

    Bonjour,

    Merci beaucoup pour toutes vos réponses, ça nous apporte vraiment beaucoup d'aide. On va donc se pencher sur tout ça, j'ai déjà lu certaines documentations sur les SVM, je vais donc bien approfondir ça.
    On reviendra sûrement vers vous lorsque nous aurons déjà bien étudié tout ce que vous nous avez proposé.
    Merci encore.

    PS : aaah bah écoutez je me sens moins seule, et au moins nous aurons appris quelque chose !!

  20. #19
    invite8090beca

    Re : Algorithme de prise de décision

    Bonsoir,

    Pour notre expérience réelle, nous allons devoir implémenter notre code sur une carte Arduino, et notre code devra fonctionner en continu. Mais on ne sait pas trop comment faire pour que justement le code fonctionne en continu ! Pourriez-vous (encore) nous aider ?
    Et connaissez-vous les branchements exacts d'une carte ? On sait qu'elle peut recevoir plusieurs entrées (des 0 ou des 1) ou des données algébriques. Mais nous ne sommes pas trop sûres de comment reliez nos photodiodes avec cette carte. Je sais que c'est de la physique voire même de l'élec, mais je demande quand même au cas où quelqu'un aurait des connaissances là-dessus!

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/03/2017, 16h33
  2. modelisation d'un aéroport / jeu de prise de décision
    Par invite3914edc4 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 10/09/2011, 13h39
  3. Prise de décision en situation de crise
    Par invitef0c99235 dans le forum Santé et médecine générale
    Réponses: 1
    Dernier message: 17/10/2007, 10h35
  4. signal video 1Vcc, prise péritel, prise antenne, prise cinch
    Par invitebac9162b dans le forum Électronique
    Réponses: 2
    Dernier message: 22/03/2003, 09h14