SlideShare a Scribd company logo
1 of 13
Download to read offline
Silicon Mountain Conference
Buea , 2016
Patrick MVENG | @adelphepatrick
Startup LaunchPad member by Google’s Developers
Founder of VIKI
#SelfProgramming
AGENDA
 What’s selfprogramming ?
 Key Concepts
 Use cases
 Opened questions
“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
What is Selfprogramming ?
This presentation describes AI-based technology capable to generate
new applications from natural language interaction
It is possible for a computer to write its own applications ?
Selfprogramming
Key concepts
 Artificial Intelligence
 Machine Learning
 Natural Language Processing
 Neural Network
 Parallel Programming
 Regular expressions
 Parser
 Hidden Markov Model
Technologies & Tools
 Visual Studio 2012 ou Android Studio
 ,Net Framework
 C# ou Java
 Regex Library
 TaskParallel Library
 AIML ( Artificial Intelligence Markup
Language )
VIKI : The Artificial Intelligence
Architecture : VIKI Agent
Actuators : Screen , Mouse , Speaker ,
…
Sensors : Keyboard, Mouse , Text ,
WebCam, Mic , …
Architecture : Machine Learning
Regular expressions ( Parser )
:
^(|.*?b|.*?s)Whatb.+?bisb.
+?byourb.+?bname(|b.*?|s
.*?)$
<?xml version="1.0" encoding="ISO-8859-1"?>
<aiml version="1.0">
<category>
<pattern>increment j</pattern>
<template>
<think><set
name=“j">variable</set></think>
j++
</template>
</category>
</aiml>
Predictive rules with AIML
/// <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()
}
Use Case 1 : #selfprogramming
Use case 2 : VIKI : AI-based personal assistant
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);
}
Natural language Interaction
App that learns from few behaviors and generate new knowledge , new behaviors in unknown
situations.
Opened questions !
@vikisms

More Related Content

Similar to Selfprogramming software

.NET Fest 2018. Олександр Краковецький. Microsoft AI: створюємо програмні ріш...
.NET Fest 2018. Олександр Краковецький. Microsoft AI: створюємо програмні ріш....NET Fest 2018. Олександр Краковецький. Microsoft AI: створюємо програмні ріш...
.NET Fest 2018. Олександр Краковецький. Microsoft AI: створюємо програмні ріш...
NETFest
 
Is AI More Artificial Than Intelligent? Is Wikipedia Better Than AI Chatbots ...
Is AI More Artificial Than Intelligent? Is Wikipedia Better Than AI Chatbots ...Is AI More Artificial Than Intelligent? Is Wikipedia Better Than AI Chatbots ...
Is AI More Artificial Than Intelligent? Is Wikipedia Better Than AI Chatbots ...
Reflections on Morality, Philosophy, and History
 
MHIT 603: Lecture 3 - Prototyping Tools
MHIT 603: Lecture 3 - Prototyping ToolsMHIT 603: Lecture 3 - Prototyping Tools
MHIT 603: Lecture 3 - Prototyping Tools
Mark Billinghurst
 

Similar to Selfprogramming software (20)

Abhishek_Mukherjee
Abhishek_MukherjeeAbhishek_Mukherjee
Abhishek_Mukherjee
 
.NET Fest 2018. Олександр Краковецький. Microsoft AI: створюємо програмні ріш...
.NET Fest 2018. Олександр Краковецький. Microsoft AI: створюємо програмні ріш....NET Fest 2018. Олександр Краковецький. Microsoft AI: створюємо програмні ріш...
.NET Fest 2018. Олександр Краковецький. Microsoft AI: створюємо програмні ріш...
 
Learning's from mobile testing
Learning's from mobile testingLearning's from mobile testing
Learning's from mobile testing
 
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
 
Intelligent Mobile App と Cloud Native、これからの時代のアプリケーション開発ビジョン
Intelligent Mobile App と Cloud Native、これからの時代のアプリケーション開発ビジョンIntelligent Mobile App と Cloud Native、これからの時代のアプリケーション開発ビジョン
Intelligent Mobile App と Cloud Native、これからの時代のアプリケーション開発ビジョン
 
Career in Software Development
Career in Software Development  Career in Software Development
Career in Software Development
 
Will artificial intelligence replace programmers
Will artificial intelligence replace programmersWill artificial intelligence replace programmers
Will artificial intelligence replace programmers
 
Mitesh goplani
Mitesh goplaniMitesh goplani
Mitesh goplani
 
Cool Coding
Cool CodingCool Coding
Cool Coding
 
Prasadraj SIKULI Presentation 1
Prasadraj SIKULI Presentation 1Prasadraj SIKULI Presentation 1
Prasadraj SIKULI Presentation 1
 
20240411 QFM009 Machine Intelligence Reading List March 2024
20240411 QFM009 Machine Intelligence Reading List March 202420240411 QFM009 Machine Intelligence Reading List March 2024
20240411 QFM009 Machine Intelligence Reading List March 2024
 
Sudipta_Mukherjee_Resume_APR_2023.pdf
Sudipta_Mukherjee_Resume_APR_2023.pdfSudipta_Mukherjee_Resume_APR_2023.pdf
Sudipta_Mukherjee_Resume_APR_2023.pdf
 
Hello world-thisIsSowmya
Hello world-thisIsSowmyaHello world-thisIsSowmya
Hello world-thisIsSowmya
 
Mendix-7-Keynote
Mendix-7-KeynoteMendix-7-Keynote
Mendix-7-Keynote
 
A Pragmatic View of UX Driven Development
A Pragmatic View of UX Driven DevelopmentA Pragmatic View of UX Driven Development
A Pragmatic View of UX Driven Development
 
Is AI More Artificial Than Intelligent? Is Wikipedia Better Than AI Chatbots ...
Is AI More Artificial Than Intelligent? Is Wikipedia Better Than AI Chatbots ...Is AI More Artificial Than Intelligent? Is Wikipedia Better Than AI Chatbots ...
Is AI More Artificial Than Intelligent? Is Wikipedia Better Than AI Chatbots ...
 
MHIT 603: Lecture 3 - Prototyping Tools
MHIT 603: Lecture 3 - Prototyping ToolsMHIT 603: Lecture 3 - Prototyping Tools
MHIT 603: Lecture 3 - Prototyping Tools
 
How to use Generative AI to make app testing easy.pdf
How to use Generative AI to make app testing easy.pdfHow to use Generative AI to make app testing easy.pdf
How to use Generative AI to make app testing easy.pdf
 
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
How ABB shapes the future of industry with Microsoft HoloLens and Unity - Uni...
 
An introduction to Internet of Things and Maker Movement
An introduction to Internet of Things and Maker MovementAn introduction to Internet of Things and Maker Movement
An introduction to Internet of Things and Maker Movement
 

More from Adelphe Patrick Mveng

More from Adelphe Patrick Mveng (10)

Presentation Map Reduce
Presentation Map ReducePresentation Map Reduce
Presentation Map Reduce
 
AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?
AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?
AI WASHING : POURQUOI AUCUNE IA FORTE DEPUIS LES ANNEES 60 ?
 
Cinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariat
Cinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariatCinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariat
Cinq (5) choses l’euro 2016 peut nous apprendre dans l’entreprenariat
 
VIKI : l'intelligence artificielle à votre service
VIKI : l'intelligence artificielle à votre serviceVIKI : l'intelligence artificielle à votre service
VIKI : l'intelligence artificielle à votre service
 
Présentation intelligence artificielle et domaines dapplications
Présentation intelligence artificielle et domaines dapplicationsPrésentation intelligence artificielle et domaines dapplications
Présentation intelligence artificielle et domaines dapplications
 
Self-programming Software
Self-programming SoftwareSelf-programming Software
Self-programming Software
 
Brain 2.0 - Framework d'apprentissage pour les logiciels
Brain 2.0 - Framework d'apprentissage pour les logicielsBrain 2.0 - Framework d'apprentissage pour les logiciels
Brain 2.0 - Framework d'apprentissage pour les logiciels
 
Human intelligence is behind shapes
Human intelligence is behind shapesHuman intelligence is behind shapes
Human intelligence is behind shapes
 
Selfprogramming introduction
Selfprogramming introductionSelfprogramming introduction
Selfprogramming introduction
 
Introduction à la self programming
Introduction à la self programmingIntroduction à la self programming
Introduction à la self programming
 

Recently uploaded

Recently uploaded (20)

TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 

Selfprogramming software

  • 1. Silicon Mountain Conference Buea , 2016 Patrick MVENG | @adelphepatrick Startup LaunchPad member by Google’s Developers Founder of VIKI #SelfProgramming
  • 2. AGENDA  What’s selfprogramming ?  Key Concepts  Use cases  Opened questions
  • 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 What is Selfprogramming ?
  • 4. This presentation describes AI-based technology capable to generate new applications from natural language interaction It is possible for a computer to write its own applications ? Selfprogramming
  • 5. Key concepts  Artificial Intelligence  Machine Learning  Natural Language Processing  Neural Network  Parallel Programming  Regular expressions  Parser  Hidden Markov Model
  • 6. Technologies & Tools  Visual Studio 2012 ou Android Studio  ,Net Framework  C# ou Java  Regex Library  TaskParallel Library  AIML ( Artificial Intelligence Markup Language )
  • 7. VIKI : The Artificial Intelligence
  • 8. Architecture : VIKI Agent Actuators : Screen , Mouse , Speaker , … Sensors : Keyboard, Mouse , Text , WebCam, Mic , …
  • 10. Regular expressions ( Parser ) : ^(|.*?b|.*?s)Whatb.+?bisb. +?byourb.+?bname(|b.*?|s .*?)$ <?xml version="1.0" encoding="ISO-8859-1"?> <aiml version="1.0"> <category> <pattern>increment j</pattern> <template> <think><set name=“j">variable</set></think> j++ </template> </category> </aiml> Predictive rules with AIML
  • 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() } Use Case 1 : #selfprogramming
  • 12. Use case 2 : VIKI : AI-based personal assistant 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); } Natural language Interaction App that learns from few behaviors and generate new knowledge , new behaviors in unknown situations.