##### parameter

- In this algorithm, the information theoretic quantities MI and CMI determine the regulatory relationships between genes and the PMDL principle method attempts to determine the best MI threshold without the need of a user-specified fine tuning parameter. (usm.edu)
- s C wc does not require any adjusting parameter, while s L cc requires a threshold parameter, which we can use to control the number of features that the algorithm selects. (mdpi.com)

##### performance

- The best known approximation algorithm for MIN-SBR, due to Christie, gives a performance ratio of 1.5. (umd.edu)
- The performance of the proposed algorithm is evaluated using both synthetic time series data sets and a biological time series data set (Saccharomyces cerevisiae). (usm.edu)
- To eliminate this limitation, we tried to improve the run-time performance of two of the most accurate feature selection algorithms known in the literature. (mdpi.com)
- Multiple experiments with real social media datasets have demonstrated that our algorithms improve the performance of their original algorithms remarkably. (mdpi.com)

##### Analysis of Algorit

- In computer science, the analysis of algorithms is the determination of the computational complexity of algorithms, that is the amount of time, storage and/or other resources necessary to execute them. (wikipedia.org)
- The term "analysis of algorithms" was coined by Donald Knuth. (wikipedia.org)
- In theoretical analysis of algorithms it is common to estimate their complexity in the asymptotic sense, i.e., to estimate the complexity function for arbitrarily large input. (wikipedia.org)

##### matrix multiplication

- Optimal cache-oblivious algorithms are known for the Cooley-Tukey FFT algorithm , matrix multiplication , sorting , matrix transposition , and several other problems. (wikipedia.org)
- 1987, Frigo 1996 for matrix multiplication and LU decomposition, and Todd Veldhuizen 1996 for matrix algorithms in the Blitz++ library. (wikipedia.org)
- The Blocked (Tiled) Matrix Multiplication algorithm reduces this dominant term. (wikipedia.org)

##### Genetic Algorithm

- pgapack, the parallel genetic algorithm library is a powerfull genetic algorithm library by D. Levine, Mathematics and Computer Science Division Argonne National Laboratory. (sourceforge.net)
- Approaches for shuffling the numbers include simulated annealing , genetic algorithm and tabu search . (wikipedia.org)

##### theory of computat

- The book consists of ten chapters, and deals with the topics of searching, sorting, basic graph algorithms, string processing, the fundamentals of cryptography and data compression, and an introduction to the theory of computation. (wikipedia.org)
- In CRC Handbook of Algorithms and Theory of Computation, Chapter 22. (wikipedia.org)

##### Introduction to Algorit

- Neato Tech Books (J. Blustein) https://www.quora.com/When-will-the-Introduction-to-Algorithms-CLRS-next-edition-i-e-4th-edition-will-be-published-and-available Cormen et al, back cover. (wikipedia.org)

##### 1996

- The idea (and name) for cache-oblivious algorithms was conceived by Charles E. Leiserson as early as 1996 and first published by Harald Prokop in his master's thesis at the Massachusetts Institute of Technology in 1999. (wikipedia.org)
- A much simpler algorithm was developed by Chan in 1996, and is called Chan's algorithm. (wikipedia.org)

##### graph

- Graph coloring algorithm. (wikipedia.org)
- The Kleitman-Wang algorithms are two different algorithms in graph theory solving the digraph realization problem, i.e. the question if there exists for a finite list of nonnegative integer pairs a simple directed graph such that its degree sequence is exactly this list. (wikipedia.org)
- Algorithms designed for graph colouring are also known to perform well with Sudokus. (wikipedia.org)
- Cache-oblivious algorithms represent a different approach introduced in 1999 for Fast Fourier Transforms, and then extended to graph algorithms, dynamic programming, etc. (wikipedia.org)
- Brent's algorithm: finds a cycle in function value iterations using only two iterators Floyd's cycle-finding algorithm: finds a cycle in function value iterations Gale-Shapley algorithm: solves the stable marriage problem Pseudorandom number generators (uniformly distributed): Blum Blum Shub Lagged Fibonacci generator Linear congruential generator Mersenne twister Coloring algorithm: Graph coloring algorithm. (wikipedia.org)
- Hopcroft-Karp algorithm: convert a bipartite graph to a maximum cardinality matching Hungarian algorithm: algorithm for finding a perfect matching Prüfer coding: conversion between a labeled tree and its Prüfer sequence Tarjan's off-line least common ancestors algorithm: compute lowest common ancestors for pairs of nodes in a tree Topological sort: finds linear order of nodes (e.g. jobs) based on their dependencies. (wikipedia.org)
- D*: an incremental heuristic search algorithm Depth-first search: traverses a graph branch by branch Dijkstra's algorithm: A special case of A* for which no heuristic function is used General Problem Solver: a seminal theorem-proving algorithm intended to work as a universal problem solver machine. (wikipedia.org)
- Distributed deadlocks can be detected either by constructing a global wait-for graph, from local wait-for graphs at a deadlock detector or by a distributed algorithm like edge chasing. (wikipedia.org)

##### several sorting al

- Lower bounds integrated into sections that discuss problems -e.g. after presentation of several sorting algorithms, text discusses lower bound for comparison-based sorting. (informit.com)

##### convex

- Algorithms that construct convex hulls of various objects have a broad range of applications in mathematics and computer science. (wikipedia.org)
- In computational geometry, numerous algorithms are proposed for computing the convex hull of a finite set of points, with various computational complexities. (wikipedia.org)
- The complexity of the corresponding algorithms is usually estimated in terms of n, the number of input points, and h, the number of points on the convex hull. (wikipedia.org)
- However, in models of computer arithmetic that allow numbers to be sorted more quickly than O(n log n) time, for instance by using integer sorting algorithms, planar convex hulls can also be computed more quickly: the Graham scan algorithm for convex hulls consists of a single sorting step followed by a linear amount of additional work. (wikipedia.org)
- However, the complexity of some convex hull algorithms can be characterized in terms of both input size n and the output size h (the number of points in the hull). (wikipedia.org)
- The lower bound on worst-case running time of output-sensitive convex hull algorithms was established to be Ω(n log h) in the planar case. (wikipedia.org)
- Known convex hull algorithms are listed below, ordered by the date of first publication. (wikipedia.org)
- Geometric hashing: a method for efficiently finding two-dimensional objects represented by discrete points that have undergone an affine transformation Gilbert-Johnson-Keerthi distance algorithm: determining the smallest distance between two convex shapes. (wikipedia.org)

##### various clustering

- Before exploring various clustering algorithms in detail let's have a brief overview about what is clustering. (google.com)

##### solves

- Algorithm analysis is an important part of a broader computational complexity theory, which provides theoretical estimates for the resources needed by any algorithm which solves a given computational problem. (wikipedia.org)

##### detect communities in complex systems

- 2002 - AKS primality test developed by Manindra Agrawal, Neeraj Kayal and Nitin Saxena 2002 - Girvan-Newman algorithm to detect communities in complex systems Simon Singh, The Code Book, pp. 14-20 Victor J. Katz (1995). (wikipedia.org)
- Force-based algorithms (also known as force-directed algorithms or spring-based algorithm) Spectral layout Network analysis Link analysis Girvan-Newman algorithm: detect communities in complex systems Web link analysis Hyperlink-Induced Topic Search (HITS) (also known as Hubs and authorities) PageRank TrustRank Flow networks Dinic's algorithm: is a strongly polynomial algorithm for computing the maximum flow in a flow network. (wikipedia.org)

##### standard algorithms

- It is using Artificial Neural Networks to enchance the results of standard algorithms. (sourceforge.net)
- Students' alternative algorithms are often just as correct, efficient, and generalizable as the standard algorithms, and maintain emphasis on the meaning of the quantities involved, especially as relates to place values (something that is usually lost in the memorization of standard algorithms). (wikipedia.org)

##### specific algorithms

- This is the only book to impart all this essential information-from the basics of algorithms, data structures, and performance characteristics to the specific algorithms used in development and programming tasks. (oreilly.com)
- The design of architecture specific algorithms is another approach that can be used for reducing the communication in parallel algorithms, and there are many examples in the literature of algorithms that are adapted to a given communication topology. (wikipedia.org)

##### encryption algorithm

- The PowerCiph Data Encryption Algorithm is a versatile, yet simplistic, encryption algorithm/protocol. (sourceforge.net)

##### Parallel

- 12. Parallel Algorithms. (informit.com)
- It included 2 chapters ("Arithmetic Circuits" & "Algorithms for Parallel Computers") that were dropped in the second edition. (wikipedia.org)
- The Numerical Algorithms Group: From 0-40 in a flurry of achievements 40 Years of NAG scrapbook NAG Numerical Routines NAG Fortran Library NAG C Library NAG Library for .NET NAG Library for SMP & multicore NAG Parallel Library NAG Fortran Compiler NAG Website Profile of Rob Meyer, NAG CEO. (wikipedia.org)
- This article discusses the analysis of parallel algorithms. (wikipedia.org)
- Minimizing the span is important in designing parallel algorithms, because the span determines the shortest possible execution time. (wikipedia.org)
- Analysis of parallel algorithms is usually carried out under the assumption that an unbounded number of processors is available. (wikipedia.org)
- Parallel Algorithms. (wikipedia.org)
- Programming Parallel Algorithms" (PDF). (wikipedia.org)

##### Binary

- Amortized Analysis - Binary, Binomial and Fibonacci heaps, Dijkstra's Shortest path algorithm, Splay Trees, Time-Space trade-off, Introduction to Tractable and Non-tractable Problems, Introduction to Randomized and Approximate algorithms, Embedded Algorithms: Embedded system scheduling (power optimized scheduling algorithm), sorting algorithm for embedded systems. (google.com)
- Additionally, bit operations can be viewed as special algorithms to manipulate binary integers. (springer.com)
- Suppose this program were implemented on Computer A, a state-of-the-art machine, using a linear search algorithm, and on Computer B, a much slower machine, using a binary search algorithm. (wikipedia.org)

##### Mathematical

- In elementary arithmetic, a standard algorithm or method is a specific method of computation which is conventionally taught for solving particular mathematical problems. (wikipedia.org)
- The following timeline outlines the development of algorithms (mainly "mathematical recipes") since their inception. (wikipedia.org)
- The descriptions focus on the aspects of the algorithm itself, its mathematical properties, and emphasize efficiency. (wikipedia.org)
- The Numerical Algorithms Group (NAG) is a software company which provides methods for the solution of mathematical and statistical problems, and offers services to users of High performance computing (HPC) systems. (wikipedia.org)

##### inputs

- Time complexity of each algorithm is stated in terms of the number of inputs points n and the number of points on the hull h. (wikipedia.org)
- Since different inputs of the same length may cause the algorithm to have different behavior, the function describing its performance is usually an upper bound on the actual performance, determined from the worst case inputs to the algorithm. (wikipedia.org)

##### implements

- It implements a threaded variant of the RMAT algorithm. (sourceforge.net)
- Navigational algorithms is a source of information whose purpose is to make available the scientific part of the art of navigation, containing specialized articles and software that implements the various procedures of calculus. (wikipedia.org)
- The following naive algorithm implements C = C + A * B: for i = 1 to n for j = 1 to n for k = 1 to n C(i,j) = C(i,j) + A(i,k) * B(k,j) Arithmetic cost (time-complexity): n² (2n-1) for sufficiently large n or O(n³). (wikipedia.org)
- Run-time efficiency is a topic of great interest in computer science: A program can take seconds, hours, or even years to finish executing, depending on which algorithm it implements. (wikipedia.org)

##### quicksort

- Just like the quicksort algorithm, it has the expected time complexity of O(n log n), but may degenerate to O(n2) in the worst case. (wikipedia.org)
- Often the method of choice Humorous or ineffective Bogosort Stooge sort Hybrid Flashsort Introsort: begin with quicksort and switch to heapsort when the recursion depth exceeds a certain level Timsort: adaptative algorithm derived from merge sort and insertion sort. (wikipedia.org)

##### incremental

- Incremental algorithms, or online algorithms, are algorithms in which only additions of elements are allowed, possibly starting from the empty/trivial input data. (wikipedia.org)

##### Divide and Con

- Typically, a cache-oblivious algorithm works by a recursive divide and conquer algorithm , where the problem is divided into smaller and smaller subproblems. (wikipedia.org)
- Divide and conquer - O(n log n) Another O(n log n) algorithm, published in 1977 by Preparata and Hong. (wikipedia.org)

##### Goodrich

- The course text will be "Algorithm Design and Applications" by Goodrich and Tamassia (Wiley, 2015). (uci.edu)

##### 1973

- Kleitman and Wang gave these algorithms in 1973. (wikipedia.org)
- The project moved from Nottingham to Oxford University in 1973, when its name was changed to The Numerical Algorithms Group. (wikipedia.org)

##### Greedy

- Backtracking, dynamic programming, and greedy algorithms are useful tools to solve many problems posed in coding interviews. (springer.com)
- 6. Greedy Algorithms. (informit.com)

##### recursive

- These constructions are based on recursive algorithms. (wikipedia.org)

##### efficient

- They may be asymptotically more efficient than Θ(n log n) algorithms in cases when h = o(n). (wikipedia.org)
- Gift wrapping aka Jarvis march - O(nh) One of the simplest (although not the most time efficient in the worst case) planar algorithms. (wikipedia.org)
- Graham scan - O(n log n) A slightly more sophisticated, but much more efficient algorithm, published by Ronald Graham in 1972. (wikipedia.org)
- An algorithm is said to be efficient when this function's values are small. (wikipedia.org)
- These estimates provide an insight into reasonable directions of search for efficient algorithms. (wikipedia.org)
- In the most general form a problem in this category is usually stated as follows: Given a class of input objects, find efficient algorithms and data structures to answer a certain query about a set of input objects each time the input data is modified, i.e., objects are inserted or deleted. (wikipedia.org)

##### simpler

- The algorithm (and therefore the program code) is simpler than other algorithms, especially compared to strong algorithms that ensure a solution to the most difficult puzzles. (wikipedia.org)

##### quadratic

- The quantum algorithm provides a quadratic improvement in the general case, and an exponential improvement when the input matrices are of low rank. (wikipedia.org)

##### Polynomial

- Recent results -Such as Pearson's polynomial-time algorithm for the coin-changing problem and parameterized complexity. (informit.com)
- is a strongly polynomial algorithm for computing the maximum flow in a flow network . (wikipedia.org)

##### computations

- Other operations specific to the problem in question The overall set of computations for a dynamic problem is called a dynamic algorithm. (wikipedia.org)
- Like in the analysis of "ordinary", sequential, algorithms, one is typically interested in asymptotic bounds on the resource consumption (mainly time spent computing), but the analysis is performed in the presence of multiple processor units that cooperate to perform computations. (wikipedia.org)

##### shortest

- Navigation Celestial navigation Nautical almanac Lunar distance (navigation) Sextant American Practical Navigator Rhumbline network Royal Institute of Navigation (Journal of Navigation) Institute of Navigation (NAVIGATION journal) Shortest path problem and automotive navigation, for navigational algorithms in other domains. (wikipedia.org)

##### Software

- A good understanding of algorithms, and the knowledge of when to apply them, is crucial to producing software that not only works correctly, but also performs efficiently. (oreilly.com)
- In the end, you'll be prepared to build the algorithms and data structures most commonly encountered in day-to-day software development. (oreilly.com)
- Provides a robust Companion Website that supplements the text by providing algorithm simulation software, PowerPoint ® slides, late breaking news about algorithms, references about the book's topics, computer programs, and more. (informit.com)
- Develop algorithms and software to speed communications, compress files, save disk space and band width and enable much faster file sharing. (sourceforge.net)

##### Leiserson

- M. Frigo, C. E. Leiserson, H. Prokop, and S. Ramachandran, "Cacheoblivious algorithms," In FOCS '99: Proceedings of the 40th Annual Symposium on Foundations of Computer Science, 1999. (wikipedia.org)

##### typically

- Cache-oblivious algorithms are typically analyzed using an idealized model of the cache, sometimes called the cache-oblivious model . (wikipedia.org)
- One programmer reported that such an algorithm may typically require as few as 15,000 cycles, or as many as 900,000 cycles to solve a Sudoku, each cycle being the change in position of a "pointer" as it moves through the cells of a Sudoku. (wikipedia.org)

##### consists

- Algorithms that comply with the standard are tested and awarded an "eXpressDSP-compliant" mark upon successful completion of the test The standard consists of a set of general rules and guidelines that should be applied to all algorithms. (wikipedia.org)
- The quantum algorithm consists of several iterations. (wikipedia.org)

##### solve

- Players and investigators may use a wide range of computer algorithms to solve Sudokus, study their properties, and make new puzzles, including Sudokus with interesting symmetries and other properties. (wikipedia.org)
- There are several computer algorithms that will solve most 9×9 puzzles ( n =9) in fractions of a second, but combinatorial explosion occurs as n increases, creating limits to the properties of Sudokus that can be constructed, analyzed, and solved as n increases. (wikipedia.org)
- Some hobbyists have developed computer programs that will solve Sudoku puzzles using a backtracking algorithm, which is a type of brute force search. (wikipedia.org)
- Although it has been established that approximately 6.67 x 10 21 final grids exist, a brute force algorithm can be a practical method to solve Sudoku puzzles. (wikipedia.org)
- Unlike the latter however, optimisation algorithms do not necessarily require problems to be logic-solvable, giving them the potential to solve a wider range of problems. (wikipedia.org)
- The simplex algorithm is able to solve non-proper Sudokus, indicating if the Sudoku is not valid (no solution), or providing the set of answers when there is more than one solution. (wikipedia.org)

##### discusses

- Each chapter focuses on an algorithm, and discusses its design techniques and areas of application. (wikipedia.org)

##### Algebra

- ASCR researchers have developed a new method, derived from commonly used linear algebra methods, to minimize communications between processors and the memory hierarchy, by reformulating the communication patterns specified within the algorithm. (wikipedia.org)
- Code and algorithms for the library were contributed to the project by experts in the project, and elsewhere (for example, some of the linear algebra code was written by Jim Wilkinson, who was an early supporter of the NAG project). (wikipedia.org)

##### known

- Stochastic-based algorithms are known to be fast, though perhaps not as fast as deductive techniques. (wikipedia.org)
- The power of quantum computing may allow solving problems which are not practically feasible on classical computers, or suggest a considerable speed up in respect to the best known classical algorithm. (wikipedia.org)
- Before - Writing about "recipes" (on cooking, rituals, agriculture and other themes) c. 1700-2000 BC - Egyptians develop earliest known algorithms for multiplying two numbers. (wikipedia.org)
- This first edition of the book was also known as "The Big White Book (of Algorithms). (wikipedia.org)

##### 1970

- NAG was founded by Brian Ford and others in 1970 as the Nottingham Algorithms Group, a collaborative venture between the universities of Birmingham, Leeds, Manchester, Nottingham and Oxford, and the Atlas Computer Laboratory (now part of the Rutherford Appleton Laboratory). (wikipedia.org)

##### 2001

- Covers distributed algorithms a topic recommended by the ACM (2001 report) for an undergraduate curriculum. (informit.com)

##### Vector

- GHA - Greenwich Hour Angle Dec - Declination SD - Semidiameter HP - Horizontal Parallax Astronavigation solution for sight reduction for n observations made with a marine sextant & running fixes The algorithms implemented are: For n = 2 observations An analytical solution of the two star sight problem of celestial navigation, James A. Van Allen.Vector Solution for the Intersection of two Circles of Equal Altitude. (wikipedia.org)
- If the points are already sorted by one of the coordinates or by the angle to a fixed vector, then the algorithm takes O(n) time. (wikipedia.org)

##### optimal

- An optimal cache-oblivious algorithm is a cache-oblivious algorithm that uses the cache optimally (in an asymptotic sense, ignoring constant factors). (wikipedia.org)
- Because these algorithms are only optimal in an asymptotic sense (ignoring constant factors), further machine-specific tuning may be required to obtain nearly optimal performance in an absolute sense. (wikipedia.org)
- There are several algorithms which attain this optimal time complexity. (wikipedia.org)

##### computation

- Exact (not asymptotic) measures of efficiency can sometimes be computed but they usually require certain assumptions concerning the particular implementation of the algorithm, called model of computation. (wikipedia.org)
- A key point which is often overlooked is that published lower bounds for problems are often given for a model of computation that is more restricted than the set of operations that you could use in practice and therefore there are algorithms that are faster than what would naively be thought possible. (wikipedia.org)

##### implement

- Free and easy to implement algorithm that can be used for resource leveling in Gantt projects. (sourceforge.net)
- For instance, all XDAIS compliant algorithms must implement an Algorithm Interface, called IALG. (wikipedia.org)

##### develop

- Includes more than 300 worked examples, which provide motivation, clarify concepts, and show how to develop algorithms, demonstrate applications of the theory, and elucidate proofs. (informit.com)

##### problems

- Problems are often caused in algorithm by hard-coding access to system resources that are used by other algorithms. (wikipedia.org)
- Among other quantum algorithms, there are quantum optimization algorithms which might suggest improvement in solving optimization problems. (wikipedia.org)
- Many algorithmic problems stated in terms of fixed input data (called static problems in this context and solved by static algorithms) have meaningful dynamic versions. (wikipedia.org)

##### Strings

- A schema is a template in computer science used in the field of genetic algorithms that identifies a subset of strings with similarities at certain string positions. (wikipedia.org)

##### Search

- There are many interview questions about search and sort algorithms. (springer.com)

##### Mathematics

- Algorithms is a peer-reviewed open access mathematics journal concerning design, analysis, and experiments on algorithms. (wikipedia.org)

##### computer

- We need to test facial recognition on a planetary scale to enable practical applications - testing on a larger scale lets you discover the flaws and successes of recognition algorithms," said Ira Kemelmacher-Shlizerman , a UW assistant professor of computer science and the project's principal investigator. (washington.edu)
- Algorithms Unlocked is a book by Thomas H. Cormen about the basic principles and applications of computer algorithms. (wikipedia.org)
- In computer science, deadlock prevention algorithms are used in concurrent programming when multiple processes must acquire more than one shared resource. (wikipedia.org)
- Since algorithms are platform-independent (i.e. a given algorithm can be implemented in an arbitrary programming language on an arbitrary computer running an arbitrary operating system), there are additional significant drawbacks to using an empirical approach to gauge the comparative performance of a given set of algorithms. (wikipedia.org)

##### Textbook

- The first edition of the book was widely used as the textbook for algorithms courses at many universities and is commonly cited as a reference for algorithms in published papers, with over 10000 citations documented on CiteSeerX. (wikipedia.org)

##### data

- In addition to data structures, algorithms are also quite common topics in interviews. (springer.com)
- With the advent of many data clustering algorithms in the recent few years and its extensive use in wide variety of applications, including image processing, computational biology, mobile communication, medicine and economics, has lead to the popularity of this algorithms. (google.com)
- Main problem with the data clustering algorithms is that it cannot be standardized. (google.com)
- Algorithm developed may give best result with one type of data set but may fail or give poor result with data set of other types. (google.com)
- 3) Clustering algorithm must be able to find clustered data with the arbitrary shape. (google.com)
- 6) Clustering algorithm must be able to deal with data set of high dimensionality. (google.com)
- Packed with detailed explanations and instructive examples, the book begins by offering you some fundamental data structures and then goes on to explain various sorting algorithms. (oreilly.com)
- This book is for anyone who develops applications, or is just beginning to do so, and is looking to understand algorithms and data structures. (oreilly.com)
- For n ≥ 2 observations DeWit/USNO Nautical Almanac/Compac Data, Least squares algorithm for n LOPs Kaplan algorithm, USNO. (wikipedia.org)
- Communication-Avoiding Algorithms minimize movement of data within a memory hierarchy for improving its running-time and energy consumption. (wikipedia.org)
- Decremental algorithms are algorithms in which only deletions of elements are allowed, starting with an initialization of a full data structure. (wikipedia.org)

##### mainly

- Because the quantum algorithm is mainly based on the HHL algorithm, it suggests an exponential improvement in the case where F {\displaystyle F} is sparse and the condition number (namely, the ratio between the largest and the smallest eigenvalues) of both F F † {\displaystyle FF^{\dagger }} and F † F {\displaystyle F^{\dagger }F} is small. (wikipedia.org)

##### scalable

- We use Genetic Algorithms to build a scalable, generic & easy to use solution. (sourceforge.net)
- An algorithm that exhibits linear speedup is said to be scalable. (wikipedia.org)

##### construct

- Both algorithms construct a special solution if one exists or prove that one cannot find a positive answer. (wikipedia.org)

##### 1999

- The standard was first introduced in 1999 and was created to facilitate integration of DSP algorithms into systems without re-engineering cost. (wikipedia.org)

##### optimally

- Cache-oblivious algorithms are contrasted with explicit blocking , as in loop nest optimization , which explicitly breaks a problem into blocks that are optimally sized for a given cache. (wikipedia.org)

##### asymptotic

- Usually asymptotic estimates are used because different implementations of the same algorithm may differ in efficiency. (wikipedia.org)

##### collaborative

- The engine is a library of already tested algorithms,include collaborative filtering. (sourceforge.net)