Re[4]: Инвариант на string
От: gmkraprike  
Дата: 19.10.09 09:54
Оценка:
Здравствуйте, Caracrist, Вы писали:

C>другой вариант:

C>берём все буквы и ассоциируем их с простыми числами для нескольки частей. допустим 4 части:
C>a 2, b 3,c 5,d 7,e 11,f 13,
C>g 2,h 3,i 5,j 7,k 11,l 13,
C>m 2,n 3,o 5,p 7,q 11,r 13,s 17,
C>t 2,u 3,v 5,w 7,x 11,y 13,z 17
C>И теперь считаем число для каждой части умножая на простое число по количеству присутствия. Можно добавлять дополнительные числа по мере надобности. Например выделить по 64 бита для каждого изначально.
C>"example"
C>242
C>13
C>14
C>11

Мысль интересна. Но пока не все понимаю, а точнее не могу понять обоснование, почему это должно работать.
Вопросы:
1)Почему были выбраны именно простые числа?
2)За что отвечает выбор количества "частей". Понятно, что, если частей много, то максимальное простое число в ней будет меньше, чем в случае малого числа таких "частей". Зная ответ на этот вопрос, я могу, наверное, определить, что будет эффективнее (экономнее).
3)Какой мат.операцией лучше объединить эти четыре оценки в одну числовую характеристику — число. Чтобы добиться ее уникальности.

PS Кстати, в таком случае можно использовать информацию о частоте букв в языке. К примеру, бука "e" в англ. — maximum, "z" — minimum.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.