itman

Рейтинг
64
Регистрация
26.05.2001
lagif:
itman, смотря что в ваших утверждениях он считает неверным.

Лагиф, это не смешно, там два утверждения помеченных цифирьками 1 и 2. Артизан говорит, что оба неверны? Может тоже лучше найти в себе немного мужества признаться или будем может делать морфологический разбор предложения? :-)

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

Tarry:
Господа и дамы. С интересом наблюдаю за вашей дискуссией, не хотел вмешиваться, но все же не удержался.
Со стороны складывается такое впечатление, что один из участников постоянно задает развернутые и пространные вопросы, а остальные позволяют себе лишь многозначительные, но довольно туманные и скупые синтенции, смысл которых не совсем ясен. :)
Еще раз, простите....
lagif:
itman, ну, и где здесь его утверждение?

Лагиф, если я считаю, что факт A неверен, а Артизан делает отрицание моего утверждение, то он фактически утверждает, что факт А верен. Это, понимаете ли, логика. И даже тот факт, что я неудачно назвал тему или функцию преобразования строк в числа хешированием не играет роли.

Лагиф, спецыяльно для Вас:


есть два варианта
1) хранить, тогда прощай компактное представление. точнее не прощай, но это доп расходны на хранение.
2) генерировать из слова уникальные id. но я не знаю алгоритма, который гарантировал бы уникальность такого id.

Артизан написал:


Оба утверждения неправильные, ...

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

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

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

ПОЧВЕНСТВУЮЩИХ

СУЖЕСКОМ

ХРОНОВОГО

ТЕПЛОТНОСНАЯ

ВОДОБОДИВШИЕСЯ

словами русского языка не являющимися, но на слова очень похожее.

Лагиф, я ничего не запутываю 😡 😡 😡 Это Вы, извините, читате с середины темы. В том-то и дело, что спорит! Артизан утверждает, что он такую функцию изобрел. Но детали естественно не говорит, потому что это коммерческая тайна. Вот я и делаю лирическое отступление на тему того, как много таких вот коммерческих тайн на самом деле дутые.

lagif:
itman, вы все запутываете. никто не спорит, что любая хэш-функция нестабильна для любого большого набора слов. Размер словаря здесь имеет второстепенное значение.

Хорошо давайте будем называть их строками, хотя принципильной разницы нет. И в контексте поисковых машин это довольно очевидно. Потому что поисковик все строки заносит в словарь (При определенных ограничениях на длину). А все то, что лежит в словаре можно считать словом! Так что не такая уж и неудачная терминология.

lagif:
itman, Это уже совсем другая задача! Вы называете словами не те слова :)
lagif:
itman, Это уже совсем другая задача! Вы называете словами не те слова :)

даже если слова заменить на строки, то в чем принцпиальное отличие для алгоритма несловарной нумерации?

lagif:
Не верю, что интернетных слов так много.
Все равно 2^32 не наберется. Запас большой. Поверьте.
А если уж вам не хватит - так уж лонг-инт используйте. :) (я бы посмотрела на этот словарь :))

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

euhenio:
-при том, что 4*10^9 гораздо больше, чем 4*10^5, а вовсе не


-не верю. сколько именно?

ну Вы абсолютно правы в том, что 4*10^9 гораздо больше, но еще нужно закодировать правило преобразования слова в число, чтобы каждое слово кодировалось уникальным интом как бы Вы предложили это сделать?

Ответ на вопрос сколько именно: как минимум 28^20

в интернете может встретиться абсолютно любая комбинация латинских букв. И если Вы не верите, то назовите комбинацию и сделаю страничку, которая эту комбинацию содержит!

Хм, да я не волнуюсь, просто Вы себя дискредитируете. Я Вам уже и процитировал Ваше высказывание, которое однозначно трактуется как, что не существует алгоритма, который позволяет генерировать уникальные айди из слова. И доказательство привел, почему это НЕВОЗМОЖНО. А Вы все говорите, что я ничего не понял. Видимо, просто мужества не хватает признать: да что-то я не так сказал.

PS: Тут надо было бы еще для начало уточнить размер этого айди в байтах. Например все слова из латинских букв длиной 16 символов можно закодировать используя 10 байт. Но Вы даже и это почему-то не сказали. Хотя вряд ли такой способ может быть практически ценным.

euhenio:
-откуда столько слов? 256^4=4294967296
Насколько я знаю, в русском литературном около 400 тыс. слов максимум. Т.е., в 1000 раз меньше.

А причем здесь русский литературный язык? Речь шла о том, как бы сэкономить на хранении номера слова. Способ существует единственный - вычислять этот номер по слову. Но при этом возникает одна трдность некий небольшой процент слов будет иметь одинаковый номер. Артизан утверждает, см цитату выше, что это неправильное утверждение. То есть смотри называние темы.

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

Пардон с именем ошибочка вышла. Насчет того, что я все перпутал цитирую. Я написал:


есть два варианта
1) хранить, тогда прощай компактное представление. точнее не прощай, но это доп расходны на хранение.
2) генерировать из слова уникальные id. но я не знаю алгоритма, который гарантировал бы уникальность такого id.

Вы написали:


Оба утверждения неправильные, ...

что же я перепутал?

Всего: 444