Vastaus: Mass Effect - BioWaren toimintarope
Peli on ratkaistavissa helpolla algoritmilla:
kutsutaan tankoja nimillä A, B ja C
olkoon n pelissä olevien levyjen lukumäärä
numeroidaan levyt alkaen luvusta 1 (pienin, ylinnä) n:ään asti (suurin, alinna)
Jotta levyt saadaan siirrettyä tangosta A tankoon B:
siirretään n − 1 levyä tangosta A tankoon C. Nyt levy n on yksin tangossa A.
siirretään levy n A:sta B:hen
siirretään n − 1 levyä tangosta C tankoon B levyn n päälle.
Kyseessä on rekursiivinen algoritmi: sen suorittaminen vaatii saman algoritmin suorittamista yhtä pienemmässä tapauksessa eli n − 1 levyllä (kohdissa 1 ja 3). Jossakin vaiheessa päädytään tilanteeseen, jossa n = 1. Tämän osaa pikkulapsikin ratkaista (siirtää yhden levyn tangosta toiseen). Periaatteessa kuka tahansa kykenee siis ratkaisemaan pelin millä tahansa levymäärällä. Käytännössä sekaantumisen riski on suuri jo melko pienten tornien tapauksissa. Yleisin levyjen lukumäärä on kahdeksan.
Algoritmin perusteella on ilmeistä, että pelin ratkaisemiseksi tehtävän työn määrä likipitäen kaksinkertaistuu aina kun peliin lisätään yksi levy. Jos n levystä koostuvan tornin ratkaisemiseen tarvittava siirtojen määrä on k, tarvitaan n + 1 levylle 2k + 1 siirtoa: kahdesti k siirtoa (vaiheet 1 ja 3) plus vielä yksi siirto (vaihe 2). Tähän perustuen voidaan osoittaa, että n levystä koostuvan tornin ratkaisemiseen tarvitaan vähintään 2n − 1 siirtoa.
