|
2. In optimisation problems (solutions management), heuristic algorithms do not try to find an optimal solution, but an approximate solution where the time or resources are limited. They are not practical to find perfect solutions. An example of this would be local search, service desk management, tabu search, or simulated annealing algorithms, a class of heuristic probabilistic algorithms that vary the solution of a problem...
[more]
|
 |
|
|
Search and enumeration. Many problems (such as playing chess) can be modelled as problems on graphs. A graph exploration advanced search algorithms specifies rules for moving around a graph and is useful for such problems. This category also includes search algorithms, branch and bound enumeration and backtracking.
1. Randomised algorithms are those that make some choices randomly (or pseudo-randomly); for some problems, it can in fact be proven that the...
[more]
|
 |
|
|
# Linear programming. Solving a knowledge management technology problem using linear programming, specific inequalities involving the inputs are found and then an attempt is made to maximise (or minimise) some linear function of the inputs. Many problems (such as the maximum flow for directed graphs) can be stated in a linear programming way, and then be solved by a 'generic' algorithm such as the simplex algorithm. A more complex variant of linear programming...
[more]
|
 |
|
|
# The greedy knowledge base system method. A greedy algorithm is similar to a dynamic programming algorithm, but the difference is that solutions to the subproblems do not have to be known at each stage; instead a "greedy" choice can be made of what looks best for the moment (can be used in CRM software). The greedy method extends the solution with the best possible decision (not all feasible decisions) at an algorithmic...
[more]
|
 |
|
|
Dynamic programming and information retrieval. When a problem shows optimal substructure, meaning the optimal solution to a problem can be constructed from optimal solutions to subproblems, and overlapping subproblems, meaning the same subproblems are used to solve many different problem instances, a quicker approach called dynamic programming avoids recomputing solutions that have already been computed. For example, the shortest path to a goal from a vertex...
[more]
|
 |
|
|
By design paradigm
Another way of classifying algorithms is by their design methodology or paradigm. There is a certain number of paradigms, each different from the other. Furthermore, each of these categories will include many different types of algorithms. Some commonly found paradigms include:
* Brute-force or exhaustive search. This is the naïve method of trying every possible solution to see which is best (used in CRM web based).
* Divide and...
[more]
|
 |
|
|
* Serial or parallel or distributed: Algorithms are usually discussed with the assumption that computers execute one instruction of an algorithm at a time. Those computers are sometimes called serial computers. An algorithm designed for such an environment is called a serial algorithm, as opposed to parallel algorithms or distributed algorithms as associated with problem management. Parallel algorithms take advantage of computer architectures and your <a...
[more]
|
 |
|