Anagram
![](https://upload.wikimedia.org/wikipedia/commons/3/33/Anagram_Listen_%3D_Silent.gif)
Anagramnebolipřesmyčkaje 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á nadiakritiku.
Přesmyčky patří mezi oblíbenéhlavolamy.
Příklady[editovat|editovat zdroj]
- anagrams – ars magna (latinskyvelké umění)
- pekařství – přístavek
- reklama – makrela – karamel
- pěší toulka – koupaliště
- jálord Voldemort– Tom Rojvol Raddle (vanglickémoriginá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. Womanstejnojmenného alba kapelyThe Doors)
- Elvira Lemon – Elena Rimlov (ze starého detektivního příběhuSmrt v Millet)
- Carmilla – Millarca – Mircalla (anagramy jménaupírkyz gotického románuCarmilla)
- Berckentin – Ritenbenck (zastaralé jméno grónské osadyAppat)
Metody hledání přesmyček[editovat|editovat zdroj]
Vyhledávání přesmyček je zajímavou úlohou provýpočetní techniku.Předpokladem je kvalitnídatabázeslov v daném jazyce. Základníalgoritmusje jednoduchý – postupně se zkouší kombinovat různá slova z databáze (většinou jde okombinacemaximá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číslaa 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 naprvočinitelenahlé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 velikosticeločíselné proměnné– ten se může lišit v různýchprogramovacích jazycích,ale také může záviset na použitémoperač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.
Související články[editovat|editovat zdroj]
Externí odkazy[editovat|editovat zdroj]
Obrázky, zvuky či videa k tématuanagramnaWikimedia Commons
- AnagramvČeské terminologické databázi knihovnictví a informační vědy (TDKIV)
Slovníkové hesloanagramve Wikislovníku
PřílohaPřesmyčky (čeština)ve Wikislovníku
Encyklopedické hesloAnagramvOttově slovníku naučnémve Wikizdrojích
- Vyhledávač přesmyček
- Vyhledávač přesmyček s diakritikou a v různých jazycích