Bouncing Towers move faster than Hanoi Towers, but still require exponential time

02/12/2016
by   Jérémy Barbay, et al.
0

The problem of the Hanoi Tower is a classic exercise in recursive programming: the solution has a simple recursive definition, and its complexity and the matching lower bound are the solution of a simple recursive function (the solution is so easy that most students memorize it and regurgitate it at exams without truly understanding it). We describe how some very minor changes in the rules of the Hanoi Tower yield various increases of complexity in the solution, so that they require a deeper analysis than the classical Hanoi Tower problem while still yielding exponential solutions. In particular, we analyze the problem fo the Bouncing Tower, where just changing the insertion and extraction position from the top to the middle of the tower results in a surprising increase of complexity in the solution: such a tower of n disks can be optimally moved in √(3)^n moves for n even (i.e. less than a Hanoi Tower of same height), via 5 recursive functions (or, equivalently, one recursion function with 5 states).

READ FULL TEXT
research
03/17/2022

A recursive function coding number theoretic functions

We show that there exists a fixed recursive function e such that for all...
research
04/20/2021

A Recursive Approach to Solving Parity Games in Quasipolynomial Time

Zielonka's classic recursive algorithm for solving parity games is perha...
research
10/16/2022

Enumerating moves in the optimal solution of the Tower of Hanoi

In the Tower of Hanoi problem, there is six types of moves between the t...
research
07/05/2023

Runtime Repeated Recursion Unfolding: A Just-In-Time Online Program Optimization That Can Achieve Super-Linear Speedup

We introduce a just-in-time runtime program transformation based on repe...
research
10/19/2018

Parity Decision Tree Complexity is Greater Than Granularity

We prove a new lower bound on the parity decision tree complexity D_⊕(f)...
research
08/14/2019

Pointers in Recursion: Exploring the Tropics

We translate the usual class of partial/primitive recursive functions to...

Please sign up or login with your details

Forgot password? Click here to reset