Use of a genetic algorithm to optimize memory space
First Claim
1. A method for storing original data in a computer memory, said method comprising the steps of:
- picking a number of generations;
initializing a plurality of individuals;
for each individual, determining a size for a trie symbolized by said each individual where said trie represents said original data;
selecting a mating population from said plurality of individuals where probability of selection for an individual is inversely proportionate to said individual'"'"'s trie size;
choosing and performing at least one operation for said mating population, where said operation is the operation of crossover;
said operation of crossover comprising creating at least one new individual by crossover using at least two individuals from said mating population, adding said new individual to said plurality of individuals;
iteratively doing said steps of determining, selecting, and choosing and performing for said number of generations times; and
keeping in memory the trie having minimum said size.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention is accomplished by first initializing a plurality of individuals. A trie is constructed for each individual, where the trie represents the original data. The trie comprises a root node, a plurality of sub-nodes and sub-arrays in a hierarchical arrangement. The individual indicates the number of the sub-nodes, sub-arrays and number of entries in each sub-array. Within a trie, delete any sub-array which contains redundant data and remove any of sub-node which contains redundant data. Apply an overlapping reduction function to the trie. With the trie constructed, determine the size for the trie and associate the size to the individual. Select a mating population based on trie size. Choose and perform at least one operation for the mating population, where the operation is the operations of crossover or mutation. For crossover, create at least one new individual by recombining the "genes" of at least two individual from the mating population. Then, add the new individual to the plurality of individuals. For mutation, mutate an individual by stochastically changing a property of the individual, then place the mutated individual in the plurality of individuals. Iterate for a predefined number of generations. Finally, keep in memory the trie with the smallest size.
158 Citations
20 Claims
-
1. A method for storing original data in a computer memory, said method comprising the steps of:
-
picking a number of generations; initializing a plurality of individuals; for each individual, determining a size for a trie symbolized by said each individual where said trie represents said original data; selecting a mating population from said plurality of individuals where probability of selection for an individual is inversely proportionate to said individual'"'"'s trie size; choosing and performing at least one operation for said mating population, where said operation is the operation of crossover; said operation of crossover comprising creating at least one new individual by crossover using at least two individuals from said mating population, adding said new individual to said plurality of individuals; iteratively doing said steps of determining, selecting, and choosing and performing for said number of generations times; and keeping in memory the trie having minimum said size. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for storing original data in a minimum amount of computer memory, said method comprising the steps of:
-
picking a number of generations; initializing a plurality of individuals; for each individual; constructing a trie, where said trie represents said original data, said trie comprising a root node, a plurality of sub-nodes, and a plurality of sub-arrays in a hierarchical arrangement, said individual indicates a number of said sub-nodes and said sub-arrays, and a number of entries in said sub-array; deleting any of said plurality of sub-arrays which contain redundant data; removing any of said plurality of sub-nodes which contain redundant data; applying overlapping reduction function to said trie; determining a size for said trie; associating said size to said individual; selecting a mating population from said plurality of individuals where probability of selection for an individual is inversely proportionate to said individual'"'"'s trie size; choosing and performing at least one operation for said mating population, where said operation is the operations of crossover or mutation; if said chosen operation is crossover, creating at least one new individual by crossover using at least two individuals from said mating population, adding said new individual to said plurality of individuals; if said chosen operation is mutation, mutating an individual in said mating population by stochastically changing a property of said individual, placing said mutated individual into said plurality of individuals; iteratively performing steps for said number of generations times; and keeping in said memory the trie having minimum said size. - View Dependent Claims (11, 12, 13)
-
-
14. A computer system that stores an original data comprising:
-
a memory in which a plurality of individuals are stored; a processor coupled to said memory, said processor executes a sequence of instruction; means for determining a size of a trie symbolized by each individual where said trie represents said original data, said means for determining coupled to said processor; means for selecting a mating population from said plurality of individuals where probability of selection for an individual is inversely proportionate to said individual'"'"'s trie size; means for choosing and performing an operation for said mating population, where said operation is the operation of crossover, said means for choosing and performing coupled to said processor; means for performing said operation of crossover comprising creating at least one new individual by crossover using at least two individuals from said mating population, adding said new individual to said plurality of individuals; and means for keeping in memory the trie having minimum said size, said means for keeping coupled to said processor. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification