Claims
- 1. A method of binary minimization for a complementary pair of truth tables T and F, comprising:
Iteratively subdividing the T truth table into sub-tables; Solving each of the sufficiently small sub-tables independently as a minimized binary sub-equation using a genetic algorithm; Regressing back through the decomposition process to apply the genetic algorithm to reunited sub-tables; and Repeating the solution procedure until the entire T true truth table has been reunited into a minimized binary equation.
- 2. The method of claim 1, wherein the T truth table is iteratively subdivided by, Selecting the T truth table, its complement F truth table, and an associated mandatory table M;
Selecting a bisection column; Generating sub-tables TA, TB for the T truth table at the bisection column; Generating the complement sub-tables FA, FB; Splitting the M table into sub-tables MA, MB at the bisection column; Simplifying the sub-tables, the complements and the M sub-tables; and Repeating the process recursively for each subtable until they are sufficiently small.
- 3. The method of claim 2, wherein the mandatory table M is created by:
Generating a new truth table with the same dimensions as T and all values defaulting to false; Comparing each row Ti of T in turn to every row Fj of F to find each occurrence where every column in the rows being compared is the same except a single column “m”; and Setting the entry Mi,m to true wherever that condition occurs.
- 4. The method of claim 3, wherein the mandatory table M is created using binary trees.
- 5. The method of claim 2, wherein the bisection column is the column that most closely splits the number of true values evenly between sub-tables TA and TB.
- 6. The method of claim 2, wherein the bisection column is selected by:
determining the number of true entries in the M table corresponding to the T truth table to be bisected; identifying those columns that have more than mean number of true M entries; and from this subset of columns, selecting the bisecting column that most nearly divides the T truth table into two equally sized groups of rows.
- 7. The method of claim 2, wherein the sub-tables are simplified by,
Eliminating duplicate rows, Removing unnecessary columns, and Eliminating any remaining duplicative rows.
- 8. The method of claim 7, wherein duplicate rows are eliminated using a binary tree formation operation to collapse duplicate rows as they are encountered.
- 9. The method of claim 7, wherein unnecessary columns are removed by using a binary tree to compare rows of T and F positing the absence of a column and deleting columnar data whenever doing so is not precluded by the need to differentiate tables T and F.
- 10. The method of claim 1, wherein the small sub-tables are solved by,
Opening a T sub-table and its complement F sub-table; Forming a seed organism from the T sub-table, said seed organism comprising a number of chromosomes and genes in a 1-to-1 mapping with the rows and columns in the T sub-table; Creating a pool of organisms from the seed organism; Breeding the pool until the population stabilizes; and Selecting the highest scoring organism.
- 11. The method of claim 10, wherein the genes have a trinary format in which a +1 value represents true, −1 represents false and 0 represents irrelevant.
- 12. The method of claim 11, wherein the seed organism is formed by mapping the true and false values in the T sub-table to values of +1 and −1.
- 13. The method of claim 12, wherein the pool of organisms is created from the seed by setting some of the genes to a 0 value.
- 14. The method of claim 13, wherein mandatory random prototyping determines the genes to be set to 0 by:
Computing a table of mandatory entries including those T sub-table entries that singularly prevent confusion of a T sub-table row with an F sub-table row; Selecting a number of chromosomes in the seed organism; and Setting at least some of the non-mandatory genes in each selected chromosome to 0 to form a new organism.
- 15. The method of claim 14, wherein the chromosomes are selected randomly.
- 16. The method of claim 14, wherein all of the non-mandatory genes in each selected chromosome are set to 0.
- 17. The method of claim 13, wherein random entry prototyping determines the genes to be set to 0 by:
Computing a table of mandatory entries including those T sub-table entries that singularly prevent confusion of a T sub-table row with an F sub-table row; Selecting a chromosome in the seed organism; Selecting a number of genes from the chromosome; Forming a new chromosome of the selected genes from the chromosome and the non-selected entries from the corresponding row in the table of mandatory entries; and Substituting the new chromosome for any consistent chromosomes in the seed organism.
- 18. The method of claim 13, wherein chromosome copy generation determines the genes to be set to 0 by:
Selecting first and second chromosomes from the seed organism; Setting any genes that are different in the two rows to 0; and Copying the first and second chromosomes back to the seed organism to form a new organism.
- 19. The method of claim 13, wherein each organism is scored as a function of the number of unique chromosomes and the number of non-zero genes.
- 20. The method of claim 19, wherein the score is the total number of genes in the unique chromosomes minus the number of non-zero genes in the unique chromosomes divided by the number of unique chromosomes.
- 21. The method of claim 13, wherein if each unique chromosome in the organism rejects each row in the F sub-table that organism is viable and may stay in the pool.
- 22. The method of claim 13, wherein any spatial overlap of the organisms is determined by comparing each row in the T sub-table in turn with each chromosome in the organism to ensure that each row is consistent with only a single unique chromosome.
- 23. The method of claim 22, wherein if the binary minimization requires no spatial overlap, any spatial overlap may be fixed by identifying the chromosomes that cause the overlap and arbitrarily setting one zero-valued gene in one of those chromosomes to its appropriate non-zero value as specified by the truth table T.
- 24. The method of claim 13, wherein the pool of organisms are bred by:
Selecting a pair of parent organisms from the pool; Using a binary asexual reproduction algorithm to create a child organism; and Randomly mutating the child organism.
- 25. The method of claim 24, wherein the child organism is created by:
Choosing one of the pair of parent organisms, Choosing a chromosome from the chosen parent, Copying the chromosome to the child organism, and Repeating until the child organism is complete.
- 26. The method of claim 24, wherein the child organism is mutated by randomly performing any of a random, chromosome copy, random entry or mandatory entry mutation.
- 27. The method of claim 1, wherein the regression is accomplished by,
Selecting a T sub-table, its complement F sub-table from the next higher level; Extracting the two binary subequations for the T sub-table; Forming a seed organism from the two minimized sub-equations; Creating a pool of initial organisms from the seed; Breeding the pool until the population stabilizes; Selecting the highest scoring trinary zoning statement; and Forming the minimized binary equation for the reunited truth table.
- 28. A method of binary minimization for a complementary pair of truth tables T and F, comprising:
Recursively bisecting the T truth table into sub-tables; Using a genetic algorithm with trinary logic to optimize the sub-tables; and Recursively recombining the sub-tables while using the genetic algorithm to optimize each reunited truth table using the previous solutions as a starting point.
- 29. The method of claim 28, wherein the sub-tables are optimized by,
Opening a T sub-table and its complement F sub-table; Forming a seed organism by mapping the true and false values in the rows and columns of the T sub-table to values of +1 and −1 in a like number of chromosomes and genes; Creating a pool of organisms from the seed organism by setting some of the genes to a 0 value representing either true or false; Breeding the pool until the population stabilizes; and Selecting the highest scoring organism.
- 30. The method of claim 29, wherein mandatory random prototyping determines the genes to be set to 0 by:
Computing a table of mandatory entries including those T sub-table entries that singularly prevent confusion of a T sub-table row with an F sub-table row; Selecting a number of chromosomes in the seed organism; and Setting at least some of the non-mandatory genes in each selected chromosome to 0 to form a new organism.
- 31. The method of claim 29, wherein random entry prototyping determines the genes to be set to 0 by:
Computing a table of mandatory entries including those T sub-table entries that singularly prevent confusion of a T sub-table row with an F sub-table row; Selecting a chromosome in the seed organism; Selecting a number of genes from the chromosome; Forming a new chromosome of the selected genes from the chromosome and the non-selected entries from the corresponding row in the table of mandatory entries; and Substituting the new chromosome for any consistent chromosomes in the seed organism.
- 32. The method of claim 29, wherein chromosome copy generation determines the genes to be set to 0 by:
Selecting first and second chromosomes from the seed organism; Setting any genes that are different in the two rows to 0; and Copying the first and second chromosomes back to the seed organism to form a new organism.
- 33. The method of claim 29, wherein each organism is scored as a function of the number of unique chromosomes and the number of non-zero genes.
- 34. The method of claim 29, wherein if each unique chromosome in the organism rejects each row in the F sub-table that organism is viable and may stay in the pool.
- 35. The method of claim 29, wherein any spatial overlap of the organisms is determined by comparing each row in the T sub-table in turn with each chromosome in the organism to ensure that each row is consistent with only a single unique chromosome.
- 36. The method of claim 29, wherein the pool of organisms are bred by:
Selecting a pair of parent organisms from the pool; Using a binary asexual reproduction algorithm to create a child organism; and Randomly mutating the child organism.
- 37. A method of binary minimization for a complementary pair of truth tables T and F, comprising:
Recursively bisecting the T truth table into sub-tables; Forming a seed organism by mapping the true and false values in the rows and columns of the T sub-table to values of +1 and −1 in a like number of chromosomes and genes; Computing a table of mandatory entries including those T sub-table entries that singularly prevent confusion of a T sub-table row with an F sub-table row; Creating a pool of organisms from the seed organism by setting some of the non-mandatory genes to a 0 value representing either true or false; Breeding the pool until the population stabilizes; Selecting the highest scoring organism; and Recursively recombining the sub-tables while using the genetic algorithm to optimize each reunited truth table using the previous highest scoring organisms as a starting point.
- 38. The method of claim 37, wherein mandatory random prototyping determines the genes to be set to 0 by:
Randomly selecting a number of chromosomes in the seed organism; and Setting all of the non-mandatory genes in each selected chromosome to 0 to form a new organism.
- 39. The method of claim 37, wherein random entry prototyping determines the genes to be set to 0 by:
Randomly selecting a chromosome in the seed organism; Randomly selecting a number of genes from the chromosome; Forming a new chromosome of the selected genes from the chromosome and the non-selected entries from the corresponding row in the table of mandatory entries; and Substituting the new chromosome for any consistent chromosomes in the seed organism.
- 40. The method of claim 37, wherein each organism is scored as a function of the number of unique chromosomes and the number of non-zero genes.
- 41. The method of claim 37, wherein if each unique chromosome in the organism rejects each row in the F sub-table that organism is viable and may stay in the pool.
- 42. The method of claim 37, wherein the pool of organisms are bred by:
Selecting a pair of parent organisms from the pool; Using a binary asexual reproduction algorithm to create a child organism; and Randomly mutating the child organism.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims benefit of priority under 35 U.S.C. 119(e) to U.S. Provisional Application No. 60/471,580 entitled “Computerized Modeling System and Method to Transform Nodal and Parametric Surface Data from CAD Product Form into Efficient, High Accuracy, Combinatorial Geometry” filed on May 19, 2003, the entire contents of which are incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60471580 |
May 2003 |
US |