Background:
As a kid I was very much interested in creating new forms of games. Besides mechanical and electrical toys, I was very much interested in designing computer games. In 8th standard, I worked upon my first programming language Q-BASIC and designed games like Ping-Pong, Hide&Seek. In my college days, I designed some games based on physics and mathematics like projectile motion, particle interaction. During my graduation in computer science and engineering, I worked on a series of lots of exciting software projects:
1. Computerized Simulation of Electronic Hardware Kit
=> I started this project with a belief that everything that electronics hardware can perform, can be expressed into mathematical form and hence can be simulated. In this app, we could make connections between electronic components and rule engine would compute (predict) result that would be produced by actual electronic circuits. I call this module as rule engine, because
Rule: Every component had a set of mathematical rules regarding how inputs affect output of the component
Engine: It needs to apply the rules onto connections data considering input/output dependency and efficient order of applying rules to get results efficiantly.
Let us call this approach of simulation as: 'Rule Based Artificial Intelligence'
2. Computerized Simulation of Path Finding Robot
=> The inspiration for this project was a group of students who aspired to build an automated robot for a competition (http://en.wikipedia.org/wiki/Micromouse). The group consisted of 3 people: one electrical engineer(Arpit), one mechanical engineer(Ganesh) and one computer engineer (me). My part was to program the autonomous robot such that it travels the whole maze and calculate the shortest path to center. I designed the algorithm assuming that its me who is lost and need to find a way out. Later I found that what I designed was a part of my studies as 'Backtracking Algorithm'(http://en.wikipedia.org/wiki/Backtracking) and 'Dijkstra's Algoritm'. (http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm).
Let us call this approach of simulation as: 'Procedure Based Artificial Intelligence'
3. Computerized Simulation Tool
=> During my graduation, I worked on simulation of a number of systems like Database System, Universal Turing Machine, Expert System. All of them involved use of programming languages to express and model the real world. Once I had a debate with my friend (Bhushan), "Is it possible to build a software without programming?". Questions of type "Is it possible.. always inspire me to try things and see if they are really impossible (Mostly they are not). But, the software to create any type of simulation was never built in full, instead the software was built to create any type of animation. The application provided a set of tools to draw basic graphics shapes and animate them. I wanted to provide a set of tools to mathematically relate graphical objects as in Adobes Flash Design Tool, but the design was not well thought to take the application to such level. Tool available in market similar to what I dreamed is: https://www.wolfram.com/system-modeler/features/modeling-simulation.html
Let us call this approach of simulation as: 'Tool Based Artificial Intelligence'
4. Computerized Simulation of Human Eye ( Optical Character Recognition)
=> Working of Human Mind has been a biggest fascination for me for all the time. Inside human mind, a neuron process electrical signals by building a neural network. Neuron is building block of this network and it functions like a pattern recognizer. Our brain is always trying to predict future and perform actions. It senses things and adjust motor activities accordingly. This learning and classification of data is a classical way to solve many AI problems. Based on this approach, we tried to implement (http://www.pranavmistry.com/projects/quickies/) intelligent sticky notes as our graduation project. It was not fully successful in terms of accuracy of image processing of characters and was not of practical use, But I got to implement 3 things that I wanted to implement in the field of artificial intelligence:
1. Use of Artificial Neural Networks to identify patterns in image ( Optical Character Recognition )
2. Use of Natural Language Processing to identify purpose of paragraph ( Email, Remainder, Calculations )
3. Use of Agent Based Architecture for natural human interaction ( http://en.wikipedia.org/wiki/Intelligent_agent )
Let us call these approaches of simulation as: 'Classifier Based Artificial Intelligence', 'Pattern Based Artificial Intelligence' and 'Agent Based Intelligence' respectively.
5. Computerized Simulation of Human Mind
=> I tried to model human mind's different functions like knowledge digestion, reasoning, creative thinking into computer, But in the end it all seems like we are feeding a program to computer to get some task automated from the computer. Computer can never function like a human mind because its underlying hardware is designed to minimize errors and human mind is designed to learn from errors and evolve. Knowledge Engine is an attempt to determine exact gap between the two things. It is like semantic web concept which aims to remove the rigidity in the data over internet and define a universal thought format. It is like a generalized expert system that simulates consciousness of human mind and is able to relate the information over internet just like a human mind does. Like a normal search engine, it improves with each user using the system to share knowledge and learns from them about different ways to analyze, learn and represent knowledge.
Details about 'How knowledge engine will work' will follow in later posts.
I invite all readers to share their views and later help in developing this search engine.
Existing Knowledge Engine: https://www.wolframalpha.com/ ( Computational Knowledge Engine )
As a kid I was very much interested in creating new forms of games. Besides mechanical and electrical toys, I was very much interested in designing computer games. In 8th standard, I worked upon my first programming language Q-BASIC and designed games like Ping-Pong, Hide&Seek. In my college days, I designed some games based on physics and mathematics like projectile motion, particle interaction. During my graduation in computer science and engineering, I worked on a series of lots of exciting software projects:
1. Computerized Simulation of Electronic Hardware Kit
=> I started this project with a belief that everything that electronics hardware can perform, can be expressed into mathematical form and hence can be simulated. In this app, we could make connections between electronic components and rule engine would compute (predict) result that would be produced by actual electronic circuits. I call this module as rule engine, because
Rule: Every component had a set of mathematical rules regarding how inputs affect output of the component
Engine: It needs to apply the rules onto connections data considering input/output dependency and efficient order of applying rules to get results efficiantly.
Let us call this approach of simulation as: 'Rule Based Artificial Intelligence'
2. Computerized Simulation of Path Finding Robot
=> The inspiration for this project was a group of students who aspired to build an automated robot for a competition (http://en.wikipedia.org/wiki/Micromouse). The group consisted of 3 people: one electrical engineer(Arpit), one mechanical engineer(Ganesh) and one computer engineer (me). My part was to program the autonomous robot such that it travels the whole maze and calculate the shortest path to center. I designed the algorithm assuming that its me who is lost and need to find a way out. Later I found that what I designed was a part of my studies as 'Backtracking Algorithm'(http://en.wikipedia.org/wiki/Backtracking) and 'Dijkstra's Algoritm'. (http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm).
Let us call this approach of simulation as: 'Procedure Based Artificial Intelligence'
3. Computerized Simulation Tool
=> During my graduation, I worked on simulation of a number of systems like Database System, Universal Turing Machine, Expert System. All of them involved use of programming languages to express and model the real world. Once I had a debate with my friend (Bhushan), "Is it possible to build a software without programming?". Questions of type "Is it possible.. always inspire me to try things and see if they are really impossible (Mostly they are not). But, the software to create any type of simulation was never built in full, instead the software was built to create any type of animation. The application provided a set of tools to draw basic graphics shapes and animate them. I wanted to provide a set of tools to mathematically relate graphical objects as in Adobes Flash Design Tool, but the design was not well thought to take the application to such level. Tool available in market similar to what I dreamed is: https://www.wolfram.com/system-modeler/features/modeling-simulation.html
Let us call this approach of simulation as: 'Tool Based Artificial Intelligence'
4. Computerized Simulation of Human Eye ( Optical Character Recognition)
=> Working of Human Mind has been a biggest fascination for me for all the time. Inside human mind, a neuron process electrical signals by building a neural network. Neuron is building block of this network and it functions like a pattern recognizer. Our brain is always trying to predict future and perform actions. It senses things and adjust motor activities accordingly. This learning and classification of data is a classical way to solve many AI problems. Based on this approach, we tried to implement (http://www.pranavmistry.com/projects/quickies/) intelligent sticky notes as our graduation project. It was not fully successful in terms of accuracy of image processing of characters and was not of practical use, But I got to implement 3 things that I wanted to implement in the field of artificial intelligence:
1. Use of Artificial Neural Networks to identify patterns in image ( Optical Character Recognition )
2. Use of Natural Language Processing to identify purpose of paragraph ( Email, Remainder, Calculations )
3. Use of Agent Based Architecture for natural human interaction ( http://en.wikipedia.org/wiki/Intelligent_agent )
Let us call these approaches of simulation as: 'Classifier Based Artificial Intelligence', 'Pattern Based Artificial Intelligence' and 'Agent Based Intelligence' respectively.
5. Computerized Simulation of Human Mind
=> I tried to model human mind's different functions like knowledge digestion, reasoning, creative thinking into computer, But in the end it all seems like we are feeding a program to computer to get some task automated from the computer. Computer can never function like a human mind because its underlying hardware is designed to minimize errors and human mind is designed to learn from errors and evolve. Knowledge Engine is an attempt to determine exact gap between the two things. It is like semantic web concept which aims to remove the rigidity in the data over internet and define a universal thought format. It is like a generalized expert system that simulates consciousness of human mind and is able to relate the information over internet just like a human mind does. Like a normal search engine, it improves with each user using the system to share knowledge and learns from them about different ways to analyze, learn and represent knowledge.
Details about 'How knowledge engine will work' will follow in later posts.
I invite all readers to share their views and later help in developing this search engine.
Existing Knowledge Engine: https://www.wolframalpha.com/ ( Computational Knowledge Engine )