Алгоритм для рисунка и рисования робота - какие-либо подсказки?

Базовый обзор методов хеширования и шифрования / дешифрования.

Хеширование:

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

hashing


Шифрование и дешифрование:

Если вы шифруете любой простой текст снова с помощью ключа вы можете получить тот же обычный текст , выполнив дешифрование для зашифрованного текста с тем же (симметричным) / разностным (асимметричным) ключом.

encryption and decryption


ОБНОВЛЕНИЕ: Для решения вопросов, упомянутых в отредактированном вопросе.

1. Когда использовать хеши против шифрования

Хеширование полезно, если вы хотите отправить кому-нибудь файл. Но вы боитесь, что кто-то еще может перехватить файл и изменить его. Таким образом, способ, которым получатель может убедиться, что это правильный файл, - это если вы публикуете значение хеша публично. Таким образом, получатель может вычислить хеш-значение полученного файла и проверить, соответствует ли оно хеш-значению.

Шифрование хорошо, если вы говорите, что хотите отправить кому-то сообщение. Вы шифруете сообщение ключом, а получатель дешифрует тем же (или, возможно, даже другим) ключом, чтобы вернуть исходное сообщение. кредитов

2. Что отличает алгоритм хеширования или шифрования (от теоретического / математического уровня), то есть то, что делает хеши необратимыми (без помощи радужного дерева)

В основном хеширование - это операция, которая теряет информацию, но не шифрует . Давайте посмотрим на разницу простым математическим способом для нашего легкого понимания , конечно, у обоих гораздо более сложная математическая операция с повторениями, включенными в нее

Шифрование / дешифрование (обратимое):

Сложение :

4 + 3 = 7  

Это можно изменить, взяв сумму и вычтя одно из добавлений

7 - 3 = 4     

Умножение :

4 * 5 = 20  

Это можно изменить, взяв произведение и разделив на один из факторов

20 / 4 = 5    

Итак, здесь мы можем предположить, что одно из добавлений / факторов ключ дешифрования и результат (7,20) - это зашифрованный текст.


Хеширование (необратимое):

деление по модулю :

22 % 7 = 1   

Это нельзя отменить, поскольку вы не можете выполнить ни одной операции к частному и дивиденду, чтобы восстановить делитель (или наоборот).

Можете ли вы найти операцию для заполнения, где '?' является?

1  ?  7 = 22  
1  ?  22 = 7

Таким образом, хеш-функции имеют то же математическое качество, что и деление по модулю, и теряют информацию.

кредитов

9
задан Community 23 May 2017 в 12:07
поделиться

5 ответов

Существует модель, которая может быть реализована в виде алгоритма для расчета карты значимости изображения, определяющей, какие части изображения привлекли бы наибольшее внимание человека.

Модель называется itti koch model
Вы можете найти начальную статью здесь
И другие ресурсы и исходный код C ++ здесь

3
ответ дан 4 December 2019 в 22:29
поделиться

Это довольно сложная задача. Возможно, вас заинтересует векторизация изображений (не знаю, как это официально называется), которая используется для получения растровых изображений (например, снимков, сделанных камерой) и выводит набор линий Безье (я думаю), которые приблизительно соответствуют изображение, которое вы вставляете. Поскольку хорошие алгоритмы часто выводят наборы строк очень высокого качества (читай: сложные), вам также могут быть интересны алгоритмы упрощения, которые могут очень помочь.

1
ответ дан 4 December 2019 в 22:29
поделиться

Unfortunately I am not next to my library, or I could reccomend a number of books on perceptual psychology.

The first thing you must consider is the physiology of the human eye is such that when we examine an image or scene, we are only capturing very small bits at a time, as our eyes dart around rapidly. Our mind peices the different parts together to try and form a whole.

You might start by finding an algorithm for the path of an eyeball as it darts around. Perhaps it is attracted to contrast?

Next is that our eyes adjust the "exposure" depending on the context. It's like those high dynamic range images, if they were peiced together not by multiple exposures of a whole scene, but by many small images, each balanced on its own, but blended into its surroundings to form a high dynamic range.

Now there was a finding in a monkey brain that there is a single neuron that lights up if there's a diagonal line in the upper left of its field of vision. Similar neurons can be found for vertical lines, and horizontal lines in various areas of that monkey's field of vision. The "diagonalness" determines the frequency with which that neuron fires.

one might speculated that other neurons might be found and mapped to other qualities such as redness, or texturedness, and other things.

There's something humans can do that I've not seen a computer program ever able to do. it's something called "closure", where a human is able to fill in information about something that they are seeing, that doesn't actually exist in the image. an example:

          *






*                    *

is that a triangle? If you knew that it was in advance, then you could probably make a program to connect the dots. But what if it's just dots? How can you know? I wouldn't attempt this one unless I had some really clever way of dealing with that one.

There are many other facts about human perception you might be able to use. Good luck, you've not picked a straightforward task.

1
ответ дан 4 December 2019 в 22:29
поделиться

Я не могу ответить на ваш вопрос напрямую, но вам действительно стоит взглянуть на рисовальную машину художника / программиста (Lisp) Гарольда Коэна Аарона .

3
ответ дан 4 December 2019 в 22:29
поделиться

Я думаю, что в этой огромной задаче вам может помочь человеческое участие. . я имею в виду данные. как будто у вас может быть много людей, которые смотрят на случайные точки (как в предыдущем посте) и соединяют их так, как они видят правильно. вы можете использовать эти данные.

0
ответ дан 4 December 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: