О криптографии

Oct 05, 2019 17:40

Ещё из Оливера Сакса. Он невролог, и книжка про невропатологии, но один отрывок может быть любопытен в разрезе современного шифрования. Если всё так (а он всё-таки учёный, который вряд ли будет прибегать к столь грубым фальсификациям), это заставляет вспомнить теории о том, что мозг в своей работе использует квантовые эффекты, и алгоритм Шора, ( Read more... )

Leave a comment

gul_kiev January 26 2020, 14:19:53 UTC
> саванты не "рассчитывают" при помощи факторизации, является ли число простым. Они "узнают" простое число.

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

> Мне не известно, пытался ли кто-то обучить нейросеть "узнавать" простые числа путем обучения с подкреплением.

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

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

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

Reply

e_1_off January 26 2020, 15:11:48 UTC
Нейросеть не "угадывает" результат, а ищет (и иногда даже находит) корреляции между разными свойствами данных. Если такая коррелляция есть - нейросеть ее со значительной вероятностью найдет.
Если это не четкая математическая, а статистическая корреляция - нейросеть будет, как вы выразились, "угадывать" - то есть показывать вероятность.

И обычно нет конечно, для сложной арифметики в мозгу у большинства людей специальных нейросетей нет. Мы в стандарнтной ситуации пользуемся для нее примерно теми же механизмами, которые наш мозг использует для планирования, прогнозирования и речи. То есть мы рассматриваем числа как сложные объекты и оперируем их свойствами в последовательной манере.
Однако есть области мозга, отвечающие за "интуитивную" математику: ситуации, когда мы не делая расчет сразу "видим" результат. Это области, которые отвечают за восприятие пространства и времени. Были неоднократные исследования, показавшие, что у "обычных" людей эти зоны активируются только при элементарных арифметических вычислениях, а у профессиональных математиков при гораздо более серьезных и сложных задачах.

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

Reply

gul_kiev January 26 2020, 16:30:33 UTC
Дело не в том, какие свойства мозга задействуются.
Конечно, бывает синестезия, связывающая цифры с цветами или со звуками или ещё с чем-нибудь, в результате чего у синестетиков при арифметических вычислениях оказываются задействованы смежные отделы мозга, и вычисления могут производиться намного эффективнее. Было бы странно не верить в существование "счётчиков".

Я не верю не в это, и не в возможность параллельных процессов в мозгу, а в то, что эти механизмы могут дать конкретно такие результаты, как в описанном фрагменте. Потому что счётчики-синестетики, хоть и показывают феноменальные для человека результаты, но не дотягивают даже до примитивного калькулятора. А распараллеливание в мозгу работает совсем не так, как в видеокарте.

И, главное - потому что для любых этих действий нужен _алгоритм_. Счётчики оперируют цифрами (возможно, представляя их в виде цветов или каких-то ещё ощущений). Математик оперирует другими абстракциями (не всегда вербализуемыми). Обычный человек может "прикинуть" результат, оценив величину чисел и соотнеся её с уже известными ему примерами. Ни один из этих методов не даёт возможность за разумное время определить, является ли десятизначное число простым. Поэтому и приходится предполагать какие-то другие механизмы.

Reply

e_1_off January 26 2020, 17:00:09 UTC
Это не синестезия. Это...
Вот, например, вы знаете, что такое "абсолютный слух"? Это не "хороший музыкальный слух". Большинство людей, услышав две ноты, могут сказать, это две разных или две одинаковых ноты и какая из них выше, а какая ниже.
В люди с абсолютным слухом услышав одну ноту могут сказать, какая это нота какой октавы.
Для понимания - у нас у всех абсолютное цветовое зрение: мы узнаем цвет просто посмотрев на него.
При том, что, в отличие от звуков у нас нет ряда рецепторов для света разных частот. Три вида рецепторов, каждый из которых имеет свою кривую чувствительности. И на основании степени активации каждого из этих видов мы определяем - достаточно точно - какова длина волны видимого нами излучения. Для того, чтобы это сделать "искусственно", так сказать, без помощи умеющего это делать "бессознательно" мозга нужно решить несколько дифференциальных уравнений. И мозг их решает и представляет нам информацию в виде ощущения определенного цвета. Но мозг не умножает, не делит, не извлекает корни и не находит производные. Он, пропуская сигнал через сеть нейронов активирует определенные зоны затылочной коры.

А математики, например, очень часто могут "увидеть" примерный график функции просто прочитав ее символьную запись. Каким "алгоритом" и каким образом, по-вашему, они для этого пользуются?

И почему вы считаете, что все возможные способы определения простоты числа уже открыты?

Reply

gul_kiev January 26 2020, 17:39:55 UTC
> у нас у всех абсолютное цветовое зрение: мы узнаем цвет просто посмотрев на него

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

> И на основании степени активации каждого из этих видов мы определяем - достаточно точно - какова длина волны видимого нами излучения.

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

Я бы привёл другой пример. Математически посчитать правильный удар в бильярде довольно сложно - это не только тригонометрия при ударе о другой шар, но и те самые дифференциальные уравнения, потому что шар вращается и может двигаться по дуге, меняет своё направление при ударе от борта, нужно точно выбрать точку приложения и силу удара - и бильярдист это всё "вычисляет" без всякой математики.

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

> А математики, например, очень часто могут "увидеть" примерный график функции просто прочитав ее символьную запись. Каким "алгоритом" и каким образом, по-вашему, они для этого пользуются?

Это, как раз, понятно. Смотрят первую-вторую производную, если видны - корни (пересечение с осью абсцисс), точки перегиба (нули производной), значение в нуле, в единице, в минус единице, в плюс- и в минус-бесконечности, ассимптоты (если есть), периодичность (если есть), симметричность или антисимметричность... При натренированности на это всё уходят секунды времени, особенно если это какая-то стандартная функция (многочлен или тригонометрическая, например).

И это всё, опять же, никак не помогает понять, каким образом можно в уме найти простое десятизначное число или определить, является ли названное десятизначное число простым.

> И почему вы считаете, что все возможные способы определения простоты числа уже открыты?

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

Reply


Leave a comment

Up