« Programspråket Icon och några Project Euler problem | Main | Constraint programming modeller i Gecode/R (Ruby interface till Gecode) »
januari 05, 2009
Isomorfa ord (Isomorphic Words) - programmet
2004 skrevs programmet Isomorphic words som söker efter isomorfa ord till ett givet källord. Programmet och begreppet "isomorfa ord" presenterades i Isomorfa ord (Isomorphic Words).
För ett tag sedan kom en förfrågan om källkoden till programmet, varpå en CLI (Command Line Interface)-version av webb-programmet skapades. Tänkte nu att programmet likaväl kunde komma till allmänhetens fromma.
isomorphic_words.py
Programmet isomorphic_words.py är ett Pythonprogram som gör i stort sett allting som CGI-programmet gör. Syntaxen är:
python isomorphic_words.py word exact_match language
där argumenten har följande betydelse:
* word
: ordet som ska isomorferas.
* exact_match
: 0 eller 1 (default 1). Om det ska göras en exakt match eller inte. Se ovanstående länkar för betydelsen av detta.
* language
: Språk, eller snarare ordlista. CLI-programmet stöder endast språk "eng" som är kopplat till ordlistan /usr/dict/words
(standardplaceringen i Linux). Av copyright-skäl etc lämnas inte den svenska ordlistan ut.
Exempel
Här är en exempelkörning på "ordet" (snarare strukturen) abbab
, dvs att första och fjärde bokstäverna ska vara samma, och andra, tredje och femte bokstäverna ska vara samma. Ordlistan är /usr/dict/words
, dvs engelska ord.
python isomorphic_words.py abbab
Med resultatet:
Word: abbab
Word structure of 'abbab': [0, 1, 1, 0, 1]
Exact isomorphism: yes
Language: english
Print mappings: yes
beebe
2 chars: "a" -> "b"
3 chars: "b" -> "e"
esses
2 chars: "a" -> "e"
3 chars: "b" -> "s"
poopo
2 chars: "a" -> "p"
3 chars: "b" -> "o"
taata
2 chars: "a" -> "t"
3 chars: "b" -> "a"
It was 4 isomorphics words to 'abbab', with exact isomorphism: yes
Not
Om programmet används får det gärna refereras till ovanstående program och/eller till undertecknad.
Posted by hakank at januari 5, 2009 11:00 FM Posted to Språk | Systemutveckling