несловарная нумерация слов, возможно ли это?

1 2345 6
ЗодчийТеней
На сайте с 13.02.2006
Offline
11
#31
InSAn:
Я это тоже утверждаю.

my $id = join '', map {ord($_)} split //, $word;

Задача решена? ;)

PS: О "длине" айди в утверждении ничего не было сказано.

оригинальный метод, но тогда стоит вернуться к первоначальному вопросу, а именно методе позволяющем впихнуть в 300Кб словарь с учетом морфологии русского языка, и именно алгоритм позволяющий реализовать это по утверждениям Артизана им и упоминался.

Хотя с моей точки зрения обе темы уже утратили свою актуальность и перешли в плоскость обсуждения "необоснованных" высказыванию некоторых форумян, это уже просто ребячество. ИМХО.

Я, однако, не скажу, что все иллюзии или бред нашего ума нужно называть сумасшествием. Эразм Роттердамский "Похвала глупости".
I
На сайте с 26.05.2001
Offline
64
#32

Кстати, Зодчий со словарем все очень непросто. Вполне можно придумать простую функцию хеширования, которая именно на этом словаре дает уникальность. Особенно если словарь маленький. Смотрите берется обычная хорошая функция хеширования, вычисляем ее значения на словаре. Получаем там парочку коллизий. Запоминаем слова, для которых коллизии и выдаем им номера из числа свободных. И все. Так что номера статического словаря хранить действительно не обязательно. Но работать это будет гарантированно только для заданного набора слов. И вполне может быть, что именно этот нехитрый и никому ненужный прием нам боялись поведать. Ну так теперь мы его знаем :-)

Приходите завтра, завтра будет! (http://itman666.livejournal.com)
!Иван FXS
На сайте с 16.11.2001
Offline
119
#33

Более того, поскорльку хэш-функция - вещь достаточно произвольная, то ее можно сделать многопараметрической. А потом - варьируя эти параметры (потратив на это ОДИН РАЗ достаточно много времени) - ПОСТОРИТЬ (выбрать) такую хэш-функцию, которая вообще не будет иметь коллизий на данном статическом словаре.

Наверное, это и есть то решение, которое нужно Зодчему.

lagif
На сайте с 15.12.2004
Offline
30
#34

!Иван FXS, это смотря сколько и какие параметры...

itman, а вы говорили "никаких ослов"... :)

Это тоже пройдет...
!Иван FXS
На сайте с 16.11.2001
Offline
119
#35

Параметры-то численые, и алгоритм хеширования к ним очень чувствителен!

lagif
На сайте с 15.12.2004
Offline
30
#36

!Иван FXS, статический словарь - лучше уж в виде дерева... и, имхо, это утопия - чтоб словарь был статическим при лазании по нету... :)

!Иван FXS
На сайте с 16.11.2001
Offline
119
#37

в виде дерева - лучше тем, что можно сделать "плотную" нумерацию. А если для статического словаря - так еще и упорядочееную по алфавиту (или - с каким-либо еще ... дополнительным полезным свойством).

Но на основе хэш функции, конечно же, (алгоритм) будет и компактнее, и быстрее ... в одну сторону. Обратно-то все-равно придется - так или иначе - через таблицу!

euhenio
На сайте с 21.09.2001
Offline
357
#38

itman, я одного не пойму. Зачем Вам понадобилось делать "хеш-функцию, которая работает для всех немыслимых буквосочетаний"?

Это всё практической пользы не имеет. Сравните длину уникального хэша (если взять 32-ричную систему счисления (примерно столько букв в русском алфавите), то что-то вроде 32^20, где 20-число букв в слове) и количество реально употребляемых в инете слов. Результат превзойдет ожидания :)

И вообще, откуда взялась цифра в 20 букв? А если у меня на сайте есть слова из 40 букв? Давайте уж сразу до 100 букв хеш делайте, чтобы до конца света работало! :)

Если по теме, конечно, не может существовать хеш-функций, укладывающих любые буквосочетания в 4 байта. Но могут существовать хеш-функции, укладывающие реально существующие слова в 4 байта с заданным небольшим уровнем слипаний.

с ув., Евгений Трофименко seo блог Trofimenko.ru ( http://trofimenko.ru/ ) но ыыы мало обновляется... Tools.Promosite.ru - анализатор апдейтов Яндекса (пожертвуйте лимиты на Яндекс.XML! ( https://searchengines.guru/ru/forum/801888/page7#comment_11942489 )) Konvr.ru - увеличение конверсии сайта на 81% за 4 недели ( http://konvr.ru/ )
I
На сайте с 26.05.2001
Offline
64
#39

euhenio, понятие реально существующего слова в интернете - это миф. В принципе, если бы проблема была разрешима, то алгоритмы индексации и поиска можно было бы немножечко упростить.

!Иван FXS, gperf вроде бы делает это, но он, кажется, генерирует в результате табличку большого размера. а контекст был такой, что хотелось бы генерировать айди из слова практически не затрачивая дополнительной памяти.

!Иван FXS
На сайте с 16.11.2001
Offline
119
#40
itman:
gperf вроде бы делает это, но он, кажется, генерирует в результате табличку большого размера..

- большого - в каком смысле? Большого - по сравнению с чем?

_____________________

Я сунулся вот тут:

"Плотный" хэш. (Задачка.)

- посмотрим, что скажут "программисты" ...

1 2345 6

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий