다음 프로세스를 사용하여 r ( π ) 로 표시된 순열 π 의 실행 파티션 번호 를 정의하십시오 . 하자 k는 숫자를 정수되도록 최대 수 분 ( π가 ) , ... , k는 에서 증가하는 순서로 나타나는 π . π 에서 그것들을 제거하고 과정을 반복하십시오. 전체 순열을 소비하는 데 걸리는 라운드 수는 r ( π ) 입니다.πr(π)kmin(π),…,kππr(π)
예를 들어, r ( 62735814 )을 계산해 봅시다 . 우리는 먼저 6273584 를 얻기 위해 1을 따로 설정 했습니다 . 그런 다음 234를 따로 설정 하여 6758 을 얻습니다 . 그런 다음 5를 따로 설정 하여 678 을 얻습니다 . 마지막으로 빈 순열을 얻기 위해 678 을 따로 설정했습니다 . 이 과정에는 4 개의 라운드가 필요하므로 r ( 62735814 ) = 4 입니다.r(62735814)1627358423467585678678r(62735814)=4
이 표현이 62735814 정렬에 어떻게 유용 합니까? 매초마다 234 , 678을 실행 하고이 숫자를 오른쪽으로 이동하여 51627384 를 얻 습니다 (편집 : 순열에 나타나는 순서, 즉 627384 ). 이제 두 개의 런, 즉 1234 , 5678 이 있으며 5678 을 오른쪽 으로 이동하여 목록을 정렬 할 수 있습니다 .62735814234,678516273846273841234,56785678
이제 다음과 같은 추측을 하겠습니다 . 순열 π의 경우 Π 는 한 번의 이동으로 π 에서 도달 할 수있는 모든 순열의 집합입니다 . 그런 다음 min α ∈ Π r ( α ) = ⌈ r ( π ) / 2 ⌉ 입니다.πΠπminα∈Πr(α)=⌈r(π)/2⌉
이러한 추측을 고려하면 순열 π 를 정렬하는 데 필요한 최소 이동 횟수 가 ⌈ log 2 r ( π ) ⌉임을 쉽게 알 수 있으며 , n ≤ 8에 대해 S n의 모든 순열에 대해이 공식을 확인했습니다 .π⌈log2r(π)⌉Snn≤8
편집 : 여기 에 계산을위한 선형 시간 알고리즘을 제공하고 추측의 증거를 스케치 할 수 있는 실행 파티션 번호에 대한 다른 해석이 있습니다. 따라서 공식 ⌈ log 2 r ( π ) ⌉ .⌈log2r(π)⌉
순열 62735814를 다시 고려 하십시오. 첫 번째 실행이 1 로 끝나는 이유 는 2 가 1 앞에 있기 때문 입니다. 마찬가지로 5 가 4 앞에 나타나기 때문에 두 번째 런은 4로 끝 납니다 . 따라서 순열의 실행 파티션 번호의 수 난 의 그런 내가 + 1 개 전에 나타납니다 내가 .62735814121454ii+1i
순열의 역수를 보면 이것을 간결하게 말할 수 있습니다. π = 62735814를 다시 고려하십시오 . π − 1 = 72485136을 취하십시오 . 이 순열에는 세 개의 하강이 있습니다 : 7 2 48 5 1 36 (하강은 앞의 것보다 작은 위치입니다). 각 하강은 새로운 런의 시작에 해당합니다. 따라서 r ( π ) 는 1 에 π - 1 의 하강 수를 더한 값과 같습니다 .π=62735814π−1=7248513672485136r(π)π−1
연산은 π - 1 과 관련하여 어떤 모양 입니까? 하자 B는 우리가 오른쪽으로 이동하는 것이 일련의 숫자, 그리고 A가 숫자들의 집합 왼쪽에 머무는 것을. A 의 숫자 를 { 1 , … , | A | } 는 상대 순서를 나타내며 B 의 숫자 를 { | A | + 1 , … , | A | + | B | }π−1BAA{1,…,|A|}B{|A|+1,…,|A|+|B|}. 예를 들어 이동 6273 5 8 1 4 ↦ 51 627384를 고려하십시오 . 역 순열의 경우 7 248 5 136 ↦ 2 468 1 357 입니다. 그래서 75 에 매핑 된 (21) 와 248,136이 매핑 된 468,357 .62735814↦5162738472485136↦246813577521248136468357
하강 ... X , Y ... 의 π - 1 동작하는 경우에만 후 손실 X ∈ 및 Y ∈ B . 반대로, π - 1의 관점에서 , A 및 B 로의 구획 은 A- 런 및 B- 런에 대응하고 ; B- 런이 끝나고 A- 런이 시작될 때마다 하강이 있습니다. 하강을 "죽이기"위해서는 A- 런에서 B 로 전환해야합니다…xy…π−1x∈Ay∈Bπ−1ABABBAAB-운영. 우리가 두 개의 강하를 죽이면 중간에 B- run에서 A- run으로 전환되어 하강을 일으킬 것입니다.BA
이 인수는 α 가 연산을 통해 π 에서 발생 하는 경우 d ( α - 1 ) ≥ ⌊ d ( π - 1 ) / 2 ⌋ 를 나타내도록 공식화 할 수 있습니다 . 여기서 d ( ⋅ ) 는 하강 횟수입니다. 이것은 r ( α ) ≥ ⌈ r ( π ) / 2 ⌉에 해당합니다.απd(α−1)≥⌊d(π−1)/2⌋d(⋅)r(α)≥⌈r(π)/2⌉, thus proving one direction of my conjecture. The other direction is easier, and was already outlined above: we simply take every second run and push these runs to the right to get a permutation αα satisfying r(α)=⌈r(π/2)⌉r(α)=⌈r(π/2)⌉.