Просто математика

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Просто математика

Сообщение MIT » 22.03.2009 (Вс) 22:48

Есть последовательность чисел
20
21
17
18
17
11

которая является результатом работы алгоритма кодирования, работающего следующим образом: изначально даются числа 7, 9, 3, 1, 8, 5, 4, 0, 2, затем по схеме изображенной ниже путем сложения и получается кодированная последовательность
Изображение
Т.е. формула выглядит так:
7+9+3+1=20
9+3+1+8=21
3+1+8+5=17
1+8+5+4=18
...

Возможно ли имея последовательность 20, 21, 17 и т.д. восстановить исходную 7, 9, 3...?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Re: Просто математика

Сообщение Amed » 23.03.2009 (Пн) 0:05

Обычная СЛАУ.

a0, a1, ..., a8 - первая последовательность
b0, b1, ..., b5 - вторая последовательность

По твоей формуле получается, что
Код: Выделить всё
b0=a0+a1+a2+a3
b1=a1+a2+a3+a4
...


Следовательно, b1=b0-a0+a4
Из этого логично, что
Код: Выделить всё
b(i)=b(i-1)-a(i-1)+a(i+3)
или
Код: Выделить всё
b(i)-b(i-1)=a(i+3)-a(i-1)


Мгновенно делается система
Код: Выделить всё
b1-b0=a4-a0
b2-b1=a5-a1
...


Запишем ее как
Код: Выделить всё
c0=-1*a0+0*a1+0*a2+0*a3+1*a4+0*a5+0*a6+0*a7+0*a8
...


Левая часть известна, в правой - 9 неизвестных. Проверяем СЛАУ, находим корни :)

Александр Дмитриев
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 296
Зарегистрирован: 05.01.2005 (Ср) 3:39
Откуда: Санкт-Петербург    Куда: /dev/null

Re: Просто математика

Сообщение Александр Дмитриев » 23.03.2009 (Пн) 0:11

Однозначно восстановить невозможно, так как задача сводится к СЛАУ, число уравнений в которой всегда меньше числа неизвестных.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Просто математика

Сообщение Хакер » 23.03.2009 (Пн) 0:17

Исходная последовательность: числа от 0 до 9, или произвольные? Если первое, то даже при недостатке уравнений в СЛАУ есть вероятность, что получится однозначно восстановить исх. посл.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Просто математика

Сообщение MIT » 23.03.2009 (Пн) 0:22

Amed писал(а):Обычная СЛАУ.
Ой, это до завтра :)
Хакер писал(а):Исходная последовательность: числа от 0 до 9, или произвольные?
произвальная
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Re: Просто математика

Сообщение Amed » 23.03.2009 (Пн) 0:23

Если произвольная, то найдется только общее решение.

Александр Дмитриев
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 296
Зарегистрирован: 05.01.2005 (Ср) 3:39
Откуда: Санкт-Петербург    Куда: /dev/null

Re: Просто математика

Сообщение Александр Дмитриев » 23.03.2009 (Пн) 0:43

Хакер писал(а):Если первое, то даже при недостатке уравнений в СЛАУ есть вероятность, что получится однозначно восстановить исх. посл.
Да, по-моему, действительно есть вероятность, и, по-моему, она ОЧЕНЬ мала.
UPD:
Кстати, например, для данной последовательности (20, 21, 17, 18, 17, 11) даже при таких ограничениях ответ будет неоднозначным: последовательность 5, 5, 5, 5, 6, 1, 6, 4, 0 также кодируется в неё. Но в общем случае, действительно есть вероятность.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Просто математика

Сообщение MIT » 23.03.2009 (Пн) 8:10

MIT писал(а):произвальная
Хотя нет, не произвальная. Числа задаются в пределе 0-255.

Александр Дмитриев писал(а):Да, по-моему, действительно есть вероятность, и, по-моему, она ОЧЕНЬ мала.
Хм. А если помимо самой последовательности 20, 21, 17 у нас будет число 7 - первый элемент изначальной последовательности?
Или можно переформулировать: что надо иметь помимо последовательности, что бы расшифровка получилась однозначной?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

Александр Дмитриев
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 296
Зарегистрирован: 05.01.2005 (Ср) 3:39
Откуда: Санкт-Петербург    Куда: /dev/null

Re: Просто математика

Сообщение Александр Дмитриев » 27.03.2009 (Пт) 3:07

Насилованием ГЛПК удалось получить список всех последовательностей, кодирующихся в данную 20 21 17 18 17 11. Комбайн из моей проги и ГЛПК висел с минуту! Прога и списки прилагаются (для случаев диапазона чисел 0-255 и 0-9).
Вложения
coding.zip
(4.07 Кб) Скачиваний: 47


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Mail.ru [бот] и гости: 73

    TopList