SCRABIX - System wyszukiwania wyrazów ze słownika skrablisty
Proszę wprowadzić w polu 'Wyrażenie' wyrażenie określające poszukiwany łańcuch, a następnie ustawić tryb poszukiwań.
Najnowsze zmiany
2007.07.16 - zindeksowane słowa w bazie, co spowolniło wyszukiwanie regexp oraz wildcards ok. 2x, a przyspieszyło
wyszukiwanie anagramów ok. 100x.
Tryb poszukiwań wildcards
Oprócz liter używa się znaku
*
(znak mnożenia) reprezentującego dowolną liczbę liter oraz
?
(znak zapytania) reprezentującego pojedynczą literę.
ab*
- wyrazy rozpoczynające się od liter
ab
*wuj
- wyrazy kończące się literami
wuj
*abc*
- wyrazy, w których występuje ciąg znaków
abc
ab*e
- wyrazy rozpoczynające się od liter
ab i kończące na
e
??
- wyrazy dwuliterowe
ab????e
- wyrazy rozpoczynające się od liter
ab, kończące na
e, między którymi są 4 litery
Tryb poszukiwań regexp
Regexp - wyrażenia regularne. Więcej informacji na stronie
wiki/Regex
^ab
- wyrazy rozpoczynające się od liter
ab
wuj$
- wyrazy kończące się literami
wuj
^ab.*e$
- wyrazy rozpoczynające się od liter
ab i kończące na
e
^[abcdef]{3,4}$
- wyrazy składające jedynie z liter
abcdef, o długości od 3 do 4 znaków
^[^b-x]*$
- wyrazy składające jedynie z liter
aą oraz od
yzťżęśńół
Tryb anagram
Znajduje wszystkie słowa w bazie składające się z liter (lub ich części) podanych w polu.
Ze względu na czas obliczeń, ciągi znaków zawierające elementy kombinacji (w nawiasach) ograniczone są do ośmiu.
Oprócz liter używa się znaku
?
(znak zapytania) reprezentującego dowolną literę.
klip
- wyrazy zawierające wszystkie litery:
k,
l,
i,
p
mic(hał)
- wyrazy zawierające litery:
m,
i,
c, oraz mogące zawierać:
h,
a,
ł
(próba)
- wyrazy mogące zawierać litery:
p,
r,
ó,
b,
a - lub dowolny ich podzbiór
miś??
- wyrazy zawierające litery:
m,
i,
ś, oraz dwie inne
Opcja
palindromy przeszukuje wyniki sprawdzając, czy każdy ze znalezionych wyrazów występuje również w słowniku pisany wspak. Jeśli nie, to taki wyraz zostanie usunięty z listy wyników. Opcja działa przeszukując ponownie wyniki dla wszystkich wcześniejszych poszukiwań (w trybie:
wildcards,
regexp,
anagram).
Tryb stats
Obecnie w wersji beta. Zawiera podstawowe informacje nt. bazy, nie zależy od wartości słowa.
Od kuchni
Powód powstania
Celem programu jest udostępnienie wszystkim potrzebującym krzyżówkowiczom, skrablistom oraz graczom w tele-gry szybkiej możliwości znalezienia odpowiedniego słowa. Istnieją podobne programy pracujące off-line (zazwyczaj słowniki), jednak w chwili obecnej nie występuje (z tego co mi wiadomo) program o zbliżonych możliwościach w wersji on-line. Siłą programu (lub jego słabością) jest wielkość
słownika, który zawiera ponad 1 milion słów!
Zawartość słownika
Wykorzystywana baza wyrazów pochodzi ze słownika skrablisty (nieco zmodyfikowanego) i zawiera obecnie ok. 1 300 000 wyrazów. Są to wyrazy, uważane za prawidłowe w grze w scrabble, czyli wszelkie odmiany przez przypadki, brak jest skrótów oraz nazw własnych. Szczegóły dotyczące reguł występowania słów w słowniku do gry w scrabble można znaleťć na stronie
Polskiej Federacji Scrabble. Do celów wyszukiwań wszystkie wyrazy pisane są z małych liter (inaczej niż w słowniku skrablisty), oraz pominięto 4 wyrazy zawierające hiszpańską literę
ń.
Słownik w oryginalnej postaci (skompresowany moim progrmem do kompresji słowników) można pobrać
stąd (plik ok.
400kB, po rozpakowaniu, ok.
17MB).
Możliwości programu
Główne funkcje programu to:
- wyszukiwanie wyrazów w przypadku braku znajomości kilku liter, znając położenie pozostałych
- wyszukiwanie anagramów (poprzez permutacje) zestawów liter
- wyszukiwanie kombinacji zestawów liter (permutacji zestawów i ich podzbiorów)
- wyszukiwanie anagramów zawierających blanki (mydełka)
- wyszukiwanie palindromów spośród wcześniej znalezionych wyników
- możliwość użycia wyrażeń regularnych (regexp) w celu indywidualizacji poszukiwań
- podstawowe statystyki (wkrótce również szczegółowe)
- interaktywna historia poszukiwań
- możliwość przesłania wyników do pliku
- wybór standardu kodowania polskich znaków
- wybór separatora wyników
- zgodność stron z XHTML
Ograniczenia
Ze względu na czasochłonność niektórych z obliczeń, poszukiwania bazujące na kombinacjach (nie samych permutacjach) ograniczone są do 8-miu liter. Ograniczenie nie ma miejsca, gdy poszukiwania dotyczą anagramów (samych permutacji) danego zestawu znaków (czy też słowa).
Licencja
Aplikacja została opracowana na licencji
X11 (MIT). Jest to mój wkład w rozwój otwartego i wolnego oprogramowania.
Inne ciekawe strony
Słownik języka polskiego PWN,
Polska Federacja Scrabble,
Internet Anagram Sever,
Anagram Genius
Garść informacji technicznych
Program został napisany w PHP5 (jednak podstawowa funkcjonalność powinna działać również w PHP4). Baza danych to MySQL 4.11+.
Kontakt
W razie pytań, uwag, gratulacji :) kontakt z autorem:
Michał Głębowski.
Zapraszam również na moją stronę firmową:
Bazy dla firm.