![]() |
![]() |
![]() |
|
Как уменьшить строку в 50 символов до 20 символов? Ø (Волшебник 06.01.2005 09:39) |
☑ | ||
---|---|---|---|---|
0
Витаэль
12.11.04
✎
11:59
|
Не используя словарей.
Сжимать надо Ф.И.О. Средствами 1с. |
|||
1
Slovar
12.11.04
✎
12:00
|
Зачем
|
|||
2
427
12.11.04
✎
12:01
|
фздец...
Решил положить ФИО в субконто? |
|||
3
Diter
12.11.04
✎
12:02
|
От двух вторых слов отрезай все символы, кроме первого, в нужном месте проставь точки. В качестве разделителя между Ф,И и О служит обычно пробел (один или несколько)
|
|||
4
Slovar
12.11.04
✎
12:02
|
(2)а че такое фздец...
|
|||
5
Витаэль
12.11.04
✎
12:03
|
1. Чтобы создать уникальность клиентов, которая равна Ф.И.О+дата рождения.
2. Что такое субконто? |
|||
6
Витаэль
12.11.04
✎
12:03
|
3. Это не обеспечит уникальности.
|
|||
7
С утра
12.11.04
✎
12:05
|
обкурился ...
|
|||
8
Витаэль
12.11.04
✎
12:07
|
7. Во всем нужно знать меру. Если не знаешь - значит как животное.
|
|||
9
Прапорщик Задов
12.11.04
✎
12:08
|
RAR
|
|||
10
Витаэль
12.11.04
✎
12:10
|
Мне очень интересно, кто-нибудь знает ответ на столь простой вопрос?
|
|||
11
Японский городовой
12.11.04
✎
12:12
|
Какой-то ты не модный...
|
|||
12
alvandael
12.11.04
✎
12:12
|
А уникальность по коду клмента не прокатывает ?
|
|||
13
Витаэль
12.11.04
✎
12:19
|
12. Клиенты появляются постоянно, важно знать - это новый человек или уже встречался.
11. Да, устареваю. Придется мне последовать за Рупором. |
|||
14
alvandael
12.11.04
✎
12:22
|
Можно попробовать использовать КодСимв()
Т.е. через смещение от буквы "А" и перевести это все в двоичную систему, получится на один разряд меньше, т.к. максимум будет 33 + 10 цифр (если все перевести в верхний регистр) т.е. до 64, а так до 255. И сохранить строкой, только вот не знаю реализуется ли все это внутри 1с. :) |
|||
15
Витаэль
12.11.04
✎
12:25
|
14. Это приведет к увеличению длины строки.
|
|||
16
Дуч
12.11.04
✎
12:28
|
Пляши от номера паспорта
|
|||
17
Витаэль
12.11.04
✎
12:30
|
16. Паспорт часто заменяется (в большой выборке клиентов).
|
|||
18
Витаэль
12.11.04
✎
12:31
|
Неужели никто не учился на математика?
|
|||
19
Бивень
12.11.04
✎
12:33
|
md5(FIO)
|
|||
20
Витаэль
12.11.04
✎
12:35
|
Это ведь простой алгоритм... Замена наиболее частых комбинаций - спецсимволами.
|
|||
21
Дуч
12.11.04
✎
12:36
|
(17) это как?
|
|||
22
Витаэль
12.11.04
✎
12:37
|
21. Дэвушка вышла замуж, паспорт утерян, испорчен и т.д.
|
|||
23
a13x
12.11.04
✎
13:26
|
(13)хех, а вы уверены, что пользователи, которые будут вводить исходные данные, которые вы и предполагаете сравнивать (фио то бишь) будут вводитьсь без ошибок?
тогда никакой md5 не спасет... проблема человеческого фактора формально не решается, в подобных случаях она не решается вообще |
|||
24
Alexandr Ch
12.11.04
✎
13:27
|
Глупости какие.
Используй ИНН. |
|||
25
bob89
12.11.04
✎
13:28
|
Всетаки не совсем понятно зачем это надо, чтобы сказать как это сделать? Создать уникальность клиента в 20 символах?
|
|||
26
Витаэль
12.11.04
✎
13:29
|
23. Проверка на ошибки есть.
24. ИНН - необязательный атрибут клиента. |
|||
27
Витаэль
12.11.04
✎
13:29
|
25. Чтобы индексное поле было как можно короче.
|
|||
28
Бивень
12.11.04
✎
13:34
|
Спр.Код
|
|||
29
bob89
12.11.04
✎
13:36
|
Я думаю, лучше каждому клиенту дать свой номер (лицевой счет), его индексировать и не заморачиваться.
|
|||
30
Витаэль
12.11.04
✎
13:38
|
29. Приходит клиент, как ты определишь - есть у него код или нет? :)
|
|||
31
Витаэль
12.11.04
✎
13:38
|
братцы, вы тупите или прикалываетесь?
|
|||
32
427
12.11.04
✎
13:38
|
ФИО+дата не катит...
Вот пример Томограф... В день пропускает не более 12 человек (обследование довольно длительное) Реально в среднем 8-9 За год - каждый месяц было 3-4 смены, в которых попадались полные однофамильцы... За год - было 3 (ТРИ) смены, где однофамильцы имели еще и одну и туже дату рождения... Почему то это были дети... Писал базу просто в свое время учетную прогу для учета клиентов и автоматизированного написания заключений... по шаблонам.... P.S. есть база клиентов томографа примерно за 11 лет... Лень анализировать на совпадения... (заключений в этой базе нет - я не брал во избежание) При этом надо учесть, что подборка весьма специфическая - весь контингент обладает одним признаком.... |
|||
33
Витаэль
12.11.04
✎
13:40
|
32. Что посоветуешь? Комплексное сравнение?
|
|||
34
Wd
12.11.04
✎
13:43
|
(5)А ты уверен, что ФИО+дата рождения даёт уникальность клиента?
|
|||
35
Витаэль
12.11.04
✎
13:46
|
34. Полная уникальность вобще невозможна.
|
|||
36
bob89
12.11.04
✎
13:47
|
(30) Знать свой номер должен клиент. Если он забыл, то идентифицируем его по дате рождения, адерсу, номеру паспорта и т.д., находим его номер и далее ищем записи по его номеру.
|
|||
37
Wd
12.11.04
✎
13:51
|
Используй номер телефона(сотовый)+ФИО
|
|||
38
12345
12.11.04
✎
13:55
|
(32) в таких случаях поможет девичья фамилия матери. А то все думают, зачем она нужна!
|
|||
39
Wd
12.11.04
✎
13:56
|
(38)А если клиент - сирота?
|
|||
40
Дуч
12.11.04
✎
14:03
|
по мед полису
|
|||
41
Витаэль
12.11.04
✎
14:36
|
Реально есть всегда только фио, дата рождения, паспорт, место рождения (не формализованное)
|
|||
42
Славко
12.11.04
✎
15:13
|
Формат()
|
|||
43
Витаэль
12.11.04
✎
15:16
|
42. И что дальше?
|
|||
44
bob89
12.11.04
✎
15:51
|
А какая область деятельности автоматизируется?
|
|||
45
Витаэль
12.11.04
✎
15:52
|
44. В данном случае - кредиты физическим лицам.
|
|||
46
bob89
12.11.04
✎
15:53
|
В данном случае лучше сделать как в (36), т.к. ошибка "смерти подобна".
|
|||
47
Wd
12.11.04
✎
15:54
|
Хэшируй массив данных (41), функцию напиши- средствами 1С(0), сравнивай результат пришедшего клиента с результатом выборки из базы, например по ФИО
|
|||
48
Витаэль
12.11.04
✎
15:55
|
46. Это невозможно физически.
|
|||
49
bob89
12.11.04
✎
15:55
|
А сколько клиентов в базе?
|
|||
50
Витаэль
12.11.04
✎
15:56
|
47. Это так сейчас и есть, но база постоянно растет, требуется все больше и больше ресурсов. Нужно изящное решение.
|
|||
51
Витаэль
12.11.04
✎
15:56
|
49. 60 тысяч сейчас.
|
|||
52
bob89
12.11.04
✎
15:59
|
(51) Т.е. без этого "хитрого" индекса долго приходится искать клиента в базе?
|
|||
53
vasinok
12.11.04
✎
15:59
|
(35) Код ДНК. Что такое md5?
|
|||
54
Витаэль
12.11.04
✎
16:01
|
52. Пока недолго, но скоро станет долго.
|
|||
55
bob89
12.11.04
✎
16:03
|
(54) У человека, который берет кредит в банке, есть уникальный ссудный счет. Можно сделать индекс: <ФИО>+<ДатаРождения>+<СсудныйСчет>.
|
|||
56
Витаэль
12.11.04
✎
16:04
|
Даю маленькую подсказку - нужно использовать два коротких индекса.
|
|||
57
Wd
12.11.04
✎
16:32
|
Значит решение тебе известно (20)(56)? И интересно как быстро допрёт аудитория?
|
|||
58
bob89
12.11.04
✎
16:33
|
(57) У меня такое впечатление сложилось...
|
|||
59
NiGMa
12.11.04
✎
18:04
|
Вообще-то достаточно уникальным бывает ФИО+ДатаРождения+МестоРождения - но это вряд ли 20 байт :(
|
|||
60
Витаэль
12.11.04
✎
18:24
|
57. Известно. Но мне интересна состязательная среда.
|
|||
61
427
12.11.04
✎
18:26
|
(59) Нет. По крайней мере у меня есть полный однофамилец, родившийся в тот же день и год в том же самом городе...
P.S. учились в разных школах... |
|||
62
Витаэль
12.11.04
✎
18:29
|
Но +60 - (35). Погрешность всегда существует.
|
|||
63
427
12.11.04
✎
18:32
|
(62) хм... ну есть у меня и способ... И что дальше...
|
|||
64
Витаэль
12.11.04
✎
18:44
|
63. Уже ничего :). Просто ответы (большинство) указывают на недостаток любознательности или глубокую лень. Тематически неинтересно общаться. Это уже не первая проба.
|
|||
65
SKrin
12.11.04
✎
18:52
|
(64) ты еще в 41 посту ответил на свой вопрос: используй номер паспорта, если нет пастпорта то свид. о рождении и не парься - эти данные самые лудшие обще признанные идентификаторы ЛИЧНОСТИ человека
|
|||
66
Витаэль
12.11.04
✎
18:54
|
65. Это ты милиции расскажи. Паспорт часто меняется. Особенно у полумошенников.
|
|||
67
SKrin
12.11.04
✎
18:56
|
(66) пля, ну тады тока поможет сканирование сетчатки глаза+отпечатки пальцев+ДНК
|
|||
68
Витаэль
12.11.04
✎
18:58
|
67. Веришь или нет, но ДНК неуникален. Сетчатка, отпечатки тоже.
|
|||
69
SKrin
12.11.04
✎
19:03
|
(68) но вместе они дают наибольшую гарантию....
ЗЫ: если они нихрена не подходят, то ХЗ... |
|||
70
_19x0
12.11.04
✎
19:13
|
Ну не ужели не понятно?
1.переводишь в двоичный код 2.Обычные способы архивации |
|||
71
Витаэль
12.11.04
✎
19:17
|
70. Ни один из способов несовместим с 1с.
|
|||
72
_19x0
12.11.04
✎
19:19
|
Хрен там! спорим?
|
|||
73
Витаэль
12.11.04
✎
19:20
|
72. Давай. Объясни мне как индексировать в 1с эти способы.
|
|||
74
_19x0
12.11.04
✎
19:21
|
Так "объясни" или все же "спорим"? Это вещи разные все таки...
|
|||
75
Guk
12.11.04
✎
19:23
|
Дааа, Виталик. Подивил ты меня. Метода Шеннона не для элиты. Для простых смертных. Хватит висеть, спускайся на землю ;) ...
|
|||
76
Витаэль
12.11.04
✎
19:23
|
74. На что спорим? Только давай не на деньги. Это не этично.
|
|||
77
Витаэль
12.11.04
✎
19:24
|
75. Двоичный код 1с не читает.
|
|||
78
Guk
12.11.04
✎
19:26
|
(77) Так она штатно, много чего не читает...
|
|||
79
Витаэль
12.11.04
✎
19:29
|
78. Смотри сабж и первый пост.
|
|||
80
_19x0
12.11.04
✎
19:30
|
2(76) Не на деньги... ну не знаю а на что еще можно по инету спорить?
Попробуй реализовать пару простейших на любом языке... поймешь что (77) не главное. Главное что компутер фурычит на 2-й сс... |
|||
81
Guk
12.11.04
✎
19:31
|
(79) Посмотрел. По-моему самый правильный сабж...
|
|||
82
GrayT
12.11.04
✎
19:31
|
Выкинуть гласные + контрольное число. ПРавда неуверен, что получится соотношение из сабжа
|
|||
83
_19x0
12.11.04
✎
19:34
|
82 не уверен... но это может квалифицироваться как "работа со словарем"(см.0). Хотя методы достойные есть!
|
|||
84
Витаэль
12.11.04
✎
19:37
|
82. Выкинув гласные + контрольное число - уменьшишь уникальность по отношению к полному Ф.И.О.
|
|||
85
GrayT
12.11.04
✎
19:42
|
84 - думаю что уникальность останеться - другое дело что влезит ли это в 20
Насколько я понял из ветки вопрос не о том что будет уникальным, а как упаковать текстовый индекс? |
|||
86
_19x0
12.11.04
✎
19:43
|
2(84) В терминах символов компьютера - да , а вот в лексическом не всегда. Знаковая запись сама по себе избыточна, т.е. все возможные комбинации ни в одном языке не используются. Тебе надо избавиться от избыточности. В 82 просто подход со стороны фонетики а в 70 со стороны архитектуры ЭВМ.
|
|||
87
_19x0
12.11.04
✎
19:43
|
2(84) В терминах символов компьютера - да , а вот в лексическом не всегда. Знаковая запись сама по себе избыточна, т.е. все возможные комбинации ни в одном языке не используются. Тебе надо избавиться от избыточности. В 82 подход со стороны фонетики а в 70 со стороны архитектуры ЭВМ.
|
|||
88
Витаэль
12.11.04
✎
19:47
|
86. Тогда это словари - замена наиболее используемых - спецсимволом. Но так гарантировано сожмешь только допустим славянские фамилии. То есть гарантированно нельзя определить минимальный процент сжатия.
|
|||
89
Витаэль
12.11.04
✎
19:47
|
Вообщем, приходим к вопросу о деревьях :)
|
|||
90
Витаэль
12.11.04
✎
19:48
|
Один ключ - шифр, второй - контрольная сумма
|
|||
91
Витаэль
12.11.04
✎
19:48
|
+90 Но серьезно страдает быстродействие. Испытано.
|
|||
92
Лошадка в пальто
12.11.04
✎
19:49
|
Очень приятно , кстати, сидеть в милом кафе с подарком любимого человека и им самим на набережной Балаклавы и трындеть с милыми форумчанами...
|
|||
93
skunk
12.11.04
✎
19:50
|
развод...
|
|||
94
GrayT
12.11.04
✎
19:52
|
Кстати объясни для темных - что означает "не используя словарей". Ну слаб я в теории передачи информации
|
|||
95
Витаэль
12.11.04
✎
19:59
|
94. Словари - это набор слов, слогов и их замена меньшей разрядностью.
|
|||
96
Витаэль
12.11.04
✎
20:00
|
92. А я на форуме в ожидании похода в бильярдную. Второй раз в жизни!. первый раз играл в детстве - шариком выбил окно (это был первый удар).
|
|||
97
GrayT
12.11.04
✎
20:01
|
А шифр?
|
|||
98
Лошадка в пальто
12.11.04
✎
20:02
|
96. Придурок, кием нужно было... а не как в снежки...
|
|||
99
Витаэль
12.11.04
✎
20:02
|
97. Он формируется по алгоритму. Не используя подготовленный массив словаря.
|
|||
100
Старина Рупор
12.11.04
✎
20:03
|
100!
|
|||
101
Лошадка в пальто
12.11.04
✎
20:03
|
100
|
|||
102
Старина Рупор
12.11.04
✎
20:04
|
(101) Завтра на ипподром ..., тренироваться ...
|
|||
103
Лошадка в пальто
12.11.04
✎
20:04
|
Блин, надо было тоже ! поставить, тогда б попала...
|
|||
104
Витаэль
12.11.04
✎
20:05
|
98. Если бы мне это объяснили тогда... В детстве со мной было множество интересных случаев. Однажды я поджег машину с газовыми баллонами. Она долго взрывалась. Но никто так и не поверил, что это я. Я всем говорил.
|
|||
105
Витаэль
12.11.04
✎
20:05
|
103. Собралась поскакать?
|
|||
106
Лошадка в пальто
12.11.04
✎
20:06
|
104. Просто фиксин какой-то...
Вот такие вопросы http://www.kuban.ru/forum_new/forum9/files/207694.html не тревожат ночами? |
|||
107
Витаэль
12.11.04
✎
20:08
|
106. Ты ведь просто лошадь? Правда? Поэтому тебе не понять блужданий человеческой мысли... Конечно, меня не интересует mp3. Да и 1с тоже. Я работаю над заданиями для программистов.
|
|||
108
syktyk
12.11.04
✎
20:09
|
А что такое контрольная сумма? Вроде контрольного выстрела?
|
|||
109
Лошадка в пальто
12.11.04
✎
20:10
|
нет. не правда.
|
|||
110
GrayT
12.11.04
✎
20:11
|
(99) Согласно твоим определениям, мой алгоритм не словарь. А вот шифр как правило нередко использует специальные массивы (ключи).
Давай свой ответ, а то похоже ветка во флем пошла |
|||
111
skunk
12.11.04
✎
20:12
|
в 19 правильный ответ... а имфу для формирования хэша... толкай какую хочешь
|
|||
112
Витаэль
12.11.04
✎
20:12
|
Прощайте братья, сестры-лошади. Я спешу в бильярдную.
|
|||
113
Лошадка в пальто
12.11.04
✎
20:13
|
112. Ну не пистук ли? Завел всю братву и на крыло?
|
|||
114
France
12.11.04
✎
20:14
|
не зашиби кого шаром..
по нему кием бить надо, а не в окна швырят.. PS на всякий случай.. |
|||
115
GrayT
12.11.04
✎
20:25
|
(112)Редиска - не хороший человек. Вот это словарь
ЗЫ Уже дважды обманул :( |
|||
116
Asmody
12.11.04
✎
20:27
|
(0) эй, бильярдист, три вопроса:
1. в исходной строке только кириллица? 2. высотой букв в исх. строке можно пренебречь? 3. какие символы допустимы в строке-результате? |
|||
117
GrayT
12.11.04
✎
20:36
|
(116)Куда ты клонишь ясно, только похоже он решил просто погнуть пальцы
|
|||
118
Вещий Баян
13.11.04
✎
01:43
|
Может имеет смысл не искать уникальность, а выводить всех совпавших по запросу, а не одного...
Далее оператор сам разберется на месте )))) |
|||
119
Asmody
13.11.04
✎
02:49
|
(117) ну так загнем пальчики обратно:
в (0) предлагается сжать строку в соотношении 5/2. для (116) примем, что: 1. Да плюс цифры и символы: пробел, точка, дефис и апостроф. 2. Да и нет (попробуем оба варианта) 3. Предположим, что только символы, которые вводятся с клавиатуры (штуки типа Alt+0169 не учитываем) требуется описать некую обратимую функцию S'=F(S), такую, что 0<|S'|<=20 для любой S: 0<|S|<=50, где |S|=СтрДлина(S) в терминах 1С. Область определения: из 1) и 2) получаем, что мощность ОО 33+4=47 символов в случае, когда регистр букв не важен (*), и 33*2+4=70 символов, когда регистр букв требуется сохранить (**). Область допустимых значений: серия экспериментов показала, что на моей клавиатуре возможно ввести 160 различных символов. Вот они: `1234567890-=~!@#$%^&*()_+qwertyuiop[]\QWERTYUIOP{}|asdfghjkl;'ASDFGHJKL:"zxcvbnm,./ZXCVBNM<>?ёЁйцукенгшщзхъЙЦУКЕНГШЩЗХЪфывапролджэФЫВАПРОЛДЖЭячсмитьбюЯЧСМИТЬБЮ если что-то пропустил, поправьте. таким образом имеем мощность ОДЗ 160 символов. Очевидно, что для решения задачи необходимо, чтобы |ОДЗ|/|ОО|>=5/2. В случае (*) 160/47~3.4, т.е. задача решаема, а в случае (**) 160/70~2.29 - увы нет. Далее задача сводится к преобразованию чисел с основанием 47 к основанию 160 и обратно. Все... Да, теоретически, в случае (*) 50 символов можно "упаковать" и в 15 (50/3.4=14.7) |
|||
120
GrayT
13.11.04
✎
09:19
|
Накинув сюда не обязательность обратимости - главное сохранение уникальности....
"Очевидно, что для решения задачи необходимо, чтобы |ОДЗ|/|ОО|>=5/2", а вот это мне не очевидно. Есть что почитать? |
|||
121
Guk
13.11.04
✎
10:28
|
Что Виталик, не вытанцовывается каменный цветок? ;)
А я от нехирь делать, уже решил твою задачку. Пришлось институтские задачки поднимать. Оказалось всё настолько очевидным, что мне, Виталик, за тебя страшно что-ли... |
|||
122
427
13.11.04
✎
12:12
|
(121) - да просто я..а у него не той системы... и к тому же мешают...
|
|||
123
Asmody
13.11.04
✎
13:07
|
(120) переведение числа с одного основания на другое само число не меняет. так что функция вполне обратимая. дело в другом. подумав сегодня на свежую голову, понял свой косяк: 47^50 >> 160^20, как не прискорбно... и даже 255 допустимых символа не помогут: 47^50 >> 255^20
|
|||
124
Asmody
13.11.04
✎
19:33
|
в общем, посчитал я на досуге... строку длинной в 50 символов алфавита мощьностью 47 с сохранением однозначности можно упаковать только в строку из 35 символов из алфавита мощьностью 255. или в 38 символов алфавита 160...
|
|||
125
GrayT
14.11.04
✎
02:42
|
А Витаэль молчит.............
|
|||
126
Asmody
14.11.04
✎
19:34
|
(124+) для ценителей русского языка: _мощность_ пишется без мягкого знака. проверено Word'ом
|
|||
127
Витаэль
15.11.04
✎
12:09
|
Ну что, ламеры? Так и не решили?
|
|||
128
Витаэль
15.11.04
✎
12:11
|
GrayT - это когда я тебя обманывал?
|
|||
129
GrayT
15.11.04
✎
12:19
|
Во-вторых побежал бить стекла билиардными шарами, в то время как растравил душу веткой :))
во-первых - не влияет сортировка в реквизите на выборку по запросу |
|||
130
NS
15.11.04
✎
12:19
|
Допустим, в русском языке 32 символа (я округлил) - Это пять битов...
В Символе (Байте) - 8-мь... 50*5/8=32 символа (я опять округлил) И вот к этим 32-ум нужно применить хорошую хеш функцию, приводящую к 20 символам.... Это делается без проблем. |
|||
131
Витаэль
15.11.04
✎
12:21
|
129. насчет сортировки: влияет, хотя я это и не утверждал.
Насчет шаров: мне удалось все же забить несколько красивых голов. |
|||
132
Витаэль
15.11.04
✎
12:22
|
130. Только в 1с с двоичной последовательности?
|
|||
133
Витаэль
15.11.04
✎
12:22
|
Только=Толку
|
|||
134
NS
15.11.04
✎
12:23
|
(124) Где взял 47 букв в русском языке?
|
|||
135
NS
15.11.04
✎
12:24
|
(132) Хеш можешь применять и без преобразования...
В двоичную - ни в коем разе перед хешем... |
|||
136
Витаэль
15.11.04
✎
12:25
|
135. Хорошая хеш функция вызывает такие тормоза...
|
|||
137
Витаэль
15.11.04
✎
12:29
|
+136. Если взять и элементарно заменять наиболее встречающиеся слоги спецсимволами - можно сократить строку примерно до 20-30 символов. Но это не гарантирует такое сжатие для всех ФИО. Некоторые ФИО - практически не сокращаются :). А мне нужно гарантированно хотя бы 35 символов. Чтобы создать относительно короткое индексное поле.
|
|||
138
Витаэль
15.11.04
✎
12:30
|
+137. Как вариант принят индекс - который получается безусловным обрезанием до 15 символов сжатой ФИО. Остальная часть хранится в неиндексируемом реквизите.
|
|||
139
427
15.11.04
✎
12:30
|
что такое R50 и аналогичные .... - похоже, никто и не знает...
|
|||
140
Витаэль
15.11.04
✎
12:31
|
139. Это нужно знать элите?
|
|||
141
427
15.11.04
✎
12:32
|
R-50 - сжатие 3-х байтов в 2.... когда то было широко распространено
|
|||
142
Витаэль
15.11.04
✎
12:34
|
141. Я читал кучу алгоритмов по сжатию (правда давно), итог моих прочтений: без приведения к двоичному коду - все эти алгоритмы практически бессмысленны.
|
|||
143
427
15.11.04
✎
12:38
|
(задумчиво глядя в пространство) ... Как знать, как знать...
|
|||
144
Витаэль
15.11.04
✎
12:40
|
143. Я пробовал сжать ТЗ... Дня два бился - ничего средствами 1с нормального не получилось. Перепробовал кучу алгоритмов. Правда их писали студенты...
|
|||
145
ZyXEL
15.11.04
✎
12:45
|
А Винду упаковать не пробовал?? А вообще то если уж ты такой крутой мог бы и правильный ответ сказать (если знаешь конечно). А может просто нужен апгрейд? :)))
|
|||
146
Витаэль
15.11.04
✎
12:46
|
145. Это тебе, модему, нужен апгрейд :).
Что такое правильный ответ? Есть ли вообще такое в природе? |
|||
147
427
15.11.04
✎
12:46
|
Сжать ее на 33% - как два пальца об асфальт... Хотя тормозить будет...
|
|||
148
Витаэль
15.11.04
✎
12:48
|
147. Если ее сжать на 33% (ТЗ из 3 стобцов и тысячи строк) , то распаковка на Сеl 2600 будет занимать полдня.
|
|||
149
ZyXEL
15.11.04
✎
12:52
|
Тормозить будет однозначно.. И еще неоднозначно что создавая этот самый индекс мы ну будем его ждать фиг знает скока.. А ему еще и быстро.. Ну индескирую по 50 симовол.. может влоб индекс будет лучше.. и может быть и быстрее..
|
|||
150
427
15.11.04
✎
13:17
|
распаковка у этого алгоритма быстрая...
|
|||
151
Витаэль
15.11.04
✎
13:19
|
150. А упаковка? Или есть чудеса?
|
|||
152
427
15.11.04
✎
13:28
|
да... быстрая ... ибо про R50 ты, похоже, не слышал никогда...
Полного названия здесь никто не упомянул и я промолчал... |
|||
153
Витаэль
15.11.04
✎
13:34
|
152. Не слышал наверное. Так дашь ссылку?
|
|||
154
427
15.11.04
✎
13:38
|
а я не искал - я просто смотрю на полку на старую документацию к некоему компу...
|
|||
155
Asmody
15.11.04
✎
16:49
|
ИМХО, в (123) и (124) показано же, что не слить 50 символов в 20 просто по теории чисел.
2NS: 47 символов - это 33+10+точка+пробел+аппостроф+тире - минимальный набор символов для представления Ф.И.О.+дата рождения (читай 5) 2Витаэль: представлени слоговов символами - это уже разновидность словаря. Условие в (0) не прокатывает. А из чисто практического интереса - скулю пох 20 символов в дерево развесить или 50... порядок (в мат.смысле) один и тот же. вот 20 символов и 5020 - уже есть чего сравнивать... |
|||
156
NS
15.11.04
✎
16:55
|
Какое сжатие? Вы о чем? Рехнулись?
Что такое ГАРАНТИРОВАННО сжать до 20 символов? Однозначно - Хеш функция. |
|||
157
NS
15.11.04
✎
16:55
|
В имени/Фамилии/Отчестве - не бывает точек и т.д.
|
|||
158
Asmody
15.11.04
✎
16:58
|
(157) из (5) [Q]Чтобы создать уникальность клиентов, которая равна Ф.И.О+дата рождения[/Q] в дате точки есть >;))
|
|||
159
NS
15.11.04
✎
17:01
|
(158) Дата рождения сжимается ВСЯ до пары байт.
|
|||
160
Asmody
15.11.04
✎
17:02
|
(159) была задача "сжать строку", а не "сжать часть строки"... >;))
|
|||
161
NastyFrog
15.11.04
✎
17:09
|
Первые 15 символов из ФИО, остальные 5 , при совпадении первых 15, наращивать счетчиком
|
|||
162
Asmody
15.11.04
✎
17:19
|
(161) не взлетит по (124) >;))
|
|||
163
NS
15.11.04
✎
17:23
|
(162) Еще раз - с датой рождения нужно 34 символа/байта. Это тридцать символов ФИО +
дополнительно к ним - Дата Рождения. |
|||
164
NastyFrog
15.11.04
✎
17:29
|
(162)Ежели совпадений первых 15-ти символов будет больше, чем пятизначное 47-ричное число. Ну, там, многим клиентам кредит дадут. Придется дальше ФИО резать - до 14 символов. Пожилые дамы с двойными фамилиями будут недовольны.
|
|||
165
Asmody
15.11.04
✎
18:08
|
(163) откуда 30? в (0) было 50.
(164) а как потом по ФИО получить это значение? ведь челу это нужно было, чтобы поиск ускорить вроде как... |
|||
166
Витаэль
15.11.04
✎
19:00
|
165. Совершенно верно.
|
|||
167
Asmody
15.11.04
✎
20:08
|
(166) ну так чего, бильярдист? по делу-то чего скажешь?
|
|||
168
Vint Kras
16.11.04
✎
05:28
|
(166) почитал, сложилось впечатление что тебе не в 1С надо ? народ парится, спорит, а ты прикалываешься....
|
|||
169
Витаэль
16.11.04
✎
12:11
|
168. В 1с.
167. Что именно? |
|||
170
Asmody
16.11.04
✎
12:17
|
(169) чем страшная история закончилась? >;))
|
|||
171
NS
16.11.04
✎
12:17
|
(165) опечатка - есно 50.
|
|||
172
Asmody
16.11.04
✎
12:21
|
(171) ну и что? даже уменьшив исходный алфафит до 33 символов ты существенной экономии не добьешься. ты уменьшаешь основание (причем, не существенно), а порядок остается прежним
|
|||
173
Витаэль
16.11.04
✎
12:28
|
172. Ламер, ты сабж читаешь? Я предложил задачку, а ты все время спрашиваешь решение.
|
|||
174
Витаэль
16.11.04
✎
12:30
|
170. Я забил несколько прекрасных голов.
|
|||
175
egor1
16.11.04
✎
12:41
|
Может, я чего не увидел... Но какова постановка задачи все же? 50 и 20 символов каких? Любых из стандартной таблицы или из определенного числа символов? То есть 50 могут быть из ограниченного списка, а 20 - из стандартной таблицы. Или нужно исключить те символы, которые 1С считает ошибкой в текстовых полях?
|
|||
176
Витаэль
16.11.04
✎
12:46
|
175. Нужно получить 20 символов, которые можно использовать как реквизит для быстрого поиска.
|
|||
177
Витаэль
16.11.04
✎
12:47
|
+176. Я напишу алгоритм по существу, когда в этом топике увижу хотя бы один алгоритм по существу.
|
|||
178
egor1
16.11.04
✎
12:56
|
(176) Сначала сформулируйте задачу, потом просите алгоритм. Сколько различных символов допустимо в исходном тексте? Требуется ли обратимость сжатия?
|
|||
179
skunk
16.11.04
✎
13:02
|
дойдет до 200... а?
|
|||
180
Витаэль
16.11.04
✎
13:14
|
178. Допустимо до 30 (если ФИО+ДатаРождения). Но эта длина должна быть гарантирована для любых ФИО. Обратимость не требуется, важно не снизить первоначальный уровень уникальности.
|
|||
181
Vint Kras
16.11.04
✎
13:45
|
(177)
Витаэль 41 - 12.11.04 - 14:36 Реально есть всегда только фио, дата рождения, паспорт, место рождения (не формализованное) .... дальше не буду рыться, по номерам постов,но: ФИО - вышла жамуж и поменялось... - не пойдет ФИО и дата р. совпадают... - не пойдет паспорт - поменяли и все... - не пойдет ... это обязательные реквизиты, остальные не обязательные, не подходят однозначно... ... сетчатка, днк не уникальны... - не пойдет Код - откуда мы знаем ккакой - не пойдет ИНН ... - не пойдет Вы Витаэль человека определяете по метафизической субстанции, якобы находящейся в физическом теле ? а по сути, судя по 45 посту, это кредитование, ну так вот, есть кредит, есть и человек, который его взял, плясать надо от кредита, если Вас больше ничего не устраивает... между кредитом и клиентом надо использовать два индекса, поиск либо по 1-му либо по 2-му, или... но вас все равно ничего не устраивает. |
|||
182
Vint Kras
16.11.04
✎
13:53
|
+181 Задачи, как таковой, нет.
|
|||
183
GrayT
16.11.04
✎
14:13
|
(182)Похоже уже забыли с чего начали.
Итак: Есть 50 символов текста - условно - это уникальный текст Нужно упаковать все это добро в 20 символов, не потеряв уникальность. Обратимость не нужна. Витаэль, правильно сформулировал? ЗЫ:Надеюсь, что ответ у тебя есть |
|||
184
Vint Kras
16.11.04
✎
14:18
|
(183) он в нескольких постах настаивал что нет уникальности в изначальных 50 символах...
|
|||
185
Витаэль
16.11.04
✎
14:25
|
183. Все верно.
184. Полной уникальности просто быть не может. Но достаточную уникальность обеспечивает ФИО+дата рождения. Если клиент поменял ФИО и Паспорт - для нас это в любом случае новый клиент. |
|||
186
Asmody
16.11.04
✎
14:32
|
(185) а если тебе обратимость не нужна, нах тогда париться? возьми GUID - будет тебе уникальность. а я тебе, "неламер" показал, что 50 символов в 20 без потери обратимости не складываются.
|
|||
187
Витаэль
16.11.04
✎
15:00
|
186. Ты хоть немного умеешь мыслить? Какой GUID? Приходит клиент - у него что GUID на лбу написан?
|
|||
188
LOSS
16.11.04
✎
18:20
|
Витек про гуяд тычего? Будет он у клира еже не ниже 98 мастдая. Еже нет так весит писец не сдохнешь
|
|||
189
Wd
16.11.04
✎
18:29
|
(187)Выдай клиенту пластик, у Русского стандарта 16-значный УИН, правда у "Почетных клиентов".
****** Хотя постановка задачи интересная. |
|||
190
Витаэль
16.11.04
✎
18:59
|
189. Приходит клиент - его право сказать был он у нас или нет. Наше дело проверить. Проверить можем только по паспортным данным или по ФИО+год рождения. Второй вариант более уникален, поскольку полумошенники часто меняют паспорт, но редко ФИО и свидетельство о рождении. Поэтому никакие карточки не подходят.
|
|||
191
Витаэль
16.11.04
✎
18:59
|
189. Почетных клиентов мы и так знаем в лицо.
|
|||
192
Asmody
16.11.04
✎
19:28
|
тогда тебе нужна обратимость. иначе как ты будешь гарантировать сохранение уникальности?
|
|||
193
Витаэль
16.11.04
✎
19:40
|
192. ФИО ведь все равно есть.
|
|||
194
Asmody
16.11.04
✎
19:56
|
(193) это к чему?
я про то, что НоваяСтрока <=> ИсходнаяСтрока |
|||
195
Guk
16.11.04
✎
19:57
|
Шёл пятый день решения задачи обрезания...
|
|||
196
Asmody
16.11.04
✎
19:59
|
(195) (вылезая из-под стола) LOLище!!!
|
|||
197
Walther
16.11.04
✎
20:14
|
Не, без словарей - нереально сжать до 20 символов. 34 - минимум. Кто-то здесь уже посчитал это. Тут как ни крути, а гарантию длины тебе может дать только математика, а тут все просто - 50/8*5 = 32 (окр. в большую сторону =) + 2 байта дата.
|
|||
198
Asmody
16.11.04
✎
20:16
|
(197) как говорит pit, "фздец"! я это челу уже 3й день объясняю.
|
|||
199
NiGMa
16.11.04
✎
21:53
|
Можно применить LZW-алгоритм с переменной длиной (примерно как факсы сжимаются) - но для переменной длины нужны данные частотного анализа (букв, пар букв, триад и т.д.)
Правда, засада есть - частотный анализ, сделанный для "Ивановых", даст осечку для "Мкртчян" - он в 20 байт не уложится. |
|||
200
NiGMa
16.11.04
✎
21:53
|
200!
|
|||
201
bazvan
16.11.04
✎
21:56
|
Пати путики. Вота тупнячекс крутейший.
Ветку сохранил. Распечатал. Теря заворачиваю и курю. Прихот питарики просто сУперные. Шоба я так жил |
|||
202
GrayT
16.11.04
✎
23:21
|
(201)Красиво излогаешь
|
|||
203
Asmody
17.11.04
✎
00:10
|
(201) что заворачиваешь?
|
|||
204
ё-моё
17.11.04
✎
00:15
|
три дня об уникальности кодов в справочнике.. 203 поста, рекорд перекрыт!
ср. в книгу гиннессса! |
|||
205
skunk
17.11.04
✎
03:05
|
(204)и не говори... если просто проверить... исходя из условия... то просто CRC
|
|||
206
romix
17.11.04
✎
05:23
|
Уникальность клиента лучше определять по биометрии.
Считыватели вроде сейчас чуть ли не в мыши или мобильники встраивают. Отпечаток пальца можно брать очень быстро, и потом так же быстро находить карточку клиента. |
|||
207
skunk
17.11.04
✎
06:18
|
(206)так сразу и рекомендуй... папилон...
|
|||
208
Витаэль
17.11.04
✎
12:46
|
Эта ветка еще раза доказывает, что ламерам чужд дух исследователей.
|
|||
209
о_о
17.11.04
✎
12:48
|
И только элита ставит задачи так что сразу и не поймешь, что ее решение есть в учебниках.
|
|||
210
NS
17.11.04
✎
13:18
|
Блин! Что вы обсуждаете? Сжатие Хеш функцией в строку из двадцати ЧИСЕЛ - это уже 64! битная хеш Функция! Этого уже хватает выше крыши. В 20 Символов - 160 битная.
Что обсуждать? Именно для задач (0) Хеш и придумали. Открывается Рамвлер, ищется информация, пишется Хеш, и всех делов. А Сжатие существует для других задач, и в (0) оно неприменимо. |
|||
211
Волшебный Ламер
17.11.04
✎
14:09
|
Но почему-то готового алгоритма никто так и не привел.
|
|||
212
skunk
17.11.04
✎
14:14
|
(211) внематочно прочитай (210)... там все есть... или тебе здесь листинг выкидывать
|
|||
213
Волшебный Ламер
17.11.04
✎
14:17
|
212. Я знал, что ты глуп, но настолько.... Приведи код на языке 1с, тупица.
|
|||
214
Волшебный Ламер
17.11.04
✎
14:18
|
А NS просто гонит теорию. Теория без практики - это лажа.
|
|||
215
skunk
17.11.04
✎
14:20
|
и что, будет если это будет... умница
|
|||
216
Волшебный Ламер
17.11.04
✎
14:22
|
215. Тогда мы все не будем думать, что ты стадный.
|
|||
217
3JIou_TaTaPuH
17.11.04
✎
15:13
|
Юзайте внутренний код 1с-ки.Полюбак уникален
|
|||
218
Витаэль
17.11.04
✎
15:15
|
217. И что с ним делать?
|
|||
219
427
17.11.04
✎
15:18
|
Все сопли жуем?
|
|||
220
Витаэль
17.11.04
✎
15:23
|
219. Кто как.
|
|||
221
Asmody
17.11.04
✎
19:44
|
(213) такой код на 1С денег стоит, чудила ты на М (матофильтру - привет)!
|
|||
222
Витаэль
17.11.04
✎
19:52
|
221. Все дело в том, что ты не знаешь :) Если знаешь - выкладывай в течение 20 мин - будет тебе приличный бонус.
|
|||
223
bazvan
17.11.04
✎
19:53
|
Пля вота идиеты. Я тупею с вас
|
|||
224
Asmody
17.11.04
✎
19:54
|
(222) в теч. 20 мин. не смогу - работаю еще. и вообще, я привык работать по предоплате... >;))
|
|||
225
Витаэль
17.11.04
✎
19:57
|
223. Тебе еще сколько осталось до конца?
224. Я конечно не знаю о твоих способностях, но перевод с ходу на 1с займет не менее 4-6 часов. |
|||
226
bazvan
17.11.04
✎
20:01
|
Пшел на ВС (или те фразу всю привести)
|
|||
227
Витаэль
17.11.04
✎
20:03
|
226. О!! Так ты уже в кондиции, Гусь-базван!
|
|||
228
bazvan
17.11.04
✎
20:07
|
А кроме кондиции на мой пост сказать нечего??? Прально тупой однаЭсник куали с него взять (анализы и те под наркозом)
|
|||
229
Витаэль
17.11.04
✎
20:07
|
228. Не флуди в тематическом сериале. Специально для тебя - есть новая гусиная ветка.
|
|||
230
skunk
17.11.04
✎
23:02
|
(216)я же тупица... объясни мне смысл слова стадный
|
|||
231
Великий Матрейя
18.11.04
✎
10:49
|
230. Смысл стадности подробно изложен в моем концептуальном труде здесь:http://1c.realnet.ru/cgi-bin/forum.cgi?ask=764
|
|||
232
Для не
06.01.05
✎
07:50
|
стадных программистов http://www.gr13.net.ru/old/1c/download/program.htm
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |