Jump to content

Search the Community

Showing results for tags 'OpenSource]'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Discussions communautaires
    • Annonces importantes
    • Suggestions
    • Postulation
    • Présentation des membres
    • Discussions générales
    • Multimédias
    • Jeux vidéos
    • Actualités
    • Aide / Support
    • Études
    • Archives
  • Informatique
    • Projets des membres
    • Autres / Divers / Découvertes
    • Crypto-monnaie(s)
    • Hardware / Electronique
    • Réseaux
    • Gestion de serveur
    • Système d'exploitation : Smartphone
    • Système d'exploitation : Ordinateur
  • Programmation
    • Projets des membres
    • Développement web
    • Développement de logiciels
    • Développement d'applications pour smartphones
    • Outils du développeur
    • Aide / Support
  • Emulation
    • Aion
    • Arma III
    • Dofus
    • Dragonica
    • Emulateurs consoles
    • S4 League
    • FlyFF
    • Grand Theft Auto
    • Minecraft
    • Tera
  • Partenariats
    • <b>WoW Emu - La communauté émulation WoW</b>
    • <b>ActuGaming</b>
    • <b>H-Wars</b>
    • <b>EasyChat - Solution gratuite de chat client et serveur (anciennement Melichat)</b>
    • <b>Le Monde des Lunes</b>
    • <b>DansTonCode</b>

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Skype


Site web


AIM


MSN


ICQ


Yahoo


Jabber


Tox


Centres d'interêts


Localisation


Study level

Found 1 result

  1. Bonjour à tous, Dernièrement, j'étudie dans mon université les réseaux neuraux, aussi appelés Neural Networks. Affin de mieux comprendre mes cours, j'ai décidé de faire un projet permettant de visualiser l'évolution d'un cerveau virtuel dans un environnement de survie. Bref, un petit projet, mais très sympathique à regarder! I - Qu'est-ce que le Neural Networks? Je vais faire court et concis, mon but n'étant pas de faire un cours sur les réseaux neuraux ici. Un réseau neural a pour but de virtualiser des réseaux de neurones, et donc, en finalité, un cerveau. Le but, c'est de s'axer sur la biologie neuronale pour l'appliquer à l'informatique. Et, justement, ça tombe bien, puisque les neurones sont très proches des systèmes électroniques! Un neurone est constitué d'entrées (appelées Inputs) dont les valeurs varient entre 0 et 1, et de sorties, qui elles aussi, varient entre 0 et 1. Il existe 3 "couches" de neurones dans chaque NN (Neural Network). Une couche d'entrée (appelée "Input"), une couche de logique (appelée "Hidden Layer") et une couche de sortie (appelée "Output"). Chaque neurones est composé de plusieurs attributs, et c'est ces attributs qui varient pour fournir un nouveau "cerveau". Bref, je n'en parlerais pas ici, google "Neural Networks" devrait répondre à vos questions! Pour leur permettre d'"apprendre", j'utilise un algorithme d'évolution génétique, qui sélectionne les individus les plus aptes à survivre. Bref, un gros bordel. II - Le projet Donc, comme dis plus haut, le projet a pour but de simuler de petites intelligences artificielles. Voici les attributs de ces IA: Elles possèdent 20 entrées (inputs)L'input 0 leur permet d'avoir leur vieLes inputs 1, 2 et 3 leur permet de connaitre leur couleur (r, g, b )Les inputs 3+ sont utilisées pour définit une entité. Ainsi, n correspond au nombre d'entités proches, et l'IA peut voir jusqu'à 4 entités.3 * n est utilisé pour la distance d'une entité par rapport au senseur de l'IA (on reviendra sur le senseur plus tard)3 * n + 1, 3 * n + 2, 3 * n + 3 sont utilisés pour récupérer la couleur de l'entité visualiséeElles possèdent 200 neurones logiques (Hiddent Layer) (pour vous donner une idée, un ver de terre a 302 neurones, et c'est le premier "cerveau complet" que les humains ont réussi à virtualiser sur ordinateur. CF: http://www.artificialbrains.com/openworm )Elles possèdent 7 sorties (Output)L'output 0 et 1 sont utilisés pour définir l'angle d'orientation de l'IAL'output 2 est utilisée pour définir la vitesse de l'IAL'output 3, 4 et 5 sont utilisées pour la couleur de l'IA (r, g, b )L'output 6 est utilisée pour définir les dégâts que fait l'IA aux autres IA (n'est effectif que pour les carnivores)Le jeu possède des règles: Seules les herbivores peuvent voir la nourriture "herbe" (points blancs dans le projet) Les herbivores ne peuvent pas attaquer. Les carnivores peuvent se nourrir de n'importe quelle autre entité. Chaque carnivore peut voir toutes les autres entités, sauf l'herbe. Chaque IA a deux Senseurs qui correspondes aux yeux/antennes. Chaque senseur peut repérer les 2 entités les plus proches. Les IA perdent de la vie tous les ticks, et doivent donc récupérer cette vie en mangeant. Chaque IA a un age maximal, l'age est incrémenté à chaque tick de 1. Chaque IA peut donner naissance à une nouvelle génération, pour ce faire, elle doit avoir un certain age. Pour donner naissance, on utilise un algorithme de cross generation (génétique). On prend un nombre aléatoires de gènes du parent A, et un nombre aléatoire de gènes du parent B. Le parent A est celui qui a l'age de donner naissance, le parent B est le plus vieux parent (l'"élite") qui est encore vivant. Ceci permet d'avoir des IA qui évoluent constamment. Enfin, le but du projet est de voir l'évolution des IA à long terme, c'est pour ça que j'utilise un serveur-client, le serveur tourne 24/24 7/7, et on peut voir l'avancement grâce au client. III - Sources du projet Les sources du projet sont disponibles sur Github à cette adresse: https://github.com/AlexMog/NeuralNetworksClientServer Les sources sont sous licence MIT, dont n'hésitez pas à les utiliser comme bon vous semble, il faut juste laisser le copyright quelque part. Bien sur, le client est pré-configuré pour se connecter au serveur qui est déjà lancé, si vous souhaitez voir l'évolution des IA :). Je complèterais le readme du Github plus tard. Have Fun Cordialement, AlexMog.
×
×
  • Create New...