Reference:
http://en.wikipedia.org/wiki/Enterprise_resource_planning
Part of the foundations of mathematics, Russell's paradox (also known as Russell's antinomy), discovered by Bertrand Russell in 1901, showed that the naive set theory of Frege leads to a contradiction.
It might be assumed that, for any formal criterion, a set exists whose members are those objects (and only those objects) that satisfy the criterion; but this assumption is disproved by a set containing exactly the sets that are not members of themselves. If such a set qualifies as a member of itself, it would contradict its own definition as a set containing sets that are not members of themselves. On the other hand, if such a set is not a member of itself, it would qualify as a member of itself by the same definition. This contradiction is Russell's paradox.
In 1908, two ways of avoiding the paradox were proposed, Russell's type theory and Ernst Zermelo's axiomatic set theory, the first consciously constructed axiomatic set theory. Zermelo's axioms went well beyond Frege's axioms of extensionality and unlimited set abstraction, and evolved into the now-canonical ZFC set theory.
Reference:
http://en.wikipedia.org/wiki/Russell%27s_paradox
In mathematics, computer science and logic, rewriting covers a wide range of potentially non-deterministic methods of replacing subterms of a formula with other terms. What is considered are rewrite systems (also rewriting systems, or term rewriting systems, though the latter term may imply a more specific system) which, in their most basic form, consist of a set of terms, plus relations on how to transform these terms.
Term rewriting can be non-deterministic. One rule to rewrite a term could be applied in many different ways to that term. Rewriting systems then do not provide an algorithm for changing one term to another, but a set of possible substitutions that could be applied. When combined with an appropriate algorithm, however, rewrite systems can be viewed as computer programs, and several declarative programming languages are based on term rewriting.
Reference:
http://en.wikipedia.org/wiki/Term_rewriting
In mathematical optimization theory, the simplex algorithm, created by the American mathematician George Dantzig in 1947, is a popular algorithm for numerical solution of the linear programming problem. The journal Computing in Science and Engineering listed it as one of the top 10 algorithms of the century.
An unrelated, but similarly named method is the Nelder-Mead method or downhill simplex method due to Nelder & Mead (1965) and is a numerical method for optimising many-dimensional unconstrained problems, belonging to the more general class of search algorithms.
In both cases, the method uses the concept of a simplex, which is a polytope of N + 1 vertices in N dimensions: a line segment in one dimension, a triangle in two dimensions, a tetrahedron in three-dimensional space and so forth.
Reference:
http://en.wikipedia.org/wiki/Simplex_algorithm
Constraint satisfaction problems or CSPs are mathematical problems where one must find states or objects that satisfy a number of constraints or criteria. CSPs are the subject of intense research in both artificial intelligence and operations research. Many CSPs require a combination of heuristics and combinatorial search methods to be solved in a reasonable time.
Examples of constraint satisfaction problems:
Eight queens puzzle
Map coloring problem
Sudoku
Boolean satisfiability
Algorithms used for solving constraint satisfaction problems include the AC-3 algorithm, Backtracking, and the min-conflicts algorithm.
Reference:
http://en.wikipedia.org/wiki/Constraint_satisfaction_problem
In both computer science and information science, an ontology is a representation of a set of concepts within a domain and the relationships between those concepts. It is used to reason about the properties of that domain, and may be used to define the domain.
Ontologies are used in artificial intelligence, the Semantic Web, software engineering, biomedical informatics, library science, and information architecture as a form of knowledge representation about the world or some part of it. Common components of ontologies include:
Individuals: instances or objects (the basic or "ground level" objects)
Classes: sets, collections, concepts or types of objects[1]
Attributes: properties, features, characteristics, or parameters that objects (and classes) can have
Relations: ways that classes and objects can be related to one another
Function terms: complex structures formed from certain relations that can be used in place of an individual term in a statement
Restrictions: formally stated descriptions of what must be true in order for some assertion to be accepted as input
Rules: statements in the form of an if-then (antecedent-consequent) sentence that describe the logical inferences that can be drawn from an assertion in a particular form
Axia: assertions (including rules) in a logical form that together comprise the overall theory that the ontology describes, for its domain of application
Events: the changing of attributes or relations
Ontologies are commonly encoded using ontology languages.
Reference:
http://en.wikipedia.org/wiki/Ontology_%28computer_science%29
In mathematics, linear programming (LP) problems involve the optimization of a linear objective function, subject to linear equality and inequality constraints.
Put very informally, LP problems determine the way to achieve the best outcome (such as maximum profit or lowest cost) given some list of requirements represented as linear equation.
More formally, given a polytope (for example, a polygon or a polyhedron), and a real-valued affine function
f(x_1, x_2, ..., x_n) = a_1x_1 + a_2x_2 + ... + a_nx_n + b
defined on this polytope, the goal is to find a point in the polytope where this function has the smallest (or largest) value. Such points may not exist, but if they do, searching through the polytope vertices is guaranteed to find at least one of them.
Linear programs are problems that can be expressed in canonical form:
Maximize c^Tx
Subject to Ax <= b
Where x >= 0
x represents the vector of variables, while c and b are vectors of coefficients and A is a matrix of coefficients. The expression to be maximized or minimized is called the objective function (c^Tx in this case). The equations Ax <= b are the constraints which specify a convex polyhedron over which the objective function is to be optimized.
Linear programming can be applied to various fields of study. Most extensively it is used in business and economic situations, but can also be utilized for some engineering problems. Some industries that use linear programming models include transportation, energy, telecommunications, and manufacturing. It has proved useful in modeling diverse types of problems in planning, routing, scheduling, assignment, and design.
Reference:
http://en.wikipedia.org/wiki/Linear_programming