Method and apparatus for designing structures
First Claim
1. A computer-implemented process for creating an entity that satisfies a predetermined design requirement that at least one characteristic is not in a reference structure, the process comprising:
- initializing a plurality of candidate entities and an iteration count with a predetermined value by supplying, from an external source, at least one candidate entity partially satisfying the predetermined design requirement which includes a characteristic of the reference structure to the initialized plurality of candidate entities, wherein each candidate entity is represented by a tree structure having a plurality of nodes representing a structure of the candidate entity;
performing iterative genetic programming operations, each iteration including;
creating a description of the structure for each of the candidate entities based on its tree structure,analyzing behavior and characteristics based on the description of the structure of each candidate entity, including a simulation of the structure,comparing each of the plurality of candidate entities with the reference structure based on the analysis of the behavior and characteristics to obtain an isomorphism value for each candidate entity, the isomorphism value representing a dissimilarity between the respective candidate entity and the reference structure,determining a fitness value for each of the candidate entities based on a compliance with the predetermined design requirement and the isomorphism value of the respective candidate entity,selecting at least one candidate entity from the plurality of candidate entities that has a fitness value exceeds a predetermined threshold,creating at least one new candidate entity by creating a variation in the selected at least one candidate entity if the selected at least one candidate does not satisfy the predetermined design requirement or a number of iterations has not reached the predetermined value of the iteration count, including performing one of a reproduction operation, offspring crossover operation, mutation operation, and an architecture altering operation on the at least one selected candidate entity, andterminating the iterations if the selected at least one candidate satisfies the predetermined design requirement or a number of iterations has reached the predetermined value of the iteration count, wherein at least one of the selected candidate entities is used to design an end-result structure in view of the predetermined design requirement, wherein the end-result structure does not possess key characteristics of the reference structure; and
updating the iteration count at the end of each iteration.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for the automatic creation of novel designs, specifically electronic circuits, controllers, antennas, and mechanical systems to satisfy prespecified design goals, using search procedures, such as genetic programming, genetic algorithms, simulated annealing and hill climbing is described. Further, the techniques include automatically creates designs which do not posses key characteristics of preexisting technology. 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 the structures is evaluated in view of the design goals, and the structures are compared to a preexisting structure. Those structures more closely meeting the design goals and not similar to the preexisting structure are favored further until a structure is generated that either meets the prespecified design goal or some other process completion criteria. In this manner, a novel structure may be obtained.
-
Citations
16 Claims
-
1. A computer-implemented process for creating an entity that satisfies a predetermined design requirement that at least one characteristic is not in a reference structure, the process comprising:
-
initializing a plurality of candidate entities and an iteration count with a predetermined value by supplying, from an external source, at least one candidate entity partially satisfying the predetermined design requirement which includes a characteristic of the reference structure to the initialized plurality of candidate entities, wherein each candidate entity is represented by a tree structure having a plurality of nodes representing a structure of the candidate entity; performing iterative genetic programming operations, each iteration including; creating a description of the structure for each of the candidate entities based on its tree structure, analyzing behavior and characteristics based on the description of the structure of each candidate entity, including a simulation of the structure, comparing each of the plurality of candidate entities with the reference structure based on the analysis of the behavior and characteristics to obtain an isomorphism value for each candidate entity, the isomorphism value representing a dissimilarity between the respective candidate entity and the reference structure, determining a fitness value for each of the candidate entities based on a compliance with the predetermined design requirement and the isomorphism value of the respective candidate entity, selecting at least one candidate entity from the plurality of candidate entities that has a fitness value exceeds a predetermined threshold, creating at least one new candidate entity by creating a variation in the selected at least one candidate entity if the selected at least one candidate does not satisfy the predetermined design requirement or a number of iterations has not reached the predetermined value of the iteration count, including performing one of a reproduction operation, offspring crossover operation, mutation operation, and an architecture altering operation on the at least one selected candidate entity, and terminating the iterations if the selected at least one candidate satisfies the predetermined design requirement or a number of iterations has reached the predetermined value of the iteration count, wherein at least one of the selected candidate entities is used to design an end-result structure in view of the predetermined design requirement, wherein the end-result structure does not possess key characteristics of the reference structure; and updating the iteration count at the end of each iteration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer system, comprising:
-
a processor; and a memory coupled to the processor for storing computer executable instructions, which when executed from the memory, cause the processor to perform a process for creating an entity that satisfies a predetermined design requirement that at least one characteristic is not in a reference structure, the process comprising; initializing a plurality of candidate entities and an iteration count with a predetermined value by supplying, from an external source, at least one candidate entity partially satisfying the predetermined design requirement which includes a characteristic of the reference structure to the initialized plurality of candidate entities, wherein each candidate entity is represented by a tree structure having a plurality of nodes representing a structure of the candidate entity; performing iterative genetic programming operations, each iteration including; creating a description of the structure for each of the candidate entities based on its tree structure, analyzing behavior and characteristics based on the description of the structure of each candidate entity, including a simulation of the structure, comparing each of the plurality of candidate entities with the reference structure based on the analysis of the behavior and characteristics to obtain an isomorphism value for each candidate entity, the isomorphism value representing a dissimilarity between the respective candidate entity and the reference structure, determining a fitness value for each of the candidate entities based on a compliance with the predetermined design requirement and the isomorphism value of the respective candidate entity, selecting at least one candidate entity from the plurality of candidate entities that has a fitness value exceeds a predetermined threshold, creating at least one new candidate entity by creating a variation in the selected at least one candidate entity if the selected at least one candidate does not satisfy the predetermined design requirement or a number of iterations has not reached the predetermined value of the iteration count, including performing one of a reproduction operation, offspring crossover operation, mutation operation, and an architecture altering operation on the at least one selected candidate entity, and terminating the iterations if the selected at least one candidate satisfies the predetermined design requirement or a number of iterations has reached the predetermined value of the iteration count, wherein at least one of the selected candidate entities is used to design an end-result structure in view of the predetermined design requirement, wherein the end-result structure does not possess key characteristics of the reference structure; and updating the iteration count at the end of each iteration.
-
-
16. A non-transitory computer-readable storage medium having stored thereon executable code which causes a computer to perform a process, for creating an entity that satisfies a predetermined design requirement that at least one characteristic is not in a reference structure, the process comprising:
-
initializing a plurality of candidate entities and an iteration count with a predetermined value by supplying, from an external source, at least one candidate entity partially satisfying the predetermined design requirement which includes a characteristic of the reference structure to the initialized plurality of candidate entities, wherein each candidate entity is represented by a tree structure having a plurality of nodes representing a structure of the candidate entity; performing iterative genetic programming operations, each iteration including; creating a description of the structure for each of the candidate entities based on its tree structure, analyzing behavior and characteristics based on the description of the structure of each candidate entity, including a simulation of the structure, comparing each of the plurality of candidate entities with the reference structure based on the analysis of the behavior and characteristics to obtain an isomorphism value for each candidate entity, the isomorphism value representing a dissimilarity between the respective candidate entity and the reference structure, determining a fitness value for each of the candidate entities based on a compliance with the predetermined design requirement and the isomorphism value of the respective candidate entity, selecting at least one candidate entity from the plurality of candidate entities that has a fitness value exceeds a predetermined threshold, creating at least one new candidate entity by creating a variation in the selected at least one candidate entity if the selected at least one candidate does not satisfy the predetermined design requirement or a number of iterations has not reached the predetermined value of the iteration count, including performing one of a reproduction operation, offspring crossover operation, mutation operation, and an architecture altering operation on the at least one selected candidate entity, and terminating the iterations if the selected at least one candidate satisfies the predetermined design requirement or a number of iterations has reached the predetermined value of the iteration count, wherein at least one of the selected candidate entities is used to design an end-result structure in view of the predetermined design requirement, wherein the end-result structure does not possess key characteristics of the reference structure; and updating the iteration count at the end of each iteration.
-
Specification