Content deleted Content added
→See also: no longer exists |
|||
(59 intermediate revisions by 29 users not shown) | |||
Line 1:
{{Short description|Pair of positions in a sequence where two elements are out of sorted order}}
[[File:Inversion qtl1.svg|thumb|Permutation with one of its inversions highlighted.
An inversion may be denoted by the pair of places (2, 4) or the pair of elements (5, 2).
The inversions of this permutation using element-based notation are: (3, 1), (3, 2), (5, 1), (5, 2), and (5,4).]]
In [[computer science]] and [[discrete mathematics]], an '''inversion''' in a sequence is a pair of elements that are out of their natural [[total order|order]].
== Definitions ==
Line 6 ⟶ 9:
===Inversion===
Let <math>\pi</math> be a [[permutation]].
There is an '''inversion''' of <math>\pi</math> between <math>i</math> and <math>j</math> if <math>i < j</math> and <math>\pi(i) > \pi(j)</math>. The inversion is indicated by an ordered pair containing either the places <math>(i, j)</math>{{sfn|Aigner|2007|pp=27}}{{sfn|Comtet|1974|pp=237}} or the elements <math>\bigl(\pi(i), \pi(j)\bigr)</math>.{{sfn|Knuth|1973|pp=11}}{{sfn|Pemmaraju|Skiena|2003|pp=69}}{{sfn|Vitter|Flajolet|1990|pp=459}}
The [[#Example:_All_permutations_of_four_elements|inversion set]] is the set of all inversions. A permutation's inversion set using place-based notation is the same as the [[Permutation#Definition|inverse permutation's]] inversion set using element-based notation with the two components of each ordered pair exchanged. Likewise, a permutation's inversion set using element-based notation is the same as the inverse permutation's inversion set using place-based notation with the two components of each ordered pair exchanged.{{sfn|Gratzer|2016|pp=221}}
Inversions are usually defined for permutations, but may also be defined for sequences:<br>Let <math>S</math> be a [[sequence]] (or [[multiset]] permutation{{sfn|Bóna|2012|pp=57}}). If <math>i < j</math> and <math>S(i) > S(j)</math>, either the pair of places <math>(i, j)</math>{{sfn|Bóna|2012|pp=57}}{{sfn|Cormen|Leiserson|Rivest|Stein|2001|pp=39}} or the pair of elements <math>\bigl(S(i), S(j)\bigr)</math>{{sfn|Barth|Mutzel|2004|pp=183}} is called an inversion of <math>S</math>.
For sequences, inversions according to the element-based definition are not unique, because different pairs of places may have the same pair of values.
===Inversion number===
The '''inversion number''' <math>\mathtt{inv}(X)</math>{{sfn|Mannila|1985}} of a sequence <math>X=\langle x_1,\dots,x_n\rangle</math>, is the [[cardinality]] of the inversion set. It is a common measure of
For example <math>\mathtt{inv}(\langle1,2,\dots, n\rangle)=0</math> since the sequence is ordered. Also, when <math>n = 2m</math> is even, <math>\mathtt{inv}(\langle m+1,m+2,\dots,2m,1,2,\dots, m\rangle)=m^2</math> (because each pair <math>(1\le i\le m < j\le 2m)</math> is an inversion). This last example shows that a set that is intuitively "nearly sorted" can still have a quadratic number of inversions.
The inversion number is the number of crossings in the arrow diagram of the permutation,{{sfn|Gratzer|2016|pp=221}} the permutation's [[Kendall tau distance]] from the identity permutation, and the sum of each of the inversion related vectors defined below.
Other measures of
===Inversion related vectors===
Line 29 ⟶ 32:
Three similar vectors are in use that condense the inversions of a permutation into a vector that uniquely determines it. They are often called ''inversion vector'' or ''[[Lehmer code]]''. (A list of sources is found [[v:Inversion (discrete mathematics)#Sources|here]].)
This article uses the term ''inversion vector'' (<math>v</math>) like [[Wolfram Mathematica|Wolfram]].<ref>
[[File:Inversion example; Rothe 1.svg|thumb|Rothe diagram]]
'''Inversion vector <math>v</math>:'''<br>With the ''element-based'' definition <math>v(i)</math> is the number of inversions whose ''smaller'' (right) component is <math>i</math>.{{sfn|Knuth|1973|pp=11}}
:<math>v(i)</math> is the number of elements in <math>\pi</math> greater than <math>i</math> before <math>i</math>.
:<math>v(i) ~~=~~ \# \{ k \mid k > i ~\
'''Left inversion count <math>l</math>:'''<br>With the ''place-based'' definition <math>l(i)</math> is the number of inversions whose ''bigger'' (right) component is <math>i</math>.
:<math>l(i)</math> is the number of elements in <math>\pi</math> greater than <math>\pi(i)</math> before <math>\pi(i)</math>.
:<math>l(i) ~~=~~ \# \left\{ k \mid k < i ~\
'''Right inversion count <math>r</math>, often called ''[[Lehmer code]]'':'''<br>With the ''place-based'' definition <math>r(i)</math> is the number of inversions whose ''smaller'' (left) component is <math>i</math>.
:<math>r(i)</math> is the number of elements in <math>\pi</math> smaller than <math>\pi(i)</math> after <math>\pi(i)</math>.
:<math>r(i) ~~=~~ \# \{ k \mid k > i ~\
Both <math>v</math> and <math>r</math> can be found with the help of a
==Example: All permutations of four elements==
[[File:2-element subsets of 4 elements; array, hexagonal.svg|thumb|The six possible inversions of a 4-element permutation]]
The following sortable table shows the 24 permutations of four elements (in the <math>\pi</math> column) with their place-based inversion sets (in the p-b column), inversion related vectors (in the <math>v</math>, <math>l</math>, and <math>r</math> columns), and inversion numbers (in the # column). (The
It can be seen that <math>v</math> and <math>l</math> always have the same digits, and that <math>l</math> and <math>r</math> are both related to the place-based inversion set. The nontrivial elements of <math>l</math> are the sums of the descending diagonals of the shown triangle, and those of <math>r</math> are the sums
The default order of the table is reverse colex order by <math>\pi</math>, which is the same as colex order by <math>l</math>. Lex order by <math>\pi</math> is the same as lex order by <math>r</math>.
Line 71:
The set of permutations on ''n'' items can be given the structure of a [[partial order]], called the '''weak order of permutations''', which forms a [[lattice (order)|lattice]].
The [[Hasse diagram]] of the inversion sets ordered by the [[subset]] relation forms the [[skeleton (topology)|skeleton]] of a [[permutohedron]].
If a permutation is assigned to each inversion set using the place-based definition, the resulting order of permutations is that of the permutohedron, where an edge corresponds to the swapping of two elements with consecutive values. This is the weak order of permutations. The identity is its minimum, and the permutation formed by reversing the identity is its maximum.
If a permutation were assigned to each inversion set using the element-based definition, the resulting order of permutations would be that of a [[Cayley graph]], where an edge corresponds to the swapping of two elements on consecutive places. This Cayley graph of the symmetric group is similar to its permutohedron, but with each permutation replaced by its inverse.
== See also ==
{{wikiversity|Inversion (discrete mathematics)}}
* [[Factorial number system]]
* [[Permutation graph]]
* [[Damerau–Levenshtein distance]]
* [[Parity of a permutation]]
Line 151 ⟶ 90:
* Inversion sets of finite permutations interpreted as binary numbers: {{OEIS link|A211362}} (related permutation: {{OEIS link|A211363}})
* Finite permutations that have only 0s and 1s in their inversion vectors: {{OEIS link|A059590}} (their inversion sets: {{OEIS link|A211364}})
*
* Number of connected labeled graphs with ''n'' edges and ''n'' nodes: {{OEIS link|A057500}}
Line 158 ⟶ 97:
=== Source bibliography ===
{{refbegin
* {{cite book
| last = Aigner | first = Martin
| title = A course in enumeration
| chapter = Word Representation
| publisher = Springer | ___location = Berlin, New York | year = 2007 | isbn =
* {{cite journal
| first1 = Wilhelm | last1 = Barth
| first2 = Petra | last2 = Mutzel |author2-link = Petra Mutzel
| title = Simple and Efficient Bilayer Cross Counting
| journal = [[Journal of Graph Algorithms and Applications]] | volume = 8 | issue = 2 | pages = 179–194 | year = 2004 | doi = 10.7155/jgaa.00088| doi-access = free }}
* {{cite book
| last = Bóna | first = Miklós | author-link = Miklós Bóna
| title = Combinatorics of permutations
| chapter = 2.2 Inversions in Permutations of Multisets
| publisher = CRC Press | ___location = Boca Raton, FL | year = 2012 | isbn =
* {{cite book
| last = Comtet | first = Louis
| title = Advanced combinatorics; the art of finite and infinite expansions
|url = https://archive.org/details/Comtet_Louis_-_Advanced_Coatorics
| chapter = 6.4 Inversions of a permutation of [n]
| publisher = D. Reidel Pub. Co | ___location = Dordrecht, Boston | year = 1974 | isbn = 9027704414 }}
* {{cite book
| first1=Thomas H. |last1=Cormen |authorlink1=Thomas H. Cormen
| last2=Leiserson |first2=Charles E. |authorlink2=Charles E. Leiserson
Line 195 ⟶ 131:
| edition = 2nd
}}
* {{cite book
| last = Gratzer | first = George | authorlink = George Grätzer
| title = Lattice theory. special topics and applications
| chapter = 7-2 Basic objects
| publisher = Birkhäuser | ___location = Cham, Switzerland | year = 2016 | isbn =
* {{cite book
|last1=Kleinberg|first1=Jon
|last2=Tardos|first2=Éva
|title=Algorithm Design
|year=2005
|publisher=Pearson/Addison-Wesley
|isbn=0-321-29535-8 }}
* {{cite book
| last1 = Knuth | first1 = Donald
| title = [[The
| chapter = 5.1.1 Inversions
| publisher = Addison-Wesley Pub. Co | year = 1973 | isbn = 0201896850}}
* {{cite book
|title=Sorting: a distribution theory
|chapter=Sorting Nonrandom Data
Line 215 ⟶ 155:
|first=Hosam Mahmoud |last=Mahmoud
|publisher=Wiley-IEEE |year=2000 |isbn=978-0-471-32710-3}}
* {{cite book
|title=Computational discrete mathematics: combinatorics and graph theory with Mathematica
|chapter=Permutations and combinations
Line 222 ⟶ 161:
|first2=Steven S.|last2=Skiena
|publisher=Cambridge University Press |year=2003 |isbn=978-0-521-80686-2}}
* {{cite book
|title=Algorithms and Complexity
|volume=1
Line 237 ⟶ 175:
=== Further reading ===
{{refbegin}}
* {{cite journal|journal=Journal of Integer Sequences|volume=4|year=2001|title=Permutations with Inversions|first=Barbara H.|last=Margolius|page=24|bibcode=2001JIntS...4...24M}}
{{refend}}
=== Presortedness measures ===
{{refbegin}}
*{{cite journal
| last = Mannila | first = Heikki | author-link = Heikki Mannila
| date = April 1985
| doi = 10.1109/tc.1985.5009382
| issue = 4
| journal = IEEE Transactions on Computers
| pages = 318–325
| title = Measures of presortedness and optimal sorting algorithms
| volume = C-34}}
* {{cite journal|first1=Vladimir|last1=Estivill-Castro|first2=Derick|last2=Wood|author2-link=Derick Wood|title=A new measure of presortedness|journal=Information and Computation|volume=83|issue=1|pages=111–119|year=1989|doi=10.1016/0890-5401(89)90050-3|doi-access=free}}
* {{cite journal|first=Steven S.|last=Skiena|year=1988|title=Encroaching lists as a measure of presortedness|journal=BIT|volume=28|issue=4|pages=755–784|doi=10.1007/bf01954897|s2cid=33967672}}
{{refend}}
[[Category:Permutations]]
[[Category:Order theory]]
[[Category:String
[[Category:Sorting algorithms]]
[[Category:Combinatorics]]
|