<h4>9.1 <span class="Heading"> Inversions in Permutations </span></h4>
<p>An inversion in a permutation <span class="SimpleMath">\(\tau=\tau_{1}\ldots\tau_{n}\)</span> is a pair <span class="SimpleMath">\((i,j)\)</span> such that <span class="SimpleMath">\(1\leq i<j\leq n\)</span> and <span class="SimpleMath">\(\tau_{i}>\tau_{j}\)</span> <a href="chapBib_mj.html#biBUpBndStanWilf1324">[CJS11]</a>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ InversionAut</code>( <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: An automaton that accepts all permutations with exactly <code class="code">k</code> inversions.</p>
<p>The rational language of all permutations with a given number , <code class="code">k</code>, of inversions is computed by <code class="code">InversionAut</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ InversionAutOfClass</code>( <var class="Arg">aut</var>, <var class="Arg">inv</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: An automaton accepting all permutations of a class with <code class="code">inv</code> inversions.</p>
<p><code class="code">InversionAutOfClass</code> intersects the rational pattern class with the rational language containing all permutations under the rank encoding that have exactly <codeclass="code">inv</code> inversions.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PlusDecomposableAut</code>( <var class="Arg">aut</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: An automaton that accepts the subset of the class <code class="code">aut</code> containing the plus-decomposable permutations of <code class="code">aut</code>.</p>
<p>The <code class="code">PlusDecomposableAut</code> automaton accepts the language of all plus-decomposable permutations of the encoded class accepted by <code class="code">aut</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PlusIndecomposableAut</code>( <var class="Arg">aut</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: An automaton that accepts all permutations of <code class="code">aut</code> that are not plus-decomposable.</p>
<p>The <code class="code">PlusIndecomposableAutomaton</code> automaton accepts the language of all plus-indecomposable permutations of the encoded class accepted by aut, by rejecting every rank encoding that in the original automaton would have entered and left the accept state before the last letter in the rank encodedpermutation.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MinusDecomposableAut</code>( <var class="Arg">aut</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: An automaton that accepts the subset of the class <code class="code">aut</code> containing the minus-decomposable permutations of <code class="code">aut</code>.</p>
<p>The <code class="code">MinusDecomposableAut</code> automaton accepts the language of all minus-decomposable permutations of the rank encoded class accepted by <code class="code">aut</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MinusIndecomposableAut</code>( <var class="Arg">aut</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: An automaton that accepts all permutations of <code class="code">aut</code> that are not minus-decomposable.</p>
<p>The <code class="code">MinusIndecomposableAut</code> automaton accepts the language of all minus-indecomposable permutations of the encoded class accepted by aut, which is the complement set of the set of minus-decomposable permutations within the class.</p>
<h4>9.3 <span class="Heading"> Language of all non-simple permutations </span></h4>
<p>The regular language of all non-simple rank encoded permutations with highest rank <span class="SimpleMath">\(k\)</span> is described by the following equation,</p>
<p>where <span class="SimpleMath">\(\Sigma\)</span> is the alphabet <span class="SimpleMath">\(\{1,\ldots,k\}\)</span>, <span class="SimpleMath">\(k\in\mathbb{N}\)</span>, <span class="SimpleMath">\(k \geq 3\)</span>.</p>
<p><span class="SimpleMath">\(P_{l}\)</span> is the language of prefixes of rank encoded permutations, where the prefix ends with the total sum of gap sizes to be equal to <span class="SimpleMath">\(l\)</span>.</p>
<p><span class="SimpleMath">\(Q_{i,j}\)</span> is the language of prefixes of rank encoded permutations, where the prefix ends with a gap of size <span class="SimpleMath">\(i\)</span> and the sum of the sizes of gaps below equals to <span class="SimpleMath">\(j\)</span>.</p>
<p><span class="SimpleMath">\(E(\Omega_{k-i})^{+i}\)</span> is the language of <span class="SimpleMath">\(E(\Omega_{k-i})\)</span> <span class="SimpleMath">\(i \in \mathbb{N}\)</span>, with the alphabet shifted upwards by <span class="SimpleMath">\(i\)</span>.</p>
<p><span class="SimpleMath">\(E(\Omega_{k})^{(i)}\)</span> is the sublanguage of <span class="SimpleMath">\(E(\Omega_{k})\)</span> containing the words of length <span class="SimpleMath">\(\leq i\)</span>, <span class="SimpleMath">\(i \in \mathbb{N}\)</span>.</p>
<p><span class="SimpleMath">\(E(\hat{\Omega}_{k})\)</span> is the sublanguage of <span class="SimpleMath">\(E(\Omega_{k})\)</span> excluding the words of length <span class="SimpleMath">\(\leq 1\)</span>.</p>
<p><span class="SimpleMath">\(E(\mathcal{D}_{P}(\Omega_{k}))\)</span> is the language of all plus-decomposable permutations as described in <a href="chapBib_mj.html#biBRegLangPlusMinPerms">[HL13]</a>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LengthBoundAut</code>( <var class="Arg">aut</var>, <var class="Arg">min</var>, <var class="Arg">i</var>, <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The subautomaton of <code class="code">aut</code> that accepts words between (and including) the lengths <code class="code">min</code> and <code class="code">i</code>.</p>
<p>We are taking the automaton <code class="code">aut</code> and it's alphabet k, and find the automaton that accepts all words of aut of length between (and including) min and i.
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ShiftAut</code>( <var class="Arg">i</var>, <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The automaton <span class="SimpleMath">\(\Omega_{k-i}^{+i}\)</span>.</p>
<p>We are shifting the alphabet of <span class="SimpleMath">\(\Omega_{k-i}\)</span> in their values by <span class="SimpleMath">\(i\)</span> to expand to the alphabet <span class="SimpleMath">\(\{1,\ldots,k\}\)</span>, but keeping the automaton structure of <span class="SimpleMath">\(\Omega_{k-i}\)</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NextGap</code>( <var class="Arg">gap</var>, <var class="Arg">rank</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: A list of gap sizes.</p>
<p>Knowing the current available gap sizes <code class="code">gap</code>, which are the number of available spaces in a permutation plot. These gaps are separated by blocks where there are already points inserted. We determine where the next point (known to us as its <code class="code">rank</code>) is being placed and what the next gap sizes are.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GapAut</code>( <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The non-deterministic automaton accepting the rank encoded language of <span class="SimpleMath">\(\Omega_{k}\)</span> and the list of all possible gap sizes.</p>
<p>The automaton accepts the rank encoded permutations of <span class="SimpleMath">\(\Omega_{k}\)</span>, but the automaton is slightly extended through having each state corresponding to a gap size and the start state being the emptyset of gap sizes. The transitions of the automaton are determined through the knowledge of the available spaces and the rank. This is calculated in <code class="code">NextGap</code>. Please note that the index of the gap sizes in the list corresponds to the state of the automaton.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SumAut</code>( <var class="Arg">sum</var>, <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The automaton accepting the language <span class="SimpleMath">\(P_{sum}\)</span>.</p>
<p>This automaton is based on the <code class="code">GapAut</code> where the accept states are chosen by their gap sizes, namely if the total sum of gap sizes equal to <code class="code">sum</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GapSumAut</code>( <var class="Arg">gap</var>, <var class="Arg">sum</var>, <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The automaton accepting the language <span class="SimpleMath">\(Q_{gap,sum}\)</span>.</p>
<p>This automaton is based on the <code class="code">GapAut</code> where the accept states are chosen by their gap sizes, namely if there is a gap size <code class="code">gap</code> and the gap sizes before have a total sum of <code class="code">sum</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NonSimpleAut</code>( <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The automaton accepting all rank encoded non-simple permutations with rank encoding <code class="code">k</code>.</p>
<p>We find the language of all non-simple permutations of the set of all <span class="SimpleMath">\(k\)</span> rank encoded permutations <span class="SimpleMath">\(\Omega_{k}\)</span> using the above equation.</p>
<p>The set of simple permutations of a class is the complement set of the class with the non-simple permutations. We are working in the rank encoding and so in language terms our set of simple permutations <span class="SimpleMath">\(S_{k}\)</span> will be the subset of <span class="SimpleMath">\(\Omega_{k}\)</span></p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SimplePermAut</code>( <var class="Arg">k</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The automaton accepting all rank encoded simple permutations with highest rank encoding <code class="code">k</code>.</p>
<p>We find the language of all simple permutations of the set of all <span class="SimpleMath">\(k\)</span> rank encoded permutations <span class="SimpleMath">\(\Omega_{k}\)</span> using the above equation.</p>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.