In many environments, rules are trained on historical data to predict an outcome likely to be associated with new data. Described is a ruleset which predicts the probability of a particular outcome. Roughly described, an individual identifies a ruleset, where each of the rules has a plurality of conditions and also indicates a rule-level probability of a predetermined classification. The conditions indicate a relationship (e.g. ‘<’ or ‘!<’) between an input feature and a corresponding value. The rules are evaluated against input data to derive a certainty for each condition, and aggregated to a rule-level certainty. The rule probabilities are combined using the rule-level certainty values to derive a probability output for the ruleset, which can be used to provide a basis for decisions. In an embodiment, the per-condition certainty values are fuzzy values aggregated by fuzzy logic. A novel genetic algorithm can be used to derive the ruleset.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for determining a basis on which a decision can be made, for use in response to input data comprising an ordered sequence of data points, the method comprising: providing to a computer system a ruleset having a plurality of rules, each of the rules having a plurality of conditions and an indication of a rule-level probability of a predetermined classification, each of the conditions indicating a relationship between a respective input feature and a corresponding value for the input feature; the computer system determining a condition-level certainty value for each of the conditions of each of the rules, the condition-level certainty value for each given one of the conditions indicating an extent to which the relationship of the given condition is satisfied by input data; determining a rule-level certainty value for each given one of the rules in dependence upon the condition-level certainty values of the conditions of the given rule; determining a probability output of the ruleset in dependence upon the rule-level probabilities and the rule-level certainty values determined for each rule in the ruleset; and reporting the probability output of the ruleset for use in decision making. 2. The method of claim 1, wherein determining a condition-level certainty value for each of the plurality of conditions of each of the rules comprises determining a fuzzy condition-level certainty value for at least of one of the conditions of at least one of the rules. 3. The method of claim 2, wherein determining a condition-level certainty value for each of the conditions of each of the rules comprises determining a fuzzy condition-level certainty value for each of the conditions of each of the rules. 4. The method of claim 1, wherein determining a condition-level certainty value for each of the plurality of conditions of each of the rules comprises determining a binary condition-level certainty value for at least of one of the conditions of at least one of the rules. 5. The method of claim 1, wherein determining a rule-level certainty value for the given rule comprises determining the rule-level certainty value as the minimum value among the condition-level certainty values of the conditions in the given rule. 6. The method of claim 1, wherein determining a probability output for the ruleset comprises calculating an average of the rule-level probabilities of the rules in the ruleset, each weighted by the rule's corresponding rule-level certainty value. 7. The method of claim 1, wherein determining a probability output for the ruleset comprises calculating the probability output such that: probability   output = ∑ r  ( RLCV r · RLP r ) ∑ r  RLCV r where: RLCVr is the rule-level certainty value for rule r of the ruleset; RLPr is the rule-level probability for rule r of the ruleset; and r ranges through all rules of the ruleset. 8. The method of claim 1, wherein the input feature of a condition represents the value of a feature in one data point in the ordered sequence of data points, wherein the one data point is identified based on its position in the ordered sequence. 9. The method of claim 8, wherein the position in the ordered sequence is identified relative to the last data point in the sequence. 10. The method of claim 8, wherein the ordered sequence of data points is time sequence data, each data point representing a point in time; and the predetermined classification is true when a predetermined event has occurred. 11. The method of claim 1 wherein the relationships indicated in the rules of the ruleset are all members of the group consisting of: equal to (“==”), less than (“<”), less than or equal to (“<=”), greater than (“>”), greater than or equal to (“>=”), and not equal to (“!=”). 12. The method of claim 1, wherein the relationships indicated in the rules of the ruleset are all members of a group consisting of less than (“<”) and not less than (“!<”). 13. The method of claim 1, wherein determining a condition-level certainty value for each particular one of the conditions of each of the rules comprises applying a function to the value for the input feature of the particular condition, the function being dependent upon a predetermined range of values associated with the input feature, and the relationship in the condition. 14. The method of claim 1, wherein the decision based on the probability output of the ruleset is made by a computer processor based on a one or more predetermined threshold values. 15. The method of claim 1, wherein the decision based on the probability output of the ruleset is made by a human. 16. The method of claim 1, wherein the decision is made by choosing one of a plurality of actions in dependence on comparing the probability output of the ruleset to a plurality of thresholds. 17. The method of claim 1, wherein the output of the method is used to decide a member of the group consisting of: whether to perform a medical intervention; whether to announce an anticipated weather condition; and whether to take precautions in advance of an anticipated natural disaster. 18. The method of claim 1, wherein the ruleset belongs to a subject individual, the method further comprising evolving the subject individual including: providing samples of training data, each sample of the training data comprising an ordered sequence of data points, each of the data points identifying values for a plurality of the input features and further identifying an outcome indicating whether the predetermined classification is true at that data point; generating and storing in a candidate pool an initial population of individuals, each individual in the candidate pool identifying a ruleset having a respective plurality of rules, each of the rules having a plurality of conditions and an indication of a rule-level probability of the predetermined classification, each of the conditions indicating a relationship between one of the input features and a corresponding value for the input feature; determining a fitness score for each given individual in at least a subset of the individuals in the candidate pool, in dependence upon application of the rules of the given individual to the data points from at least one sample of the training data; removing from the candidate pool a portion of the individuals from the candidate pool in dependence upon their respective fitness scores; procreating new individuals using selected individuals remaining in the candidate pool; repeating the steps of evaluating and removing; and selecting the subject individual from the individuals remaining in the candidate pool after at least one occurrence of the removing step. 19. The method of claim 18, wherein the initial population of individuals is created by generating a set of rules, each rule created by: creating one or more conditions, each condition generated by: randomly selecting an input feature from a plurality of input features and a time point from a range of time points, randomly selecting a value corresponding to the selected input feature, and randomly selecting a relationship between the selected input feature and the selected value corresponding to the input feature; and randomly selecting a rule-level probability from a set of discrete probability values. 20. The method of claim 18, wherein determining a fitness score for each given individual in dependence upon application of the rules of the given individual to the data points from at least one sample of the training data comprises: applying the rules of the given individual to each of the data points in at least one sample of the training data to determine per-data-point fitness scores for the given individual, and combining the per-data-point fitness scores for the given individual. 21. The method of claim 20, wherein determining the per-data-point fitness for the given individual comprises: developing a probability output for the given individual and for the given data point in dependence upon the rule-level probabilities for each rule of the given individual; determining the per-data-point fitness of the given individual as a first function of the probability output for the given individual responsive to the outcome indicated in the given data point indicating that the predetermined classification is true at the given data point; and determining the per-data-point fitness of the given individual as a second function of the probability output for the given individual responsive to the outcome indicated in the given data point indicating that the predetermined classification is not true at the given data point; wherein the first function and the second function are distinct monotonic functions. 22. The method of claim 18, wherein evolving the subject individual further comprises, after repeating the steps of evaluating and removing, repeating the steps of procreating, evaluating and removing for at least one further iteration prior to the step of selecting the subject individual. 23. A method for evolving a ruleset for use in determining a basis on which a decision can be made, the method comprising: providing to a computer system samples of training data, each sample of the training data comprising an ordered sequence of data points, each of the data points identifying values for a plurality of input features and further identifying an outcome indicating whether a predetermined classification is true at that data point; generating and storing in a candidate pool an initial population of individuals, each individual in the candidate pool identifying a ruleset having a respective plurality of rules, each of the rules having a plurality of conditions and an indication of a rule-level probability of the predetermined classification, each of the conditions indicating a relationship between one of the input features and a corresponding value for the input feature; the computer system determining a fitness score for each given individual in at least a subset of the individuals in the candidate pool, in dependence upon application of the rules of the given individual to the data points from at least one sample of the training data; removing from the candidate pool a portion of the individuals from the candidate pool in dependence upon their respective fitness scores; procreating new individuals using selected individuals remaining in the candidate pool; repeating the steps of evaluating and removing; and selecting a subject individual from the individuals remaining in the candidate pool after at least one occurrence of the removing step. 24. The method of claim 23, wherein determining the fitness score for each given individual in dependence upon application of the rules of the given individual to the data points from at least one sample comprises: the computer system determining a condition-level certainty value for each of the conditions of each of the rules, the condition-level certainty value for each given one of the conditions indicating an extent to which the relationship of the given condition is satisfied by feature values in a given data point; determining a rule-level certainty value for each given one of the rules in dependence upon the condition-level certainty values of the conditions of the given rule; determining a probability output of the ruleset at the given data point in dependence upon the rule-level probability and the rule-level certainty value determined for each rule in the ruleset at the given data point; and determining the fitness score for the given individual at the given data point in dependence upon the probability output of the ruleset at the given data point and the outcome identified for the given data point. 25. The method of claim 23, wherein the initial population of individuals is created by generating a set of rules, each rule created by: creating one or more conditions, each condition generated by: randomly selecting an input feature from a plurality of input features and a time point from a range of time points; randomly selecting a value corresponding to the selected input feature; and randomly selecting a relationship between the selected input feature and the selected value corresponding to the input feature; and randomly selecting a rule-level probability from a set of discrete probability values. 26. The method of claim 23, wherein determining a fitness score for each given individual in dependence upon application of the rules of the given individual to the data points from at least one sample of the training data comprises: applying the rules of the given individual to each of the data points in at least one sample of the training data to determine per-data-point fitness scores for the given individual, and combining the per-data-point fitness scores for the given individual. 27. The method of claim 26, wherein combining the per-data-point fitness scores for the given individual comprises averaging the per-data-point fitness scores for the given individual. 28. The method of claim 26, wherein combining the per-data-point fitness scores for the given individual comprises: adding the per-data-point fitness scores for all of the applied data points of the at least one sample of the training data to develop a summed-up fitness score for the given individual; and determining an average fitness score in dependence upon the summed-up fitness score and the number of data points to which the given individual was applied. 29. The method of claim 26, wherein determining the per-data-point fitness for the given individual comprises: developing a probability output for the given individual and for the given data point in dependence upon the application of the rules of the given individual to the given data point; and determining the per-data-point fitness of the given individual for the given data point in a manner such that the more that the probability output of the individual agrees with the outcome identified by the given data point, the better the fitness indicated by the per-data-point fitness of the given individual at the given data point. 30. The method of claim 29, wherein determining the per-data-point fitness of the given individual for the given data point comprises determining the per-data-point fitness as a monotonically decreasing function of the absolute value of difference between the probability output of the given individual and the outcome identified by the given data point. 31. The method of claim 26, wherein determining the per-data-point fitness for the given individual comprises: developing a probability output for the given individual and for the given data point in dependence upon the application of the rules of the given individual to the given data point; determining the per-data-point fitness of the given individual as a first function of the probability output for the given individual responsive to the outcome indicated in the given data point indicating that the predetermined classification is true at the given data point; and determining the per-data-point fitness of the given individual as a second function of the probability output for the given individual responsive to the outcome indicated in the given data point indicating that the predetermined classification is not true at the given data point; wherein the first function and the second function are distinct monotonic functions. 32. The method of claim 31, wherein the first function is a logarithm of the probability output for the given individual and the second function is a logarithm of 1 minus the probability output for the given individual. 33. The method of claim 23, wherein evolving the subject individual further comprises, after repeating the steps of evaluating and removing, repeating the steps of procreating, evaluating and removing for at least one further iteration prior to the step of selecting the subject individual. 34. The method of claim 23, wherein the subset of the individuals in the candidate pool that are evaluated includes all of the individuals in the candidate pool. 35. The method of claim 23, wherein the subset of the individuals in the candidate pool that are evaluated includes only the individuals newly procreated that were not previously evaluated.