BeepAI : Une intelligence artificielle qui apprend à programmer !

Pour approfondir le sujet

Sur le même thème :

Le projet RePAIR : aider les archéologues à restaurer les fresques du passé grâce à l’intelligence artificielle

Afin de faciliter le processus de reconstruction et de réhabilitation permettant de redonner une seconde vie aux œuvres d'art de l'antiquité et du moyen-âge,...

IA, systèmes embarqués, vision, aéronautique : Le salon ENOVA se tiendra à Toulouse les 30 et 31 mai

Le salon ENOVA reviendra pour une seconde édition au Parc des expositions de Toulouse les 30 et 31 mai prochain. Un événement orienté technologies...

L’intelligence artificielle sera au coeur des Rencontres du Droit Humain le 9 décembre à Paris

Les rencontres du Droit Humain s'intéresseront cette année à l'intelligence artificielle dans le cadre d'un après-midi totalement IA. Organisé par la Commission Perspectives Sociétales...

Le CSAIL et l’Institut Wyss de Harvard créent un muscle artificiel révolutionnaire pour la robotique

Le domaine de la robotique molle connait d'importants développements depuis quelques années. Ses applications intéressent de nombreux secteurs dont bien évidemment l'industrie. Le CSAIL,...

BeepAI : Une intelligence artificielle qui apprend à programmer !

BeepAI est capable de trouver l’algorithme le plus efficace pour résoudre des problèmes de logique, mathématique et autres problèmes informatiques dans un réseau de “machines virtuelles” connectées compatibles Android, Windows, Mac, Linux…

Une fois une solution trouvée BeepAI en fait bénéficier les autres instances du réseau grâce à une bibliothèque de “solutions qui se construit au fur et à mesure des résultats trouvés.

Pourquoi BeepAI ?

Certains ont pour hobby de résoudre des grilles de SUDOKU, une de mes passions est de développer des programmes permettant de résoudre ces grilles de SUDOKU et autres énigmes et problèmes de logique tout seul.

BeepAI Sudoku Logique Enigme

Passionné par l’informatique, l’intelligence artificielle et la robotique cela fait depuis plusieurs années que j’avais ce projet de côté prêt à être déployé. Mes premiers essais datent des années 1990 puis repris en 2003 à base de réseaux de neurones et de machines virtuelles, … BeepAI est avant tout un projet personnel, une plateforme de développement en intelligence artificielle que j’adapte à mes projets.

Comment un être humain apprend-il à programmer ?

Lorsqu’un “programmeur” se lance dans l’apprentissage d’un nouveau langage de programmation. Il doit apprendre, telle une langue vivante, une “syntaxe”, un “vocabulaire”, une “grammaire”. Un programme informatique est pourtant bien différent d’une simple prose : la moindre faute de syntaxe ou de logique peut faire s’effondrer tout un projet.

Quelque soit le langage nous retrouvons les mêmes “briques” de base :

  • Des variables (un espace en mémoire accessible par un nom)
  • Des opérateurs d’affectation, de logique, de mathématique
  • Des conditions
  • Des boucles

BeepMachine : Machine virtuelle de BeepAI

Avec l’arrivée de machines de plus en plus performantes, il est possible aujourd’hui de “simuler” le fonctionnement d’un ordinateur dans un environnement “virtuel”. C’est même devenu monnaie courante dans bon nombre d’entreprises et industries logicielles.
Ma curiosité m’a amené à me demander ce que serait capable une intelligence artificielle qui pourrait accéder, manipuler, programmer une “machine virtuelle”.

Génération de code : Entre stratégies et puissance de calculs

Pour étudier l’ordonnancement possible des instructions d’un programme informatique, on peut imaginer un véritable jeu d’échecs, où l’on cherche à anticiper les “n” prochains coups.
Plus on essayera d’anticiper les “combinaisons” possibles, et plus nous assisterons à une véritable “explosion” de combinaisons. BeepAI utilise plusieurs fonctions de génération de codes, chaque “programme” ainsi généré, peut être analysé en terme de performance : nombre d’instructions, nombre de déplacements en mémoire, …

BeepCloud: Bibliothèques de solutions utilisées par BeepAI

Le meilleur code pour chaque instance de BeepAI est ensuite partagé dans une bibliothèque en ligne, nommé BeepCloud à laquelle toutes les autres instances de BeepAI peuvent avoir accès et ainsi accélérer.

Temps de calcul et robot autonome

L’intelligence artificielle a besoin plus que tout de “temps de calcul”, pour répondre à ce besoin de nombreux projets mettent en place des services en lignes très puissants.
Un robot autonome ne peut pas “toujours” avoir accès à ces services en ligne, afin de lui permettre de disposer de temps de calcul nécessaire BeepAI est compatible avec la plupart des ordinateurs, tablettes et même certaines consoles de jeu sur lesquelles BeepAI peut s’installer. Chaque instance joue le rôle d’un programmeur avec chacun sa façon de travailler afin d’augmenter les chances de trouver une solution le plus rapidement possible.

Le résultat : du code informatique

La plupart des “intelligences artificielles” ont un fonctionnement plus ou moins opaque, on ne sait que très difficilement “pourquoi” une décision a été prise par l’IA. Cela reste possible mais uniquement avec une très bonne expertise en intelligence artificielle.
BeepAI produit un code informatique compréhensible par un développeur, qui ne nécessite pas d’être un expert en IA pour comprendre son fonctionnement.
Pour faire fonctionner un projet avec le code produit par BeepAI pas besoin d’installer BeepAI non plus ! Le code généré suffit ! Pratique pour des systèmes embarqués limités en ressources mémoire/espace disque.

 

Évolutions : BeepAI demain…

  • Je travaille actuellement sur la virtualisation de “robots”, très pratique pour effectuer des simulations, trouver une solution à un problème physique-robotique, j’en fais bénéficier actuellement BeepAI sur différents projets. Cela sera un module entier à part dans ses prochaines versions.
  • Un code plus clair : le code actuellement généré est “sélectionné” en terme de “performances”; les futures versions de BeepAI travaillent également à la clarté du code ainsi généré.
  • Performances globales : je travaille également à améliorer les performances de BeepAI. Entre chaque version un travail d’optimisation permet d’améliorer ses performances, un système de BenchMarking est mis en place depuis sa dernière version me permettant d’estimer ses performances en temps réel.

Lien vers le projet BeepAI :
http://robot.beepmaster.com/beepai.php

Contributeur expert

Cedric Vasseur

Cédric Vasseur est conférencier, formateur, chroniqueur spécialiste des nouvelles technologies

Partager l'article

Vendée Territoire Connecté : réseau d’objets connectés et jumeau numérique au service de la transition écologique

Vendée Territoire Connecté, l'un des douze projets lauréats de l'appel à projets DIAT, entre dans sa phase opérationnelle. Porté par Vendée Numérique et soutenu...

Nomination de Clara Chappaz : La voie vers une nouvelle mission ?

En ligne avec l’intervention en Serbie d’Emmanuel Macron fin août, la nomination de Clara Chappaz en tant que Secrétaire d’Etat Chargée de l’Intelligence Artificielle...

Mozilla appelle à créer une alternative publique à l’IA privée dominée par les Big Tech

Si l'organisation à but non-lucratif Mozilla est connue principalement pour son navigateur web, Mozilla Firefox, elle, œuvre sans relâche en faveur des libertés numériques, de...

IA et sûreté : vers une généralisation des caméras de vidéosurveillance intelligentes en France

L'expérimentation des caméras de surveillance augmentées d'IA lors des Jeux olympiques et paralympiques s'est avérée positive. Le gouvernement réfléchit donc à l'installer durablement sur...