Имя: Пароль:
1C
 
Как уменьшить строку в 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