TL;DR: A real-coded crossover operator is developed whose search power is similar to that of the single-point crossover used in binary-coded GAs, and SBX is found to be particularly useful in problems having mult ip le optimal solutions with a narrow global basin where the lower and upper bo unds of the global optimum are not known a priori.
Abstract: Abst ract . T he success of binary-coded gene t ic algorithms (GA s) in problems having discrete sear ch space largely depends on the coding used to represent the prob lem var iables and on the crossover ope ra tor that propagates buildin g blocks from parent strings to children st rings . In solving optimization problems having continuous search space, binary-coded GAs discr et ize the search space by using a coding of the problem var iables in binary strings. However , t he coding of realvalued vari ables in finit e-length st rings causes a number of difficulties: inability to achieve arbit rary pr ecision in the obtained solution , fixed mapping of problem var iab les, inh eren t Hamming cliff problem associated wit h binary coding, and processing of Holland 's schemata in cont inuous search space. Although a number of real-coded GAs are developed to solve optimization problems having a cont inuous search space, the search powers of these crossover operators are not adequate . In t his paper , t he search power of a crossover operator is defined in terms of the probability of creating an arbitrary child solut ion from a given pair of parent solutions . Motivated by the success of binarycoded GAs in discrete search space problems , we develop a real-coded crossover (which we call the simulated binar y crossover , or SBX) operator whose search power is similar to that of the single-point crossover used in binary-coded GAs . Simulation results on a nu mber of realvalued test problems of varying difficulty and dimensionality suggest t hat the real-cod ed GAs with the SBX operator ar e ab le to perfor m as good or bet ter than binary-cod ed GAs wit h the single-po int crossover. SBX is found to be particularly useful in problems having mult ip le optimal solutions with a narrow global basin an d in prob lems where the lower and upper bo unds of the global optimum are not known a priori. Further , a simulation on a two-var iable blocked function shows that the real-coded GA with SBX work s as suggested by Goldberg
TL;DR: This paper shows how binary search can be adapted for solving the best-matching prefix problem, and how to improve the performance of any best- Matching prefix scheme using an initial array indexed by the first X bits of the address.
Abstract: IP address lookup is becoming critical because of increasing routing table sizes, speed, and traffic in the Internet. Given a set S of prefixes and an IP address D, the IP address lookup problem is to find the longest matching prefix of D in set S. This paper shows how binary search can be adapted for solving the best-matching prefix problem. Next, we show how to improve the performance of any best-matching prefix scheme using an initial array indexed by the first X bits of the address. We then describe how to take advantage of cache line size to do a multiway search with six-way branching. Finally, we show how to extend the binary search solution and the multiway search solution for IPv6. For a database of N prefixes with address length W, naive binary search would take O(W*log N); we show how to reduce this to O(W+log N) using multiple-column binary search. Measurements using a practical (Mae-East) database of 38000 entries yield a worst-case lookup time of 490 ns, five times faster than the Patricia trie scheme used in BSD UNIX. Our scheme is attractive for IPv6 because of its small storage requirement (2N nodes) and speed (estimated worst case of 7 cache line reads per lookup).
TL;DR: A new indexing technique called \Cache-Sensitive Search Trees" (CSS-trees) is proposed, to provide faster lookup times than binary search by paying attention to reference locality and cache behavior, without using substantial extra space.
Abstract: We study indexing techniques for main memory, including hash indexes, binary search trees, T-trees, B+-trees, interpolation search, and binary search on arrays. In a decision-support context, our primary concerns are the lookup time, and the space occupied by the index structure. Our goal is to provide faster lookup times than binary search by paying attention to reference locality and cache behavior, without using substantial extra space. We propose a new indexing technique called \Cache-Sensitive Search Trees" (CSS-trees). Our technique stores a directory structure on top of a sorted array. Nodes in this directory have size matching the cache-line size of the machine. We store the directory in an array and do not store internal-node pointers; child nodes can be found by performing arithmetic on array osets. We compare the algorithms based on their time and space requirements. We have implemented all of the techniques, and present a performance study on two popular modern machines. We demonstrate that with This research was supported by a David and Lucile Packard Foundation Fellowship in Science and Engineering, by an NSF Young Investigator Award, by NSF grant number IIS-98-12014, and by NSF CISE award CDA-9625374.
TL;DR: Classic binary search is extended to multidimensional search problems and yields efficient algorithms for a number of tasks such as a secondary searching problem of Knuth, region location in planar graphs, and speech recognition.
Abstract: Classic binary search is extended to multidimensional search problems. This extension yields efficient algorithms for a number of tasks such as a secondary searching problem of Knuth, region location in planar graphs, and speech recognition.
TL;DR: In this paper, a data-structure to store a search database and techniques to build this data structure given a list of prefixes (P) and to search this database efficiently for a best matching prefix for an address D.
Abstract: The present invention provides a data-structure to store a search database and provides techniques to build this datastructure given a list of prefixes (P) and to search this database efficiently for a best matching prefix for an address D. The data-structure can be stored in standard memory (14), where values are stored associated with memory address locations. The data structure includes representations of addressable linked tables (fig. 3b). The representations are related to a binary search trie (fig. 1) and each linked table (T) has at least one entry. Entries in a table span more than one level of the binary search trie. The spanning feature relates to compression of a binary search trie into a finite number of levels (and hence tables). The finite number is less than the number of levels in the binary search trie. Hence the search algorithm is restricted to a finite, and predetermined number of search accesses to the tables to obtain a best-match result.