Anagram
přemístění písmen či slabik jednoho slova či věty do nového slovního nebo větného útvaru From Wikipedia, the free encyclopedia
Remove ads
Anagram neboli přesmyčka je slovo či více slov, která vzniknou z původního slova či více slov tak, že se použijí všechna písmena v původním výrazu obsažená a změní se jejich pořadí. Často se přitom nedbá na diakritiku.

Přesmyčky patří mezi oblíbené hlavolamy.
Příklady
- anagrams – ars magna (latinsky velké umění)
- pekařství – přístavek
- reklama – makrela – karamel
- pěší toulka – koupaliště
- já lord Voldemort – Tom Rojvol Raddle (v anglickém originále: Tom Marvolo Riddle – I Am Lord Voldemort)
- plavecký stadion – ladné postavičky
- zdravý spánek – zvěrský nápad – prášek navždy
- hlavní město Praha – postihlá havranem – přesahovat lhaním – prohlásit neváhám – stíhán pohlavárem
- kotel – loket
- Clint Eastwood – Old West Action (anglicky „akce starého západu“)
- chleba – blecha
- Doctor Who – Torchwood (organizace ze jmenovaného seriálu)
- Jim Morrison – Mr. Mojo Risin' (v textu písně L.A. Woman stejnojmenného alba kapely The Doors)
- Elvira Lemon – Elena Rimlov (ze starého detektivního příběhu Smrt v Millet)
- Carmilla – Millarca – Mircalla (anagramy jména upírky z gotického románu Carmilla)
- Berckentin – Ritenbenck (zastaralé jméno grónské osady Appat)
Remove ads
Metody hledání přesmyček
Vyhledávání přesmyček je zajímavou úlohou pro výpočetní techniku. Předpokladem je kvalitní databáze slov v daném jazyce. Základní algoritmus je jednoduchý – postupně se zkouší kombinovat různá slova z databáze (většinou jde o kombinace maximálně tří slov) a porovnává se, jestli je výsledná kombinace přesmyčkou původního výrazu. K porovnávání lze využít např. regulárních výrazů. Tato cesta sice vede k cíli, ale velice pomalu, protože kombinací může být obrovské množství a práce s řetězcovými proměnnými je pomalá. Existuje ale elegantní postup, jak úlohu převést na práci s celočíselnými proměnnými a na jednoduché matematické operace. Tento postup využívá malá prvočísla a jejich vlastnosti. Nejprve se každému znaku abecedy přiřadí jiné malé prvočíslo (např. A = 2, B = 3, C = 5, atd.). Pak se nahradí znaky v původním řetězci za příslušná prvočísla a udělá se jejich součin (např. ABBA = 2*3*3*2 = 36). Slova z databáze se převedou na čísla stejným postupem. Číslo příslušné víceslovné kombinaci dostaneme vynásobením čísel odpovídajících daným slovům. Výrazy, které jsou navzájem přesmyčkou mají takovýto součin stejný (např. BABA = 3*2*3*2 = 36 nebo BA BA = (3*2)*(3*2) = 36). Rozkladem čísla 36 na prvočinitele nahlédneme, že ten je tvořen právě prvočísly 2, 2, 3 a 3. Celý problém porovnávání se pak převede na jednoduché matematické operace – násobení, dělení a také modulo.
V praxi je však problém o dost složitější. Při delších výrazech se takovýmto násobením velice rychle narazí na horní limit velikosti celočíselné proměnné – ten se může lišit v různých programovacích jazycích, ale také může záviset na použitém operačním systému (32 bit / 64 bit). Vhodnými programátorskými postupy lze ale tento limit obejít a také omezit počet kombinací výstupních slov, které se porovnávají se vstupním řetězcem.
Remove ads
Související články
Externí odkazy
Obrázky, zvuky či videa k tématu anagram na Wikimedia Commons
- Anagram v České terminologické databázi knihovnictví a informační vědy (TDKIV)
Slovníkové heslo anagram ve Wikislovníku
Příloha Přesmyčky (čeština) ve Wikislovníku
Encyklopedické heslo Anagram v Ottově slovníku naučném ve Wikizdrojích
- Vyhledávač přesmyček
- Vyhledávač přesmyček s diakritikou a v různých jazycích
Remove ads
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads