09 apríla 2009

Binárny kruh

Nasledovný problém je modifikáciou istej úlohy, ktorú vymyslel môj bývalý spolupracovník a v súčasnosti jeden z najbystrejších dôchodcov v širokom okolí, docent Juraj Pavlásek. O tejto úlohe sa neskôr ukázalo, že ju ľudia riešili už pred desiatkami rokov (samozrejme pod iným názvom), ale to nám nebráni vyskúšať si na nej naše kombinatorické, prípadne programátorské schopnosti.

Binárnym kruhom stupňa m nazveme reťazec 2m núl a jednotiek zapísaný do kruhu, v ktorom je každý podreťazec dĺžky m iný (všetky podreťazce čítame v smere hodinových ručičiek) alebo, ekvivalentne, ktorý ako podreťazce obsahuje všetky binárne postupnosti dĺžky m. Nájdite binárny kruh pre čo najväčšie m.

Na obrázku je zakreslený jeden z viacerých možných binárnych kruhov stupňa 3, pretože ako podreťazce obsahuje samé rôzne trojice binárnych cifier: 111, 110, 101, 010, 100, 000, 001 a 011 (t.j. obsahuje všetky možné trojice binárnych cifier).

PS: Ak by som sa už najbližšie dni na blogu neozval, tak Vám všetkým želám príjemné veľkonočné sviatky.

Poznámka 14.4.: Pre tých, ktorých úloha zaujala, ale nevedia ako ju riešiť, mám pomôcku: hoci sa to možno nezdá, binárnych kruhov je pomerne veľa a pre stupne 4, prípadne aj 5, je možné nájsť aspoň jeden binárny kruh na počítači skúšaním náhodne vygenerovaných binárnych očíslovaní.

Žiadne komentáre: