Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Combinatorial explosion

From Wikipedia, the free encyclopedia
Rapid growth of the complexity of a problem due to its combinatorial properties
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Combinatorial explosion" – news ·newspapers ·books ·scholar ·JSTOR
(September 2014) (Learn how and when to remove this message)

Inmathematics, acombinatorial explosion is the rapid growth of the complexity of a problem due to the way itscombinatorics depends on input, constraints and bounds. Combinatorial explosion is sometimes used to justify the intractability of certain problems.[1][2] Examples of such problems include certain mathematicalfunctions, the analysis of some puzzles and games, and some pathological examples which can be modelled as theAckermann function.

Examples

[edit]

Latin squares

[edit]
Main article:Latin square

ALatin square of ordern is ann ×n array with entries from a set ofn 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,

123
231
312

A common example of a Latin square would be a completedSudoku puzzle.[3] 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) (sequenceA002860 in theOEIS) provides an example of combinatorial explosion as illustrated by the following table.

nThe number of Latin squares of ordern
11
22
312
4576
5161,280
6812,851,200
761,479,419,904,000
8108,776,032,459,082,956,800
95,524,751,496,156,892,842,531,225,600
109,982,437,658,213,039,871,725,064,756,920,320,000
11776,966,836,171,770,144,107,444,346,734,230,682,311,065,600,000

Sudoku

[edit]
Main article:Mathematics of Sudoku

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

nThe number of Sudoku grids of ordern
(boxes are sizen×n)
The number of Latin squares of ordern
(for comparison)
11 1
4288[4]576
96,670,903,752,021,072,936,960[4][5]5,524,751,496,156,892,842,531,225,600
(n = 9 is the commonly played 9 × 9 Sudoku. The puzzle does not include grids wheren isirrational.)

Games

[edit]

One example in a game where combinatorial complexity leads to a solvability limit is insolving chess (a game with 64 squares and 32 pieces). Chess is not asolved game. 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.[6][7]

Furthermore, the prospect of solving larger chess-like games becomes more difficult as the board-size is increased, such as in largechess variants, andinfinite chess.[8]

Computing

[edit]

Combinatorial explosion can occur in computing environments in a way analogous to communications andmulti-dimensional space. Imagine a simple system with only one variable, aBoolean calledA. The system has two possible states,A = true orA = false. Adding another Boolean variableB will give the system four possible states,A = true andB = true,A = true andB = false,A = false andB = true,A = false andB = false. A system withn Booleans has 2n possible states, while a system ofn variables each withZ allowed values (rather than just the 2 (true and false) of Booleans) will haveZn possible states.

The possible states can be thought of as the leaf nodes of atree of heightn, where each node hasZ children. This rapid increase of leaf nodes can be useful in areas likesearching, since many results can be accessed without having to descend very far. It can also be a hindrance when manipulating such structures.

Aclass hierarchy in anobject-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 (likeA < 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 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 allmultiply 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

[edit]

Suppose we take thefactorial ofn:

n!=n(n1)21{\displaystyle 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 smalln. For example, 100! ≈9.33262154×10157, 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.[9]

Communication

[edit]
Using separate lines of communication, four organizations require six channels
Using an intermediary, only one channel per organization is required

In administration andcomputing, acombinatorial 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 actuallypolynomial.)

If two organizations need to communicate about a particular topic, it may be easiest to communicate directly in an ad hoc manner—only onechannel 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 takel=n(n1)2=(n2){\displaystyle l={\frac {n(n-1)}{2}}={n \choose 2}}communication lines forn organizations, which is just the number of 2-combinations ofn elements (see alsoBinomial coefficient).[10]

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

[edit]

References

[edit]
  1. ^Krippendorff, Klaus."Combinatorial Explosion".Web Dictionary of Cybernetics and Systems. PRINCIPIA CYBERNETICA WEB. Archived fromthe original on 6 August 2010. Retrieved29 November 2010.
  2. ^abhttp://intelligence.worldofcomputing/combinatorial-explosionArchived 2011-08-23 at theWayback Machine Combinatorial Explosion.
  3. ^All completed puzzles are Latin squares, but not all Latin squares can be completed puzzles since there is additional structure in a Sudoku puzzle.
  4. ^abSloane, N. J. A. (ed.)."Sequence A107739 (Number of (completed) sudokus (or Sudokus) of size n^2 X n^2)".TheOn-Line Encyclopedia of Integer Sequences. OEIS Foundation. Retrieved14 April 2017.
  5. ^"Sudoku enumeration problems". Afjarvis.staff.shef.ac.uk. Retrieved20 October 2013.
  6. ^http://chessok.com/Lomonosov Endgame Tablebases Lomonosov Endgame Tablebases
  7. ^"7-piece-endgame-tablebase (chess)".Stack Exchange.
  8. ^Aviezri Fraenkel; D. Lichtenstein (1981), "Computing a perfect strategy for n×n chess requires time exponential in n",J. Combin. Theory Ser. A,31 (2):199–214,doi:10.1016/0097-3165(81)90016-9
  9. ^"The Universe By Numbers - The Physics of the Universe".www.physicsoftheuniverse.com. Retrieved2021-08-27.
  10. ^Benson, Tim. (2010).Principles of health interoperability HL7 and SNOMED. New York: Springer. p. 23.ISBN 9781848828032.OCLC 663097524.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Combinatorial_explosion&oldid=1320710579"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp