Talk:Open source software for permaculture

Have you ever had any experience with developing an expert system? There are three main parts to it:


 * 1) Gathering the knowledge
 * 2) Representing them as "rules"
 * 3) Using them via an inference engine

Each of these requires special skills, which are (unfortunately) not all that common. It's a branch of AI that was quite popular back in the eighties, but has fallen by the wide side in favor of other, perhaps more interesting, projects.

Sometimes this can be done using a database, but that approach is better applied to static selection of records based on query criteria. It's very difficult to express complex statements in SQL such as "what kinds of co-plants should be considered to suppress competitive weeds and harmful insects when planting red cabbages in heavy clay soil in a temperate climate modified to create a micro-climate using Wall-O-Water devices?" Trust me, it's almost impossible.

This is why expert systems were developed, but they are not so easy to create, either. While it's fairly simple to write rules like:

1. Cabbage worms will harm cabbage plants 2. Garden slugs will harm cabbage plants 3. Ducks eat cabbage worms

What's hard is to understand how rules interact with each other. As an example, consider adding the following rule:

4. Ducks prefer to eat garden slugs.

So, if my cabbages are suffering from cabbage worms, will the ducks eat them? It's not clear from the rules. Debugging expert systems can be VERY difficult. Again, special skills are called for.

- Mark Norton