US5161232AExpiredUtility

Modular self-programmer

Individually held — no corporate assignee on recordPriority: Sep 17, 1985Filed: Mar 12, 1992Granted: Nov 3, 1992
Est. expirySep 17, 2005(expired)· nominal 20-yr term from priority
Inventors:James T. Beran
G06F 1/02G05B 19/05G06F 7/588
42
PatentIndex Score
13
Cited by
35
References
28
Claims

Abstract

A self-programming technique includes receiving a sequence of input signals and comparing each input signal with an expectation signal. A sequence of output signals is generated from the input signals, and at least part of the output signal sequence is stored when the expectation signal compares favorably with the input signal. Modular units performing this technique may be connected as a master with one or more servants. The master provides the expectation signals for the servants as its output and receives their signals indicating their comparison outcomes as its input. Within each programmer, a random number may be generated as an output when the input signal received is not expected and has not previously been stored as an input preceding an output signal. The random number output provides trial and error capabilities.

Claims

exact text as granted — not AI-modified
I claim: 
     
       1. A machine, comprising: input means for receiving input signals, each input signal being one of a plurality of possible input signals;   signal providing means for providing a signal indicating at least one of the possible input signals;   comparing means for comparing the input signals received by the input means with the signal indicating at least one of the possible input signals and for providing a comparison signal when one of the compared input signals is one of the input signals that is indicated by the indicating signal;   output providing means responsive to the input signals received by the input means for providing a sequence of output signals, the sequence including a plurality of steps; and   storing means for storing data corresponding to a plurality of the steps of the sequence of output signals in response to the comparison signal.   
     
     
       2. The machine of claim 1 in which the signal indicating at least one of the possible input signals includes a value, the signal providing means further being for receiving and storing the value. 
     
     
       3. The machine of claim 1 in which the storing means is further for storing expected input data corresponding to one of the steps of the sequence of output signals in response to the comparison signal, the expected input data indicating at least one of the possible input signals, the output providing means further being for comparing one of the input signals received by the input means with the expected input data. 
     
     
       4. The machine of claim 3 in which the storing means is further for storing preceding input data corresponding to each step of the sequence of output signals in response to the comparison signal, the preceding input data indicating at least one of the possible input signals, the output providing means further being for testing whether the one of the input signals received by the input means is indicated by the preceding input data. 
     
     
       5. The machine of claim 4 in which the output providing means further comprises random number means for generating a random number as one of the output signals when the one of the received input signals is not indicated by the preceding input data. 
     
     
       6. The machine of claim 3 further comprising means for modifying the expected input data when the input signal is not indicated by the expected input data. 
     
     
       7. The machine of claim 3 in which the output providing means further comprises random number generating menas for generating a random number as one of the output signals when the one of the input signals received is not indicated by the expected input data. 
     
     
       8. The machine of claim 1 in which the data corresponding to the plurality of steps of the sequence includes, for each step, data corresponding to a respective one of the output signals, the output providing means further being for providing the output signal indicated by the data corresponding to one of the steps. 
     
     
       9. A method comprising: receiving input signals, each input signal being one of a plurality of possible input signals that may be received:   comparing each of the input signals with a signal indicating at least one of the possible input signals and providing a comparison signal upon comparing one of the input signals that is indicated by the indicating signal;   in response to the input signals, providing a sequence of output signals, the sequence including a plurality of steps; and   storing data corresponding to a plurality of the steps of the sequence of output signals in response to the comparison signal.   
     
     
       10. The method of claim 9 in which the signal indicating at least one of the possible input values includes a value, the method further comprising receiving and storing the value. 
     
     
       11. The method of claim 9 in which the step of providing the sequence of output signals comprises storing the output signals in a sequence in a stack, the step of storing data comprising storing in hard memory at least part of the sequence of output signals from the stack. 
     
     
       12. The method of claim 9 in which the step of storing data further comprises storing expected input data corresponding to one of the steps in the sequence, the expected input data indicating at least one of the possible input values, the signal providing step comprising comparing one of the input signals with the expected input data to determine whether the one of the input signals is indicated by the expected input data. 
     
     
       13. The method of claim 12, in which the step of storing data further comprises, for each step of the sequence of output signals, storing preceding input data, the preceding input data indicating at least one of the possible input signals, the signal providing step further comprising testing whether the one of the input signals is indicated by preceding input data of any of the steps when the expected input data does not indicate the one of the input signals. 
     
     
       14. The method of claim 13 in which the signal providing step further comprises generating a random number as one of the output signals when the one of the input signals is not indicated by preceding input data of any of the steps. 
     
     
       15. The method of claim 12 in which the signal providing step further comprises generating a random number as one of the output signals when the one of the input signals is not indicated by the expected input data. 
     
     
       16. The method of claim 12 further comprising modifying the expected input data when the input signal is not indicated by the expected input data. 
     
     
       17. The method of claim 9 in which the storing step further comprises storing, in the data corresponding to each of the steps, data indicating a respective one of the output signals, the signal providing step further comprising providing the output signal indicated by the data corresponding to one of the steps. 
     
     
       18. A machine comprising a master programmer and at least one servant programmer, the master programmer and each servant programmer comprising: input means for receiving input signals, each input signal being one of a plurality of possible input signals;   signal providing means for providing a signal indicating at least one of the possible input signals;   comparing means for comparing the input signals with the signal indicating at least one of the possible input signals and for providing a comparison signal when an input signal is received that is indicated by the indicating signal;   output providing means responsive to the input signals received by the input means for providing a sequence of output signals, the sequence including a plurality of steps; and   storing means for storing data corresponding to a plurality of the steps of the sequence of output signals in response to the comparison signal; the master programmer and each servant programmer being connected so that the signal providing means of each of the servant programmers provides its indicating signal based on one of the output signals from the output providing means of the master programmer and so that the comparison signal of each of the servant programmers is included in the input signals received by the input means of the master programmer.   
     
     
       19. A method comprising: receiving a sequence of input signals, each input signal being one of a plurality of possible input signals that may be received;   determining whether each of the input signals is indicated by an indicating signal indicating at least one of the possible input signals;   for a first one of the input signals that is not indicated by the indicating signal, providing an output signal, the output signal being a step in a sequence of output signals; and   for a second one of the input signals that is indicated by the indicating signal, storing a plurality of the steps of the sequence of output signals.   
     
     
       20. The method of claim 19, further comprising receiving the indicating signal. 
     
     
       21. The method of claim 19, further comprising storing the sequence of the output signals in a stack, the step of storing a plurality of the steps comprising storing a plurality of the output signals from the stack in hard memory. 
     
     
       22. The method of claim 19 in which the storing step comprises storing data indicating one of the output signals in an entry with data indicating a preceding one of the input signals. 
     
     
       23. The method of claim 19 in which the storing step comprises storing, for each of the steps, a respective entry including data indicating a corresponding one of the output signals and expected input data indicating at least one of the possible input signals. 
     
     
       24. The method of claim 23, further comprising: comparing a third one of the input signals that is not indicated by the indicating signal with the expected input data of the respective entry of one of the steps.   
     
     
       25. The method of claim 24, further comprising, if the third input signal is indicated by the expected input data, proceeding to a next step in the stored plurality of steps. 
     
     
       26. The method of claim 24, further comprising, if the third input signal is not indicated by the expected input data, determining whether the third input signal is indicated by preceding input data in any of the entries, and, if so, providing the one of the output signals in an entry that includes preceding input data indicating the third input signal. 
     
     
       27. The method of claim 26, further comprising, if the third input signal is not indicated by preceding input data in any of the entries, generating a random number. 
     
     
       28. The method of claim 24, further comprising, if the third input signal is not indicated by the expected input data, modifying the expected input data to indicate a larger group of the possible input signals.

Join the waitlist — get patent alerts

Track US5161232A — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.