|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Дмитрий , поздравляю вы на границе открытия , над которым ученные мужи ломают мозги уже десятки лет. Dimitry Sibiryakov В случае хэш-таблицы для любого j > i выполняется условие f(Xj) > f(Xi), где f - хэш функция. Таким образом хэш-таблица удовлетворяет определению упорядоченного множества. Dimitry SibiryakovА вероятность коллизий ты учитываешь? ВИКИ чтобы при малейшем изменении аргумента значение функции сильно изменялось (лавинный эффект). В частности, значение хеша не должно давать утечки информации даже об отдельных битах аргумента Единственное осталось , избавить вашу теорию от взаимоисключающих параграфов. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 14:49 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
ДохтаРЕдинственное осталось , избавить вашу теорию от взаимоисключающих параграфов. Это легко: достаточно заменить "f(Xj) > f(Xi)" на "f(Xj) >= f(Xi)". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 14:51 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovДохтаРЕдинственное осталось , избавить вашу теорию от взаимоисключающих параграфов. Это легко: достаточно заменить "f(Xj) > f(Xi)" на "f(Xj) >= f(Xi)". Еще раз : ВИКИчтобы при малейшем изменении аргумента значение функции сильно изменялось (лавинный эффект). В частности, значение хеша не должно давать утечки информации даже об отдельных битах аргумента Корреляцию пападения в взаимоисключающие параграфы видите ? Ваши функции туда попадают чуть более более чем со 100% вероятностью ) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:03 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
On 04/19/2012 03:41 PM, ДохтаР wrote: > Блин , это же научное открытие :) > > Предлагаю срочно внести в аналы > < http://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5> > , что бы не потерялось не дай Бог. > ) Внесите! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:09 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
On 04/19/2012 03:41 PM, Dimitry Sibiryakov wrote: > MasterZiv > Это неверное утверждение. > > > Да неужели?.. И в чём же ты видишь его неверность? В его содержании, естественно :-) Это утверждение ложно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:10 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Сергей АрсеньевПод сортировкой можно подразумевать получение из неупорядоченного (произвольного) множества упорядочного. Не просто "упорядоченного", а "упорядоченного по некоему заранее заданному критерию". При этом на практике применимость того или иного алгоритма сортировки определяется в том числе спектром критериев, которые он в состоянии обслужить. Дмитрий же делает вид, что сортировкой является упорядочивание по некоему случайному критерию, определяемому в процессе собственно упорядочивания. Как это... "Сортирую слепым методом, 14 миллиардов элементов в секунду. Только такая фигня получается" (ц) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:11 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
FreimaksВ качестве ключа я попытался использовать MD5, которая считается для строки X+Y+Z+Time. Тыб еще SHA1024 взял. Тебе не надо обратной невосстановимости, тебе скорость нужна. Возми чего попроще (хоть CRC или последовательный XOR байтов). Ну и по хешу надо запоминать список вариантов значений полей ему уодвлетворяющий. Хотя в твоем случае если значений полей встречаются более-менее равномерно, то хеш тут совсем не нужен. Просто запоминаешь в ассоциативном массиве [Поле1][Поле2]... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:11 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
On 04/19/2012 03:43 PM, Freimaks wrote: > А не подскажите как этот массив сформировать? Учитывая, что совпадающими могут > быть 4 поля? НУ... я дельфы не знаю, берёшь какой-то список или динамический массив, берёшь делаешь структуру из пар (имя - значение) и запихиваешь в этот массив или список пары (имя - значение). Можно имя поля не использовать, а использовать соглашение, что например это будет массив 4 значений, 1-ое значение -- поле 1 2-ое значение -- поле 2 и так далее. Но тогда надо везде использовать именно этот порядок полей, чтобы поля друг с другом не путать. Ну и массив или список должен уметь содержать значения разных типов, эти 4 поля наверное у тебя разных типов. Я не знаю, какие есть в дельфе структуры данных для этого, типа variant-а что=то надо. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:14 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
On 04/19/2012 03:51 PM, Dimitry Sibiryakov wrote: > Единственное осталось , избавить вашу теорию от взаимоисключающих параграфов. > > > Это легко: достаточно заменить "f(Xj) > f(Xi)" на "f(Xj) >= f(Xi)". Давай остановимся всё же на f(Xj) <=> f(Xi) (где <=> -- означает естественно "меньше, равно или больше" Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:16 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Щас переделал так: В Type прописал новый объект TPair, состоящий из 4 полей (X,Y,Z,Time). Завел переменную Pair:TPair; Далее при чтении файла заполняются эти 4 поля и в TDictionary используются как ключ в виде переменной Pair. Но памяти жрет опять же немерено - на файл в 126 Мб, отъедается около 400 Мб. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:18 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
> Тыб еще SHA1024 взял. Тебе не надо обратной невосстановимости, тебе скорость > нужна. Возми чего попроще (хоть CRC или последовательный XOR байтов). > Ну и по хешу надо запоминать список вариантов значений полей ему уодвлетворяющий. Блин, ещё один. Ему надо дубликаты искать, ему нельзя никакие свёртки использовать. Надо сами значения уникальных полей. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:19 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
> В Type прописал новый объект TPair, состоящий из 4 полей (X,Y,Z,Time). Да, похоже маразм -- это заразное... (чур меня, чур). > Далее при чтении файла заполняются эти 4 поля и в TDictionary используются как > ключ в виде переменной Pair. Но памяти жрет опять же немерено - на файл в 126 > Мб, отъедается около 400 Мб. Ну а куда деваться -то ? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:21 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
softwarerНе просто "упорядоченного", а "упорядоченного по некоему заранее заданному критерию". Хотелось бы пояснить, чем просто "упорядоченного" отличается от "упорядоченного по некоему заранее заданному критерию" и возможно ли первое без второго? Дмитрий же хотел сказать, что построение hash таблицы есть частный случай неоднозначного упорядочивания (т.е. есть элементы у которых ключи упорядочивания равены), что иначе можно назвать группировкой. Дискутировать на эту тему можно долго. И безпонтово. Как и о том, что эффективнее дерево или hash таблица. Первое сложно строить - второе может быть неэффективно на конкретных данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:23 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
MasterZiv> В Type прописал новый объект TPair, состоящий из 4 полей (X,Y,Z,Time). Да, похоже маразм -- это заразное... (чур меня, чур). > Далее при чтении файла заполняются эти 4 поля и в TDictionary используются как > ключ в виде переменной Pair. Но памяти жрет опять же немерено - на файл в 126 > Мб, отъедается около 400 Мб. Ну а куда деваться -то ? Сори, если что-то пропустил - уже столько всего тут написали. А как еще действовать если не так??? Т.е. грубо говоря - этот инструмент сам удаляет дубликаты, наличие дубликатов определяется по одинаковому ключу, соответственно этот ключ надо как-то сформировать. Единственное что мне пришло в голову - считать сумму, но подсказали по поводу пар - я переделал на пары... работает пошустрее конечно, но не идеально, кто же спорит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:25 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
MasterZivЭто утверждение ложно. Но привести доказательство его ложности Вы, конечно же, откажетесь... softwarerНе просто "упорядоченного", а "упорядоченного по некоему заранее заданному критерию". При этом на практике применимость того или иного алгоритма сортировки определяется в том числе спектром критериев, которые он в состоянии обслужить. Дмитрий же делает вид, что сортировкой является упорядочивание по некоему случайному критерию, определяемому в процессе собственно упорядочивания. Э-э-э... Александр, Вы хэш-функцию считаете "случайным критерием"? Утверждаете её недетерминированность? Или на каком ещё основании Вы утверждаете, что в процессе построения хэш-таблицы не происходит упорядочение множества по возрастанию значения хэшей его элементов? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 15:48 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
FreimaksА как еще действовать если не так??? Вы пробовали построить массив массивов или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 16:04 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovMasterZivЭто утверждение ложно. Но привести доказательство его ложности Вы, конечно же, откажетесь... softwarerНе просто "упорядоченного", а "упорядоченного по некоему заранее заданному критерию". При этом на практике применимость того или иного алгоритма сортировки определяется в том числе спектром критериев, которые он в состоянии обслужить. Дмитрий же делает вид, что сортировкой является упорядочивание по некоему случайному критерию, определяемому в процессе собственно упорядочивания. Э-э-э... Александр, Вы хэш-функцию считаете "случайным критерием"? Утверждаете её недетерминированность? Или на каком ещё основании Вы утверждаете, что в процессе построения хэш-таблицы не происходит упорядочение множества по возрастанию значения хэшей его элементов? В данном случае, единственное требование к хешфункции это более-менее равномерное распределение значений по диапазону, что исключит частые коллизии. Поэтому хеш от 1 может быть 45456456, а от 1000000000 может быть 54, никаких требований "для сортировки" у хешфункции нет и быть не может. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 16:11 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Сергей АрсеньевХотелось бы пояснить, чем просто "упорядоченного" отличается от "упорядоченного по некоему заранее заданному критерию" и возможно ли первое без второго? Конечно, возможно. Представьте себе, например, что мы вставили в некую таблицу 100 записей и затем выбираем их select-ом. Мы увидим их в каком-то порядке, но отсортирована ли выборка? Сергей Арсеньев Дмитрий же хотел сказать, что построение hash таблицы есть частный случай неоднозначного упорядочивания Дмитрий хотел сказать, что автомобиль содержит лошадиные силы и поэтому его утверждение, что мы постоянно ездим на лошадях, вполне истинно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 16:14 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
BazistВ данном случае, единственное требование к хешфункции это более-менее равномерное распределение значений по диапазону, что исключит частые коллизии. Если быть точным, то лучше сформировать другое требование: время вычисления хеш функции и поиска записи ей соответствующей должно чаще всего быть меньше времени перебора коллизий. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 16:17 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
softwarerПредставьте себе, например, что мы вставили в некую таблицу 100 записей и затем выбираем их select-ом. Мы увидим их в каком-то порядке, но отсортирована ли выборка? rownum в ней монотонно возрастает, нет?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 16:18 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
softwarerМы увидим их в каком-то порядке, но отсортирована ли выборка? Вопрос не менее мощный чем основной вопрос философии (ну тот, про курицу и яйцо). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 16:19 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovrownum в ней монотонно возрастает, нет?.. Дмитрий, тут Вы перегинаете палку - отсортированный, это не тот который в определенном порядке, это тот, который отсортировали. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 16:21 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Сергей Арсеньевотсортированный, это не тот который в определенном порядке, это тот, который отсортировали. <sarkazm on>Вы ещё добавьте "методом пузырька"...<sarkazm off> Зачем такие ограничения на процесс? Главное - результат. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 16:26 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Сергей АрсеньевFreimaksА как еще действовать если не так??? Вы пробовали построить массив массивов или нет? Чтобы не вводить в заблуждение, признаюсь - я даже не знаю что это такое. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 16:31 |
|
СУБД для временного хранения данных из бинарного файла (под Delphi).
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЭ-э-э... Александр, Вы хэш-функцию считаете "случайным критерием"? Да, безусловно. Dimitry SibiryakovУтверждаете её недетерминированность? Её (не)детерминированность не имеет отношения к моему утверждению. Не надо демагогически подменять тему, ни здесь, ни в следующем предложении. Dimitry SibiryakovИли на каком ещё основании Вы утверждаете, На том основании, что когда я смотрю на данные, например Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
я могу сказать, к какому результату приведёт сортировка по тому или иному (простому) критерию. Например, я знаю, какой результат даст сортировка по полю OBJECT_NAME, не зная при этом деталей реализации алгоритма сортировки и допуская замену его на какой-либо другой. Когда я дам Вам интерфейс к некоей реализации хэш-таблицы, и Вы сможете предсказать, как она упорядочит данные Вы сможете, опираясь на неё и без использования других средств сортировки отсортировать данные, например, по полю OBJECT_NAME Ваша реализация выдержит замену хэш-таблицы на другую с тем же интерфейсом и другой реализацией Вы убедительно докажете, что хэширование является сортировкой. Поскольку это Вам не под силу - я имею полное основание утверждать, что Вы в очередной раз занимаетесь безответственным словоплётством. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2012, 16:34 |
|
|
start [/forum/topic.php?fid=35&msg=37761405&tid=1552562]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 151ms |
0 / 0 |