Smart Homes #automated decision systems , Virtual Assistance , Self Driven cars , those are areas where event driven programming might be handy.
The thing is that our live consist from decisions that we made , what cloth to wear depending on the whether outside, what products by at mall when you going to home, also may depend of what you gonna cook at evening, the are plenty of decisions that we are making each day some of them were made after long analysis of consequences and needs (ex: buying new car) while others were taken almost automatically because they were trained to the level of automation (ex: make a cope of coffee in the morning).
But when it comes to a.i even simple task such as making cup of coffee will take developer a lot of efforts to make everything right. And the reason for that partly because binary logic is just not suited well in model of taking automatic decisions , you have to program all possible ways of solving the problem depending of outer environment and conditions. For example in context of ‘making cop of coffee’ you will have to program some basic constants and conditions , such as water temperature, coffee amount , etc . Furthermore you can program some conditions for non standard situations such as : how to act when you running out of coffee or how to act when you accidentally drop off your cup etc.
And everything is getting even more complex if someone ask for non-standard cop of coffee.
Let’s say your friend asked : “i would like an americano with couple drops of milk” so as a developer you should predict that kind of situations which is impossible because everyone has own their ow flavor and expectations of how proper americano should be.
On the other hand the latest studies in neural networks giving us promising results.
Basically with neural network you can train your system with examples, which is very similar to what human brain does. In this case you don’t need to write code or scenarios how to act, instead you can teach it with examples.
And here goes fun part you can combine neural network and event driving programming so you can teach your system according to signals (events) from outside world.
If we take previous example with “cop of coffee” when unhandled type of coffee appears you can train and explain to the system how to handle it, with neural network and event driven programming we can explain system in a manner that will make point, for example if John wants americano with milk he could say “make americano and add 5ml of milk” at this moment we can train our system to make a proper cup of coffee for John.
In fact it gives us opportunity to train ai systems with given examples on the fly.
In the next series of posts we will take deeper look at this approach, we gonna build decision system that will be trained to take decision according to event from outside environment.
For this purpose we gonna use c# net neural net library + custom ALd dicision library.
See our next posts.