Mobile hybrid software router
A hybrid router for dynamical control systems is described. The mobile hybrid software router (MHSR) combines distinctive computational and mathematical techniques, including evolutionary computation (EC), probabilistic simulations (PS), machine learning and artificial neural networks (A-NNs), in order to solve unique problems encountered in an unknown environment in real time. Embodied in intelligent mobile software agents (IMSAs), the MHSR operates within a multi-agent system (MAS) to continually optimize system operation. The MHSR is applied to several major complex system categories. In one embodiment of the system, the MHSR is implemented in hardware, including continuously programmable field programmable gate arrays (CP-FPGAs), for perpetually reconfigurable evolvable hardware operation. Whether in application-specific or multi-functional mode, the MHSR is useful to groups of agents in intelligent systems for adaptation to uncertain environments in order to perform self-organization capabilities.
The present application claims the benefit of priority under 35 U.S.C. § 119 from U.S. Provisional Patent Application Ser. No. 60/611,109, the disclosure of which is hereby incorporated by reference in its entirety for all purposes.
STATEMENT AS TO RIGHTS TO INVENTIONS MADE UNDER FEDERALLY SPONSORED RESEARCH OR DEVELOPMENTNot Applicable
REFERENCE TO A “SEQUENCE LISTING,” A TABLE, OR A COMPUTER PROGRAM LISTING APPENDIX SUBMITTED ON A COMPACT DISK.Not Applicable
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention is concerned with control theory, dynamical control systems, controllers, hybrid control systems, routers, computer and communication routing architectures, multi-agent systems, complex computer operating systems, intelligent systems and distributed computer systems. In addition, the present invention deals with artificial intelligence techniques, including evolutionary computation and machine learning, probabilistic simulations, and artificial neural networks, as well as with the combinatorial optimization of hybrid mathematical and computational techniques. The present invention is applicable to computational, engineering, mechanical and aeronautical systems, including complex distributed systems.
2. Description of Prior Art
Complex computer systems increasingly require the integration of combinations of problem-solving techniques for the real time adaptation to environmental change. In the case of groups of cooperating software agents in a multi-agent system, artificial intelligence (AI) is required to solve problems posed by a changing environment. On the other hand, systems comprised of computer hardware networks can also adapt to environmental changes by using AI processes. In both cases, adaptation is achieved by implementing highly complex software which enables mobile hybrid AI processes.
While the field of AI has developed over decades to create specific techniques, a useful hybrid software implementation of AI systems has not been forthcoming. Specifically, a software system is needed which can combine various AI processes in real time to solve complex problems which require adaptation to changing and uncertain environments. Such a system would identify and solve complex problems on the fly. The main vehicle for such a software implementation would be a mobile hybrid software router, which identifies the problems, combines the AI processes and provides solutions in context.
A mobile hybrid software router (MHSR) is implemented in intelligent mobile software agents (IMSAs). IMSAs operate in a multi-agent system (MAS) which is either cooperative, competitive or hybrid. In a cooperative MAS, IMSAs work together to complete a task, while in a competitive MAS, IMSAs negotiate in a game-theoretic competition until a winning strategy is determined, and in a hybrid MAS, a combination of processes occur, including competing coalitions, for varied outcomes. In dynamic environments the MHSR is a critical component to IMSA operation.
MHSRs, implemented in IMSAs, can also be implemented in hardware so as to enable specific computer, electrical and mechanical functions. In one embodiment, MHSRs activate perpetually reprogrammable evolvable hardware (EHW). The application of MHSRs to field programmable gate array (FPGA) integrated circuits will accelerate the reconfigurability process as well as the process of hardware usability for adaptive problem solving processes in dynamic environments. Examples of applications of MHSRs to EHW include collective robotics systems and advanced adaptive computer networks. The application of MHSRs is useful in the self-organization of collectives of hardware and software entities in highly complex systems. In addition, with the use of this system, emergent (commercial) behaviors can be anticipated and optimized to create dynamic hubs for maximum network efficiency.
The present invention provides methods and apparatus for a system with implementation in computer software and hardware. The system provides a toolkit for the implementation of hybrid computational or mathematical techniques in which an IMSA is evolvable and auto-programming in order to solve problems in real time in dynamic environments. In order to perform these functions, an IMSA, or groups of IMSAs, identify problems in the environment, develop various possible solutions using unique combinations of various hybrid techniques, select an optimal solution and perform a specific function or combination of functions in order to accomplish a task or tasks. Since the environment is dynamic, changing and unpredictable, the system must learn to anticipate and adapt in real time. This anticipatory behavior is illustrative of emergent and self-organizational systems.
Implementation of the MHSR will facilitate the emergence and interaction of “thinking” machines. Because it is mobile (as implemented in IMSAs), the MHSR is fundamental to the development of a complex operating system with applications to systems involving collective behaviors.
While there is significant theoretical research in computer science, mathematics, psychology, logic and philosophy involving artificial intelligence, complex systems for self-organization, adaptive computer programs and evolvable hardware, there is a dearth of intellectual property on adaptive software with applications to multi-agent systems or evolvable hardware.
Two computer science fields in which there is some work on AI are collective robotics and dynamic computer networks, though these fields are nascent. Neither of these fields has developed a MHSR for use in adaptive and reconfigurable systems, though such a model would be highly useful.
In the field of artificial intelligence, John Holland has developed some of the original ideas involving genetic algorithms. His student, John Koza, has developed the original ideas involving genetic programming. These computer programming techniques borrow ideas from genetics and the theory of biological evolution in order to construct evolutionary computation (EC) processes. By using analogies of biological processes, these theorists seek to provide methods by which computers adapt to their environment and thus construct self-organizing systems. Both of these theorists, as well as theorists from the Santa Fe Institute, have been involved in developing complexity theory, which develops approaches of self-organizing, emergent and adaptive artificial systems that emulate biological systems. None of these theorists have alluded to the development of a MHSR to be implemented in software and applied to computer networks, collective behaviors and complex systems.
In other research streams, the development of complex probabilistic techniques and methods, particularly involving Bayesian theory and Monte Carlo theory, have been useful in providing approaches to learning and simulations. In addition, the emergence of support vector machines (SVM) and other kernel-based machine learning processes apply to learning and optimization problems. Moreover, the research stream involving artificial neural networks (A-NN) has developed approaches that are useful in application to learning processes that are adaptive to dynamic environments. However, no one has combined the EC, SVM, A-NN and probabilistic approaches for use in a single adaptable hybrid model for implementation in mobile software for application to problem solving in complex systems.
Finally, literature involving evolvable hardware (EHW) focuses on field programmable gate arrays (FPGAs) for the development of reconfigurable prototype hardware. While there is a literature involving EHW which focuses on hardware aspects, there is very little literature involving the complex software processes that analyze and configure the hardware implementation.
Consequently, the present invention provides a novel model for the development of a MHSR with various applications.
There are various challenges to the development of a MHSR. First, how does the model select the correct EC, machine learning, probabilistic and A-NN techniques for each circumstance? Second, how does the model synthesize various computational or mathematical techniques to solve various problems? Third, how does the model solve problems in real time that require different solutions? Next, how does the model develop customized, that is, hybrid solutions comprised of combinations of techniques to varied problems? Moreover, how does the model use the appropriate computational solution in a distributed and mobile environment?
How does the system use complex sequences of hybrid techniques for application to complex systems? How does the system coordinate multiple application-specific MHSRs to solve problems? How does the system coordinate multiple multi-functional MHSRs to solve problems? How does the MHSR access multiple distributed databases to select or discard program code in an optimal model? How can the system be implemented in hardware, as well as software, for use in solving complex engineering problems. Finally, how can we develop a problem-driven automated programming model for adaptation to dynamic environments? The present invention sets out to answer these questions by providing novel solutions.
BRIEF SUMMARY OF THE INVENTIONThe present invention integrates several aspects of AI applications into mobile software agents. In order for AI to be effective at interacting with the environment, software agents must search for information, identify anomalies, provide assessment and analyses, make evaluations and decisions, solve problems and take action in real time. Each of these components of search, problem-identification, analysis, decision-making, problem solving, learning and adaptation are required by intelligent mobile software agents (IMSAs). A MHSR, which is a central component of the IMSAs, requires these elements.
In order for a MHSR to function, it needs an initial map. An initial map is self-organized on the basis of initial programming and available system information. The MHSR uses data search approaches to narrow the scope of information collection. The initial map is continuously updated with new information and constantly reorganized. In this way, as the environment changes, the MHSR collects and processes new information. As the environment changes, sensor data from various sources can inform the MHSR in real time. The MHSR performs these data collection and data organization functions by generating queries and sorting data into a self-organizing map. Search techniques are also useful to locate the appropriate computational or mathematical techniques for each problem that the router encounters. In this way, as problems emerge, the MHSR will have tools to search for and find solutions, and to adapt to changing environmental conditions in real time. Applications of search techniques can solve the complex problem of processing feedback to the environment.
When an anomaly is detected in a pattern or trend, the problem is “bounded” or limited. Counter-factual contingencies are offered to narrow the scope of the problem. Once distinctions are made restricting the scope of the problem, a working theory is developed to solve the problem. The MHSR performs quantitative analyses to sort, test and organize variables. Upper and lower limits of search parameters are established to identify the optimal range for solutions.
Filters are employed by the MHSR to prune possible solutions to problems. By using pruning techniques in filters, the MHSR can distinguish what we know from what information is missing from the analysis. In some cases, incomplete information will require a delay of a decision to allow the collection of more data or to analyze data. By limiting information, and then adding information selectively, multivariate analyses allow the AI router to evaluate problems and select optimal solutions. Filters are useful in identifying what is missing from the solution and in selectively ordering information.
The use of probabilistic methods is important to the effective operation of the AI router. Probabilities are applied by employing Bayesian and Monte Carlo approaches, induction and fuzzy logic models. Bayes theorem uses known experience to make decisions about unknown situations by applying statistical modeling. Bayesian modeling is useful for learning, strategic planning and scenario development and selection. Specifically, the MHSR uses Bayesian reasoning to interact with and adapt to an uncertain environment. One of the most valuable statistical models is the Monte Carlo approach which assesses the limits of random information in an uncertain environment. The benefit of adopting statistical and probabilistic methodologies in the MHSR is the ability to anticipate uncertain events within logical constraints. Anticipations of events are structured as scenarios.
Scenarios are evaluated by the MHSR. By testing the best options for a solution to a problem, the MHSR selects the best available choice in order to make a decision to execute a strategy. Scenarios are developed based on extrapolation of the available information; scenarios are evaluated using statistical methods for projecting and analyzing trends. As more complete information is made available, the scenarios are clarified and predictions made about events in the environment.
Scenarios are organized by the MHSR in the form of simulations. Simulations are used by the MHSR as a form of real time experiment in the planning process that is preparatory to the formulation and execution of a formal strategy of action. Simulations often take the form of continuous spatial and temporal relationships that are organized by statistical methods.
The MHSR uses scientific reasoning. It combines methods to construct unique hybrid logical solutions for particular problems and to interact with, and adapt to, its environment in real time. Since it combines various unique logical approaches, it must achieve an optimal combination for each situation from among the best available choices. Thus, a unique hybrid model is used in each situation by the MHSR. In effect, the MHSR continuously optimizes the application of AI processes for specific problems that arise from interaction with an uncertain environment.
The MHSR constructs unique and novel combinations of EC, probabilistic, machine learning and A-NN methods. However, specific classes of situation-driven problems to solve create a classification schema of AI methods with typical applications that involves the need to recognize (routine) hybrid combinations of AI techniques for specific classes of problems. By creating unique combinations of techniques to solve similar categories of problems, the MHSR not merely applies combinatorial optimization approaches of combining logical techniques, it also synthesizes novel and hybrid approaches in a form of machine creativity which is useful in finding solutions for problems where learning and adaptation to a changing environment is necessary. An example of the application of hybrid synthetic AI techniques can be seen in the traveling salesman problem (TSP).
The TSP is a classic optimization problem in which a salesman is expected to find the shortest route to each of his sales calls. This efficiency and ordering problem is made more complex in environments with changing criteria, such as variable traffic or changing priorities. But in some versions of this problem, the TSP is made dynamic by a changing environment. For example, as the salesman is in the process of making the sales calls to customers, the environment itself changes, the workload varies and there is a need to adapt the efficiency strategy. In other words, rather than a task of ordering the most efficient way to get to customers, the salesman's problem becomes one of resorting priorities in a limited time frame as external factors influences them. It is clear that under these changing conditions the salesman must employ adaptive algorithms which accommodate change and which embrace new information, learning and constant rerouting.
The MHSR possesses the ability to learn and adapt to environmental feedback in order to solve problems. After identifying problems as anomalies, the router must develop prospective solutions by applying the various hybrid EC, probabilistic, machine learning and A-NN techniques.
The MHSR uses various techniques to learn. One of the most prominent techniques used for learning systems is applications of artificial neural networks (A-NNs). A-NNs operate by adjusting weights of the synapses of neurons in the environmental interaction process, from a random initial state to a fully developed and predictable state, with the most active neurons gaining the most use and the least active atrophying. Various A-NN techniques are used to refine the learning process. A training process allows the A-NN to learn by using statistical methods. Evolutionary computational techniques and statistical modeling techniques merely assist the A-NN in its learning processes. When combining experience with the training process, the A-NN enables forward movement with limited information about the environment at each stage, presenting adaptation as a sort of drafting process.
Artificial intelligence procedures and processes are used in various ways with MHSRs. AI is an umbrella term for a range of evolutionary computation (EC) approaches and techniques based on biological and genetic process analogies, from natural selection and crossover to random mutation and survival of the fittest. The main models of EC are genetic algorithms (GA), genetic programming (GP) and evolutionary programming (EP). For the most part, these main approaches to EC create populations of entities that reproduce, select the fittest populations of each generation and interact with the environment in order to adapt via feedback and trial and error.
Despite the existence of distinct GA, GP and EP approaches, there are also hybrid EC approaches that combine elements of the main methods in order to solve problems. In this way, unique situations can synthesize the best aspects of various computational and mathematical techniques. Hybrid approaches may include combinations of EC, A-NN, logic (such as fuzzy logic), machine learning and probabilistic methods. For example, A-NN is useful for Bayesian techniques in learning and inductive applications, while EC is useful to some A-NN applications as well as probabilistic modeling.
Distributed AI and Social Intelligence
Distributed AI (DAI) is used in complex multi-agent systems. DAI is typically either cooperative or competitive, with groups of AI endowed agents interacting with each other and with the environment. In this context, hybrid AI techniques are used generally by the MHSR within IMSAs that exhibit collective behaviors.
The combining of hybrid AI techniques in a self-organizing and emergent system exemplified by the operation of the MHSR illustrates new aspects of automated computer programming (ACP). The ability to solve problems by applying unique combinations of hybrid AI techniques represents a novel computer programming paradigm beyond the traditional model of preprogramming machines with static and predictable methods. Precisely because computers operate in complex and unpredictable environments in order to solve shifting problems with novel combinations of techniques, synthesis and creativity in the evolution to ACP systems are a necessary innovation.
In the context of a multi-agent system (MAS), IMSAs endowed with the MHSR operate as independent agents constantly customizing solutions to problems. In effect, the IMSAs construct their own customized hybrid algorithms as automated reconfigurable software on the fly in real time. The IMSAs effectively “think”, “create” and “solve” unique problems. Because there are multiple IMSAs inter-operating in an MAS, taken together, the ‘MSAs’ activities comprise collective behaviors.
IMSAs may be specialized or multifunctional. Specialized IMSAs generally have a specific function, with a limited role within an application. On the other hand, multi-functional IMSAs may have multiple roles and may change roles during the performance of a complex task. Multi-functional IMSAs are thus reconfigurable and more adaptive to their environment. Nonetheless, in the case of specialized IMSAs, groups of specialists can work together in teams, thereby dividing tasks in order to accomplish a goal more quickly. Particularly because IMSAs are mobile, they can work together as specialists, tracking each others' movements and constantly sending messages among themselves about current activities, plans and goals.
Since IMSAs are social, generally either cooperative or competitive, MHSRs provide the “reasoning” capabilities that allow IMSAs to interact and perform their operations. In general, cooperative IMSAs collaborate in order to accomplish a task. Conflicting agents use argumentation and negotiation to agree upon a course of action. In both cases, DAI techniques develop social forms of learning. Novel hybrid AI techniques are used in order to allow groups of IMSAs to participate in successful group behaviors. Application-specific and multi-functional MHSRs perform social functions for group behaviors in IMSAs differently, with the former working in a division of labor and the latter switching roles.
There are also hybrid social IMSAs that illustrate aspects of both cooperative and competitive behaviors. As an example of this witness the competing (and typically shifting) coalitions of groups of IMSAs. In dynamic environments, groups of IMSAs using hybrid DAI techniques reveal the superior success of groups over individual agents. In fact, the collective behavior of groups of IMSAs reveals distinctive dynamics that may oscillate from cooperation to competition. Illustrations of these dynamics can be observed in the modeling of economic behaviors, collective robotics and in the operation of self-organizing networks. The implications of the utility of the MSHR are therefore substantial.
Whether cooperative, competitive or hybrid, most collective IMSA models use the afore-cited social biological analogies to emulate group behavior. These analogies include evolutionary mechanisms, environmental feedback, population dynamics, reproductive processes, learning/teaching, survival of the fittest, mutation and system self-organization. In general, these models of collective behavior seek to achieve continuous optimization in dynamic environments. In effect, these models are continuously seeking, but never fully achieving, equilibrium in their attempts at self-organization.
Interaction occurs not only between the agents and the environment, but among the agents themselves, as they constantly seek agreement in order to perform tasks. There is, consequently, effective interdependence of two complex systems, including one software-based MAS and one hardware based, which co-evolve and integrate in order to carry out the processes of adaptation to an external uncertain environment.
While groups of cooperating IMSAs have similar goals and task parameters, competing IMSAs typically use game theoretic modeling in order to develop approaches to negotiate specific issues. Competing IMSAs offer arguments to settle an issue, with the winner being determined by how optimally its parameters match the particular problem. In one example, coalitions of IMSAs compete to determine an optimal simulation to be used, using the sensor and learning features of groups of IMSAs. Once the winning simulation is determined, the group can select and execute a strategy to solve a problem or perform a function.
While cooperation is a less complex strategy which exhibits less risk, decreased hostility and increased coexistence, competition plays an important role in determining outcome in some circumstances. Both main models of group behavior illustrate forms of social interaction that reveal a social function of automated computer programming available in complex distributed computation applications.
Another characteristic of cooperative and hybrid group behaviors is the use of aggregation to pool groups of similarly interested IMSAs that may perform common functions. Combined groups of common interest agents can perform tasks more quickly and efficiently. Similarly, groups of cooperative agents can more efficiently teach each other by using group learning processes. Within collectives of IMSAs, agents can be trained at different rates, in effect developing a system of just-in-time learning for IMSAs.
By allowing the MHSR to be employed by various IMSAs in group scenarios, the interacting agents are more effective in accomplishing their tasks. Unique configurations of coalitions of IMSAs use game theoretical modeling to work together to resolve conflicts, to cooperate and to adapt to their environment by solving dynamic problems.
MHSR Techniques
A range of distinctive techniques can generally be considered to fall under the umbrella of artificial intelligence. These techniques generally use learning processes to adapt to an uncertain environment and to solve problems. However, these techniques are also considered to be more general than artificial intelligence. Examples of these techniques are:
- Simulated Annealing
- Stochastic Iterated Hill Climbing
- Bayesian Learning
- Markov Chains and Markov Decision Processes
- Monte Carlo Technique
- Regression Analysis
- Multivariate Analysis
- Genetic Algorithms
- Genetic Programming
- Evolutionary Programming
- Artificial Neural Networks
- Evolutionary ANNs
- Gaussian Processes
- Hopfield Networks
- Hebbian Learning Methods
- Machine Learning Methods
- Inductive Learning Methods
- Deductive Learning Methods
- Cluster Analysis
- Classification Analysis
- Category Analysis
- Fuzzy Logic
- Boltzmann Machines
- Support Vector Machines
- Cellular Automata Machines
- Bootstrap Statistical Methods
- Factor Analysis
MHSR Technique Hybridization
These logical, mathematical and computational techniques are each useful to solve unique problems. In addition, some of these techniques are useful when applied to the other techniques. For instance, GA and GP are useful for A-NNs. GA is applied to Bayesian Learning, and Bayesian Learning is applied to A-NNs. Further, each of these categories of techniques themselves may entail numerous specific techniques that are applicable to various situations.
When some of these techniques are applied to other techniques, they may be called hybrid techniques. For example, GA may be applied to Bayesian Learning, which is applied to an A-NN, which is useful in a self-organizing map. GP may be applied to the initial training process of an A-NN, which may then be applied to an optimization problem. Thus, though they are hybrid techniques, these unique combinations, which are applicable to specific distinctive situations, are aggregations of approaches that represent the best available combinations of techniques. Specifically, highly complex problems may require customized solutions that the various hybrid techniques may furnish. In addition, the benefit of the hybrid combination approach exemplified by the MHSR is that the best specific tool combinations are available at key times in the quest for solutions. With the main categories of logical, mathematical and computational techniques already developed and available for solving different classes of problems, their integration into distinctive combinations brings us a step closer to the ideal of automated computer programming.
Analogies of the Present Invention With Biological Processes
Biologic system operation analogies are useful in describing intelligent systems. The present invention emulates, and transcends, the aspects of several major biologic operations.
Analogously to the way DNA provides an evolving code of organisms, the present invention allows rapidly evolvable computer programming that may involve the acceleration of environmental feedback as a systemic operation. Further, genetic mutations, which are generally random in occurrence, in the present invention may be either completely random (thereby providing novel solutions to intractable problems) or highly directed, thereby providing increasingly efficient evolutionary pathways to more rapidly align with the environment. The present invention can rapidly correct, control or bypass the negative effects of mutations.
The bioengineering notion of recombinant DNA provides an analogy for the combination of various parts of computer programs, the development of which are accelerated in the present invention, to provide solutions to new problems. In addition, the notion of combining various genes in ways that affect a preferred function is mirrored in the essential combination function of the MHSR that processes hybrid computational techniques. Yet the MHSR is able to construct specific novel combinations of genes (computer code sequences) on demand for various tasks and applications, whereas the genetic model is constrained by hereditary endowment for specific environmentally optimal situations.
Unlike existing biological DNA, which contains the residue of “junk” or ineffective genes and which accumulates over generations to pass to offspring, the present invention uses a reduced instruction set computing (RISC) model as a minimalist foundation to process program code; this promotes more efficient mobility in the passing of code from one location in a distributed network to another. Much as it occurs in the DNA model, major code is accessed and activated when needed for specific tasks, but in our model the access to code is not inefficiently over-determined.
In a further analogy between the present system and the cellular proteomics network that acts as a process of intercellular communication, the present invention also provides intra-systemic feedback mechanisms that facilitate co-adaptation processes. Analogously to the process of utilizing enzymes to accelerate proteomic pathways of cellular processes, the present system uses analytical approaches to modulate the synchronization of computational processes by employing methods of acceleration or deceleration.
Similarly, the present invention uses IMSAs to implement the MHSR, akin to how RNA replicates parts of genetic code for activation of specific genes for a specific real-time application. In fact, the concept of the DNA-to-protein model to provide cellular functionality for biological processes parallels the concept of the MHSR as a router that combines hybrid computational techniques in anticipatory and interactive ways and that integrates with IMSAs and FPGAs for operational system functionality.
Analogously to the operation of the human immune system (and antibodies), the present invention's MHSRs, and IMSAs, develop a complex adaptive system that involves the operation and coordination of complex social processes for interaction with the environment so as to reduce pathogenic attacks and promote adaptation to the environment for long-term survival.
Biological competition between groups (for limited resources) is also emulated by complex game-theoretic modeling. In order to co-evolve with its environment, the present system also develops complex learning processes, typically from trial and error; nevertheless, the present invention is far more efficient at interpreting and applying results of experimentation and learning than biological systems. On the macro-social level, an analogy can be drawn between population dynamics and its phenomenon of plasticity (or rapid transformation of utility patterns), and the present invention's MHSRs which facilitate more rapid development of useful pathways, allowing the less useful pathways to fade away, and thereby providing for network restructuration, particularly in highly dynamic environments. Finally, the interconnection of all of these sub-systems into a dynamic intelligent system represents a transcendence beyond the limits of biological systems in complex computer and engineering systems, thereby allowing optimum performance.
In all cases, the present system uses computational, logical, mathematical and engineering processes to exceed the limits of the biology paradigm. The present invention in effect improves on nature.
Applications of the MHSR
There are a range of applications for the MHSR, generally divided into four main categories: (A) problem-solving tasks, (B) simulation modeling, (C) complex systems and (D) evolvable hardware.
The system solves optimization problems, pattern recognition problems and unique problems that require customized solutions. The MHSR also performs simulation modeling in various task categories.
Specific tasks performed by the MHSR include generating incomplete/partial self-organizing maps (SOM), generating focused (not random) training programs, generating efficient mutation models, selecting winner-determination of scenarios based on available information, solving optimization problems, solving combinatorial optimization problems (constructing unique combinations), providing focused (not random) learning or inductive approaches, providing analysis of multi-sensor data streams, providing time-sensitive analysis, allowing acceleration of parallel operations and performing reverse engineering processes.
One of the extraordinary features of the MHSR is the dynamism of its operation in highly temporal-sensitive systems. As computer networks get more complex, there is an increasingly dynamic aspect to their function. The MHSR plays a key role in integrating complex systems in these dynamic environments.
There are a number of complex system applications of the MHSR. These applications include (1) enterprise resource management, (2) adaptive and self-organizing distributed computer and communications networks, (3) commercial trading hubs for supply chain management, (4) biosystems modeling for bioinformatics, structural proteomics, functional proteomics and personalized medicine and (5) collective robotics (CR). Main CR applications include traffic coordination, hazard management, factory control, sensor synchronization and automated weapon systems.
One potential effect of the MHSR is production of an active thinking machine. Building upon the idea of the MHSR, a highly complex operating system for computer networks may reasonably be developed. In a sense, the emergence of interactive processes between a software operating system and a hardware system is possible by implementing the MHSR as well.
MHSR Applications to Evolvable Hardware
In one embodiment of the system, the MHSR is applied to evolvable hardware (EHW). EHW is comprised of reconfigurable integrated circuits in which the gates are modifiable. The most common form of EHW is the field programmable gate array (FPGA). Specifically, the infinitely reprogrammable FPGA allows the rapid reconfiguration of the semiconductor. The usefulness of EHW is that it emulates functional aspects of the non-reconfigurable chip, which performs a specific function, such as an application specific integrated circuit (ASIC), much faster than a traditional semiconductor. Once reconfigured, an FPGA operates similarly to an ASIC with dedicated operation to perform a specific function. A traditional semiconductor, on the other hand, must rely on software to process a set of instructions, in between which operation intermediary logic and memory functions dramatically reduce speed during the performance of a range of functions. The use of continuously programmable FPGAs, in particular, allows the functioning of the EHW model.
The EHW paradigm fits well with the MHSR. Because the MHSR uses processes that are implemented as a software entity, it is complementary with EHW. The MHSR will identify a solution to a problem, generate a software program, reprogram an FPGA and produce an optimally efficient execution of a task. As the environment changes, the software solution changes and the MHSR will constantly reconfigure the hardware for continuously superior performance.
This marriage of the MHSR, embodied in an IMSA, and EHW produces instant customization processes. The FPGA is typically adopted as a prototype that is tweaked by the manufacturer to develop a specification for a distinct use. However, in this application, the FPGA can be continuously reconfigured to operate like a constantly updatable ASIC and thus provide superior performance, particularly in changing environments. In fact, any reconfigurable hardware paradigm may ultimately depend on the software embodied in the MHSR and used by collectives of IMSAs.
The combination of collectives of IMSAs in a multi-agent system (MAS) with groups of disaggregated FPGAs will provide a new paradigm for computing. The model of groups of EHW with multiple electrical and mechanical functionality provides collective behavior in which co-adaptation of the system to the environment is optimized. The external environment provides continuous sensor input information to constantly reordering hubs of EHWs while IMSAs interoperate within the system. The MAS represents a system within the system comprised of the network of FPGAs. The system can more readily adapt to its changing environment with both adaptive software and hardware subsystems. The system becomes self-organizing.
Novelties of the MHSR
A number of novel concepts are constituted in the MHSR. First, the MHSR presents a sequencing and synchronization of distributed methods for various customized applications. Second, the MHSR presents a statistical analysis of unfolding events in a distributed temporal network. Next, the MHSR has both analytical and anticipatory functions that allow it to filter data and analytical tools to create optimal solutions to dynamic problems. Moreover, the MHSR presents a generalized mechanism for unique customized problem solving. The MHSR allows the dynamic interaction of intelligent (mobile) software agents.
The MHSR presents a novel technique for integrating various customized AI methods to solve new problems. The MHSR is thus a meta-tool. By collecting and filtering data from various sensor sources, the MHSR is useful in a distributed MAS environment. Because it operates in dynamic environments, the MHSR provides real time solutions to problems. It is also interactive with the environment.
In an interesting application, the MHSR operates in consort with evolvable hardware. Systems comprised of multiple perpetually reconfigurable hardware entities provide a unique and valuable application of the MHSR, particularly for environmental adaptation.
When combined in systems with multiple MHSRs, a network becomes particularly powerful. The application of the MHSR to IMSAs in complex distributed systems allows increasingly complex problems to be solved. The MHSR is thus interactive with other MHSRs in truly dynamic systems. In this sense, multiple IMSAs endowed with MHSRs allow the development of unique collective behaviors. Collective robotics, which itself has dozens of applications including industrial manufacturing, hazard management, dynamic multi-sensor control, weapon systems and remote sensing, exemplifies one powerful engineering system category of how the MHSR may be used. Additional complex systems are possible because of the advent of multiple MHSRs. The MHSR makes possible the emulation, and improvement, of the human mind and human collectives.
The present invention has numerous advantages.
Because the present invention combines various computational techniques on-demand to solve problems, it is critical to numerous systemic functions. Whether it combines (a) a major technique with a minor technique, (b) multiple techniques or (c) sequences of combinations of techniques, the MHSR acts as a fundamental functional entity in a complex computer system. The ability to combine various sequences of hybrid computational techniques to solve problems significantly increases the capacity to manage complex systems.
The present invention provides mobility to complex program code in a distributed network, which allows for non-distance-sensitive computations and the solution of complex problems in real time. The ability of the MHSR to interact with distributed databases to optimize efficiency, that is, to carry only the code it needs to solve a problem, represents a major advantage.
MHSRs operate in IMSAs, which have interactive and anticipatory capabilities, beyond the capabilities of passive models. In the present invention, MHSRs integrate with IMSAs to perform specific functions. MHSRs may be application-specific or multi-functional, thus endowing IMSAs with a multitude of capabilities. Application-specific IMSAs work together by using a division of labor, while multi-functional IMSAs may perform various functions by switching roles. In addition, the social behaviors available to groups of coordinated, or competitive, IMSAs, facilitated by MSHRs, are particularly advantageous in effectuating complex applications.
Because MHSRs are implemented in evolvable hardware and thereby allow an acceleration of adaptation processes, they provide a major advantage over prior models. In fact, the present invention employs various approaches that surpass biological models of functional operation (discussed above) and thus develop a truly intelligent system, which is novel and important for complex applications. Not only does the present invention transcend the limits of biological system models, but it surpasses human behavior models as well. This is an advantage in mission critical operations.
Applications of the present invention to enterprise resource management, communication network optimization, supply chain management, bioinformatics systems optimization and collective robotics make it extremely useful as well.
Finally, by facilitating auto-programming capabilities, the present invention makes possible self-organization processes in intelligent systems.
The present disclosures illustrate in detail the main ideas of the present system. Since the present invention has numerous embodiments, it is not intended to restrict the invention to a single embodiment.
The system, apparatus and methods incorporated in the present invention are implemented by using software program code applied to networks of computers. Specifically, the invention represents complex adaptive computer software that generates program code, anticipates and interacts with its environment, exhibits mobility and solves problems on demand in changing environments. One main effect of the present invention is the emergence of self-organization processes functioning within a complex computer system. The main instrument for operation of this self-organizing system is the mobile hybrid software router (MHSR). The MHSR integrates with either complex mobile software code, such as an intelligent mobile software agent (IMSA), or computer hardware, such as a field-programmable gate array (FPGA), application specific integrated circuit (ASIC) or microprocessor.
While the concept of a computer or communications “router” has different meanings, it has traditionally been associated with the unidirectional forwarding of signals from one source to another, similar to a switch or traffic light. In most cases, a router has been associated with the integrated signal processing of multiple incompatible systems. In these cases, the router is generally a hardware box that passively forwards signals as they are input into the hardware.
In the present case, however, a “router” is organized as a mechanism to assimilate specific combinations of computer techniques for specific applications to solve problems in real time. That is, rather than a passive entity that processes inputs and outputs, the present invention is primarily a software program that moves from machine to machine, integrating with hardware apparatus, solving problems on-demand and anticipating problems on the fly. When combined with multiple routers, the present invention exhibits social intelligence. This next-generation router creates an opportunity for software to be auto-programming and for systems that inter-operate to be self-organizing.
Unlike traditional passive and stationary input-output routers, the present invention exhibits (1) mobility, (2) analytical capability, (3) evaluation capability, (4) decision-making capability, (5) scenario-development capability, (6) simulation modeling, (7) simulation-selection capability, (8) changing selection criteria development, (9) synthetic capability, (10) interaction capability, (11) anticipation capability, (12) optimal fitness testing, (13) multiple parallel functioning, (14) multi-functional capability and (15) experimentation. Taken together, these processes allow the MHSR to exhibit novel functionality in computational and engineering systems.
In order to accomplish these operational goals, the present invention acts analogously to numerous biological constructs. In fact, emulation of biological systems and aspects has been a key part of the artificial intelligence community for two generations. The present invention solves numerous problems in AI by presenting novel techniques and combinations of techniques, including those drawn from an understanding of biological mechanisms and social processes, for the automation of computational processes.
The main apparatus of the MHSR operates primarily by combining specific computational or mathematical techniques to solve problems. The classes of techniques that are used are generally grouped into (a) probabilistic simulations (PS), (b) evolutionary computation (EC), (c) machine learning and (d) artificial neural networks (A-NN). Selections from each of these main classes of techniques are combined to generate distinctive hybrid techniques for solving unique classes of computer or engineering problems.
This detailed description of the figures is divided into sections that explain: (I) the general system architecture and dynamics, (2) the main computational or mathematical techniques, (3) the process of combining computational techniques to create hybrid techniques, (4) the integration of a MHSR with an IMSA to create automated programming capability and social intelligence, (5) the integration of a MHSR with FPGAs, (6) the typologies of specific hybrid combinations of computational or mathematical techniques, (7) the discussion of the MHSR mechanism and processes and (8) several main complex system applications of the MHSR.
General System Architecture and Dynamics
The second layer shows the typology of combinations of hybrid techniques for specific applications. Since specific hybrid techniques are used to solve specific problems, present simulations or optimize solutions, combinations of hybrid techniques are organized at this layer to affect linkage between hybrid techniques and specific applications.
The third layer shows the router implementation of hybrid technique combinations. The MHSR is the primary tool that implements unique hybrid techniques and combinations of techniques. The integration of the various techniques and processes is performed at this level.
In the fourth layer we see the implementation of the router with the IMSA. The MHSR integrates with IMSAs, which activate specific combinations of techniques in mobile operations. Specific applications are activated via various techniques and processes at this level.
The fifth layer organizes group behaviors of multiple routers. The coordination, cooperation and competition of MHSRs and IMSAs take place at this level, which makes possible emergent and self-organizing behavior.
Automated programming of a network of multiple IMSAs and routers is performed at the sixth layer. The continuous operation of problem-solving, optimization and simulations occurs at this system level.
The MHSR is integrated with FPGAs, as well as ASICs and microprocessors, at the seventh layer. The integration of the MHSRs (and IMSAs) into hardware enables the possible activation of electrical and mechanical functions in a complex system.
In the eighth layer, a system of multiple FPGAs, or other hardware, is organized to operate as a multi-agent system for integration with a distributed computer system.
Finally, the collective behavior of self-organizing networks occurs at the ninth layer. In its accumulated functionality, the present system provides mechanisms for the integration of a complex system that incorporates collective behaviors, automated programming, environmental adaptation and self-organization.
The general architecture of the system in which an MHSR operates is described in
In
Hybrid control strategies are described in
Main Computational Techniques
The new generation of the population then develops (665) from the combination of the outputs of (A), (B) and (C). This process of the genetic algorithm (GA) operation then repeats with successive generations until a problem is solved. In genetic programming (GP), (C), the mutation step, is omitted, according to the Koza strategy. In the case of evolutionary programming (EP), (B), the crossover step, is omitted. In this way, the three main models of evolutionary computation (EC), GA, GP and EP, are distinct. However, different versions of this main process may be used in EC modeling.
Support Vector Machines (SVM) are a kernel-based machine learning computational technique that shares functions of EC as well as fuzzy logic and the probabilities techniques of MC and Bayesian analysis for application in dynamic environments to solve complex optimization problems. SVM is itself a hybrid technique that is presented as a novel technique category, i.e., machine learning, distinct from the three main technique categories. For the purposes of this discussion, however, SVM is sometimes categorized as a probabilities technique. In solving learning problems SVM is a competitor with A-NN methods.
Artificial neural networks (A-NNs) are complex systems that use feedback to train processes for optimized learning. The use of A-NNs by MHSRs represents a major computational technique to solve problems, develop simulations and optimize solutions. In
A-NNs are a general category with several main types. Included in the general typology of A-NNs are Feedforward NN, Recurrent NN (including Hop field Networks), Stochastic NN (including Boltzmann Machines), Bayesian NN, Evolutionary A-NN, Spiking A-NN and Asynchronous Spiking A-NN, Pulsed A-NN, Hebbian Learning models and (Kohonen) self-organizing networks. Please see
Hybrid Techniques
MHSRs contain their own databases. An MHSR accesses its own database by requesting a data search using an object relational database management system. In advanced systems, the MHSR may operate within a (distributed) transformative spatio-temporal object relational (T-STOR) database management system, which is time- and space-sensitive, and which is intended to process massive data sets in high performance systems that require interaction with dynamic environments in real time.
IMSAs: Automated Programming and Social Intelligence
The MHSR integrates with IMSAs, complex software agents, or computer hardware apparatus, including microprocessors, ASICs or FPGAs. The integration of MHSRs (via IMSAs) with FPGAs, discussed below, represents a model for environmental adaptation because evolvable hardware is used. When multiple CP-FPGAs are combined with MHSRs, the interactive process becomes perpetually self-organizing.
An application-specific (AS-) MHSR is distinguished from a multi-functional (MF-) MHSR. These types of MHSRs are software counterparts of ASICs and FPGAs. The AS-MHSR is a software equivalent to an application specific integrated circuit (ASIC) which performs a specific function, such as processing the data from a camera's photo cell to memory. In contrast, the MF-MHSR may switch roles between specific functions, similar to an FPGA. In a social context, AS-MHSRs interact within IMSAs by using the division of labor in which a number of agents coordinate a task by using only a combination of specific functions. On the other hand, MF-MHSRs are integrated into IMSAs with the ability to carry out many purposes. While it may be possible to perform a task with fewer MF-MHSRs, the lag time between switching roles may be inefficient relative to using a number of AS-MHSRs. See the discussion of FPGAs below.
FPGAs
Application-specific integrated circuits (ASICs) accelerate the operation of particular applications relative to the traditional architecture of microprocessors by focusing operation on a specific function. An example of the ASIC architecture is an integrated circuit in camera which processes the photo sensor data directly to a memory. The camera processor processes only a single function and is structured to rapidly carry out this function.
Continuously programmable field-programmable gate arrays (CP-FPGAs) carry out shifts from one ASIC position to another in order to accelerate computer operations for more than one function. Because of their ability to continuously modify their structure for varied applications, CP-FPGAs may be thought of as evolvable hardware (EWH). CP-FPGAs can perform various functions in a rapid manner but must assume an intermediary position to restructure at a particular phase. Overall, the CP-FPGA performance is accelerated relative to a traditional microprocessor that must continually fetch new program code from memory to perform varied functions. The effect of the use of EHW is that computational processes may be accelerated for operation in complex adaptive environments.
In some cases, only parts of the FPGA will be modified (that is, only some of the gates will be taken off-line, transformed and redirected) in order to optimize processing. The multi-phasal partial continuous updating of a CP-FPGA structure can accelerate the process; by contrast, occasional wholesale structural transformation has more inefficiency and would be akin to making continuous pit-stops for major tune-ups in an auto race. This process repeats indefinitely to optimize the function for improved feedback to a changing environment.
In another embodiment, the array of CP-FPGAs may be mobile, with more complex interactive and feedback dynamics with the changing environment. In still another embodiment, multiple CP-FPGAs may be embedded in multifunctional computational, electrical or mechanical devices for additional functionality and for the facilitation of accelerated adaptive functionality.
Hybrid Technique Typologies
Multiple techniques can be combined as organized in
The typology of processes matched to main technique categories is shown in
MHSR Mechanism and Processes
The system continues to combine main techniques with individual, and combinations of, minor techniques to create hybrid techniques (3930), and a feedback loop continues to test all hybrid techniques for fitness to solve problems (3925). The next main technique is selected from a list of main categories (3935), and problems are solved (3940). A feedback loop continues to seek out hybrid techniques (3910) until the problem is solved. Successful hybrid technique solutions to specific problems are saved (3945), matched and sorted (3950). The hybrid solution to a specific problem is applied (3955), and new hybrid techniques are created to apply to new problems (3960). The process then renews.
One of the advantages of the MHSR is that it may not need to carry massive amounts of program code as it moves from machine to machine to perform its tasks. The way that it can process these functions is to efficiently use the code it needs in a particular task. To do this, specific program code is discontinued or deactivated if unused, while additional program code is requested if required. Modular bits of parts of computer programs break up, combine and recombine in order to solve problems in real time and in multiple locations. By continuously dropping and adding fragments of code, and by constantly recombining specific hybrid techniques, automated programming functions are facilitated in an intelligent system.
Sequences of hybrid techniques are combined in order to effectuate particular tasks in complex systems. These systems are optimized by continuously sorting the priority of specific functional tasks that use sequences of hybrid techniques.
Complex System Applications
Enterprise management systems are used by corporations to organize their global resources. In an analogy to a human body, the various sub-systems of the enterprise are unified into a synchronized system. The individual enterprise interacts with various businesses and must develop forecasting and planning models to efficiently organize production and consumption. This application embodies micro-economic behavior.
Communication networks demonstrate system plasticity, that is, constant rerouting optimization, by using the present invention. Intelligent systems constantly anticipate catastrophes and automatically reroute activity. The present invention is also applicable to transformative spatio-temporal object relational (T-STOR) databases which are structured to rapidly process massive amounts of data for optimum operation.
Complex disintermediated trading systems may use the present invention as well. These composite economic systems emulate transformative trading hubs. In addition, these economic architectures characterize supply chain management systems. This application embodies macro-economic behavior.
Complex biosystems may use the present invention with several distinct applications. Bioinformatics embraces several categories, including structural proteomics and functional proteomics, to which the present invention may be applied. In addition, personalized medicine systems, which identify combinations of genetic mutations and compare them to protein databases in order to develop individualized therapies, would use the present invention for optimization.
Collective robotics (CR) systems may also use the present inventions with several distinct applications. CR categories include traffic coordination, hazard management, sensor control, factory system management and weapon system control and optimization, which are all optimized with the present invention.
These applications are illustrated to use specific hybrid techniques for particular tasks falling within the main categories of learning, problem solving, optimization and simulation. Hybrid techniques are implemented using other aspects of the present invention, disclosed herein.
It is understood that the examples and embodiments described herein are for illustrative purposes only and that various modifications or changes in light thereof will be suggested to persons skilled in the art and are to be included within the spirit and purview of this application and scope of the appended claims. All publications, patents, and patent applications cited herein are hereby incorporated by reference for all purposes in their entirety.
List of Acronyms:
- MHSR: Mobile Hybrid Software Router
- IMSA: Intelligent Mobile Software Agent
- MAS: Multi-Agent System
- MC: Monte Carlo
- CA: Cellular Automata
- EC: Evolutionary Computation
- GA: Genetic Algorithm
- GP: Genetic Programming
- EP: Evolutionary Programming
- A-NN: Artificial Neural Network
- E-A-NN: Evolutionary Artificial Neural Network
- CR: Collective Robotics
- SVM: Support Vector Machine
- PS: Probabilistic Simulations
- FPGA: Field Programmable Gate Array
- CP-FPGA: Continuously Programmable Field Programmable Gate Array
- EHW: Evolvable Hardware
- AI: Artificial Intelligence
- DAI: Distributed Artificial Intelligence
- ASIC: Application Specific Integrated Circuit
Claims
1. A computer program product to organize a mobile hybrid software router (MHSR) by combining computational or mathematical techniques into hybrid techniques or sequences of hybrid techniques, such techniques stored on a computer readable storage medium, executable by an electronic circuit with the following system architecture having a plurality of system layers interconnected to one another, comprising:
- a first layer including a hybrid technique typology;
- a second layer including a typology of combinations of hybrid techniques for specific applications;
- a third layer including a router implementation of hybrid technique combinations;
- a fourth layer including intelligent mobile software agent (TMSA) implementations of the router;
- a fifth layer including group behaviors of multiple routers;
- a sixth layer including auto-programming of a network of IMSAs and routers;
- a seventh layer including implementation to a field programmable gate array (FPGA);
- an eight layer including a system of multiple FPGAs; and
- a ninth layer including collective behavior of self-organizing networks;
- wherein the MHSR accepts data representing a computer network.
2. The computer program product as claimed in claim 1 in which the MHSR executes instructions to perform:
- an evolutionary computation (EC) technique;
- a probabilistic simulations (PS) technique;
- an artificial neural networks (A-NN) technique; or
- a machine learning (ML) technique.
3. A computer program product as claimed in claim 1, in which implementation of the MHSR is performed in an intelligent mobile software agent (IMSA) in a multi-agent system (MAS) to:
- solve computational or engineering problems;
- complete computational or engineering tasks; or
- optimize complex applications.
4. A computer program product as claimed in claim 1, in which mobility is functionally performed by MHSRs or IMSAs by sending program code between computers in a network.
5. A computer program product as claimed in claim 1,in which a database, or combination of distributed databases, is accessed by a MHSR or IMSA.
6. A computer program product as claimed by claim, 1, in which implementation is made to a continuously programmable field programmable gate array (CP-FPGA) to facilitate adaptation to a changing environment; and
- in which multi-CP-FPGA interoperation processes are implemented and coordinated to perform self-organization.
7. A computer program product as claimed in claim 1, in which multi-IMSA interoperation processes are implemented and coordinated to perform self-organization in an intelligent system.
8. A computer program product as claimed in claim 1, in which the MHSR is applied to an enterprise resource management system.
9. A computer program product as claimed in claim 1, in which the MHSR is applied to routing plasticity in communications networks in dynamic environments.
10. A computer program product as claimed in claim 1, in which the MHSR is applied to commercial trading networks for supply chain management solutions concerning resource allocation.
11. A computer program product as claimed in claim 1, in which the MHSR is applied to bio systems, including structural proteomics, functional proteomics and personalized medicine solutions modeling.
12. A computer program product as claimed in claim 1, in which the MHSR is applied to collective robotics.
- Kishan Mehrotra et al., Elements of Artificial Networks, 1997, MIT.
- Shang-Fen Guo et al., Grid Mobile Service: Using Mobile Software Agents in Grid Mobile Service, 2004, IEEE, 178-182.
- Ying Li et al., IMSA: Integrated Multi-Computing-Sources Software Architecture, 2004, IEEE, 456-459.
Type: Grant
Filed: Sep 14, 2005
Date of Patent: Apr 28, 2009
Patent Publication Number: 20060085558
Inventor: Neal Solomon (Oakland, CA)
Primary Examiner: Joseph P Hirl
Application Number: 11/227,907
International Classification: G06F 15/18 (20060101);