Pancake Problem 許凱平 & 張傑生. Resources Google “ Bounds for Sorting by Prefix Reversal...
-
Upload
marvin-joseph -
Category
Documents
-
view
308 -
download
1
Transcript of Pancake Problem 許凱平 & 張傑生. Resources Google “ Bounds for Sorting by Prefix Reversal...
Pancake Problem
許凱平 & 張傑生
Resources Google
“Bounds for Sorting by Prefix Reversal”(63)
“Pancake Problem” (218) Slides
[S1] CMU’s “Great Theoretical Ideas In Computer Science” course
http://www-2.cs.cmu.edu/~15251/Materials/Lectures/Lecture01/lecture01.ppt
Steven Rudich
Resources Slides
[S2] On the Generalization of the Pancake Problem http://hsu14.cis.nctu.edu.tw/upload/on%20the%20generalization%20of%20the%20pancake%20network.pp
t
Marissa P. Justan, Felix P. Muga II,Ivan Hal Sudborough,
[S3] Pancake problems with restricted prefix reversals and some corresponding Cayley networks
http://hsu14.cis.nctu.edu.tw/upload/pancake.ppt Douglas W. Bass and I. Hal Sudborough
Resources Papers
[P1]Gates W.H., and Papadimitriou, C.H. Bounds for sorting by prefix reversal. Discrete Math. 27 (1979), 47--57.
數學系系圖有 [P2] H. Heydari and I. Hal Sudborough. O
n the Diameter of the Pancake Network. Journal of Algorithms 25, 67-94 (1997).
http://www.atcminc.com/mPublications/EP/EPATCM98/ATCMP003/paper.pdf
History [P1]
n+(1/16)n<= f(n) <=(5n+5)/3 Guess 19n/16 <=f(n)
[P2] N+(1/14)n<=f(n) Disprove “Guess 19n/16 <=f(n)”
Pre-Knowledge Symmetric Group
S2#8 S3#5
Dual Linear Program Skip!
Terms Adjacency
Two neighbor (position) element x,y are said to be adjacent (value)
Iff |x-y| = 1 Free, Singleton
No neighbor of x is adjacent to x x is a singleton
Block Block is a group of adjacent element
Terms Positions Values
P Q
P’ Q’
Q
Q
P
P
Q’
P
P’ Q
P Q
Ideas Algebra Use two-sided pancake
to simulate block in one-sided pancake problem Capital for block Non-Capital for singleton
Notations- - flip one segment operation
-- -- flip two segment operation
P 1...k-1
P’ k-1...1
Q k...n
Q’ n...k
d(x) distance, depth: # of flip convert x to PQ
Lemma P’-P PQ--Q’P’
Operationsx flip y d(x)
PQ 0
PQ’ -- QP’ =d(QP’)++ = 3
P’Q - PQ 1
a P’Q’ -- QP =d(QP)++ = 4
b QP - Q’P =d(Q’P)++=3
QP’ - Q’P’ =d(Q’P’)++ = 2
Q’P -- P’Q =d(P’Q)++ =2
Q’P’ -- PQ 1
State Chart
What it means?
QP
P’Q’
Q’P
PQ
P’Q
PQPQ
PQ
What will be PQR? R’Q’P’
Conjecture 4 is the magic number
Notations adj: # of adjacency blk: # of block Move, flip
t is free, t+o is also free
t is head of string, t is glue t is free
t-1, t+1 is not the second element o =1 or o=-1 adj++; blk++
t is free, t+o is 1st of a block
adj++;
t is in block, t+o is free
Adj++
t is in block, t+o is 1st of blk
Move++; Adj++; Blk--;
t singleton, first element of sigma, connector
s singleton, (t-1)
u singleton, (t+1)
S [...s], block, , [...(t-1)]
S’ [s...]
U [u...]
U’ [...u]
T [t...]
T’ [...t]
# don’t care charactors
x input pattern
y output pattern
Goal ts, tu, stu, tS, StU, tU,U’tS’, T’s, T’u, #T’S, #T’U
t is free, t+o is also free
t#s--#ts, o=-1 t#u--#tu, o=1
t is free, t+o is 1st of a block
t#S' -- #tS, o=-1 t#U -- #tU, o=1
Case 3: t is free, S, U’ For o=-1 Steps
t#S#U’#--- S’#t#U’ #-- #St#U’ #----- U#tS’##-- #U’tS’##
Observation Move+=4 Adj+=2 Blk--;
Case3: t is free, S, U’ For o=-1 Steps
t1S2U’3 --- S’1’t2U’3-- 1St2U’3 ----- U2’tS’1’3-- 2U’tS’1’3
New Notation Case1, fig2(a)
t#s--#ts t#s-(2)-#ts
New Notation Case3, fig2(c)
t#S#U’#-(3)-S’#t#U’ #-(2)-#St#U’ #-(5)-U#tS’##-(2)-#U’tS’##
Briefly t#S#U’#-(3,2,5,2)-#U’tS’##
1’3 Chances :無心插柳柳成蔭
case Description 1’ 3 adj blk
31non-adjacent 2 -1
32 form a new block a a+1 2+1 -1+1
33merge a block with a
singleton(...a) a+1 2+1 -1
34 merge two block (...a) (a+1...) 2+1 -1-1
Case 6, fig2(f) or 2(g) 2(f)
T#u#S#-(3,2,5,2)-#STu## 2(g)
T#U’#s#-(3,2,5,2)-#sTU## Move+=4;Adj+=2;Blk--; Case 6 share the same operation
property of Case 3, ground…
Table2
Action 1 2 31 32 33 34 4 5 7
flip 1 1 4 4 4 4 1 2 1
adj 1 1 2 3 3 3 1 1 1
blk 1 0 -1 0 -1 -2 0 -1 -1
Bill’s Typos or I’m wrong Case 5 rename to Case7, and
Case7 rename to Case5 Case 7, 2(e) Case 5, 2(h) or 2(k)
3 basic equation When string is sorted
move = Sum( move(i) * #case(i) ) Let x(i) = case(i)
Adj = n-1 Blk =1
Total move: Use Table2
Action 1 2 3 4 5 7
flip 1 1 4 1 2 1
z=X(1)+X(2)+4X(3)+X(4)+2X(5)+X(7)
adj: Use Table2
a: initial adjacency a+X(1)+X(2)+2X(31)+3X(32)+3X(33)+3X(34)+X(4)+X(5)
+X(7) Eq(1)
n-1=a+X(1)+X(2)+2X(31)+3X(32)+3X(33)+3X(34)+X(4)+X(5)+X(7)
Action 1 2 31 32 33 34 4 5 7
adj 1 1 2 3 3 3 1 1 1
blk : Use Table2
Action 1 2 31 32 33 34 4 5 7
blk 1 0 -1 0 -1 -2 0 -1 -1
b: initial blk B+x(1)-x(31)-x(33)-2x(34)-x(5)-x(7) Eq(2)
1=B+x(1)-x(31)-x(33)-2x(34)-x(5)-x(7)
(1)(3), b<=a Eq(1) Eq(3)
n-1=a+X(1)+X(2)+2X(31)+3X(32)+3X(33)+3X(34)+X(4)+X(5)+X(7)
b<=a N-
1>=b+X(1)+X(2)+2X(31)+3X(32)+3X(33)+3X(34)+X(4)+X(5)+X(7)
Eq(3)
Upper bound 1=B+x(1)-x(31)-x(33)-2x(34)-x(5)-x(7) N-1>=
b+X(1)+X(2)+2X(31)+3X(32)+3X(33)+3X(34)+X(4)+X(5)+X(7)
z=X(1)+X(2)+4X(3)+X(4)+2X(5)+X(7) Goal: Max(z)
X1=(n+1)/3, x2=x4=x5=x7=b=0 X3=x31=(n-2)/3 Z = (5n-7)/3 Upper bound = z+4=(5n+5)/3
Dual Linear Program Duality Theorem of Von Neumna, Kuh
n and Tucker, Gale, and Dantzig I did not study this…
Amazing Network