Expert System engine
Next year my graduation year will become a computer scientist and I am trying to come up with ideas for a jounior project. Actually, I have an idea to create an expert system engine. I've worked with clips and prologues and I loved the clips, but it looks like it's an old engine. Can anyone advise me on this idea or give me sources for papers or any topics that might help me? I am thinking of using C for high performance and for creating robust data structures. Also, I am thinking of the idea (I don't know if this can be done) to write facts and rules (like clips) and then generate optimal C ++ code from those rules so that I can get the speed of the machine and use the exe file.
I need help to make this idea clearer and how it can be done. Especially because I read about fuzzy logic, null network and heard about a new generation of expert system, so I don't know how it could be related to such a topic.
a source to share
For your junior project, I would recommend not writing it in C. Your problem sounds like it needs correctness more than it needs speed. Writing in C will take longer because you will need to implement a lot of primitives that are not included in the language or any standard library. Also, since C is relatively low-level, there are many opportunities for low-level errors. Write it in a higher level language that is closer to the problem domain. You will have more time to focus on your real problem because you will spend less time creating structure. If you already know Prolog it would be good to stick with this. Perhaps you can consider Mercury . It is similar to Prolog, but alsodesigned for speed .
a source to share
JBoss Rules (also known as Drools) offers a better approach to rule handling. It is written in Java. This allows you to integrate software components into rules and rule bases into your software components. You can even create or modify rule bases on the fly.
I've heard that Java is catching up with the ability to do math, but beyond that you have nothing to fear from performance.
a source to share