Self-programming Software

483 vues

Publié le

“Computers that learn in unsupervised ways and don't need to be told what to do in advance is the next phase of computer science” : Steve Wozniak , Apple co-founder

Publié dans : Logiciels
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
483
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
3
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Self-programming Software

  1. 1. DEVFEST DLA 2015 Patrick MVENG | @adelphepatrick Startup LaunchPad member by Google’s Developers Founder of VIKI #SelfProgramming
  2. 2. AGENDA  C’est quoi le self-programming ?  Concepts et Technologies utilisés  Pratique  Questions/réponses - Echange
  3. 3. “Computers that learn in unsupervised ways and don't need to be told what to do in advance is the next phase of computer science” Steve Wozniak , Apple co-founder C’est quoi le Self-programming ?
  4. 4. Cette présentation décrit une expérience visant à produire un programme en Intelligence Artificielle, capable de développer d'autres programmes avec l'interaction en langage naturel Est-il possible à un ordinateur d’écrire ses propres programmes ? Self-programming
  5. 5. Concepts utilisés  Intelligence Artificielle  Apprentissage Automatique  Traitement Automatique du Langage Naturel  Réseaux de Neurones  Programmation parallèle  Expressions régulières  Analyseur syntaxique et semantique  Modèle de markov Caché
  6. 6. Technologies utilisées  Visual Studio 2012 ou Android Studio  Framework DotNet  C# ou Java  Regex Library  TaskParallel Library  AIML ( Artificial Intelligence Markup Language ) dérivé de XML
  7. 7. Pratique VIKI : l’Intelligence Artificielle
  8. 8. Architecture : Agent VIKI Actuators/Moteurs : Ecran , Mouse , Haut-Parleur , … Sensors/Capteurs : Clavier , Souris , Champ de saisie de Message , Camera, Microphone, …
  9. 9. Architecture : Apprentissage automatique
  10. 10. Expression régulière : ^(|.*?b|.*?s)Whatb.+?bisb. +?byourb.+?bname(|b.*?|s .*?)$ <?xml version="1.0" encoding="ISO-8859-1"?> <aiml version="1.0"> <category> <pattern>incrémente la variable j</pattern> <template> <think><set name=“j">variable</set></think> j++ </template> </category> </aiml> Pratique : Les règles de prédiction avec AIML
  11. 11. /// <summary> /// Classe pour la compilation et l’exécution dynamique du code généré /// </summary> public class CSharpCompiler { public bool Compile()//true if successful { bool success; this.AssembleCode();//convert the data structures to this.code //compile class into assembly CSharpCodeProvider codeProvider = new CSharpCodeProvider(); ICodeCompiler compiler = codeProvider.CreateCompiler(); return success; }//Compile() } Cas 1 : Génération automatique de code source - #selfprogramming
  12. 12. Cas 2 : VIKI, votre secrétaire virtuelle sur Android JAVA on Android Studio 8 public void neuron_speakOut(String text) { tts=new TextToSpeech( this, new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if(status != TextToSpeech.ERROR) { int result = tts.setLanguage(Locale.US); if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { lmessage_viki = "This Language is not supported"; Log.e("TTS", lmessage_viki); //Toast.makeText(this, lmessage_viki , Toast.LENGTH_LONG).show(); } } } }); tts.speak(text.toString(), TextToSpeech.QUEUE_FLUSH, null); } VIKI permet aux développeurs d'inclure des interfaces vocales et le langage naturel dans leurs produits. Cette copine répond aux questions et aux tâches des utilisateurs dans un langage naturel
  13. 13. Perspectives de VIKI Prendre le job des êtres humains    IoT => IIoT ( Intelligent Internet of Things ) Transformer tout téléphone mobile en secrétaire ( Rendre plus intelligent les smartphones) Rendre Intelligent tout périphérique Facilité la vie des êtres humains en leur donnant plus de temps pour prendre du café
  14. 14. Questions / réponses - Echange
  15. 15. Merci pour votre attention…

×