Method and apparatus for automated design of complex structures using genetic programming
First Claim
1. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a structure that satisfies prespecified design goals, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
- executing constructing actions in said entity to develop a structure comprising a plurality of types of components in a topological arrangement with at least one component value,determining behavior of said developed structure,choosing an operation that creates a new entity,if said chosen operation is crossover,selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals,performing said chosen crossover operation,if said chosen operation is reproduction,selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals,performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, andadding said entity created by said chosen operation to said population.
2 Assignments
0 Petitions
Accused Products
Abstract
An automated design process and apparatus for use in designing complex structures, such as circuits, to satisfy prespecified design goals, using genetic operations. The present invention uses a population of entities which may be evolved to generate structures that may potentially satisfy the design goals. The behavior of such generated structures is evaluated in view of the design goals, and those structures more closely meeting the design goals are evolved further until a structure is generated that either meets the prespecified design goal or some other process completion criteria. In this manner, a design complex structure may be obtained.
-
Citations
118 Claims
-
1. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a structure that satisfies prespecified design goals, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
-
executing constructing actions in said entity to develop a structure comprising a plurality of types of components in a topological arrangement with at least one component value, determining behavior of said developed structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. In a system having a population of entities, wherein each entity comprises at least one context-sensitive constructing action, an iterative process for creating a design of a structure that satisfies prespecified design goals, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
-
executing constructing actions in said entity, including said at least one context-sensitive constructing action, to develop a structure in a topological arrangement with component values, determining behavior of said developed structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population.
-
-
28. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a circuit that satisfies prespecified design goals, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
-
executing constructing actions in said entity to develop a circuit designed to include a plurality of types of components in a topological arrangement with at least one component value, determining behavior of said developed circuit structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
-
35. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a circuit that satisfies prespecified design goals, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
-
executing constructing actions in said entity to develop a circuit with a topological arrangement of components with at least one component value in which at least one component is a resistor, capacitor, inductor, diode, transistor, or energy source; determining behavior of said developed circuit, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 77, 78)
-
-
64. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a structure that satisfies prespecified design goals, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
-
executing constructing actions in said entity to develop a circuit with a topological arrangement of components with at least one component value, where the circuit obeys the law that the value of currents into each node where components meet sums to zero and obeys the law that values of voltage around each closed loop of components sums to zero, determining behavior of said developed structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population.
-
-
65. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a structure that satisfies prespecified design goals, said process comprising iterations of a series of steps, each iteration comprising the steps of:
-
executing constructing actions in said entity to develop a structure with a topological arrangement of components with at least one component value, wherein the structure obeys the law that the forces acting on each node where components meet sums to zero, determining behavior of said developed structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population.
-
-
66. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a non-clocked circuit that satisfies prespecified design goals, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
-
executing constructing actions in said entity to develop a non-clocked circuit comprising components in a topological arrangement with at least one component value, determining behavior of said developed structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population.
-
-
67. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a circuit that satisfies prespecified design goals and in which the voltage at each node is dependent on the voltage of all other nodes of said circuit at the same instant in time, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
-
executing constructing actions in said entity to develop a circuit comprising components in a topological arrangement with at least one component value, and in which the voltage at each node is dependent on the voltage of all other nodes of said circuit at the same instant in time, determining behavior of said developed structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population.
-
-
68. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a circuit that satisfies prespecified design goals in which the current through a component is dependent on the current through all other components of said circuit at the same instant in time, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
-
executing constructing actions in said entity to develop a circuit comprising components in a topological arrangement with at least one component value, and in which the current through a component is dependent on the current through all other components of said circuit at the same instant in time, determining behavior of said developed structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population.
-
-
69. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a circuit that satisfies prespecified design goals and whose behavior is, without considering any time delays in loops, fully determined, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
-
executing constructing actions in said entity to develop a circuit comprising components in a topological arrangement with at least one component value, and whose behavior, without considering any time delays in loops, fully determined, determining behavior of said developed structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population.
-
-
70. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a circuit that satisfies prespecified design goals, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
-
executing constructing actions in said entity to develop a circuit with a topological arrangement of components with at least one component value in which at least one component provides resistance, provides capacitance, provides inductance, provides bidirectional signal passage, functions like a transistor, or provides energy; determining behavior of said developed circuit structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said, prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population.
-
-
71. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a circuit that satisfies prespecified design goals and in which a signal present at one node can take on a value lying in a continuous range of real values, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
-
executing constructing actions in said entity to develop a circuit that satisfies prespecified design goals comprising components in a topological arrangement with at least one component value and in which a signal present at one node can take on a value lying in a continuous range of real values, determining behavior of said developed structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population. - View Dependent Claims (72, 73, 74, 75, 76, 79, 80, 81, 82, 83, 84)
-
-
85. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a circuit that satisfies prespecified design goals, said process comprising iterations of a series of steps, each iteration comprising the system-implemented steps of:
-
executing constructing actions in said entity to develop a circuit comprising components in a topological arrangement with at least one component value and with at least one component having at least three leads, determining behavior of said developed structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population. - View Dependent Claims (86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96)
-
-
97. In a system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, an iterative process for creating a design of a structure that satisfies prespecified design goals, said process comprising iterations of a series of steps, each iteration comprising the steps of:
-
executing constructing actions in said entity to develop a circuit with a topological arrangement of components with at least one component value, wherein the circuit includes a portion whose behavior is a continuous function of time without discrete time steps, determining behavior of said developed structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population.
-
-
98. A system having a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, the system creating a design of a structure that satisfies prespecified design goals, said system comprising:
-
means for executing constructing actions in said entity to develop a structure comprising a plurality of types of components in a topological arrangement with at least one component value, means for determining behavior of said developed structure, means for choosing an operation that creates a new entity, means for selecting a group of at least two entities from said population if said chosen operation is crossover, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, means for performing said chosen crossover operation, means for selecting one entity from said population if said chosen operation is reproduction, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, means for performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and means for adding said entity created by said chosen operation to said population. - View Dependent Claims (99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109)
-
-
110. A computer readable medium for use with a population of entities of various sizes and shapes, wherein each entity comprises at least one constructing action, said computer readable medium containing executable program instructions for performing an iterative process to create a design of a structure that satisfies prespecified design goals, said process comprising iterations of a series of steps, each iteration comprising the steps of:
-
executing constructing actions in said entity to develop a structure comprising a plurality of types of components in a topological arrangement with at least one component value, determining behavior of said developed structure, choosing an operation that creates a new entity, if said chosen operation is crossover, selecting a group of at least two entities from said population, with the selection of at least one of said selected entities based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen crossover operation, if said chosen operation is reproduction, selecting one entity from said population, with said selected entity based on the degree to which said developed structure associated with said entity satisfies said prespecified design goals, performing said chosen reproduction operation, said reproduction operation retaining said selected entity unchanged in said population, and adding said entity created by said chosen operation to said population. - View Dependent Claims (111, 112, 113, 114, 115, 116, 117, 118)
-
Specification