DeepAI AI Chat
Log In Sign Up

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

by   Jérémy Barbay, et al.

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).


A recursive function coding number theoretic functions

We show that there exists a fixed recursive function e such that for all...

A Recursive Approach to Solving Parity Games in Quasipolynomial Time

Zielonka's classic recursive algorithm for solving parity games is perha...

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...

Parity Decision Tree Complexity is Greater Than Granularity

We prove a new lower bound on the parity decision tree complexity D_⊕(f)...

Pointers in Recursion: Exploring the Tropics

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