WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Probabilistic resource allocation system with self-adaptive capability    
United States Patent5586219   
Link to this pagehttp://www.wikipatents.com/5586219.html
Inventor(s)Yufik; Yan M. (12204 St. James Rd., Potomac, MD 20854)
AbstractA probabilistic resource allocation system is disclosed containing a low capacity computational module (Short Term Memory or STM) and a self-organizing associative network (Long Term Memory or LTM) where nodes represent elementary resources, terminal end nodes represent goals, and directed links represent the order of resource association in different allocation episodes. Goals and their priorities are indicated by the user, and allocation decisions are made in the STM, while candidate associations of resources are supplied by the LTM based on the association strength (reliability). Reliability values are automatically assigned to the network links based on the frequency and relative success of exercising those links in the previous allocation decisions. Accumulation of allocation history in the form of an associative network in the LTM reduces computational demands on subsequent allocations. For this purpose, the network automatically partitions itself into strongly associated high reliability packets, allowing fast approximate computation and display of allocation solutions satisfying the overall reliability and other user-imposed constraints. System performance improves in time due to modification of network parameters and partitioning criteria based on the performance feedback.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5586219
Probabilistic resource allocation system with self-adaptive capability - US Patent 5586219 Drawing
Probabilistic resource allocation system with self-adaptive capability
Inventor     Yufik; Yan M. (12204 St. James Rd., Potomac, MD 20854)
Owner/Assignee    
Patent assignment
All assignments
Publication Date     December 17, 1996
Application Number     08/312,961
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     September 30, 1994
US Classification     706/14 715/810
Int'l Classification     G06F 015/00 G06F 015/20 G06F 015/36
Examiner     Downs; Robert W.
Assistant Examiner     Shah; Sanjiv
Attorney/Law Firm     Angeli; Michael de
Address
Parent Case    
Priority Data    
USPTO Field of Search     395/20 395/140 395/600 395/650 395/20 395/155 364/401 364/554 364/402 379/221
Patent Tags     probabilistic resource allocation self-adaptive capability
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5446891
Kaplan
707/2
Aug,1995

[0 after 0 votes]
5440675
Matsunaga

Aug,1995

[0 after 0 votes]
5402478
Hluchyj
379/221.01
Mar,1995

[0 after 0 votes]
5369570
Parad
705/8
Nov,1994

[0 after 0 votes]
5343388
Wedelin
705/8
Aug,1994

[0 after 0 votes]
5325525
Shan
718/104
Jun,1994

[0 after 0 votes]
5276772
Wang
706/20
Jan,1994

[0 after 0 votes]
5276771
Manukian
706/25
Jan,1994

[0 after 0 votes]
5222195
Alkon
706/25
Jun,1993

[0 after 0 votes]
5148365
Dembo
705/36R
Sep,1992

[0 after 0 votes]
5050096
Seidman
706/19
Sep,1991

[0 after 0 votes]
5050095
Samad
706/25
Sep,1991

[0 after 0 votes]
5046019
Basehore
706/1
Sep,1991

[0 after 0 votes]
5043876
Terry
707/201
Aug,1991

[0 after 0 votes]
5040134
Park
706/34
Aug,1991

[0 after 0 votes]
4797839
Powell
700/90
Jan,1989

[0 after 0 votes]
4748658
Gopal
379/221.01
May,1988

[0 after 0 votes]
4525830
Cohen
370/219
Jun,1985

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A self-adaptive system for providing progressively improved solutions to successive examples of a class of generally similar problems of resource allocation, comprising:

a supervisory and interaction management module (SIMM) for receiving input data describing the goals to be met in solution of, and the resources available to solve, a particular problem;

a short-term memory (STM) for receiving said input data from said SIMM, for receiving a list of candidate resources from long-term memory, and for comparing the input data to the candidate resources to determine a near-optimal resource allocation;

a long-term memory (LTM) maintaining a list of candidate resources and associated probabilities of goal satisfaction, said LTM being effectively implemented as a reconfigurable network of nodes connected to neighboring nodes by links, each node representing a step in a pathway connecting one or more resources to one or more goals,

means for computing alternate pathways between the nodes of the network in order to allocate resources to goals in deriving candidate solutions of each particular problem of said class of problems, and for evaluating the relative efficiency of each of the alternate pathways thus computed in order to determine an optimum solution for that particular problem with respect to the present configuration of the network;

means for identifying common groups of nodes connected by links employed in the optimum solutions of plural examples of problems from a given class of problems; and

means for effectively decomposing said network by replacing said identified common groups of nodes connected by links with fewer nodes connected by fewer links to one another, or to the nodes previously connected to the identified common group of nodes, for subsequent solution of further problems from said given class of problems.

2. The system of claim 1, wherein said means for identifying common groups of nodes connected by links employed in the optimum solutions of plural examples of problems from a given class of problems comprises means for maintaining a record of the frequency of use of each of the links connecting nodes in the network in the optimum solutions of successive examples of problems from a given class of problems.

3. The system of claim 2, wherein said means for identifying common groups of nodes connected by links employed in the optimum solutions of plural examples of problems from a given class of problems identifies said common groups by successively assigning groups of nodes to packets, comparing the frequency of use of the links internal to each of the packets to those connecting the nodes of each packet to nodes outside each packet, and treating the nodes of the packet as an identified common group of nodes when the frequency of use of the links internal to the packet exceeds the frequency of use of the links connecting the nodes internal to the packet to nodes outside the packet.

4. The system of claim 1, further comprising means for returning the network to its original configuration prior to carrying out resource allocation according to the optimum solution thus derived.

5. The system of claim 1, wherein said fewer nodes connected by fewer links to the nodes previously connected to the identified common group of nodes employed to replace each identified common group of nodes comprises a single node connected by links with all nodes to which the identified common group of nodes was connected.

6. The system of claim 1, further comprising means for storing the network configuration after identification of a group of common nodes in solution of a particular problem, and means for subsequent decomposition of the network to implement the stored configuration responsive to indication that a problem from the same class of problems is to be solved.

7. A method for increasingly efficient solution of a series of problems from a class of problems requiring allocation of resources to a plurality of goals, comprising the steps of:

defining a reconfigurable network of nodes connected by links, each node effectively representing a step in allocating given resources to given goals;

carrying out the following steps in solution of a particular problem:

computing alternate pathways between the nodes of the network in order to allocate resources to goals in solution of each particular problem of said class of problems; and

evaluating the relative efficiency of each of the alternate pathways thus computed, in order to determine an optimum solution for that particular problem with respect to the present configuration of the network; and

carrying out the following steps after reaching an optimum solution for a particular problem with respect to the present configuration of the network:

comparing the sets of nodes employed by the optimum solution to similar sets of nodes employed in the optimum solutions of other problems of the same class of problems;

determining whether common groups of nodes are employed substantially similarly in the optimum solutions of plural problems from a given class of problems; and

if such common groups of nodes are identified, reconfiguring the network for increased efficiency in subsequent solution of problems from the same class of problems, by replacing said identified common groups of nodes with fewer nodes connected to one another, or to the nodes connected to the replaced common groups of nodes.

8. The method of claim 7, wherein said identified common groups of nodes are replaced by single nodes connected to the nodes connected to the replaced common group of nodes.

9. The method of claim 7, wherein said step of determining whether common groups of nodes are employed substantially similarly in the optimum solutions of plural problems from a given class of problems is performed by maintaining a record of the frequency of use of each of the links connecting nodes in the network in the optimum solutions of successive examples of problems from a given class of problems.

10. The method of claim 7, wherein said step of determining whether common groups of nodes are employed substantially similarly in the optimum solutions of plural problems from a given class of problems is performed by successively assigning groups of nodes to packets, comparing the frequency of use of the links internal to each of the packets to those connecting the nodes of each packet to nodes outside each packet, and treating the nodes of the packet as an identified common group of nodes when the frequency of use of the links internal to the packet exceeds the frequency of use of the links connecting the nodes internal to the packet to nodes outside the packet.

11. The method of claim 7, comprising the further steps of storing the network configuration responsive to identification of a group of common nodes in solution of a particular problem, and decomposing the network responsive to the stored configuration responsive to indication that a problem from the same class of problems is subsequently to be solved.

12. The method of claim 7, comprising the further steps of calculating a gain component with respect to each node assigned to an alternate pathway connecting one or more resources to goals, and evaluating the relative efficiency of each pathway as a sum of said gain components of all nodes employed in said pathway.

13. The method of claim 12, wherein said step of calculating the gain component with respect to each node is performed responsive to a transaction cost assigned thereto.

14. A method of reconfiguring an adaptive user interface responsive to patterns of use, said interface comprising user information display means and a plurality of user input means, said user input means permitting the user to select from among control options provided as linked sequences of control options and displayed for user selection on display means, comprising the steps of:

modeling the linked sequences of control options as a network of nodes connected by links, wherein the nodes are control options and the links are associations between respective control options, said associations including both user-selected sequences of control options and predetermined linked sequences of control options, wherein linked sequences of control options are represented as packets of highly-connected nodes;

displaying said linked sequences of control options corresponding to said packets of highly-connected nodes as menus of control options;

monitoring user patterns of selection of control options, in order to identify commonly-selected control options; and

adding said commonly-selected control options to said displayed linked sequences of control options corresponding to said packets of highly-connected nodes;

thereby reconfiguring the display of menus of control options responsive to the sequence of selection of specific control options by the user as said interface is used.

15. The method of claim 14, wherein said steps of displaying said linked sequences of control options corresponding to said packets of highly-connected nodes as menus of control options;

monitoring user patterns of selection of control options, in order to identify commonly-selected control options;

adding said commonly-selected control options to said displayed linked sequences of control options corresponding to said packets of highly-connected nodes; and

thereby reconfiguring the display of menus of control options responsive to their selection by the user comprise the steps of:

providing a nominal tree structure of menus of said control options, said menus of said tree being linked such that selection of a control option from a given menu accesses a further menu;

displaying a menu of available control options on said display means at all times when user input is possible;

prompting the user to select control options from the menu displayed, while permitting the selection of other control options;

accepting user input indicating selection of a particular control option from a particular menu displayed, and providing an appropriate linked menu in response thereto;

accepting user input indicating selection of a particular control option other than from the particular menu displayed, and further recording the control option selected by the user with respect to the particular menu; and

adding each control option selected by the user to the menu displayed at its time of selection if not already included therein.

16. A self-adaptive system for providing progressively improved solutions to successive examples of a class of generally similar problems of resource allocation, comprising:

means for maintaining a complete list of candidate resources and associated probabilities of goal satisfaction, said means for maintaining being effectively implemented as a reconfigurable network of nodes connected to neighboring nodes by links, each node representing a step in a pathway connecting one or more resources to one or more goals;

means for accepting input data describing the goals to be met in solution of, and the resources available to solve, a particular problem, and for supplying said input data to said means for maintaining;

means for computing alternate pathways between the nodes of the network in order to allocate resources to goals in solution of each particular problem of said class of problems, and for evaluating the relative efficiency of each of the alternate pathways thus computed in order to determine an optimum solution for that particular problem with respect to the present configuration of the network;

means for identifying common groups of nodes connected by links employed in the optimum solutions of plural examples of problems from a given class of problems; and

means for effectively reconfiguring said network by replacing said identified common groups of nodes connected by links with fewer nodes connected by fewer links to one another, or to the nodes previously connected to the identified common group of nodes, for subsequent solution of further problems from said given class of problems.

17. The system of claim 16, wherein said means for accepting input data comprises means for receiving a list of candidate resources from said means for maintaining, and for comparing the input data to a limited set of the candidate resources to determine a near-optimal resource allocation, supplied to said means for computing alternate pathways between the nodes of the network as an initial solution.

18. The system of claim 16, wherein each of said nodes comprises means for evaluating the probability of success of satisfying a particular goal by allocation of resources thereto, such that said network of nodes comprises an element of said means for computing alternate pathways.

19. A method for modularizing and reducing the size of a network of computational nodes connected by links, said network being employed in solution of successive similar problems, comprising the steps of:

storing information describing the connection of nodes by links in solution of successive problems;

assigning groups of nodes and connecting links to candidate packets;

evaluating the relative frequency of use of the links of particular packets in solution of successive problems with respect to the frequency of use of the links connecting the packets to one another, and to the remainder of the network; and

replacing commonly-used packets with nodes connected by links to the nodes connected to the packets thus replaced.

20. The method of claim 19, wherein the average frequency of use of the links of the candidate packets is compared to the average frequency of use of links outside said candidate packets in said evaluating step.

21. The method of claim 19, wherein the total frequency of use of the links of the candidate packets is compared to the total frequency of use of links outside said candidate packets in said evaluating step.
 Description Submit all comments and votes
 


FIELD OF THE INVENTION

This invention relates generally to systems for solving resource allocation problems, wherein the ability of the system to provide optimal solutions to problems of a given class improves over time through simplification of the decision-making process. More particularly, the invention relates to methods and systems for solving a wide class of resource allocation problems, wherein common elements of prior solutions are employed to simplify computation of successive solutions.

BACKGROUND OF THE INVENTION

For many years, workers have sought improvement in the automated solution of resource allocation problems. "Resource allocation problems", as used in this application, encompasses many different classes of problems. For example, a classical resource allocation problem is the so-called "traveling salesman" problem, wherein the question is to find the most efficient route to be taken by a traveling salesman through a series of stops, for example, all 48 state capitals of the continental United States. Additional constraints may include that no capital can be visited more than once, that the trip is to be accomplished using minimum total mileage, or the like. One way of solving this problem would be to compute all possible paths and simply to determine which had the least total mileage. However, as will be appreciated by those of skill in the art, there are so many possible paths that this problem is computationally very costly to solve using this "brute force" approach. Accordingly, the art has sought ways to simplify such problems.

Another class of resource allocation problems relates to the targeting of specified resources, such as weapons, towards specified goals, such as targets to be destroyed. The problem takes on additional complexities when it is realized that the likelihood of success of each weapon with respect to a particular target must be taken into account. Further, while the most reliable weapon may initially be targeted to the most important target, thus requiring evaluation of the relative importance of the targets in addition to reliability of the weapons, consideration of further constraints may also be necessary. For example, it may transpire that one of the targets cannot be successfully attacked other than with a single most effective weapon, meaning that another target, possibly the most important, must be attacked with less effective weapons if the overall solution is to be of value. As individual targets are hit, the relative priorities of the targets may change, depending on actual success ratios. A suitable mechanism for solving such a problem must also take into account multiple targeting of various weapons on the same targets to ensure their destruction, and other similar constraints. Defensive considerations must also be accounted for. Again, the "brute-force" approach of trying all possible solutions in order to select the most efficient is prohibitively costly in terms of the computation time and resources necessary.

The prior art has proposed solution of such complex problems using so-called "neural network" techniques. Neural networks may be considered to be sets of nodes connected by links, and may be realizable either physically or in computer software. Decisions are made based on plural weighted inputs to each node. The advantage of neural networks is generally considered to be that they "learn" in the sense that in a series of trials they can improve their performance, gradually approaching the optimal solution of a given problem. Numerous references describe neural networks both theoretically and their application to various practical problems, and additional references provide further improvements thereon. See generally U.S. Pat. Nos. 5,276,772 to Wang et al, 5,050,095 to Samad, 5,040,134 to Park, 5,222,195 to Alkon et al, and 5,276,771 to Manukian et al.

However, so far as known to the present inventor, no neural network solution is entirely satisfactory for solution of resource allocation problems as generally above, particularly in that the performance of neural networks degrades steeply when the constraints of a particular problem deviate from those initially learned by the network. Generally, performance gains obtained by a neural network's learning a solution to one problem do not carry over to another problem, requiring the network to be completely retrained. As resource allocation problems of a given class vary widely due to changes in the set of available resources, modification of allocation priorities, and other constraints, neural networks are not satisfactory for efficient solution of resource allocation problems.

SUMMARY OF THE INVENTION

The present invention addresses these deficiencies of the prior art by providing a self-adaptive system for solving resource allocation and similar problems. According to the invention, prior solutions to similar problems are stored and used in partial solution of later problems. Where a particular set of allocation decisions is made in a successful solution to a problem, and the same allocations are useful in solution of a subsequent problem, that fact is automatically stored. That subset of allocations can then be replaced by a single more simplified representation of the group of allocations in subsequent solutions of problems from the same class of problems, saving on the computation time required to perform the entire solution.

Taking a very simple example, suppose that in the traveling salesman problem described above, the salesman must visit all of the 48 capitals of the contiguous United States while traveling the least total number of miles. As indicated above, it is computationally inefficient to carry out all possible solutions to determine the minimal amount of mileage required. However, in carrying out a number of solutions it may be apparent that in each case the salesman visits Annapolis, Md., Wilmington, Del., and Trenton, N.J., in sequence simply because these capitals are so close to one another. If the United States is represented as a network, wherein the capitals are represented by the nodes and highways are represented by links connecting the nodes, according to the invention, three nodes, representing the three capitals, are replaced by a single "supernode" in calculation of the complete solution. Simply reducing the number of possible nodes which must be visited in sequence from 48 to 46 in this way substantially reduces the computation time. Similarly, other groups of capitals may always be visited in sequence, further simplifying the calculations. For example, Concord, N.H., Boston, Mass., and Augusta, Me. would also typically form a single supernode, further simplifying the computation. When the solution is determined, the supernodes are replaced by their constituent nodes and links, thus "reconstructing" the network.

In this example, the nodes represent actual points in space, and the links between them the actual distances therebetween. In other problems, the nodes may be physical objects, such as weapons having finite probabilities of success, and the links their allocation to targets; or the nodes may be intangibles, such as funds, and the links sequences connecting events in time; or the nodes may be personnel, and the links the time required to carry out needed work. In each case, a network provides a useful way to model the choices presented between the various options available.

While the example given above of the traveling salesman problem may seem trivial, in fact the conventional wisdom in computer programming generally is to analyze all possible solutions, that is, to rely on the "brute-force" power of the computer to carry out massive computations in order to determine optimum solutions to complex problems in resource allocation. Even with modern "parallel processing" computers, which divide the computational load between plural processors to solve massive problems, the computation time required to solve such complex problems is excessive.

According to an important aspect of the invention, repetitive computations common to given classes of problems are automatically recognized. A partial solution, typically derived in solution of one or more prior problems, is automatically and optimally substituted for the repetitive computations in arriving at an optimum solution to each subsequent resource allocation problem. This process may be referred to as "decomposition" of the network connecting the resources available to the goals to be satisfied. When the optimum solution has been determined, the complete network is reconstructed, providing a complete solution to the problem.

Examples of the use of the invention in reconfiguration of a node system include power routing in the case of partial grid failure in a power distribution system, information rerouting in a communication network connected by communications processors at physically spaced nodes, or rerouting of goods and the like in a complex transportation system to compensate for temporary road blockages and the like. In these systems, the nodular structure of the network connecting the resources to be allocated to the goals to be satisfied is apparent. However, as indicated above, the system of the invention has applicability to resource allocation problems beyond such clearly nodular structures.

Allocation of weapons to targets to be destroyed is a common resource allocation problem, often involving the assignment of literally thousands of weapons to hundreds of targets. An optimum solution, or even a near-optimum solution to a particular problem, cannot be found other than by extensive modeling. Nonetheless, as indicated above in the case of the traveling salesman problem, certain partial solutions do appear repetitively, e.g., in repeated simulations involving likely sets of resources available and targets to be hit. In subsequent calculations, those partial solutions known to be effective can be substituted for the corresponding portion of the complete network, greatly shortening the computation time required.

In this example, the nodes are physical objects, such as weapons and targets. There are two types of links: links between weapons and targets, representing allocation of weapons to different targets weighted by finite probabilities of success, and links between the weapons themselves, weighted by the relative frequency of joint allocation of those weapons to targets in a series of weapon allocation problems. In the latter case, the strength or "reliability" of "resource-to-resource" links connecting weapons represent the frequency of allocation of that combination of weapons to a target. Automatic recognition of such effective joint allocations, and using this recognition to simplify the actual allocation process, is at the heart of the present invention.

Specifically, after a sufficient number of resource allocation problems have been solved, common resource-to-resource connections form a network having links of varying strength depending on how often those connections have been exercised, that is, how often each combination of weapons has been jointly used throughout the history of previous allocations. The network is then self-partitioned into cohesive clusters, or "packets", each including those weapons that, according to the accumulated experience, can usefully be allocated jointly against their targets. The packets are then replaced with "supernodes" in actual resource allocation. As a result, the original problem of making allocation decisions with respect to each weapon individually is dynamically reduced to a much smaller problem of allocating a few groups of weapons.

Variation in the problem conditions, for example, addition of new weapons, change of target priorities, and the like entails addition of new nodes to the network, and/or change of connection weights. The network is then automatically and optimally repartitioned and new packets of nodes are formed to accommodate the new circumstances. Preferably, the partitioning algorithm balances the significance of new circumstances (that is, the weights of the new connections) against the already existing network properties, so that the newly computed groups incorporate the old ones in an optimal fashion. In this way the system builds continuously on its previous experiences, accommodating changes of conditions without limit and without performance degradation.

Recognition of repeated sequences of user activities can also be used according to the invention to simplify processing. For example, the teachings of the invention can be used in designing man-machine interfaces, e.g., the complex control panels required for control of aircraft, nuclear plants, chemical plants, and the like. Information indicating the items of data the user repetitively accesses and control actions taken in response to various repetitive sequences of events can be collected in prototyping the control panel, and used to simplify the user interface accordingly, for example, to conveniently provide the user those pieces of information and control options he has commonly requested previously in similar control situations.

In a further example, presently available computer programs such as word processing programs or the like typically provide an initial user screen including a menu prompting the user to select a control option from a menu, e.g., "File", "Print", "Edit", "View", "Help", and the like. This initial menu, and a number of sub-menus, are organized in a "tree", such that when the user selects a control option from one menu, a corresponding sub-menu appears, giving the user a new selection of options. These menus, and the sequence in which the various choices appears are selected by the system designer in accordance with his understanding of how the typical user will want to operate the system, i.e., in accordance with the system designer's best guess of likely operational sequences, so as to maximize convenience to the user.

In many circumstances, however, the user may have a different idea of how the computer program should be organized; that is, the user's idea of the appropriate items to appear on each menu may differ from the system designer's, in which case the user will commonly spend much time looking for various control options. Of course, the user can consult the manual and find the option he is looking for; however, it will be apparent that most users do not care to do so, and certainly do not care to do so more than once. Accordingly, it would be desirable if the program itself would monitor the sequence in which the user accessed various control options, and would adapt itself, and specifically its sequence of menus, so that the control options previously sought by the user would be subsequently presented by menus so as to allow the same sequence used previously to be conveniently followed. Accordingly, this also is within the scope of the invention.

In one embodiment of a system according to the invention, it may be configured as a long-term memory having self-organizing associative capabilities, effectively connecting nodes by links, a short-term memory where on-line resource allocation decisions are made based on the resource associations established off-line in the long-term memory, and a supervisory and interaction management module providing operator interaction and control functions.

The short-term memory performs the actual allocations, based on the network output, and can provide near optimal allocation, e.g., by applying the solution of the most similarly prior problem to a new problem. The long-term memory carries out the detailed computations required to identify packets and carry out decomposition of the network. Over time, as the long-term memory becomes more and more efficient due to simplification of the decision tree by recalling previously successful partial solutions, the capability of the short-term memory grows concomitantly greater.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be better understood if reference is made to the accompanying drawings, in which:

FIG. 1 shows a two-dimensional matrix of the type commo