Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
The present application is being examined under the claims filed 11/25/2025. The status of the claims are as follows:
Claims 1-2, 4-11, and 14-17 are pending.
Claims 1, 4, 8, and 9 are amended.
Claims 3, 12-13 are cancelled.
Response to Amendment
The Office Action is in response to Applicant’s communication filed 11/25/2025 in response to office action mailed 08/26/2025. The Applicant’s remarks and any amendments to the claims or specification have been considered with the results that follow.
Response to Arguments
Regarding 35 U.S.C. § 112(b)
Applicant asserts the §112(b) rejection is improper because:
“processing node / candidate processing node / target processing node” are clear because, per the specification, “processing nodes are processing functions” (e.g., Boolean functions), and thus “processing nodes” refers to a function object in the learning model (software object).
Examiner response:
Upon consideration, the §112(b) rejection is withdrawn because Applicant’s remarks point to disclosure describing processing nodes as processing functions (e.g., Boolean functions) within the learning model, which is sufficient to inform one of ordinary skill in the art of the scope of the claimed “processing node” terminology with reasonable certainty.
Regarding 35 U.S.C. § 101
Applicant asserts the amended claims are “integrated into a practical application” because claim 1 now recites taking measurement data of sensors, converting the measurement data into a Boolean vector recognizable by a computer, determining a processing function by training a learning model, and processing the Boolean vector to obtain a control instruction for control actions in the physical world. Applicant further asserts these features reflect a “non-abstract improvement in computer technology” by “improving the data processing capability of the computer in the control process”, and therefore the judicial exception is integrated into a practical application.
Examiner response: These arguments are not persuasive.
Even as amended, claim 1 recites a judicial exception, i.e., training/creating/selecting functions (processing nodes) using training data pairs (input vector / expected output), comparing results to a threshold, and selecting a target processing node according to a restriction function. Such limitations are mental processes and/or mathematical concepts (evaluating candidate rules/functions against labeled data and selecting a function under constraints), as previously explained in the Office Action.
Further, the additional elements relied upon by Applicant, namely (i) receiving/using sensor measurement data, (ii) converting it to a Boolean vector, and (iii) outputting a control instruction, do not integrate the judicial exception into a practical application because these limitations amount to data gathering and post-solution activity and do not meaningfully limit the claims beyond generally stating a field of use (“control process”) and using generic input/output steps around the abstract processing. The Office Action previously addressed analogous “sensor measurement/control instruction” language as insignificant extra-solution activity and/or post-solution activity and explained that such recitations fail to integrate the exception into a practical application and do not add significantly more.
Applicant’s alleged “improvement” is stated at a high level (improving data processing capability in control), but the claim does not recite a specific technical improvement to computer functionality (e.g., a specific sensor interface improvement, a specific data-structure improvement, a specific processor/memory architecture improvement, or a specific improvement to how the computer operates). Instead, the claim broadly applies the abstract learning/selection technique to sensor data and uses the result to generate a control instruction, which is the type of “apply it to a technical environment” framing that does not confer eligibility.
Accordingly, the rejection under 35 U.S.C. § 101 is maintained.
Regarding 35 U.S.C. § 102(a)(1)
Applicant amended independent claim 1 to add limitations including, inter alia, “the data to be processed comprises measurements data of each of sensors required for a control process, and the processing result comprises a corresponding control instruction for the control process”, and additional training/selection limitations. In view of these amendments, the prior rejection of claim 1 under 35 U.S.C. § 102(a)(1) is withdrawn. Claim 1 is instead rejected under 35 U.S.C. § 103 over Rivest in view of Cohen, as set forth below.
Regarding 35 U.S.C. § 103 (Rivest in view of Cohen)
“Training data pair … expected output value … difference < threshold” / Candidate processing node selection.
Applicant asserts amended claim 1 requires that each training data pair includes an input vector and an expected output value, where the expected output value is the desired processing result obtained by processing the input vector through a processing node, and a candidate processing node is selected when the difference between the processing result and the expected output value is less than a threshold. Applicant argues Rivest only teaches labeled samples that are positive/negative examples (labels 1/0) and teaches selecting a term t where all examples that satisfy t are of the same type, rather than comparing a processing result to an expected output value using a “difference < threshold” condition. Applicant concludes Rivest does not disclose “creating at least one candidate processing node” as recited.
Examiner Response: These arguments are not persuasive.
First, Rivest’s labeled examples (positive/negative) are expected output values for the learned Boolean function/model because they represent the desired output (true/false; 1/0) for a given input assignment/vector. Applicant’s attempt to distinguish “label of positive/negative example” from “expected output value” does not patentably distinguish, because both describe supervised learning pairs of (input vector, desired output).
Second, with respect to Applicant’s “difference < threshold” argument, the combination of Rivest and Cohen teaches evaluating candidate rules/functions using threshold-based criteria. Cohen explicitly discloses threshold-based stopping/selection criteria (e.g., error-rate and/or description-length thresholds), which correspond to selecting candidate whose deviation/error relative to expected outcomes is within an acceptable bound.
Accordingly, the combination teaches the claimed notion of selecting/retaining candidate functions based on satisfaction of training data under an acceptance criterion (threshold).
“Two-stage progressive selection” / “restriction function determined according to number of logical operations”
Applicant asserts amended claim 1 requires two progressive stages: (1) selecting candidate processing nodes from a set of processing nodes, then (2) selecting a target processing node from the candidates according to a restriction function, where the basis is the number of logical operations corresponding to the candidate processing nodes (e.g., choose the candidate with the minimum number of logical operations). Applicant argues Rivest has only a single selecting process (select term t from a set), and therefore does not disclose the claimed two-stage selection or the claimed basis for selecting a target processing node.
Examiner response: these arguments are not persuasive.
Rivest teaches constructing a decision list by iteratively examining candidate terms and selecting terms that satisfy the training sample criteria, which constitutes selecting candidate elements/functions during training and then using the resulting trained model to determine an output for an input vector. Cohen further teaches selecting among candidate rule sets/models using explicit heuristic criteria (including complexity-related criteria such as description length / simplification), which corresponds to selecting a target function from candidates according to a restriction/complexity function.
Additionally, Applicant’s “number of logical operations” is a complexity measure. Cohen’s teachings regarding simplification and preference for models/rule sets under description-length/complexity metrics reasonably correspond to selecting a function required fewer operations (i.e., lower complexity), rendering the claimed selection criterion obvious.
Therefore, the rejection of claim 1 under 35 U.S.C. § 103 over Rivest in view of Cohen is maintained.
Claim Rejections – 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-2, 4-11, and 14-17 are rejected under 35 U.S.C. 101 for containing an abstract idea without significantly more.
Regarding claim 1
Claim 1 – Step 1 – Is the claim to a process, machine, manufacture or composition of matter?
Yes, the claim is to a process.
Claim 1 – Step 2A – Prong 1 – Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes, the claim recites an abstract idea.
“converting data to be processed into a vector to be processed;” – converting information into a vector is an abstract data organization step that can be performed as a mental process (organizing/encoding information) and/or as a mathematical concept (representing information in a vector space). See MPEP § 2106.04(a)(2).
“determining a target processing node corresponding to the vector to be processed from a set of processing nodes of a learning model;” – this limitation is directed to the abstract idea of selecting a rule or function based on input characteristics, which constitutes a mental process of evaluation and decision-making. See MPEP 2106.04(a)(2).
“converting the data to be processed into a Boolean vector consisting of 1 and 0;” – this limitation recites a particular data encoding scheme (Boolean vector of 0/1). Encoding data into binary form is data representation and is an abstract manipulation of information; it can be performed as a mental process (assigning 0/1 values) and/or as a mathematical concept (Boolean representation). See MPEP § 2106.04(a)(2).
“determining a processing function corresponding to the vector to be processed by training a learning model, based on a feature of the Boolean vector;” – this limitation recites training/deriving a function/model from features of the Boolean vector. Training a learning model to determine a function corresponds to mathematical model training/selection, which is a mathematical concept (algorithmic training/optimization) and, at the level claimed, also encompasses a mental process (evaluating features and selecting a rule/function). See MPEP § 2106.04(a)(2).
“and the learning model is trained by: creating at least one candidate processing node using at least one processing node in the set of processing nodes according to at least one training data pair, each of the at least one training data pair comprising an input vector and an expected output value,” – this recites generating candidate rules/functions based on labeled training data (input/output pairs), which is rule/function generation and evaluation, a mental process (evaluating correctness, selecting logic) and/or mathematical concept (model construction from training examples). See MPEP § 2106.04(a)(2)(III); §2106.04(a)(2)(I).
“wherein a difference between a processing result of processing the input vector by each of the at least one candidate processing node and the expected output value is less than a threshold,” – this is a mathematical relationship/inequality (difference < threshold), i.e., a comparison using a numeric bound. See MPEP § 2106.04(a)(2)(I).
“and determining a target processing node corresponding to the input vector, according to a restriction function, from the at least one candidate processing node, wherein the restriction function is determined according to a number of the at least one logical operation corresponding to the at least one candidate processing node.” – this recites selecting a target rule/function from candidates using a restriction/objective criterion, i.e., constraint-based selection/optimization. This is a mathematical concept (optimization/selection under a function) and/or a metal process (evaluation/judgment/selection). See MPEP § 2106.04(a)(2)(I); §2106.04(a)(2)(III).
Claim 1 – Step 2A – Prong 2 – Does the claim recite additional elements that integrate the judicial exception into a practical application?
No. There are no additional elements that integrate the judicial exception into a practical application. The additional elements:
“obtaining a processing result of the data to be processed by using the target processing node to process the vector to be processed.” – this limitation constitutes mere data gathering/output and is thus insignificant extra-solution activity (MPEP 2106.05(g)).
Claim 1 – Step 2B – Does the claim recite additional elements that amount to significantly more than the judicial exception?
No. There are no additional elements that amount to significantly more than the judicial exception. The additional elements are:
“obtaining a processing result of the data to be processed by using the target processing node to process the vector to be processed.” – this step is insignificant post-solution activity (MPEP 2106.05(g)) and also mere data gathering which the courts have consistently found limitations directed to obtaining and storing information electronically, recited at a high level of generality, to be well- understood, routine, and conventional. See MPEP § 2106.05(d)(II) “receiving or transmitting data over a network,” "electronic record keeping,” and "storing and retrieving information in memory.”
Regarding claim 2:
Claim 2 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Claim 2 depends from claim 1, which is directed to the abstract idea of a mental process involving the steps of converting input data, selecting a rule based on that data, and applying the rule. (See rejection of claim 1).
The additional limitations of claim 2 are:
wherein the vector to be processed is a Boolean vector, of which components are Boolean values
This limitation merely specifies a particular data formatting and classification, which can be performed mentally or with pencil and paper, and thus qualifies as a mental process under MPEP 2106.04(a).
the set of processing nodes is a set of Boolean functions, and the target processing node is a target Boolean function
This limitation merely substitutes generic Boolean functions for the abstract rule selection of claim 1.
The use of Boolean logic to encode and evaluate decision-making processes is well-understood, routine, and conventional (WURC) in the computing arts and lacks any non-conventional implementation. See MPEP 2106.05(f), (d).
Under Step 2A Prong 2, this limitation is a field-of-use limitation that confines the abstract idea to Boolean functions, which does not impose a meaningful limit on the abstract idea. See MPEP 2106.05(h).
Under Step 2B, the use of Boolean logic and Boolean functions constitutes well-understood, routine, conventional activity (WURC) in the computing arts, and does not amount to significantly more.
Regarding claim 4 (currently amended):
Claim 4 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Claim 4 depends from claim 1, which is directed to the abstract idea of a mental process involving the steps of converting input data, selecting a rule based on that data, and applying the rule. (See rejection of claim 1).
The additional limitations of claim 2 are:
creating at least one candidate processing node using at least one processing node in the set of processing nodes comprises: creating the at least one candidate processing node, by performing operations on the at least one processing node – this limitation is directed to the abstract idea of generating new functions by applying transformations to existing ones, which amounts to logical or mathematical manipulation of rules. Such rule composition is a mental process and is also well-understood, routine, and conventional in algorithm design, particularly within symbolic reasoning and logic programming. See MPEP 2106.04(b) (mathematical concepts) and 2106.05(d).
Regarding claim 5:
Claim 5 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Claim 3 depends from claim 2, which is directed to data representation and rule selection using Boolean logic- both of which are abstract idea (see rejection for claim 2).
The additional limitations of claim 5 are:
wherein the learning model is trained by: creating at least one candidate Boolean function using at least one Boolean function in the set of Boolean functions according to at least one training data pair, each of at least one training data pair comprising an input Boolean vector and an expected output value, wherein a difference between a processing result of processing the input Boolean vector by each of the at least one candidate processing node and the expected output value is less than a threshold – this limitation recites generating and evaluating functions based on Boolean input/output training data, and comparing output values to a threshold to filter candidates. This is a mental process of functional estimation and evaluation, and also involves mathematical comparisons and logical relationships, which are abstract under MPEP 2106.04(a) and (d).
determining a target Boolean function corresponding to the input Boolean vector from the at least one candidate Boolean function, according to a restriction function – this limitation is directed to rule selection based on constraint optimization, which again falls into the mental process and mathematical concept categories. The claim does not specify how the restriction function is implemented, nor does it provide a technological improvement. This type of constrained functional selection is common in symbolic logic and conventional learning frameworks. See MPEP 2106.05(d).
Regarding claim 6:
Claim 6 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Claim 6 depends from claim 5, which recites abstract concepts involving function generation and selection using Boolean vectors, threshold comparisons, and restriction-based filtering (see rejection for claim 5).
The additional limitations:
performing at least one logical operation on variable assignment conditions of the at least one Boolean function to form a new variable assignment condition, the at least one logical operation comprising at least one of a first logical operation between different variable assignment conditions or a second logical operation between components corresponding to Boolean vectors in different variable assignment conditions – this limitation is directed to logical manipulation and synthesis of Boolean expressions, which falls squarely within the realm of mathematical concepts under MEPEP 2106.04(d).
creating the at least one candidate Boolean function according to the new variable assignment condition – this describes a functional derivation step that remains abstract. No technical detail is provided regarding how the function is implemented, executed, or improves computer functionality. It simply carries out the abstract rule generation using Boolean logic. This involves logical operations, variable assignments, and function construction, all of which fall under the definition of mathematical concepts per MPEP 2106.04(d).
Regarding claim 7:
Claim 7 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim depends from claim 6 which includes an abstract idea (see rejection for claim 6). The additional limitations:
wherein the restriction function is determined according to a number of the at least one logical operation corresponding to the at least one candidate Boolean function – this limitation is directed to a mathematical concept (defining an objective/restriction function from a numeric count of logical operations, i.e., a mathematical relationship/measurement) and, alternatively, a mental process that can be performed in the human mind or with pen and paper (see MPEP 2106.04(a)(2) I.C, III.C).
determining a target Boolean function corresponding to the input Boolean vector from the at least one candidate Boolean function comprises: determining a candidate Boolean function having the minimum number of logical operations as the target Boolean function corresponding to the input Boolean vector – selecting the function with the “minimum” number of operations is a mathematical comparison/optimization (argmin) and/or a mental process (observation/evaluation/judgment) (see MPEP 2106.04(a)(2) I.C, III.C).
Regarding claim 8:
Claim 8 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim depends from claim 1 which recites an abstract idea (see rejection for claim 1).
Step 2A – Prong 1 – Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes, the additional limitations:
at least one training data pair comprises a plurality of training data pairs – this limitation merely specifies the quantity of data used for training and constitutes data gathering/selection, which is well-understood, routine, and conventional activity (MPEP 2106.05(g)).
a difference between the processing result of processing each input vector of the at least one training data pair by each of the at least one candidate processing node and each expected output value of the at least one training data pair is less than a corresponding threshold – this limitation recites a mathematical relationship/inequality (comparison of processing results to thresholds), which is a mathematical concept and thus an abstract idea (see MPEP 2106.04(a)(2)).
Step 2A, Prong 2 – Does the claim recite additional elements that integrate the exception into a practical application?
The claim as a whole does not integrate the abstract ideas into a practical application. The recited plurality of training data pairs merely increases the amount of data considered, and the requirement that results be “less than a threshold” merely describes the abstract idea itself (a mathematical comparison). Neither limitation effects an improvement in computer technology, provides a particular machine, or applies the exception in a meaningful way beyond linking it to a generic computer. See MPEP 2106.05(a)-(h).
Step 2B – Does the claim recite additional elements that amount to significantly more than the judicial exception?
When considered individually and in combination, the additional elements do not amount to significantly more than the judicial exception. The use of multiple training data pairs and mathematical thresholds constitutes well-understood, routine, and conventional activities previously known in the art, and amounts to insignificant extra-solution activity. See MPEP 2106.05(d), (f).
Regarding claim 9:
Claim 9 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is dependent on claim 1 which includes an abstract idea (see rejection for claim 1). The additional limitation:
adding the at least one candidate processing node to the set of processing nodes –
this limitation is directed to a mental process (a basic set/update operation) that can be performed in the human mind or with pen and paper (see MPEP 2106.04(a)(2) III.C).
Regarding claim 10:
Claim 10 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is dependent on claim 2 which includes an abstract idea (see rejection for claim 2). The additional limitations:
determining a variable assignment condition of the Boolean function, according to an input Boolean vector in a training data pair – this is a mental process (observation/evaluation/selection) and/or a mathematical relation between bits and variables that can be performed in the human mind or with pen and paper (see MPEP 2106.04(a)(2) III.C; I.C).
determining a value of the Boolean function, according to an expected output value in the training data pair – this is a mathematical calculation/logical evaluation (an abstract idea) and also a mental process (see MPEP 2106.04(a)(2) I.C; III.C).
Regarding claim 11:
Claim 11 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is dependent on claim 2 which includes an abstract idea (see rejection for claim 2).
Step 2A – Prong 1 – Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes, the additional limitations:
target Boolean functions corresponding to the Boolean vector from the plurality of sets of Boolean functions are determined, respectively – selecting target functions is a mental process (observation/evaluation/judgment) that can be performed in the human mind or with pen and paper (see MPEP 2106.04(a)(2) III.C).
Boolean values through processing the Boolean vector using the target Boolean functions are obtained, respectively – computing Boolean values is a mathematical calculation/logic operation (an abstract idea) (see MPEP 2106.04(a)(2) I.C).
the data processing result according to the Boolean values is determined – this is a post-solution mental step/logic evaluation, which also constitutes an abstract idea. See MPEP 2106.04(a)(2).
Step 2A – Prong 2 – Does the claim recite additional elements that integrate the exception into a practical application?
Yes, the additional elements:
the learning model has a plurality of sets of Boolean functions – merely sets a parameter of the learning model and amounts to a field-of-use limitation. Such field-of-use recitations fail to integrate the judicial exception into a practical application. See MPEP 2106.05(h).
Step 2B – Does the claim recite additional elements that amount to significantly more than the judicial exception?
The additional element, “the learning model has a plurality of sets of Boolean functions”, considered alone or in combination with the abstract idea, does not amount to significantly more. Organizing Boolean functions into multiple sets is a routine computer function and represents well-understood, routine, and conventional activity (MPEP 2106.05(d), (f)).
Regarding claim 14:
Claim 14 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is effectively dependent on claim 1 by reciting generic computer components “configured to” carry out the method of claim 1, which includes an abstract idea (see rejection for claim 1). The additional limitations:
a memory; a processor coupled to the memory, the processor configured to, based on instructions stored in the memory, carry out the method for computer learning according to claim 1 – merely adding a generic processor and memory for executing stored instructions to perform the abstract steps of claim 1 adds the words “apply it” (or an equivalent) with the judicial exception, or provides mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea (see MPEP 2106.05(f)). Such functionally claimed, general-purpose hardware is well-understood, routine, and conventional (see MPEP 2106.05(d) II) and therefore fails to integrate the exception into a practical application.
Regarding claim 15:
Claim 15 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim effectively depends on claim 1 by reciting a program that, when executed, implements the method of claim 1 which includes an abstract idea (see rejection for claim 1). The additional limitations:
A non-transitory computer-readable storage medium on which a computer program is stored, which when executed by a processor implements the method for computer learning according to claim 1 – reciting a generic storage medium with instructions that “implement” the abstract steps of claim 1 merely adds the words “apply it” (or an equivalent) with the judicial exception, or provides mere instructions to implement an abstract idea on a computer (see MPEP 2106.05(f)). A non-specific storage medium is a well-understood, routine, and conventional component (see MPEP 2106.05(d) II) and constitutes insignificant extra-solution activity (see MPEP 2106.05(g)). Accordingly, the claim fails to integrate the exception into a practical application.
Regarding claim 16:
Claim 16 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is tied to the method of claim 1 which includes an abstract idea (see rejection for claim 1).
Step 2A – Prong 1 – Does the claim recite an abstract idea, law of nature, or natural phenomenon?
The underlying method of claim 1 is directed to an abstract idea (mathematical concepts/mental processes).
Step 2A – Prong 2 – Does the claim recite additional elements that integrate the exception into a practical application?
Yes, the additional limitations:
taking measurement data of each of sensors as data to be processed, executing the method for computer learning according to claim 1, to obtain a processing result of the measurement data – this limitation recites taking measurement data of sensors to obtain a processing result, which is data gathering that is insignificant extra-solution activity and fails to integrate the exception into a practical application. See MPEP 2106.05(g).
determining a control instruction to perform control processing corresponding to the control instruction, according to the processing result – this limitation recites determining a control instruction according to the processing result, which is a post-solution activity and does not meaningfully limit the claim. See MPEP 2106.05(f).
Step 2B – Does the claim recite additional elements that amount to significantly more than the judicial exception?
The additional elements, namely collecting/using measurement data and outputting a control instruction, represent well-understood, routine, and conventional computer activities. Using sensors to collect data and issuing a control signal based on a result are conventional steps performed by generic computing elements. Therefore, these limitations, individually and in combination, do not amount to significantly more than the abstract idea. See MPEP 2106.05(d), (f).
Regarding claim 17:
Claim 17 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim is tied to the method of claim 1 which includes an abstract idea (see rejection for claim 1).
Step 2A – Prong 1 – Does the claim recite an abstract idea, law of nature, or natural phenomenon?
Yes, the additional limitations:
determining a recognition result of pattern recognition, according to the processing result – recites determining a recognition result of pattern recognition, which is producing a classification/recognition result. This constitutes a mental process (observation/evaluation/judgment) that can be performed in the human mind or with pen and paper. See MPEP 2106.04(a)(2).
Step 2A – Prong 2 – Does the claim recite additional elements that integrate the exception into a practical application?
taking feature data of an object to be recognized as data to be processed, executing the method for computer learning according to claim 1, to obtain a processing result of the feature data – this limitation amounts to data gathering and is an insignificant extra-solution activity that fails to integrate the exception into a practical application. See MPEP 2106.05(g).
Step 2B – Does the claim recite additional elements that amount to significantly more than the judicial exception?
taking feature data of an object to be recognized as data to be processed, executing the method for computer learning according to claim 1, to obtain a processing result of the feature data – collecting and using feature data represents a well-understood, routine, and conventional computer activity. Obtaining input data for processing is a basic data gathering step performed by generic computing components. Accordingly, the claim does not recite significantly more than the abstract idea. See MPEP 2106.05(d), (f).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-2, 4-11, and 14-17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Ronald L. Rivest (Learning Decision Lists, Machine Learning 2) in view of William W. Cohen (“Fast Effective Rule Induction”), henceforth “Cohen”.
Regarding claim 1, Rivest in view of Cohen, teach the method for computer learning, executed by a processor, comprising:
“converting data to be processed into a vector to be processed;” – Rivest teaches this limitation. Rivest represents each example as an assignment mapping a finite set of attributes to {0, 1} and explicitly notes you can “think of an assignment as a binary string of length n”, i.e., a Boolean vector representation of the data:
“
V
n
=
{
x
1
,
x
2
,
…
,
x
n
}
” (Rivest, p. 231, §2.1)
“An assignment is a mapping from
V
n
to {0, 1}” (Rivest, p. 231, §2.2)
“We may also think of an assignment as a binary string of length n” (Rivest, p. 231, §2.2)
“determining a target processing node corresponding to the vector to be processed from a set of processing nodes of a learning model” – Rivest teaches this limitation. Rivest teaches that a decision list is a list of condition-value pairs; for any input assignment
x
, the output is the value
v
j
of the first pair whose condition
f
j
is satisfied (“least index such that
f
j
x
=
1
n
. Rivest also likens this to an extended “if-then-elseif-…else” rule, making clear the ordered, one-of-many selection from the set:
“A decision list L defines a Boolean function” (Rivest, p. 234, §2.6)
“for any assignment
x
∈
X
n
,
L
x
is defined to be equal to
v
j
where j is the least index such that
f
j
x
=
1
n
” (Rivest, p. 234, §2.6)
“We may think of a decision list as an extended ‘if - then - elseif - ... else –‘ rule” (Rivest, p. 234, §2.6)
“decision lists always form a "linear'' sequence of decisions; the ''true" branch of a decision always points to either 1 or 0, never to another decision node.” (Rivest, p. 235, §2.6)
“and obtaining a processing result of the data to be processed by using the target processing node to process the vector to be processed” – Rivest teaches this limitation. Once the matching item
j
is identified, the decision list defines the output as
L
x
=
v
j
, which is exactly the “processing result” produced by applying the selected rule/node:
“
L
x
is defined to be equal to
v
j
where j is the least index such that
f
j
x
=
1
.
” (Rivest, p. 234, §2.6)
“the converting the data to be processed into the vector to be processed comprises: converting the data to be processed into a Boolean vector consisting of 1 and 0;” – Rivest teaches this limitation. Rivest teaches a Boolean/binary vector representation:
“We may also think of an assignment as a binary string of length n … We let
X
n
denote the set
{
0
,
1
}
n
” (Rivest, p. 231, § 2.2 Object descriptions (assignments))
“the determining the target processing node corresponding to the vector to be processed comprises: determining a processing function corresponding to the vector to be processed by training a learning model, based on a feature of the Boolean vector;” – Rivest teaches this limitation. Rivest teaches learning Boolean function from examples:
“We are interested in algorithms for learning concepts from examples, where the notion of ‘concept’ is identified with that of ‘Boolean function.’” (Rivest, p. 238, § 4. Polynomial learnability)
“produce as answers Boolean functions that do not contradict any of the given training data; in this case we say that the answer produced is consistent with the training data. More formally, we say that a Boolean function f is consistent with
(
x
,
v
)
if
f
x
=
v
”. (Rivest, p. 238, § 4.1 Examples and samples)
“and the learning model is trained by: creating at least one candidate processing node using at least one processing node in the set of processing nodes according to at least one training data pair, each of the at least one training data pair comprising an input vector and an expected output value,” – Rivest teaches this limitation. Rivest explicitly defines an example as a pair
(
x
,
v
)
where
x
is an assignment and
v
∈
{
0
,
1
}
:
“More formally, an example of
f
is a pair
(
x
,
v
)
where x is an assignment and
v
∈
{
0
,
1
}
.” (Rivest, p. 238, § 4.1 Examples and samples)
“
f
is consistent with an example
(
x
,
v
)
if
f
x
=
v
.” (Rivest, p. 238, § 4.1 Examples and samples)
“” – Rivest teaches this limitation in part. Rivest defines size as a count (useful analog to “number of logical operations”):
“we define the size of a Boolean formula to be the number of literals it contains.” (Rivest, p. 232, § 2.3 Representations of concepts (Boolean formulae))
Rivest does not teach these limitations:
“the data to be processed comprises measurement data of each of sensors required for a control process, and the processing result comprises a corresponding control instruction for the control process;”
“wherein a difference between a processing result of processing the input vector by each of the at least one candidate processing node and the expected output value is less than a threshold,”
“and determining a target processing node corresponding to the input vector, according to a restriction function, from the at least one candidate processing node,”
“… to a number of … logical operation …”
Cohen, however, teaches these limitations:
“the data to be processed comprises measurement data of each of sensors required for a control process, and the processing result comprises a corresponding control instruction for the control process;” – Rivest does not teach this limitation. Cohen, however, teaches this limitation. Cohen teaches rule-induction over continuous/numeric variables using threshold conditions, e.g., conditions of the form
A
c
≤
θ
where
A
c
is a continuous variable and
θ
is a value occurring in training data, which corresponds to using measured/sensor-type values as input attributes:
“
A
c
is a continuous variable and
θ
is some value for
A
c
that occurs in the training data.” (Cohen, p. 116, § 2.2 Incremental Reduced Error Pruning)
It would have been obvious to combine Rivest’s ordered decision-list procedure with Cohen’s treatment of measured/continuous attributes operate on sensor-derived measurements issue as a control instruction.
“wherein a difference between a processing result of processing the input vector by each of the at least one candidate processing node and the expected output value is less than a threshold,” – Rivest does not teach this limitation. Cohen, however, teaches this limitation. Cohen teaches explicit threshold-based criteria for evaluation/stopping/selection, including stopping when a rule’s error exceeds a bound (e.g., “error exceeds 50%) and a description-length threshold rule (stop adding rules when description length is more than d bits larger than the smallest obtained so far).
“stops … when the last rule constructed has an error exceeding 50% on the pruning data.” (Cohen, p. 120, § 4.2 The Stopping Condition)
And discloses the MDL-based threshold:
“stops adding rules when this description length is more than
d
bits larger than the smallest” (Cohen, p. 120, § 4.2 The Stopping Condition)
These teachings correspond to using a threshold criterion on deviation/error relative to expected outcomes to govern acceptance of candidate rules/models.
“and determining a target processing node corresponding to the input vector, according to a restriction function, from the at least one candidate processing node,” – Rivest does not teach this limitation. Cohen, however, teaches this limitation. Cohen describes selecting based on description length and simplifying by deleting rules:
“The rule set is then simplified … deleting rules so as to reduce total description length.” (Cohen, p. 120, § 4.2 The Stopping Condition)
“… to a number of … logical operation …” – Cohen teaches this limitation. Cohen teaches selecting based on description length and deleting rules:
“deleting rules so as to reduce total description length.” – (Cohen, p. 120, § 4.2 The Stopping Condition)
It would have been obvious to one of ordinary skill in the art at the time of the claimed invention to modify Rivest’s decision-list learning technique using Cohen’s teachings because both references are directed to learning rule-based classifiers from examples and Cohen provides well-known, predictable improvements applicable to Rivest’s framework.
Rivest expressly concerns “learning from examples” where the concept can be in a “Boolean function”, and trains from labeled example pair
(
x
,
v
)
. Cohen likewise teaches inducing rule sets and describes conditions using continuous variables, stating that “
A
c
is a continuous variable and
θ
is some value for
A
c
that occurs in the training data”, which expands the types of attributes usable in induced rules. Accordingly, it would have been obvious to incorporate Cohen’s treatment of continuous/measured attributes into Rivest’s decision-list learning so that Rivest’s learner could be applied to measured (e.g., sensor-derived) inputs, yielding the predictable result of producing ordered rule/function usable on such inputs.
Further, Cohen teaches explicit heuristic criteria for constructing/selecting rule sets, including stopping when “error exceeding 50% and stopping when description length is “more than
d
bits larger than the smallest”, and also teaches simplifying by “deleting rules so as to reduce total description length”. Incorporating such threshold-based evaluation and complexity-based restriction criteria into Rivest’s learning/selection process would have been an obvious, predictable design choice to control rule quality and complexity (e.g., avoid poor-performing candidates and prefer simpler models), and would have predictably improved Rivest’s learned decision list according to known model-selection principles.
Therefore, combining Rivest with Cohen represents the predictable use of prior art elements according to their established functions to obtain expected results (i.e., a learned rule/function selection using threshold and restriction/complexity criteria and applicable to measured inputs), and the claimed subject matter would have been obvious.
Regarding claim 2, Rivest teaches the method for computer learning according to claim 1, wherein the:
vector to be processed is a Boolean vector, of which components are Boolean values, the set of processing nodes is a set of Boolean functions, and the target processing node is a target Boolean function – Rivest works over Boolean attributes where “true” is identified with 1 and “false” with 0 (i.e., Boolean-valued vector components), and he specifies that each
v
i
is in {0, 1}, matching the claimed Boolean formulation for inputs and outputs:
“As is common in computer science, we identify true with 1, and false with 0.” (Rivest, p. 231, §2.2)
“An assignment is a mapping from
V
n
to {0, 1}” (Rivest, p. 231, §2.2)
“each
V
i
is a value in { 0, 1},” (Rivest, p. 234, §2.6)
Claim 2 depends from claim 1 and, therefore, includes the limitations of claims 1. Accordingly, the rationale to combine Rivest and Cohen as set forth with respect to claim 1 is incorporated herein. Further, Rivest teaches/suggests the additional limitation of claim 2, and it would have been obvious to include this feature for the same reasons (e.g., predictable improvement/compatibility/optimization) as discussed for claim 1.
Regarding claim 4, Rivest teaches the method for computer learning according to claim 1, wherein creating at least one candidate processing node using at least one processing node in the set of processing nodes comprises:
creating the at least one candidate processing node, by performing operations on the at least one processing node – Rivest teaches constructing a model as an ordered sequence of “items” selected form candidate terms and iteratively added to a decision list. Rivest states:
“The algorithm proceeds by identifying the elements of the decision list in order” (Rivest, p. 243, §5.2)
For each step, Rivest selects a term that is consistent with the training data and outputs a new item of the model:
“Output the item
(
t
,
v
)
as the
j
-th item of the decision list being constructed.” (Rivest, p. 244, §5.2)
Rivest further teaches heuristic modifications to the selection step, such as choosing terms to maximize the number of examples explained or to improve generalization:
“There is certainly some flexibility in step 2 of the algorithm that could be used to advantage.” (Rivest, p. 244, §5.3)
For example:
“one could choose
t
so that it ‘explained’ the largest number of examples” (Rivest, p. 244, §5.3)
These disclosures teach creating a new candidate rule/node by performing operations on previously identified terms/nodes. Rivest’s iterative construction inherently performs operations on existing nodes to produce new candidate nodes for inclusion in the decision list.
Claim 4 depends from claim 1 and, therefore, includes the limitations of claims 1. Accordingly, the rationale to combine Rivest and Cohen as set forth with respect to claim 1 is incorporated herein. Further, Rivest teaches/suggests the additional limitation of claim 4, and it would have been obvious to include this feature for the same reasons (e.g., predictable improvement/compatibility/optimization) as discussed for claim 1.
Regarding claim 5, Rivest in view of Cohen teach the method for computer learning according to claim 2, wherein the learning model is trained by:
creating at least one candidate Boolean function using at least one Boolean function in the set of Boolean functions according to at least one training data pair, each of at least one training data pair comprising an input Boolean vector and an expected output value, wherein a difference between a processing result of processing the input Boolean vector by each of the at least one candidate processing node and the expected output value is less than a threshold – Rivest teaches creating candidate Boolean functions by operating in a Boolean-vector space and constructing functions consistent with covered examples. For example, Rivest discloses examining assignments in the Boolean vector space until terms are found that satisfy the examples, and outputting items of the decision list being constructed:
“An assignment is a mapping from
V
n
to {0, 1}” (Rivest, p. 231, §2.2)
“We let
X
n
denote the set of
{
0
,
1
}
n
of all binary strings of length n.” (Rivest, p. 231, §2.2)
Rivest therefore teaches generating candidate Boolean functions in the Boolean-vector context.
However, Rivest does not teach (i) explicit use of a threshold condition requiring the difference between processing results and expected outputs to be less than a threshold, or (ii) generating additional candidate Boolean functions from existing Boolean functions using refinement/pruning.
Cohen teaches refinement and pruning heuristics for generating new candidates from existing Boolean functions, such as adding and deleting conditions to improve rule performance. For example, Cohen discloses that:
“GrowRule repeatedly adds the condition that maximizes FOIL's information gain criterion until the rule covers no negative examples from the growing dataset.” (Cohen, p. 116, §2.2)
And further describes pruning operations that delete conditions yielding the greatest reduction of error on a pruning set:
“typical pruning operators would be to delete any single condition or any single rule... the pruning operator chosen is the one that yields the greatest reduction of error on the pruning set.” (Cohen, p. 115, §2.1)
These operations impose stopping conditions that enforce an error threshold and supply the explicit thresholding absent from Rivest, while also teaching candidate generation by refinement of Boolean functions.
It would have been obvious to one of ordinary skill in the art at the time of the claimed invention to modify Rivest’s Boolean function candidate generation method by incorporating Cohen’s refinement and pruning heuristics. Doing so would (i) enforce thresholding-based error control on candidate functions, and (ii) provide mechanisms to generate and refine candidates from existing Boolean functions. Such a combination represents a predictable use of known techniques to improve candidate generation, and would have yielded the claimed method of creating at least one candidate Boolean function with an error threshold condition, as recited in claim 5. See KSR Int’l Co. v. Teleflex Inc., 550 U.S. 398, 416 (2007); MPEP § 2143.
Regarding claim 6, Rivest in view of Cohen teach the method for computer learning according to claim 5, wherein creating at least one candidate Boolean function using at least one Boolean function in the set of Boolean functions comprises:
performing at least one logical operation on variable assignment conditions of the at least one Boolean function to form a new variable assignment condition, the at least one logical operation comprising at least one of a first logical operation between different variable assignment conditions or a second logical operation between components corresponding to Boolean vectors in different variable assignment conditions
Rivest provides the overall decision-list framework and teaches candidate selection from Boolean-vector assignments (see analysis of claim 5, Rivest pp. 231-244). Rivest thus teaches generating candidate Boolean functions generally.
However, Rivest does not expressly teach creating candidate Boolean functions by performing explicit logical operations on existing variable assignment conditions to form new variable assignment conditions.
Cohen teaches this missing aspect. In the Boolean setting, Cohen explains that a rule is a conjunction of features (logical AND within a rule), and that a rule set is a disjunctive normal form (logical OR across rules):
“In the two-class Boolean case a ‘rule’ is simply a conjunction of features, and a ‘rule set’ is a DNF formula.)” (Cohen, p. 116, §2.2)
Cohen’s FOIL-style GrowRule stage repeatedly adds conditions to a rule until it excludes all negatives, i.e., performing logical AND with new literals/components:
“GrowRule repeatedly adds the condition that maximizes FOIL's information gain criterion until the rule covers no negative examples…” (Cohen, p. 116, §2.2)
Cohen further teaches pruning operators that delete conditions from a rule, which are standard logical edits in rule refinement:
“typical pruning operators would be to delete any single condition or any single rule.” (Cohen, p. 115, §2.1)
These teachings collectively satisfy both the claimed “second” operation (ANDing components within a condition) and the “first” operation (ORing among different conditions/rules in a DNF rule set).
Accordingly, it would have been obvious to one of ordinary skill in the art to incorporate Cohen’s refinement and pruning operations into Rivest’s candidate creation process. Doing so would predictably enable candidate Boolean functions to be generated by performing logical operations on existing variable assignment conditions, thereby yielding new variable assignment conditions as recited in claim 6. Such a modification represents the predictable use of known rule-refinement techniques to improve candidate generation in Boolean learning systems. See KSR Int’l Co. v. Teleflex Inc., 550 U.S. 398, 416 (2007); MPEP 2143.
Regarding claim 7, Rivest in view of Cohen teach the method for computer learning according to claim 6, wherein the
restriction function is determined according to a number of the at least one logical operation corresponding to the at least one candidate Boolean function – Rivest teaches this limitation. Rivest teaches using a complexity/size measure that counts logical components of a Boolean expression:
“The algorithm proceeds by identifying the elements of the decision list in order…” (Rivest, p. 243, §5.2)
“…there is certainly some flexibility in step 2 of the algorithm that could be used to advantage.” (Rivest, p. 244, §5.3)
Together, these passages teach defining a restriction/selection function in terms of an operation-count proxy (number of literals) for candidate Boolean formulas.
determining a target Boolean function corresponding to the input Boolean vector from the at least one candidate Boolean function comprises: determining a candidate Boolean function having the minimum number of logical operations as the target Boolean function corresponding to the input Boolean vector – Rivest does not teach this limitation. Cohen teaches this limitation and describes an MDL-based stopping/selection scheme and explicitly states that, after computing the “total description length”, the algorithm “simplify[s]” the rule set by:
“…deleting rules so as to reduce total description length” (Cohen, p. 120, §4.2)
When choosing among alternative rule variants (original, replacement, revision), Cohen says:
“Finally a decision is made… This decision is made using the MDL heuristic” (Cohen, p. 121, §4.3)
Cohen further clarifies the evaluation:
“a variant of
R
i
is evaluated by inserting it into the rule set and then deleting rules that increase the total description length… The total description length of the examples and the simplified rule set is then used to compare variants of
R
i
” (Cohen, p. 121, §4.3)
These passages show Cohen uses a restriction function grounded in description length (an MDL complexity measure) to select among candidate rules i.e., pick the candidate that minimizes the chosen complexity metric.
Rivest teaches constructing a decision list by iteratively selecting and outputting items, and expressly notes “flexibility in step 2 of the algorithm” that could be “used to advantage, in an attempt to yield a shortest possible decision list”, e.g., by choosing the term that explains the largest number of examples. Cohen provides a well-known, concrete way to implement that very preference for simpler models: evaluate rule-set variants by total description length (an MDL restriction function), “replacement for… revision of” each rule and “deleting rules that increase the total description length”, then keep the variant with the smallest description length. A POSITA implementing Rivest’s step-2 selection would have been motivated to adopt Cohen’s MDL criterion as the restriction function because both references address the same rule-list/rule-set learners and Cohen’s MDL procedure is a recognized technique for preferring simpler hypotheses that generalize better. Applying Cohen’s MDL selection inside Rivest’s step-2 “flexibility” is a simple substitution of one known evaluation/selection technique for another in an analogous context, with a predictable result (a shorter/simpler), satisfying KSR. In the claimed terms, MDL’s size/complexity preference corresponds to minimizing the number of logical operations in the candidate Boolean function, so the selected target function is the one with the minimum operation count, as Rivest invites and Cohen operationalizes.
Regarding claim 8, Rivest teaches the method for computer learning according to claim 1, wherein the at least one training data pair comprises a
plurality of training data pair, and a difference between the processing result of processing each input vector of the at least one training data pair by each of the at least one candidate processing node and each expected output value of the at least one training data pair is less than a corresponding threshold – Rivest teaches this limitation. Rivest’s learner operates on a labeled sample
S
(positives and negatives):
“We now specify our algorithm more precisely. Let S denote a non-empty
input sample k of an unknown function
f
∈
F
n
…” (Rivest, p. 244, §5.2)
Rivest then selects list elements consistent with the given set of data:
“The algorithm proceeds by identifying the elements of the decision list in order. That is to say, we may select as the first element… any element of
C
k
n
*
{
0
,
1
}
that is consistent with the given set of data. The algorithm can then… construct the remainder of the decision list… to be consistent with the remaining data.” (Rivest, p. 244, §5.2)
For each candidate term
t
, Rivest requires that all examples it convers agree in label before emitting
(
t
,
v
)
:
“Examine each term in
C
k
n
in turn until a term
t
is found such that all examples in
S
which make
t
true are of the same type (i.e., all positive examples or all negative examples).” (Rivest, p. 244, §5.2)
Formally, Rivest defines the error/discrepancy measure used in learning as a difference bounded by a threshold
ε
:
“We define the discrepancy
f
⨀
g
… We also define the error of a function
g
to be
f
⨀
g
… A hypothesis
g
with error at most
ε
will incorrectly classify at most a fraction
ε
” (Rivest, p. 240, §4.5)
Rivest’s construction enforces the special case threshold = 0 on the covered training examples (all labels the same), satisfying “a difference… is less than a corresponding threshold” for the plurality of training pairs used to form the candidate.
Claim 8 depends from claim 1 and, therefore, includes the limitations of claims 1. Accordingly, the rationale to combine Rivest and Cohen as set forth with respect to claim 1 is incorporated herein. Further, Rivest teaches/suggests the additional limitation of claim 8, and it would have been obvious to include this feature for the same reasons (e.g., predictable improvement/compatibility/optimization) as discussed for claim 1.
Regarding claim 9, Rivest teaches the method for computer learning according to claim 1, further comprising:
adding the at least one candidate processing node to the set of processing nodes – Rivest teaches this limitation. Rivest’s learned model is a decision list (the pairs are the learned ‘processing nodes’), and the list is linearly ordered (i.e., the learner incrementally builds the list item-by-item). Rivest explains (i) what the list is and (ii) that its items are a “linearly ordered set of production rules”, which captures that learned items are incorporated into the list structure as they are identified. These passages show the model is constructed by adding learned items to the list being built.
“A decision list is a list
L
of pairs” (Rivest, p. 234, §2.6)
“One may think of decision lists as a 'linearly ordered’ set of production rules.” (Rivest, p. 236, §2.6)
“Decision lists always form a ‘linear’ sequence of decisions…” (Rivest, p. 235, §2.6)
Because Rivest’s learner constructs the model as a list of rule-pairs and does so in linear order (i.e., by successively incorporating items), the limitation of claim 9 is met.
Claim 9 depends from claim 1 and, therefore, includes the limitations of claims 1. Accordingly, the rationale to combine Rivest and Cohen as set forth with respect to claim 1 is incorporated herein. Further, Rivest teaches/suggests the additional limitation of claim 9, and it would have been obvious to include this feature for the same reasons (e.g., predictable improvement/compatibility/optimization) as discussed for claim 1.
Regarding claim 10, Rivest teaches the method for computer learning according to claim 2, wherein a Boolean function in the set of Boolean functions is created by:
determining a variable assignment condition of the Boolean function, according to an input Boolean vector in a training data pair – Rivest teaches this limitation. Rivest explicitly frames decision lists as defining Boolean functions:
“A decision list L defines a Boolean function as follows: for any assignment
x
∈
X
n
,
L
(
x
)
is defined to be equal to
v
j
where
j
is the least index such that
f
j
x
=
1
.” (Rivest, p. 234, §2.6)
Rivest’s training procedure selects a term (the condition) based on the labeled examples S (i.e., the training pairs):
“Examine each term in
C
k
n
in turn until a term
t
is found such that all examples in
S
which make
t
true are of the same type (i.e., all positive examples or all negative examples)… Let
T
denote those examples in
S
which make
t
true.” (Rivest, p. 244, §5.2)
determining a value of the Boolean function, according to an expected output value in the training data pair – Rivest then sets the rules output
v
directly from the examples’ labels (expected outputs):
“Let
v
=
1
if
T
is a set of positive examples; otherwise let
v
=
0
. Output the item
t
,
v
as the
j
-th item of the decision list…” (Rivest, p. 244, §5.2)
Regarding claim 11, Rivest in view of Cohen teach the method for computer learning according to claim 2, wherein:
the learning model has a plurality of sets of Boolean functions; target Boolean functions corresponding to the Boolean vector from the plurality of sets of Boolean functions are determined, respectively; Boolean values through processing the Boolean vector using the target Boolean functions are obtained, respectively; the data processing result according to the Boolean values is determined
Rivest teaches Boolean functions represented as decision lists over Boolean attributes, and shows that decision lists are efficiently learnable:
“A decision list is a list of
L
pairs… where each
v
i
is a value in
{
0
,
1
}
, and the last function
f
r
is the constant function true. A decision list
L
defines a Boolean function as follows: for any assignment
x
∈
X
n
,
L
x
is defined to be equal to
v
j
where j is the least index such that
f
j
x
=
1
” (Rivest, p. 234, §2.6)
Rivest discloses selecting a decision rule from a Boolean function and determining outputs based on the first satisfied rule:
“We may think of a decision list as an extended ‘if – then – elseif - … else – ‘ rule.” (Rivest, p. 234, §2.6)
Rivest therefore teaches the use of Boolean functions and decision-lists based processing to derive Boolean outputs.
However, Rivest does not teach using a plurality of sets of Boolean functions to support multi-class determinations. Rivest is limited to a single-output decision-list framework and does not disclose applying multiple sets of Boolean functions to obtain parallel Boolean values for result determination.
Cohen teaches handling multiple classes by learning and applying multiple rule sets (each a set of Boolean rules). For example, Cohen describes that in a two-class Boolean case, a rule is a conjunction of features, and a “rule set” is a disjunctive normal form formula:
“In the two-class Boolean case a ‘rule’ is simply a conjunction of features, and a ‘rule set’ is a DNF formula.” (Cohen, p. 116, §2.2)
Cohen’s IREP/FOIL algorithms explicitly extend to multi-class problems by inducing and applying multiple rule sets:
“The IREP algorithm described above is for two-class learning problems. Our implementation handles multiple classes as follows. First, the classes are ordered. In the experiments described below the ordering is always in increasing order or prevalence – i.e., the ordering is
C
1
, …,
C
k
where
C
1
is the least prevalent class and
C
k
is the most prevalent. Then, IREP is used to find a rule set that separates
C
1
from the remaining classes.” (Cohen, p. 117, §2.2)
Cohen thus provides the missing teachings of using a plurality of rule/Boolean function sets for multi-output determinations.
It would have been obvious to one of ordinary skill in the art to combine Rivest’s single-output decision-list framework with Cohen’s multi-class, multi-rule-set procedure. Doing so would allow multiple Boolean determinations to be obtained and combined to produce a final classification or control result. Such a modification represents a predictable use of known Boolean learning techniques to extend Rivest’s framework to multi-class applications, yielding the claimed plurality of Boolean function sets with parallel determinations.
Regarding claim 14, Rivest in view of Cohen teach an apparatus for computer learning, comprising:
a memory; and a processor coupled to the memory, the processor configured to, based on instructions stored in the memory, carry out the method for computer learning according to claim 1 –
Rivest teaches the core learning/classification method and constructive algorithm for selecting a target rule and outputting a result given a Boolean vector:
“Our proof is constructive: we present an algorithm that can efficiently construct an element of k-DL consistent with a given set of examples, if one exists.” (Rivest, p. 229, Abstract)
“We may also think of an assignment as a binary string of length n… We let
X
n
denote the set
{
0
,
1
}
n
of all binary strings of length n.” (Rivest, p. 231, §2.2)
“A decision list
L
defines a Boolean function as follows: for any assignment
x
∈
X
n
,
L
x
is defined to be equal to
v
j
where j is the least index such that
f
j
x
=
1
. (Such an item always exists, since the last function is always true.)” (Rivest, p. 234, §2.6)
“We may think of a decision list as an extended ‘if – then – elseif - … else – ‘ rule.” (Rivest, p. 234, §2.6)
However, Rivest does not expressly teach implementing his algorithm on a computer apparatus having a memory and processor. Rivest focuses on the algorithmic aspects and decision list structure.
Cohen teaches practical implementation of rule-learning algorithms on conventional computing hardware, explicitly referencing CPU execution times and memory/space usage for large datasets. For example, Cohen states:
“The current implementation can efficiently handle training sets of several hundred thousand examples.” (Cohen, p. 116, §2.2)
Cohen then describes RIPPER requiring ~61 CPU minutes to process 500k examples:
“RIPPER2 requires only 61 CPU minutes to process 500,000 examples of the artificial concept of Figure 2.” (Cohen, p. 122, §4.5)
Cohen thus teaches use of a memory and processor for carrying out learning algorithms.
It would have been obvious to one of ordinary skill in the art at the time of the claimed invention to implement Rivest’s algorithm on a conventional processor-and-memory platform, as exemplified by Cohen. Doing so would have predictably yielded a working apparatus configured to execute Rivest’s algorithm as software instructions, providing the established benefits of efficiency and scalability for handling large datasets. Such an implementation represents nothing more than applying a known algorithm to a conventional computer system, wish is an obvious design chois for a POSITA.
Regarding claim 15, Rivest in view of Cohen, teach:
a non-transitory computer-readable storage medium on which a computer program is stored, which when executed by a processor implements the method for computer learning according to claim 1
Rivest teaches the core decision-list learning method and constructive algorithm for selecting a target rule and outputting a result given a Boolean vector (Rivest, pp. 231-244):
“We may also think of an assignment as a binary string of length n” (Rivest, p. 231, §2.2”
“A decision list is a list
L
of pairs… [and] for any assignment
x
∈
X
n
,
L
(
x
)
is defined to be equal to
v
j
where
j
is the least index such that
f
j
x
=
1
.” (Rivest, p. 234, §2.6)
Rivest therefore teaches the substantive method steps that would be carried out by software instructions.
However, Rivest does not expressly teach a non-transitory computer-readable storage medium having a computer program stored thereon. Rivest focuses on the algorithmic aspects of decision lists rather than their embodiment in software stored on a medium.
Cohen teaches software implementation of learning algorithms executed on real processors and memory, thereby necessarily involving storage of the program on a computer-readable medium. For example, Cohen describes RIPPER requiring ~61 CPU minutes to process 500,000 examples:
“RIPPER2 requires only 61 CPU minutes to process 500,000 examples… RIPPER
k
is also quite space efficient, as it requires no data structures larger than the dataset” (Cohen, p. 122, §4.5)
Cohen further explains that such implantations are space-efficient and handle large datasets:
“The current implementation can efficiently handle training sets of several hundred thousand examples.” (Cohen, p. 116, §2.1)
It would have been obvious to one of ordinary skill in the art at the time of the claimed invention to embody Rivest’s algorithm as a software program stored on a non-transitory computer-readable medium, as exemplified by Cohen’s implementation. Doing so would be a predictable use of known computer storage and execution mechanisms to realize Rivest’s learning method at scale (i.e., handling hundreds of thousands of examples efficiently, as Cohen demonstrates). This modification merely applies established implementation techniques to Rivest’s algorithm, yielding the claimed storage medium.
Regarding claim 16, Rivest in view of Cohen, a control method, comprising:
taking measurement data of each of sensors as data to be processed, executing the method for computer learning according to claim 1, to obtain a processing result of the measurement data; and determining a control instruction to perform control processing corresponding to the control instruction, according to the processing result
Rivest teaches the core decision-list method for learning Boolean functions and producing discrete outputs from input vectors. For example, Rivest describes how a decision list defines a Boolean function such that for any input assignment, the output is determined by the first satisfied rule:
“A decision list L defines a Boolean function as follows: for any assignment
x
∈
X
n
,
L
(
x
)
is defined to be equal to
v
j
where
j
is the least index such that
f
j
x
=
1
… We may think of a decision list as an extended ‘if – then – elseif - …else – ‘ rule.” (Rivest, p. 234, §2.6)
Thus, Rivest teaches executing the learning method and producing an output value based on ordered Boolean rules.
However, Rivest does not expressly teach applying the algorithm to sensor measurement data or outputting the decision as a “control instruction”. Rivest’s disclosure focuses on Boolean inputs and classification outputs, not sensor-derived control processes.
Cohen teaches working with numeric/continuous attributes by testing thresholds on continuous variables (i.e., measurement data):
“condition of the form
A
n
=
v
,
A
c
≤
θ
,
o
r
A
c
≥
θ
, where
A
n
is a nominal attribute and
v
is a legal value for
A
n
or
A
c
is a continuous variable and
θ
is some value for
A
c
that occurs in the training data.”(Cohen, p. 116, §2.2)
Cohens algorithms explicitly support missing attributes, numeric variables, and multiple classes, making them applicable to real-world measurement data:
“supports missing attributes, numerical variables and multiple classes. This makes it applicable to a wider range of benchmark problems.” (Cohen, p. 117, §2.3)
These teachings show how to adapt Rivest’s decision-list framework to measured/sensor data and generate practical outputs.
It would have been obvious to one of ordinary skill in the art at the time of the claimed invention to combine Rivest’s ordered decision-list procedure (which selects an output based on the first satisfied rule) with Cohen’s treatment of measured/continuous attributes and rule sets. Doing so would adapt the known decision-list classifier to operate on sensor-derived measurements and to issue the resulting discrete decision as a control instruction. Cohen expressly supports numeric/continuous measurements in rule conditions, making substitution of sensor readings for attributes straightforward. Issuing the resulting decision as a control instruction would have been an obvious design choice, yielding predictable benefits of applying Rivest’s classification method to practical control applications.
Regarding claim 17, Rivest teaches a recognition method, comprising:
taking feature data of an object to be recognized as data to be processed – Rivest teaches this limitation. Rivest explains that the variables (features) denote object attributes (e.g., “heavy”, “red”, “edible”) and that:
“We may also think of an assignment as a description of an object. For example… might describe a non-heavy, red, edible object.” (Rivest, p. 231, §2.2)
executing the method for computer learning according to claim 1, to obtain a processing result of the feature data – Rivest teaches converting features into a vector and processing it with a learned rule to produce an output:
“We may also think of an assignment as a binary string of length n… We let
X
n
denote the set
{
0
,
1
}
n
of all binary strings of length n.” (Rivest, p. 231, §2.2)
Rivest further defines decision lists:
“A decision list is a list
L
of pairs… [and] for any assignment
x
∈
X
n
,
L
(
x
)
is defined to be equal to
v
j
where
j
is the least index such that
f
j
x
=
1
.” (Rivest, p. 234, §2.6)
And Rivest notes:
“We may think of a decision list as an extended ‘if – then – elseif - …else –‘ rule.” (Rivest, p. 234, §2.6)
These passages collectively teach taking the feature vector (assignment), selecting the first satisfied rule (target processing node) from the model, and outputting its value (the processing result).
determining a recognition result of pattern recognition, according to the processing result – Rivest teaches classifying the object description based on the model’s output:
“A Boolean formula can be interpreted as a mapping from objects (assignments) into {0, 1}. If the formula is 1 (true) for an object, we say that the object is a positive example… otherwise… a negative example.” (Rivest, p. 231, §2.3)
The decision list example’s truth table and evaluation (e.g., “For example,
L
(0, 0, 0, 0, 1) = 1“) further shows deriving the recognition/classification result from the computed output.
Claim 17 depends from claim 1 and, therefore, includes the limitations of claims 1. Accordingly, the rationale to combine Rivest and Cohen as set forth with respect to claim 1 is incorporated herein. Further, Rivest teaches/suggests the additional limitation of claim 17, and it would have been obvious to include this feature for the same reasons (e.g., predictable improvement/compatibility/optimization) as discussed for claim 1.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Paul Coleman whose telephone number is (571)272-4687. The examiner can normally be reached Mon-Fri.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, David Yi can be reached at (571) 270-7519. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/PAUL COLEMAN/Examiner, Art Unit 2126
/LUIS A SITIRICHE/Primary Examiner, Art Unit 2126