powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / "Плотный" хэш. (Задачка.)
19 сообщений из 19, страница 1 из 1
"Плотный" хэш. (Задачка.)
    #33563758
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задан (статический) словарь. Будем считать для простоты, что он представляет собой N различных чисел. (Соответственно, мы знаем Min() и Max() .)

Нужно "построить" как можно более компактную хэш функцию (алгоритм), отображающую этот "словарь" в множество целых чисел 1..N.

Видно, что отображение должно быть взаимно однозначное, но процедурно реализовать ОБРАТНОЕ преобразование я (пока) не прошу.

Видно также, что речь идет не просто о хэше, а - о "плотном" хэше!
_________________________

Если как построить такой хэш - не понятно, тогда просьба высказать соображения хотя бы о том, какова - теоретически - может быть минимальная длина "программы", реализующей такой алгоритм?

Предполагается, что эта минимальная длина окажется существенно меньше такой, которая позволяет "уместить" внутри алгоритма целиком весь исходный словарь!
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33564395
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSЗадан (статический) словарь. Будем считать для простоты, что он представляет собой N различных чисел. (Соответственно, мы знаем Min() и Max() .)

Нужно "построить" как можно более компактную хэш функцию (алгоритм), отображающую этот "словарь" в множество целых чисел 1..N.
Отсортировать по возрастанию и обращаться по номеру элемента.
Э?
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33564557
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSПредполагается, что эта минимальная длина окажется существенно меньше такой, которая позволяет "уместить" внутри алгоритма целиком весь исходный словарь!бугога, вынести словарь во внешний файл. Можно ещё исследовать словарь на предмет неких закономерностей его структуры. Если словарь плотный, можно запомнить промежутки между словами вместо самих слов.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33565588
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видно, что отображение должно быть взаимно однозначное, но процедурно реализовать ОБРАТНОЕ преобразование я (пока) не прошу.


Хэш-функция по определению не может быть взаимно однозначным отображением.
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33566382
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv , рассмотрите любую хэш-функцию, заданную на множестве из ОДНОГО элемента. Как оно может быть там НЕ взаимно однозначной?
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33566463
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На множестве из одного элемента бессмысленно иметь хэш-функцию.
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33566997
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
((n-Min)*N) div (Max-Min)
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33581912
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНа множестве из одного элемента бессмысленно иметь хэш-функцию.
- а на множестве из двух элементов? А на множестве из трех элементов?А на множестве из N+1 элементов?

("Парадокс кучи" - знакома такая тема?)
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33585235
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я отвечу. Мощность отображаемого множества должна быть как минимум на несколько порядков больше мощности целевого.
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33585402
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется, я где-то что-то недоучил:знаю, что у функции есть область определения и есть множество значений ... а что такое "целевое" множество - не знаю.
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33585776
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSКажется, я где-то что-то недоучил:знаю, что у функции есть область определения и есть множество значений ... а что такое "целевое" множество - не знаю.

Хэш функции отображают (обычно) множество БОЛЬШЕЙ мощности на множество меньшей мощности, т.е. являются по-определению НЕОБРАТИМЫМИ функциями.
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33587206
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы понимате разницу между "обычно" и КОНКРЕТНОЙ задачей?

Перые три слова этой ветки: "Задан ( статический ) словарь" !
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33587675
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSВы понимате разницу между "обычно" и КОНКРЕТНОЙ задачей?
Перые три слова этой ветки: "Задан ( статический ) словарь" !

Иван FXSMasterZiv, рассмотрите любую хэш-функцию, заданную на множестве из ОДНОГО элемента. Как оно может быть там НЕ взаимно однозначной? MasterZivНа множестве из одного элемента бессмысленно иметь хэш-функцию.
- а на множестве из двух элементов? А на множестве из трех элементов?А на множестве из N+1 элементов?
("Парадокс кучи" - знакома такая тема?)

А сколько слов с словаре? Одно? Две? Три?
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33587705
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Два, три, двести двадцать три ... тысячи - какая разница - с точки зрения "мощности множества"? Оно все равно остается (является) КОНЕЧНЫМ!
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33588049
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSВы понимате разницу между "обычно" и КОНКРЕТНОЙ задачей?

Перые три слова этой ветки: "Задан ( статический ) словарь" !

Ну чего ты пускаешь пену? Ежели вам надоть однозначное соответствие, то вам уже советовали:
1) Сортируем словарь по возрастанию (убыванию) - QuickSort тебе в руки.
2) Хеш есть номер элемента в сортированном массиве - поиск методом деления отрезка пополам тебе в руки.
-------------
ужо плотнее и однозначнее не выйдет.
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33588194
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks2ужо плотнее и однозначнее не выйдет.
- пожалуй ... а как насчет "как можно более компактную"?
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33595640
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXS aleks2ужо плотнее и однозначнее не выйдет.
- пожалуй ... а как насчет "как можно более компактную"?

Огласите критерии компактности, ибо QuikSort это ~20 строк кода и ПоискДелениемОтрезкаПополам - ~10 строк кода.
---------------------------------------
Чего вам еще?
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33596089
Иван FXS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Компактность не кода, а "инструмента". С точки зрения оперативно памяти, например.

Вы предлагаете решения, требующие хранения "явного" словаря. То есть размер "инструмента" - не менее размера словаря!

Я-то пытаюсь обсуждать "хэши", то есть решения без "явно хранимого" словаря. Хотя - явно ЗАВИСИМЫЕ от конкретного словаря, поскольку напираю на то, что он "задан" ("фиксированый")!
...
Рейтинг: 0 / 0
"Плотный" хэш. (Задачка.)
    #33596384
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иван FXSКомпактность не кода, а "инструмента". С точки зрения оперативно памяти, например.

Вы предлагаете решения, требующие хранения "явного" словаря. То есть размер "инструмента" - не менее размера словаря!

Я-то пытаюсь обсуждать "хэши", то есть решения без "явно хранимого" словаря. Хотя - явно ЗАВИСИМЫЕ от конкретного словаря, поскольку напираю на то, что он "задан" ("фиксированый")!

Ты не обсуждаешь - а толчешь воду в ступе (это конечно мое частное мнение).
------------------------
Компактность по вашим критериям не снизить ниже массива из N чисел.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / "Плотный" хэш. (Задачка.)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]