Plants are typically watered when they are dry. Although this works, there is a risk of forgetting for too long and the result is a dead plant. Other automatic watering systems use a bang-bang type controller that only looks at soil moisture at a moment in time. This will work but the moisture level will drift over time. A predictive system maintains data on how the soil is behaving over time and conditions an equation with the results. Thus, a plant can be watered precisely based on the amount of water lost through evaporation and transpiration.
The first step to the algorithm is to perform an experiment. A plant is potted in a pot and over-watered then weighed. A moisture probe is inserted. The system is programmed to take a moisture sample every minute for 48 hours. THis initial data will create the basic equation for water loss over time. Continued monitoring during normal operation will condition the equation for changes in environment like decrease in humidity during the winter months.
Update: UNFORTUNATELY, plants simply dont use water at a rate where predictive algorithms make any sense as a simple weekend-long experiment showed
Here is a video describing the components and the functionality