реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Возможно ли?
Adv
сообщение Aug 1 2009, 13:09
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407



Уважаемые Знатоки!
Есть следующая задача:
имеются четыре восьмиразрадных числа, которые образуют уникальное сочетание (адрес, например),
над каждым из них может быть выполненна табличная операция по кодированию в 36-ти (или в 32-х) битное число,
далее ВОПРОС:
какие математические действия необходимо произвести над полученными (или исходными) числами, чтоды однозначно убедиться, что это то самое уникальное сочетание четырех восьмиразрадных чисел? Какой (и существует ли) алгоритм такой операции?

ЗЫ: Что такое дешифратор мне известно....
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 1 2009, 13:58
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Попробуйте выразить это математическими терминами. Они более или менее общеприняты, из-за чего будет понятно, о чём идёт речь. Возьмите для примера книгу по математике. В нынешнем виде постановка задачи совсем непонятна (мне, по крайней мере).
Или не секретничайте выдайте жизненную ситуацию, в которой возникла эта задача. Так тоже будет понятнее.
Go to the top of the page
 
+Quote Post
stells
сообщение Aug 1 2009, 14:24
Сообщение #3


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(Adv @ Aug 1 2009, 17:09) *
какие математические действия необходимо произвести над полученными (или исходными) числами, чтоды однозначно убедиться, что это то самое уникальное сочетание четырех восьмиразрадных чисел?

действительно непонятно... исходные они и есть исходные, а над полученными - провести обратную табличную операцию
Go to the top of the page
 
+Quote Post
Adv
сообщение Aug 1 2009, 14:30
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407



Цитата(scifi @ Aug 1 2009, 16:58) *
Попробуйте выразить это математическими терминами. Они более или менее общеприняты, из-за чего будет понятно, о чём идёт речь. Возьмите для примера книгу по математике. В нынешнем виде постановка задачи совсем непонятна (мне, по крайней мере).
Или не секретничайте выдайте жизненную ситуацию, в которой возникла эта задача. Так тоже будет понятнее.


Так я про дешифратор-то не зря написал.... И с постановкой задачи , вроде, корректно....
И так, повторяю, есть адрес. Надо убедиться, что он действительный (требуемый для срабатывания системы в дальнейшем, для пропуска данных в обработку, например). Сделать надо аппаратно. Маски большого размера неприемлимы - у меня их негде хранить (адрес может быть более 4-х восьми разрядных чисел, скажем, 6 или 10) . Есть ли математическое решение (разделить, умножить, сложить, вычесть, закодировать исходные числа перед математическими операциями и т.п.) этой задачи?
Пропустил важное - в ходе решения результат должен выдаваться как бит. ВСЕ ЧЕТЫРЕ ЧИСЛА ПРАВИЛЬНЫЕ и их ПОРЯДОК (1-ое,2-ое,3-ие,4-ое правильная; 1-ое,3-ие,2-ое,4-ое - неправильная) правильный.

Сообщение отредактировал Adv - Aug 1 2009, 14:35
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 1 2009, 14:44
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Adv @ Aug 1 2009, 18:30) *
И так, повторяю, есть адрес.

Почтовый адрес?

Цитата(Adv @ Aug 1 2009, 18:30) *
Надо убедиться, что он действительный

То есть прогнать этот адрес по полному списку всех действительных почтовых адресов?

Я же говорю, непонятно. Тут телепатов нет, чудес не ждите.
Go to the top of the page
 
+Quote Post
Adv
сообщение Aug 1 2009, 14:53
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407



Цитата(scifi @ Aug 1 2009, 17:44) *
Почтовый адрес?.


Да хоть адрес для ОЗУ. Разница-то какая?? Адрес - он и есть адрес.
В нём НЕТ признаков любого кодирования.


Цитата(scifi @ Aug 1 2009, 17:44) *
То есть прогнать этот адрес по полному списку всех действительных почтовых адресов?.


Нет. По списку ДЛЯ КОНКРЕТНОГО УСТРОЙСТВА ОТБОРА (т.е моего устройства)

Цитата(scifi @ Aug 1 2009, 17:44) *
Я же говорю, непонятно. Тут телепатов нет, чудес не ждите.


Не жду. Потому спрашиваю. Известно ли для этого математическое решение или я просто зря в это ввязался.
Это дешифратор адреса, по сути. И у меня в распоряжении только операции табличного преобразования входных чисел и математические операции.

Сообщение отредактировал Adv - Aug 1 2009, 15:06
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 1 2009, 15:18
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Adv @ Aug 1 2009, 18:53) *
Да хоть адрес для ОЗУ. Разница-то какая?? Адрес - он и есть адрес.

Разница огромная. Такие понятия, как "адрес" и "действительный адрес" могут быть сильно разными.
К примеру, IP-адрес. Это 4 числа от 0 до 255, разделённые точками. "Действительным" IP-адресом можно считать любой IP-адрес, не попадающий в один из известных диапазонов "приватных" IP-адресов (можно придумать ещё пару простых правил). То есть задача определения "действительного адреса" может быть очень простой.
Если же речь идёт о почтовых адресах, то тут, к примеру, можно считать "действительным адресом" такой адрес, который входит в КЛАДР (Классификатор адресов России). Это довольно большая таблица, и её хранение и поиск по ней может быть довольно накладным.
Поэтому и спрашиваю. У задачи в такой расплывчатой формулировке общего решения быть не может.
Надо определиться, что такое "адрес" и что такое "действительный адрес".
Go to the top of the page
 
+Quote Post
Adv
сообщение Aug 1 2009, 15:37
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407



Это протосто входной адрес.
Пример того, что я хотел бы получить (сильно упрощённый, но точный).
Допустим, есть дешифратор адреса 8-ми разрядного кода. На выходе 255 шин ДА\НЕТ. Используются 1, 3, 8, 23, 46, 74, 124, 234, 245 шины. Такое - только математически, и только для требуемых шин.
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 1 2009, 15:48
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Adv @ Aug 1 2009, 19:37) *
Это протосто входной адрес.
Пример того, что я хотел бы получить (сильно упрощённый, но точный).
Допустим, есть дешифратор адреса 8-ми разрядного кода. На выходе 255 шин ДА\НЕТ. Используются 1, 3, 8, 23, 46, 74, 124, 234, 245 шины. Такое - только математически, и только для требуемых шин.

Вы всё время что-то недоговариваете. Есть дешифратор, понятно. А дальше что? В чём состоит задача?
Go to the top of the page
 
+Quote Post
Adv
сообщение Aug 1 2009, 15:53
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407



Цитата(scifi @ Aug 1 2009, 18:48) *
Вы всё время что-то недоговариваете. Есть дешифратор, понятно. А дальше что? В чём состоит задача?


Простите, чего недоговариваю-то??
Ранее написано - используются ОПРЕДЕЛЁННЫЕ комбинации из множества входных кодов адреса -1, 3, 8, 23, 46, 74, 124, 234, 245 шины.
Аппаратно это просто. А возможно ли математически??
Или ещё пример - есть ОЗУ с 8-ми битным входным адресом в котором при поступлении на вход адресов 1, 3, 8, 23, 46, 74, 124, 234, 245 на выходе будет еденица (ДА). Для остальных адресов -ноль (НЕТ).

Сообщение отредактировал Adv - Aug 1 2009, 15:57
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 1 2009, 16:05
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Adv @ Aug 1 2009, 19:53) *
Простите, чего недоговариваю-то??
Ранее написано - используются ОПРЕДЕЛЁННЫЕ комбинации из множества входных кодов адреса -1, 3, 8, 23, 46, 74, 124, 234, 245 шины.
Аппаратно это просто. А возможно ли математически??

То есть это что-то похожее на кодовой замок, где отпирающий код - это последовательность определённого числа (неповторяющихся) 8-разрядных чисел, введённых в определённом порядке?
И нужно работу такого замка описать операциями табличного преобразования и арифметическими операциями на неком (пока неизвестном) языке программмирования?

Предположим, речь идёт о кодовом замке, где код - это 4 8-разрядных числа.
Делаем так. При вводе первого 8-разрядного числа (условно 0xAA) табличным преобразованием делаем из него 32-разрядное число 0xAA000000. При вводе второго 0xBB делаем из него 0x00BB0000. Потом 0x0000CC00 и 0x000000DD. Потом полученные 4 32-разрядных числа складываем и получаем 0xAABBCCDD. Далее сравниваем с верным кодом и говорим "да" или "нет".
Для примера таблица первого преобразования очень простая:
0x00 -> 0x00000000
0x01 -> 0x01000000
0x02 -> 0x02000000
...
0xFF -> 0xFF000000 (всего 256 строк)
Go to the top of the page
 
+Quote Post
Adv
сообщение Aug 1 2009, 16:35
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407



Цитата(scifi @ Aug 1 2009, 19:05) *
То есть это что-то похожее на кодовой замок, где отпирающий код - это последовательность определённого числа (неповторяющихся) 8-разрядных чисел, введённых в определённом порядке?
И нужно работу такого замка описать операциями табличного преобразования и арифметическими операциями на неком (пока неизвестном) языке программмирования?

Предположим, речь идёт о кодовом замке, где код - это 4 8-разрядных числа.
Делаем так. При вводе первого 8-разрядного числа (условно 0xAA) табличным преобразованием делаем из него 32-разрядное число 0xAA000000. При вводе второго 0xBB делаем из него 0x00BB0000. Потом 0x0000CC00 и 0x000000DD. Потом полученные 4 32-разрядных числа складываем и получаем 0xAABBCCDD. Далее сравниваем с верным кодом и говорим "да" или "нет".
Для примера таблица первого преобразования очень простая:
0x00 -> 0x00000000
0x01 -> 0x01000000
0x02 -> 0x02000000
...
0xFF -> 0xFF000000 (всего 256 строк)


И храним длинную маску 0xAABBCCDD. Если правильных кодов много - то и массив масок большой и громоздкий. Для этого у меня нет ресурсов.
Это тот же самый ПРОСТОЙ, или ПРЯМОЙ, дешифратор. Можно прямо введённый код дешифровать, без сложения, байтам просто вес присваивается - первому - старший, второму - третий, третьему - второй ну и четвёртому младший. Тот же 32-х разрядный адрес, что и Вы сформировали.
ВОПРОС есть ли какая-нибудь последовательность действий ТИПА (возможны любые, но МАТЕМАТИЧЕСКИЕ):
- кодирование первого числа
- кодирование второго числа
- кодирование третьегочисла
- кодирование четвёртого числа
- сумма первое + второе + третье + четвёртое
- деление на костанту
- XOR байтов остатка
- результат (ДА или НЕТ)

число операций может быть другим , действия - тоже.
НО тут не должно быть МАСОК (и устройтв для их хранения) Допускается наличие нескольких констант.

Сообщение отредактировал Adv - Aug 1 2009, 16:40
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 1 2009, 16:49
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Adv @ Aug 1 2009, 20:35) *
ВОПРОС есть ли какая-нибудь последовательность действий ТИПА (возможны любые, но МАТЕМАТИЧЕСКИЕ):
- кодирование первого числа
- кодирование второго числа
- кодирование третьегочисла
- кодирование четвёртого числа
- сумма первое + второе + третье + четвёртое
- деление на костанту
- XOR байтов остатка
- результат (ДА или НЕТ)

число операций может быть другим , действия - тоже.
НО тут не должно быть МАСОК (и устройтв для их хранения) Допускается наличие нескольких констант.

Если я правильно понял условия задачи, то это невозможно. Ведь если верный код - это 4 ПРОИЗВОЛЬНЫХ 8-разрядных числа, то они требуют 32 бита для хранения. Если таких кодов много, то и битов для их хранения нужно много.
Однако, если набор верных кодов доступа известен заранее (перед составлением алгоритма декодирования), то теоретически можно попытаться использовать это знание, чтобы упростить алгоритм декодирования (но только для этих известных заранее кодов). Но это в общем случае весьма нетривиальная задача, наверное. Есть над чем подумать...
Go to the top of the page
 
+Quote Post
Adv
сообщение Aug 1 2009, 16:52
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407



Цитата(scifi @ Aug 1 2009, 19:49) *
Если я правильно понял условия задачи, то это невозможно. Ведь если верный код - это 4 ПРОИЗВОЛЬНЫХ 8-разрядных числа, то они требуют 32 бита для хранения. Если таких кодов много, то и битов для их хранения нужно много.
Однако, если набор верных кодов доступа известен заранее (перед составлением алгоритма декодирования), то теоретически можно попытаться использовать это знание, чтобы упростить алгоритм декодирования (но только для этих известных заранее кодов). Но это в общем случае весьма нетривиальная задача, наверное. Есть над чем подумать...


Коды известны заранее. Это именно так. Не тривиальная... потому и обратился к народу....
Если что-то прийдёт на ум - не сочтите за труд, известите. Мне пока не пришло, к сожалению.
Благодарен всем кто откликнулся.
С уважением Adv.

Сообщение отредактировал Adv - Aug 1 2009, 16:55
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 1 2009, 17:00
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Adv @ Aug 1 2009, 20:52) *
Коды известны заранее. Это именно так. Не тривиальная... потому и обратился к народу....

Тогда подскажите, какие арифметические операции доступны и над какими операндами. Вы упоминали +,-,*,/,XOR,табличное преобразование, некую маску (с неким ограничением по число битов?). Есть ли ограничение на число операций? Поскольку, похоже, недоступны ветвления (типа IF-THEN-ELSE), то нужны какие-то "нелинейные" операции типа побитового OR или AND. Табличные преобразования могут делать почти всё, но опять же, какие есть ограничения, связанные с ними?
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 12:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01503 секунд с 7
ELECTRONIX ©2004-2016