[ Main page | About Your Results | About Genetic Algorithms | About Fuzzy Logic | The Importance of Explainability | Commercialising ]

Main Page and Links

This is the main page for your system, including the genetic-algorithm runs I did to improve rules by machine learning. To recap, the project was to write a knowledge base containing rules that predicted the performance of Canadian start-ups from Key Performance Indicators (KPIs), and then to automatically improve the rules in it — that is, to make them work better on real data — with machine learning. The particular kind of machine learning I used was genetic algorithms. This has worked very well, as I summarise at the top of About Your Results.

Genetic algorithms work! There need be no doubt about that, because evolution works. Proof: we are here. As Richard Dawkins wrote of the willow trees at the bottom of his Oxford-canal–side garden:

It is raining instructions out there; it's raining tree-growing, fluff-spreading algorithms. It is the plain truth. It couldn't be any plainer if it were raining floppy discs.

For more information on genetic algorithms, see About Genetic Algorithms. However, I shall assume that everyone you demonstrate to believes in evolution and knows that it works. So really, you don't need to tell the inspectors much more than that evolution is a kind of learning, that it can be done on a computer, and that it is then called a genetic algorithm and is one kind of machine learning. There are many other kinds of machine learning, but genetic algorithms are easy to code and test in Prolog.

Genetic algorithms can also be made to explain why they learnt what they did. This is important, and should be a key selling point of your software. Ease of communication is also an important benefit of fuzzy logic. It helps when sharing knowledge with colleagues, for example. More generally, programs that use fuzzy logic — and other kinds of logic — are much better at justifying their advice than are other techniques such as neural networks and numerical optimisation. I regard this as very important, and as worth emphasising when you demonstrate to potential investors. Other AI experts back me up, most notably Donald Michie, "the Father of British AI". For more on this, please go to The Importance of Explainability. You might want to keep this available to show to others.

Getting back to genetic algorithms proper, I did various runs whose output you can demonstrate. Unfortunately, I can't let you do your own, because they take too long and use too much memory for the server. I'm doing mine at home, and the current one has already taken half an hour to evolve 13 generations of rules. I asked for 40, so it has another 27 generations to go: about an hour. However, I have logged my runs, and they are explained at About Your Results.

As you know, expert-system rules can be based on various kinds of logic. We are using fuzzy logic, because it gives us a way of describing qualities that have vagueness built in, such as "low burn rate", "high annual grown", "moderate customer churn". Fuzzy logic rules can be understood at an intuitive level by reading them as though they were English. This indeed is a key selling point, meaning that while coding, you can easily share knowledge with people who are domain experts but not expert-system experts. However, there is a rigorous mathematics behind fuzzy logic, dating back to its invention in the 1960s. For more on this, please go to About Fuzzy Logic. This links to some non-technical background info for non-experts, a tutorial on fuzzy logic from two computer scientists who use mapping people's heights to shoe sizes as an example, an online demonstration of this written by me, and another tutorial also written by me.

Finally, you will want to know what steps to take in order to move from this MVP to a full product. I explain this at Commercialising.

Jocelyn Ireson-Paine
www.j-paine.org
www.jocelyns-cartoons.uk