HOME

TheInfoList



OR:

In
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
, a combinatorial explosion is the rapid growth of the complexity of a problem due to how the
combinatorics Combinatorics is an area of mathematics primarily concerned with counting, both as a means and an end in obtaining results, and certain properties of finite structures. It is closely related to many other areas of mathematics and has many a ...
of the problem is affected by the input, constraints, and bounds of the problem. Combinatorial explosion is sometimes used to justify the intractability of certain problems.http://intelligence.worldofcomputing/combinatorial-explosion
Combinatorial Explosion.
Examples of such problems include certain mathematical functions, the analysis of some puzzles and games, and some pathological examples which can be modelled as the
Ackermann function In computability theory, the Ackermann function, named after Wilhelm Ackermann, is one of the simplest and earliest-discovered examples of a total computable function that is not primitive recursive. All primitive recursive functions are total ...
.


Examples


Latin squares

A Latin square of order is an array with entries from a set of elements with the property that each element of the set occurs exactly once in each row and each column of the array. An example of a Latin square of order three is given by, : A common example of a Latin square would be a completed
Sudoku Sudoku (; ja, 数独, sūdoku, digit-single; originally called Number Place) is a logic-based, combinatorial number-placement puzzle. In classic Sudoku, the objective is to fill a 9 × 9 grid with digits so that each column, each row ...
puzzle. A Latin square is a combinatorial object (as opposed to an algebraic object) since only the arrangement of entries matters and not what the entries actually are. The number of Latin squares as a function of the order (independent of the set from which the entries are drawn) provides an example of combinatorial explosion as illustrated by the following table.


Sudoku

A combinatorial explosion can also occur in some puzzles played on a grid, such as Sudoku. A Sudoku is a type of Latin square with the additional property that each element occurs exactly once in sub-sections of size (called ''boxes''). Combinatorial explosion occurs as increases, creating limits to the properties of Sudokus that can be constructed, analyzed, and solved, as illustrated in the following table.


Games

One example in a game where combinatorial complexity leads to a solvability limit is in
solving chess Solving chess means finding an optimal strategy for the game of chess, that is, one by which one of the players ( White or Black) can always force a victory, or either can force a draw (see solved game). It also means more generally solving ''che ...
(a game with 64 squares and 32 pieces). Chess is not a
solved game A solved game is a game whose outcome (win, lose or draw) can be correctly predicted from any position, assuming that both players play perfectly. This concept is usually applied to abstract strategy games, and especially to games with full inform ...
. In 2005 all chess game endings with six pieces or fewer were solved, showing the result of each position if played perfectly. It took ten more years to complete the tablebase with one more chess piece added, thus completing a 7-piece tablebase. Adding one more piece to a chess ending (thus making an 8-piece tablebase) is considered intractable due to the added combinatorial complexity. Furthermore, the prospect of solving larger chess-like games becomes more difficult as the board-size is increased, such as in large
chess variants A chess variant is a game related to, derived from, or inspired by chess. Such variants can differ from chess in many different ways. "International" or "Western" chess itself is one of a family of games which have related origins and could be c ...
, and infinite chess.


Computing

Combinatorial explosion can occur in computing environments in a way analogous to communications and multi-dimensional space. Imagine a simple system with only one variable, a boolean called ''A''. The system has two possible states, ''A'' = true or ''A'' = false. Adding another boolean variable ''B'' will give the system four possible states, ''A'' = true and ''B'' = true, ''A'' = true and ''B'' = false, ''A'' = false and ''B'' = true, ''A'' = false and ''B'' = false. A system with ''n'' booleans has 2''n'' possible states, while a system of ''n'' variables each with ''Z'' allowed values (rather than just the 2 (true and false) of booleans) will have ''Z''''n'' possible states. The possible states can be thought of as the leaf nodes of a
tree In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, including only woody plants with secondary growth, plants that are ...
of height ''n'', where each node has ''Z'' children. This rapid increase of leaf nodes can be useful in areas like
searching Searching or search may refer to: Computing technology * Search algorithm, including keyword search ** :Search algorithms * Search and optimization for problem solving in artificial intelligence * Search engine technology, software for findin ...
, since many results can be accessed without having to descend very far. It can also be a hindrance when manipulating such structures. A
class hierarchy A class hierarchy or inheritance tree in computer science is a classification of object types, denoting objects as the instantiations of classes (class is like a blueprint, the object is what is built from that blueprint) inter-relating the vario ...
in an object-oriented language can be thought of as a tree, with different types of object inheriting from their parents. If different classes need to be combined, such as in a comparison (like ''A'' < ''B'') then the number of possible combinations which may occur explodes. If each type of comparison needs to be programmed then this soon becomes intractable for even small numbers of classes.
Multiple inheritance Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit features from more than one parent object or parent class. It is distinct from single inheritance, where an object or ...
can solve this, by allowing subclasses to have multiple parents, and thus a few parent classes can be considered rather than every child, without disrupting any existing hierarchy. An example is a taxonomy where different vegetables inherit from their ancestor species. Attempting to compare the tastiness of each vegetable with the others becomes intractable since the hierarchy only contains information about genetics and makes no mention of tastiness. However, instead of having to write comparisons for carrot/carrot, carrot/potato, carrot/sprout, potato/potato, potato/sprout, sprout/sprout, they can all multiply inherit from a separate class of tasty whilst keeping their current ancestor-based hierarchy, then all of the above can be implemented with only a tasty/tasty comparison.


Arithmetic

Suppose we take the
factorial In mathematics, the factorial of a non-negative denoted is the product of all positive integers less than or equal The factorial also equals the product of n with the next smaller factorial: \begin n! &= n \times (n-1) \times (n-2) \ ...
of ''n'': :n! = n \cdot (n-1) \cdot \ldots \cdot 2 \cdot 1 Then 1! = 1, 2! = 2, 3! = 6, and 4! = 24. However, we quickly get to extremely large numbers, even for relatively small ''n''. For example, 100! ≈ , a number so large that it cannot be displayed on most calculators, and vastly larger than the estimated number of fundamental particles in the observable universe.


Communication

In administration and
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
, a combinatorial explosion is the rapidly accelerating increase in communication lines as organizations are added in a process. (This growth is often casually described as "exponential" but is actually
polynomial In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An exampl ...
.) If two organizations need to communicate about a particular topic, it may be easiest to communicate directly in an ad hoc manner—only one channel of communication is required. However, if a third organization is added, three separate channels are required. Adding a fourth organization requires six channels; five, ten; six, fifteen; etc. In general, it will take l=\frac = communication lines for ''n'' organizations, which is just the number of 2-
combination In mathematics, a combination is a selection of items from a set that has distinct members, such that the order of selection does not matter (unlike permutations). For example, given three fruits, say an apple, an orange and a pear, there are th ...
s of ''n'' elements (see also
Binomial coefficient In mathematics, the binomial coefficients are the positive integers that occur as coefficients in the binomial theorem. Commonly, a binomial coefficient is indexed by a pair of integers and is written \tbinom. It is the coefficient of the t ...
). The alternative approach is to realize when this communication will not be a one-off requirement, and produce a generic or intermediate way of passing information. The drawback is that this requires more work for the first pair, since each must convert its internal approach to the common one, rather than the superficially easier approach of just understanding the other.


See also

* Birthday problem *
Exponential growth Exponential growth is a process that increases quantity over time. It occurs when the instantaneous rate of change (that is, the derivative) of a quantity with respect to time is proportional to the quantity itself. Described as a function, a ...
*
Metcalfe's law Metcalfe's law states that the value of a telecommunications network is proportional to the square of the number of connected users of the system (''n''2). First formulated in this form by George Gilder in 1993, and attributed to Robert Metcalf ...
*
Curse of dimensionality The curse of dimensionality refers to various phenomena that arise when analyzing and organizing data in high-dimensional spaces that do not occur in low-dimensional settings such as the three-dimensional physical space of everyday experience. T ...
*
Information explosion The information explosion is the rapid increase in the amount of published information or data and the effects of this abundance. As the amount of available data grows, the problem of managing the information becomes more difficult, which can lead ...
*
Intractability (complexity) In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and relating these classes to each other. A computational problem is a task solved b ...
*
Second half of the chessboard The wheat and chessboard problem (sometimes expressed in terms of rice grains) is a mathematical problem expressed in textual form as: The problem may be solved using simple addition. With 64 squares on a chessboard, if the number of grains d ...


References

{{reflist, 33em Combinatorics Combinatorial game theory Game theory