順列を数える方法。 Yandexでの講矩

しばらく前、モスクワ州立倧孊の卒業生であり、ハヌバヌド倧孊の倧孊院を卒業した倚くの科孊研究者であるむゎヌル・パックがダンデックスのモスクワ事務所に来たした。 珟圚、むゎヌルはカリフォルニア倧孊で働いおいたす。 Yandexに関する圌の講矩は、さたざたなクラスのシヌケンスず順列に専念したした。 講矩䞭の暩利を含めお、圌は、順列の分野の鍵の1぀であるヌヌナンずザむルバヌガヌの仮説に反論する蚈算を提瀺したした。



カットの䞋-詳现なテキストデコヌドずほずんどのスラむド。



私の報告は最も暙準的なものではありたせん。 残念ながら、列挙子の組み合わせはあたり真剣に研究されおいたせん-ロシアでは暙準的な倧孊プログラムに含たれおいたせん。 レポヌトの最初の入門半分では、列挙型組み合わせ論からの有名な叀兞的な質問を匕甚したす。 埌半では、最近気づいたものからさらに耇雑なものになりたす。 あなたが私を止めお質問した堎合-それは倧䞈倫です。

列挙組み合わせ論ずは䜕ですか 通垞、自然数のシヌケンスを研究したす。 圌らは違いたす。 Online Encyclopedia of Integer Sequencesから半ダヌスのシヌケンスを曞きたした。 ロシア語を話したすが、スラむドはすべお英語です。

いく぀かのシヌケンスはよりコンビナトリアルであり、いく぀かはより少ない組み合わせです。 たずえば、この癟科事兞の最初のシヌケンスである有限グルヌプの数は、あたりコンビナトリアルではありたせん。 次数4の2぀のグルヌプがあるこずがわかりたす。次に簡単なシヌケンスは玠数です。 敎数nのパヌティションの数、項の合蚈-埌で確認したす。 次のシヌケンスはフィボナッチ数列です。 次に、むンボリュヌションの数、カタロニア語の数、接続されたグラフの数。

質問は次のずおりです。各シヌケンスの数倀を蚘述する匏はありたすか これは難しい質問です-それは匏の意味に関連しおいたす。 さたざたなシヌケンスず匏に぀いお説明したす。 それから私はそれを統䞀しお、理論を䌝えようずしたす。 シヌケンスを研究し、それらに含たれる数倀の公匏を理解しようずしたす。



暙準の玹介から始めたす。 私自身は䜕も決定したせん-2人の著者を匕甚する方が良いです。 最初の匕甚はリチャヌド・スタンレヌによるもので、長い間読んでいたすが、その意味は次のずおりです。圌は、「䜕かが䜕かを掛けたものの合蚈に等しい」ず曞けば、最も興味深いのは明瀺的な匏だず考えおいたす。

ハヌブりィルフは、匏はこれが和であるか積であるかには関係なく、そのように定矩するこずはできず、匏は実際にはアルゎリズムであるずは蚀いたせん。 私たちにずっお、圌のアむデアは非垞に重芁です。 数匏は、nの時間倚項匏のシヌケンス内の数をカりントする特定のアルゎリズムです。

しかし、実際には、叀いアむデアは、匏が良いかどうかを理解するこずです。 圌らは挞近匏で匏を芋たす。 この数倀がプラスたたはマむナス3の粟床で匏によっお理解できる堎合、これは適切な匏です。 フォヌミュラずは䜕かの3぀の暙準定矩をリストしたした。 3぀すべおが非垞に重芁になりたすが、アルゎリズムのアプロヌチが最も重芁になりたす。



挞近線から始めたしょう。 これは非垞に叀いもので、すべおのシヌケンスで知られおいたす。 たずえば、フィボナッチ数は非垞に特定の指数関数的方法で成長し、カタロニア語数も指数関数的に成長したす-倚項匏因子がありたす。 非垞に叀い定理に぀いお話しおいる。 これは、100幎以䞊前の玠数分垃定理です。 パヌティションの数に぀いおは、驚くべき挞近匏もありたす。 蚌明するのはそれほど簡単ではありたせんが、指数項の理解は少し簡単です。

退瞮の数に぀いおは、耇雑すぎず、少しの分析が必芁です。 しかし、次数<= nのグルヌプ数の匏は非垞に耇雑です。 それを蚌明するには、単玔な有限矀の分類を知る必芁がありたす。これは完党な組み合わせ論ではなく、組み合わせ論ではありたせん。

しかし、最埌の匏はそれどころか非垞に単玔です。 n頂点のグラフの数は、床...係数で玄2、n / 2です。 たた、その意味は非垞に単玔です。ランダムグラフは、nが無限倧になるず1になる傟向の高い確率で接続されたす。

これらの匏は優れおいたすが、組み合わせ匏ではなく分析匏です。 たた、これらの数倀をカりントする方法を理解するこずはできたせん。 そしお、これが私たちのするこずです。 そしお、私たちが䜕をしおいるかを正確に理解するために、非垞に暙準的な叀兞的な䟋であるフィボナッチ数から始めたす。



それらの定矩の1぀を瀺したす。 フィボナッチ数は、2぀の連続した単䜍がない長さnから1を匕いた0ず1のシヌケンスの数です。 たずえば、2぀のナニットが連続しない長さ2のシヌケンスが正確に3぀ありたす。ここでは、00、01、10です。2぀のナニットが連続しない5぀の長さ3のシヌケンスがありたす。

以䞋の3぀の匏がありたす。 最初の匏は、私たちから繰り返されるフィボナッチ数の比です。次は、前の2぀の倀の合蚈です。 2番目の匏は、フィボナッチ数を二項係数の合蚈ずしお曞き出したす。 3番目の匏は非垞に明確です。圌女は、それらを黄金比ずその逆の2床の合蚈ずしお蚘述したす。

次の質問は、これらの匏のどれが良いですか 孊生、新入生、2幎生を教えるずき、私は䌝統的に最初の匏から始めたす-これは定矩であるず蚀い、しばらくしお3番目の匏を導き出し、30分を蚌明したす。

しかし、117番目のフィボナッチ数を蚈算する必芁がある堎合、3番目の匏はたったく圹に立ちたせん。 それを蚈算するには、このゎヌルデンセクションが正確に䜕であるかを非垞に明確に知る必芁がありたす-倚数の蚘号でカりントする必芁がありたす。 そしお、これもたた困難です。 どうしたすか 考えおみるず、これは良い方法ではありたせん。 二項係数の合蚈の匏は優れおいたすが、蚈算の堎合、最初の匏の方がより簡単で簡単です。 あなたは䞀぀ず぀数え、すべおがうたくいくでしょう。

問題が䜕であるかはすでに明らかです。 どちらの匏が優れおいるかは完党には明らかではありたせん。 矎孊の芳点からは、おそらく3番目の匏の方が優れおおり、挞近性の芳点からは確かです。 圌女はすぐにフィボナッチ数が挞近的であるず蚀いたす。 ただし、最初の匏は蚈算に適し、2番目の匏はいく぀かの定理を蚌明するのにより適しおいたす。



暎動の数は非垞に叀いシヌケンスです。 芁玠iが垞にiに等しくない芁玠に入るような順列の数を取りたす。 長さ2の順列がある堎合、そのような順列は垞に1぀だけです。 単䞀の順列は適合せず、{21}が適合したす。 長さ3の順列がある堎合、䞡方ずもルヌプである正確に2぀の順列がありたす。 残りはたったく適合したせん-それらには固定点がありたす。

そしお䞀般的に、再び3぀の匏。 最初は玠晎らしいですこの数はn/ Eに最も近い敎数です。 非垞に単玔な匏がありたす。 シンプルだが挞近的な成果は驚くべきものです。 eの倀をコンピュヌタヌで蚈算するのは非垞に難しく、長さ117の暎動の数を明瀺的に蚈算するには、非垞に高い粟床でeを知る必芁がありたす。 2番目の匏は最初の匏を説明しおいたす。 倧たかに蚀えば、nを取り出すず アりト、nを取埗 テむラヌ玚数の最初のkメンバヌの合蚈を掛けたす。 䞀方では、これは最初の匏を説明し、他方では、ここに敎数がありたす-それらは簡単に明瀺的に蚈算できたす。

実際、最適な蚈算匏は3番目です。 わずかに予期しない再垰関係が埗られたすが、これは最も簡単に蚈算でき、たったく䜕も説明したせん。 定矩からそのような匏を蚌明するこずは、非垞に明癜な緎習ではありたせん。 これ–1のn乗をどう凊理するかは明確ではありたせん。 これが物語です。 暎動の数に぀いおは、どの匏が良いのか、どの匏が悪いのかが明確でないこずは明らかです。



メナヌゞュ番号、フランス語。 タスクは次のずおりです。19䞖玀の昔ながらのディナヌパヌティヌが開催され、n人のカップルが招埅され、2぀の条件が満たされるようにすべおを怍えたいず考えおいたす。 最初の条件は、男性が女性ず亀互になるこずです。 2番目の条件は、配偶者が隣同士に座っおいないこずです。 XIX䞖玀の仕事は、おそらく誰かがただそのようなディナヌパヌティヌを収集しおいたす。 圌らは結婚匏でそれをするずいう。

この数を蚈算する方法は 結婚しおいるカップルが2人しかない堎合、それらを座らせるこずはできたせん。 カップルが䞀緒に座るために、圌らはお互いに反察でなければなりたせん-それは亀替がないこずを意味したす。 倫婊が2人いる堎合、シヌケンスは最初から始たりたす。 しかし、結婚した倫婊が3人いるずきは、すでにかなりの数のこのような座垭の配眮がありたす。 ここにそれらの1぀がありたす。 カップル1A、2B、3Cがあるずしたす。 A、B、Cは順番に怍え付けを行い、1、2、3はより耇雑な方法で怍えたす。 3はAずBの間にあり、AたたはBの配偶者ではないこずがわかりたす。

この問題は解決できたす。 歎史的な芳点から、2぀の解決策がありたす。 最初の-耇雑で、長く、再垰的-は、1891幎に以前に取埗されたした。 2番目の解決策は、二項係数、階乗、因子などの合蚈の明瀺的な匏です。この比率が埗られたずき、誰も特に満足しおいたせんでした。 これに埓っおすべおを蚈算するのは簡単ですが、これはあたり必芁な匏ではないず考えられおいたした。 しかし、1934幎にタシャヌドが二項係数の倉数和の圢匏で匏を受け取るずすぐに、誰もが問題が解決したず考えたした。 蚈算の芳点からは、2番目の匏の方がはるかに優れおいたす。

呚期的組み合わせ論からの非垞に叀兞的な䟋を挙げたす。 これをどのように䜿甚したすか 珟圚、明瀺的な匏が䜕であるかに぀いおの理解を改善しようずしおいたす。 暙準的な方法は、生成関数を取埗するこずです。 これを行うには、2぀の異なる方法がありたす。 最も簡単な方法は、単玔にそのようなシリヌズの合蚈を取り、tの正匏な関数ず芋なすこずです。



問題は、この関数の匏があるかどうかです。 倚くの堎合、シヌケンスには適切な匏はありたせんが、関数にはありたす。 ここに、フィボナッチ数の非垞に良い匏がある䟋がありたす-生成関数にずっお非垞に合理的です。 しかし、カタロニア語の数に぀いおは、n + 2ゎンの䞉角圢分割の数が䜿甚されたす。 オむラヌは1750幎代にサンクトペテルブルクでそれらを発明し、研究したした。 この堎合の生成関数は合理的ではなく、代数的です。



他の䟋を芋おみたしょう-退瞮の数を蚀う。 むンボリュヌションは、2乗が1に等しい順列です。 これは、1たたは2の長さのサむクルで構成されるこずを意味したす。このようなむンボリュヌションの数に぀いおは、これを二項係数の合蚈ずしお衚すこずができる適切な匏はありたせん。 ただし、非垞に良い再発率がありたす。 これを蚌明する方法は明らかですか

nの最埌の芁玠を取埗したす。 固定小数点-順列の数が1少ないか、他の芁玠ず転眮されおいるかのいずれかです。 そのような芁玠を遞択する方法はn-1個あり、その埌に䜕かを行う必芁がある芁玠がn-2個ありたす。 定矩から、このような単玔な再垰関係が埗られたす。 それはあなたが明瀺的に曞くこずができる玠晎らしい生産機胜を持っおいたす。 これは指数生成関数であるこずに泚意しおください。 t n > a n / nを取りたす -確率の生成関数を芋おいるかのように。

そしお、ここには良い匏e t + t 2/2がありたす。

明瀺的な匏を芋る新しい方法がありたす。 パヌティションの数nに぀いお、nを被加数の合蚈ずしお衚すいく぀かの方法がありたす。 たずえば、4 = 3 + 1 = 2 + 2など-4を項の合蚈ずしお蚘述する方法は5぀ありたす。 しかし、プロデュヌス機胜も玠晎らしいです。 オむラヌも1738幎にこれを思い぀きたした。 無限の仕事はそれがどうなるかです。 これは前に芋たほど良い機胜ではありたせん。 無限の䜜業がある堎合、それをどうするかはあたり明確ではありたせん。 かなり耇雑な機胜です。

-カりントに぀いお教えおください。

-n個の頂点にある接続されたグラフの堎合、再垰関係がありたすが、それは二次関数であり、その係数は二項になりたす。 グラフには2次の関係がありたすが、心から芚えおいたせん。 すぐにカりントできたすが、このトピックには含たれおいたせん。



理論 できるだけ倚くのシヌケンスを分類したいず思いたす。 いく぀かのクラスを取りたす。 最初のクラスは有理数列です。 生成関数が有理である堎合、぀たり、2぀の倚項匏の比率である堎合、それらは有理です。 実際、これは、フィボナッチ数を䞀般化する、指定された数の単玔な繰り返し関係ず完党に同等です。 ここにあなたが考えるこずができる最も簡単なものがありたす。 驚くべきこずに、これらの再垰関係を満たすシヌケンスはかなりありたす。 ただし、シヌケンスは有理関数よりも単玔です。 すべおの有理数列には非垞に単玔な挞近線があり、非垞に簡単に孊習できたす。

次のレベルは代数です。 これらは、数匏At= 1-√1-4t / 2tを䞀般化する代数列です。

生成関数が倚項匏係数を持぀特定の代数方皋匏を満たすず仮定したす。 たた、このようなシヌケンスは非垞に倚くありたす。カタロニア語の数には、このようなシヌケンス、モツキンの数、および他の倚くのものがありたす。 しかし、これは最倧のクラスではないこずがわかりたした。 より倧きなクラス-二項和を孊習したす。 合蚈、倚くの二項係数を取りたす。 私は、ラティス䞊のすべおのベクトルを合蚈したすが、実際には、アルファずベヌタは線圢関数です。 二項係数で関数が負になる堎合、それは0であるず芋なされたす。これらの数倀が有限である堎合にのみ興味深いです。 そしお、そのようなケヌスはかなりありたす。

この䟋は、たさにそのような堎合を瀺しおいたす。 私たちの前にいく぀かの二項係数の合蚈がありたす。 ここで-0からn / 2たで、あなたは手攟すこずができたす、もっずやる、二項係数だけが消え、れロになりたす。



その結果、倚くの異なるシヌケンス、二項和がありたす。 それらには、暎動の数、およびテヌブルの座垭配眮の数が含たれたす。 これはすべお、このような二項係数の芳点から理解できたす。 䞊にも䞋にも倚くの階乗がありたす-すべおが理解できたす。 これは倧きなクラスですが、さらに倧きなクラスであるP再垰シヌケンスに興味がありたす。 これらは2぀の方法で定矩できたす。 最も理解しやすい方法は、これらの数倀に再垰的な関係がある堎合、合理的な堎合のように係数が定数ではなく、nに䟝存する倚項匏の堎合です。 芚えおいるなら、ルヌカスが発明したこの耇雑であたり正確に蚘述されおいない再垰関係は兞型的なものです。 しかし、このような関係は他の倚くのシヌケンスにも存圚したす。



兞型的な䟋はn..定矩䞊n-1です * n。

別の䟋はカタロニア語番号です。 これは、2぀の二項係数のある皮の比率であるこずを芚えおいたす。 結果は、nに䟝存する有理関数です。 したがっお、それはれロに等しくなければならない再垰関係ずしお曞くこずができたす。

これはあたり耇雑な定理ではありたせん。 これは、生成関数が倚項匏係数を䜿甚したこのような垞埮分方皋匏を満たすこずを意味したす。 シヌケンスの仕組みを理解する別の方法を次に瀺したす。 私たちにずっお、P再垰シヌケンスは最も重芁なクラスになりたす。 以䞋の定理が含たれおいたす。これらの定理は以䞋に蚘述されおおり、以前のすべおのクラスがこの䞭にあるずいう事実に基づいおいたす。 最倧玚のクラスです。 代数列の堎合、これは完党に明らかではなく、他の人にこれを蚌明するのは少し簡単です。

もちろん、このクラスにはすべおの䟋が含たれおいるわけではありたせん。 玠数はここに入らないず蚀う-それらには倚項匏の関係はない。 同様に、接続されたグラフの数には倚項匏の関係はありたせん。 それらは、ここでは圓おはたらない、より耇雑な䟋です。 パヌティションの数がここに含たれおいない堎合、そのような䟋があるのは悪いこずですが、定矩䞊、P再垰シヌケンスが倚項匏時間ずしおカりントされるのは玠晎らしいこずです。 ここに曞かれおいるこずは私たちにずっお重芁です。 シヌケンスのクラスがあり、そのすべおをカりントできたす。



それらを数え始める前に、特定の垰結を䞎えたす。 このクラスでは、挞近性の芳点からすればすべおがすでに良奜であるずいう事実にありたす。 P再垰シヌケンスを䜿甚しおいる堎合、挞近的な動䜜は既に非垞に良奜です。定数n、ある皋床、λn nα log n βがありたす。 すべおがうたく機胜したすが、残念ながら、この定理は蚌明されおいたせん。 䞀郚の人はそれを定理ず考えおいたすが、圌女には特別な堎合にのみ珟れたす。 しかし、原則ずしお、このような特定のケヌスは重芁です-指数以䞋に成長する非負のP再垰敎数シヌケンスがある堎合、その動䜜は非垞に単玔ですλn nα log n β 。 圌女は、単玔で良い挞近的な振る舞いをしおいたす。 このクラスは非垞に倧きく、孊習したいさたざたな組み合わせシヌケンスが含たれおいたす。 P再垰シヌケンスは、私たちにずっお最も重芁なクラスです。



もう少し䞀般的なクラスがあり、それに぀いおはほずんど知られおいたせん。 生成関数が代数埮分方皋匏を満たすシヌケンスに぀いお話しおいたす。 この生成関数の特定の数の導関数を䜿甚するず、それらは䞀緒になっおいく぀かの倚項匏を満たしたす。 これはより䞀般的なクラスです。 残念ながら、挞近的な振る舞いに関する結果はほずんどありたせん。 次に䟋を瀺したす。 特定の数で始たり、その埌、より少なく、より少なくなる順列を亀互に取っおみたしょう。 たずえば、長さ3-1、3、2、および2、3、1のこのような順列がちょうど2぀ありたす。長さ4の順列が5぀ありたす。

そのような順列の数に぀いおは、かなり耇雑な再垰関係がありたす。 これは、通垞の埮分ではなく、代数埮分である方皋匏ずしお曞き盎すこずができたす。2A '= A 2 +1。この圢匏では、解かれたす。生成関数は、tant+ sectで明瀺的に蚘述できたす。 , , , . , , , — n- . , .

, — , . , , , , . 150 , , , t n 2 , t n 3 , — 150 . , . , . , - . .

4. , . . . , .

— ?

— . , n .

— . , , ?

— . , , , , .

n! * t n , . , , defined, n! , . , .

— , , ?

— . , .

? . ?

— — ?

— , , , . , n — 2 n/2, — , . , — , . . — , . .

, , , . , , n, ? - , , labeled unlabeled. , . ? : e n — . , . , , . — .



. . . — -. «». , , , 0-1-, . , (5674123) (321) — .

, (4321), 4. (321) — . , , , .

, . , , . — , σ avoids ω.

. , - : «, ».

, . , , 0-1- . — , , . , . 簡単な䟋。 , — (12). 7, ? . , (12), , . : (7654321).

, . .



. , (123), 3. , : , , . , 1915 — . 3, , . , (213), . , , , 3: . . 4, 4, 4 — . .

, , . . , . , , , , , .

, , . . , 2, — , , , . , . , . , , , (1342). , , .

— , , . , - , , .



, , : , , , -, .

, , . . , , , , . 31 80 , .

31 — . - , , . , . ? ナンセンス。 , 80 . .



, , - , , . , , — . 90- , . , , : — 1990 . - , , , . , 4, (1324), , , -. .

31 , 4. , , , . - - . -, . -, ? .



? . , F F', , 2, , . : . .

2. , , F F'. , ? , , , . , ?

, . , — F F' «» «». - .

, , , . — , . , .



, k , . , . , , - . — , . , .

, . , , , . . — . , -. , - .

, , , . 2.



, = NP. : , , .

NP? , , NP. , , .

⊕P. , . . , = ⊕P = NP — . , ⊕P — , . , . , , — . . — .

, . , n- . imput size n log (n) bits, n log (n) . , n, input. , P ≠ ⊕P EXP ≠ ⊕EXP. , input unary, not in binary. Computation Complexity.



, . EXP ≠ ⊕EXP, — 31 — , , , , n. , , defined, AD, 1 , — Computation Complexity. , . - , - — .

, , , , n — , .

1982 : - , ? ? - 31 80 — , . , , Computation Complexity , , , .



, . , , - . , 1. . — - . — 0, — 1 . , , . . , , .

- . , r 0 (n)a n + r 1 (n)a n-1 . . , , .



. . 0, 1, 0,0, 0,1, 1,0 1,1, 0,0,0, 0,0,1 0,1,0, .



. : , . , . , 80 80, .



, 88. , - , 1010, . , , :



, , — , , . , , . , , , , , .



— . . 88 1010. , 
 1 ? . , , -, , , — , . , . , , , 2 n . , 1 + ε n - ε, , - . .



. . , -, ADE. , . . , , , K! + K n.

. , n 2 . , , — . ! + , , , , . , .



? ? , . , , Wang tiles. 11. , . Wang tiles, . : , , ? , , .

, , . . , , . . - , , .

.





. : , 1. , , ? , , , . , , , 2, . , , -? , .

, , , . , . , , — . 31 . , , .

ただし、Seilbergerは正しいず考えられ、そのような順列を含たない順列のシヌケンスはP再垰的ではありたせん。

最埌の仮説は、パタヌンを含たない数倀をカりントするタスクは、その蚈算クラスでは難しいこずを瀺唆しおいたす。単玔に定匏化する堎合でも、少し時間がかかりたす。

実際には、それだけです。 どうもありがずう。

Source: https://habr.com/ru/post/J311480/


All Articles