For the first time in many years I have just one project that I must work on.
My only assignement, excepting the bird detection software from work (just ignore it :D ), is the bachelor thesis. I have two more weeks to finish the project and the documentation.
Until now I always had two, three or even four projects to finish (ex: Imagine Cup + 2-3 school project, blog article(s) + ASP.NET project + project management assignment, etc.). Now there is just *ONE* (ONE!!) and I really enjoy writing about expert systems (Rete Algorithm) and applications running on Windows Azure. Oh, by the way my thesis is called “Expert Systems – Rete Algorithm” and is about the Rete forward chaining algorithm and it’s implementation as a scalable service on Microsoft’s cloud computing platform.
I think will publish the final documentation (written in Romanian) here in order to help others understand Rete Algorithm and Software as a Service. By the way, do you know what an expert system is? :)
Let’s assume that we have three rules:
- IF is cloudy THEN it will rain
- IF is sunny THEN it will not rain
- IF it will rain THEN I need an umbrella
These three rules are called the Knowledge Base (KB) and are stored in the system. If I say “I cloudy today” the system will use the rules and infere that I need an umbrella. So an expert system is capable of taking decision based on some rules and some facts. However, based on the implementation, it can be a naive form of artificial intelligence because it cannot distinct between correct and incorrect rules, is highly dependent on the correctness of the knowledge base and is acting on the principle of “garbage in, garbage out”.
So an expert system has a knowledge base and given a set of facts can infere other facts (can take decisions). Will write more about this in the documentation.
Do you think expert system will be used in the future or the future belong to something else?
PS: Oh f***, I have to write part three from “Software + Services: A Modern Approach” article.