login

Reminder: The OEIS is hiring a new managing editor, and the application deadline is January 26.

Total cost when the elements of the n-th composition (in standard order) are requested from a self-organizing list initialized to (1, 2, 3, ...), using the transpose updating strategy.
6

%I #12 Aug 03 2024 11:07:18

%S 0,1,2,2,3,4,3,3,4,4,3,5,4,5,4,4,5,5,6,5,5,5,6,6,5,5,4,6,5,6,5,5,6,6,

%T 6,6,5,7,7,6,6,8,4,6,7,8,7,7,6,6,7,6,6,6,7,7,6,6,5,7,6,7,6,6,7,7,7,7,

%U 8,8,7,7,7,7,8,8,6,8,8,7,7,8,6,10,6,6,7

%N Total cost when the elements of the n-th composition (in standard order) are requested from a self-organizing list initialized to (1, 2, 3, ...), using the transpose updating strategy.

%C The cost of a request equals the position of the requested element in the list.

%C After a request, the requested element is transposed with the immediately preceding element (unless the requested element is already at the front of the list).

%D D. E. Knuth, The Art of Computer Programming, Vol. 3, 2nd edition, Addison-Wesley, 1998, pp. 401-403.

%H John Tyler Rascoe, <a href="/A374993/b374993.txt">Table of n, a(n) for n = 0..10000</a>

%H Ran Bachrach and Ran El-Yaniv, <a href="https://dl.acm.org/doi/10.5555/314161.314180">Online list accessing algorithms and their applications: recent empirical evidence</a>, Proceedings of the 8th annual ACM-SIAM symposium on discrete algorithms, SODA ’97, New Orleans, LA, January 5-7, 1997, 53-62.

%H Wikipedia, <a href="https://en.wikipedia.org/wiki/Self-organizing_list">Self-organizing list</a>.

%F The sum of a(j) over all j such that A000120(j) = k (number of requests) and A333766(j) <= m (upper bound on the requested elements) equals m^k * k * (m+1)/2. This is a consequence of the fact that the first m positions of the list are occupied by the elements 1, ..., m, as long as no element larger than m has been requested so far.

%F a(n) = a(A025480(n-1)) + A374998(n) for n >= 1.

%e For n=931 (the smallest n for which A374992(n), A374994(n), A374995(n), and a(n) are all distinct), the 931st composition is (1, 1, 2, 4, 1, 1), giving the following development of the list:

%e list | position of requested element

%e --------+------------------------------

%e 1 2 3 4 | 1

%e ^ |

%e 1 2 3 4 | 1

%e ^ |

%e 1 2 3 4 | 2

%e ^ |

%e 2 1 3 4 | 4

%e ^ |

%e 2 1 4 3 | 2

%e ^ |

%e 1 2 4 3 | 1

%e ^ |

%e ---------------------------------------

%e a(931) = 11

%o (Python)

%o def comp(n):

%o # see A357625

%o return

%o def A374993(n):

%o if n<1: return 0

%o cost,c = 0,comp(n)

%o m = list(range(1,max(c)+1))

%o for i in c:

%o j = m.index(i)

%o cost += j+1

%o if j > 0:

%o m.insert(j-1,m.pop(j))

%o return cost # _John Tyler Rascoe_, Aug 02 2024

%Y Row n=1 of A374996.

%Y Analogous sequences for other updating strategies: A374992, A374994, A374995.

%Y Cf. A000120, A025480, A066099 (compositions in standard order), A333766, A374998.

%K nonn

%O 0,3

%A _Pontus von Brömssen_, Jul 27 2024