IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Utilisation du processeur bridée a 30%


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2017
    Messages : 6
    Par défaut Utilisation du processeur bridée a 30%
    Bonjour

    J'ai créé une IA capable d'apprendre elle même a jouer au Puissance 4. Le code est fait et fonctionne, mais maintenant il faut que l'IA apprenne a jouer, et pour ça il faut qu'elle joue des dizaines de milliers de parties contre elle même. Et c'est long !
    Sauf que quand j'ai regardé le gestionnaire des tâches, j'ai remarqué que l'utilisation par le programme du CPU ne dépasse jamais 30% alors que son l'utilisation générale est de 60%.
    Nom : Capture.PNG
Affichages : 234
Taille : 47,9 Ko
    Voici le gestionnaire des taches (D'ailleurs je sais pas pourquoi Avast s’excite autant, c'est pas normal, c'est peut être ça qui cause le problème)
    Si quelqu'un sait comment faire pour débrider l'utilisation du CPU ça m'interresse (Je code sous Eclipse 4.6.0 (Neon))


    Merci d'avance

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Pour avoir un processeur à 100%, il doit fonctionner en permanence et ne jamais faire d'accès disque ou travailler sur une grande taille en RAM.
    Le temps processeur tel que mit ici ne tient pas compte des I/O : entrées/sorties. Ca prend du temps et pendant ce temps, le processeur exécute d'autres programmes.
    Mais impossible de t'en dire plus sans savoir ce que fait ton programme.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,



    A noter également que sur un système multi-CPU (ou un CPU multi-coeur), il faudra obligatoirement avoir au moins autant de thread que de CPU/coeur...


    a++

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    On dirait que tu utilise seulement un thread dans ton programme sur un système à 4 coeurs. Ce qui donne 25% plus des poussières pour les threads annexes de java (interface graphique, garbage collector,...)

  5. #5
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2017
    Messages : 6
    Par défaut
    A oui effectivement je n'utilise qu'un thread dans mon programme (je suis débutant x) ) et j'ai un i5 4690 (donc 4 coeurs).

    Merci de votre aide, même si j'ai laissé tomber cette solution (elle demande trop d'entrainement même si je multiplie par 10 l'efficacité de l'apprentissage) ça reste bon a savoir


    (J'utilisais une méthode très bourrin, que j'avais déjà employé pour le Morpion et qui marchait très bien. J'ai voulu passer a la vitesse supérieure avec le Puissance 4 mais j'ai sous estimé la complexité du jeu x)
    Ma méthode consistait a enregistrer chaque situation vue (un positionnement des pions) dans un objet contenant la situation et les pourcentages de chances de victoire pour chaque coup (on avait donc un tableau de 7*6 et un de 7 par objet pour le Puissance 4). Et l'IA regarde dans sa base de données si elle connait la situation avant de jouer a chaque fois, et joue le coup qui a le plus de chances de réussite. Et a la fin de la partie, elle augmente ou réduit les pourcentages des coups qu'elle a joué en fonction du gagnant. Cette solution marchait très bien pour le Morpion dans lequel il n'y a pas un nombre trop grand de situations possibles, mais au Puissance 4 c'est une autre histoire.
    Du coup je vais essayer de faire un réseau de neurones, mais ça va être autrement plus compliqué que ma solution bourrin x) )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation du processeur
    Par NeMo_O dans le forum Linux
    Réponses: 3
    Dernier message: 17/05/2008, 17h55
  2. utilisation du processeur par SQLServer
    Par Gilles.B dans le forum Administration
    Réponses: 7
    Dernier message: 13/05/2008, 16h39
  3. [Deb3.1]Detecter l'utilisation des processeurs ?
    Par byloute dans le forum Debian
    Réponses: 3
    Dernier message: 16/07/2007, 10h48
  4. [Weblogic][Tuning] Optimiser l'utilisation du processeur
    Par Jacques - 06 dans le forum Weblogic
    Réponses: 5
    Dernier message: 04/07/2006, 15h07
  5. Comment récupérer le % d'utilisation du processeur ?
    Par ksly dans le forum C++Builder
    Réponses: 3
    Dernier message: 28/10/2003, 13h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo