Какие математические понятия реализует компьютер?

Я хорошо осведомлен о теоретических работах по теме алгоритмов, пионерами которых, насколько мне известно, были Тьюринг и Черчилль. Компьютеры реализуют большой, но конечный набор алгоритмов. Однако мой вопрос идет в другом направлении.

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

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

Но что математически реализует современный компьютер?

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

Компьютер не может реализовать действительные числа. Он даже не может реализовать натуральные числа... из-за их счетной бесконечности. Он может реализовать конечный набор рациональных чисел (чтобы снова аппроксимировать действительные числа, такие как PI и e, достаточно для всех практических целей).

Компьютеры не могут реализовать (конечный набор) мнимых чисел... или могут? Конечно, в цифровом коде как таковом нет i , но благодаря реализации Q² (как аппроксимации R²) и правилу комплексного умножения комплексные числа вообще не представляют сложности для компьютера.

Теперь это становится более странным.

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

В Haskell я обычно работаю с алгебраическими типами данных и даже с рекурсивными. Кажется, что нет наложенного ограничения: даже ссылка на самого себя в порядке.

Хотя возможности кажутся бесконечными, уже был контрпример R, реальные числа.


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

Можно в вашем вопросе спросить о сфере применения "современного компьютера"? Естественным ответом на ваш вопрос могло бы быть указание на то, что Ethernet и Wi-Fi подразумевают, что основным аспектом вычислений в нынешнюю эпоху является подключенная модульность физических устройств друг к другу, а реализация TCP/IP предполагает, что предположение о конечности может быть неприменимы для современных распределенных вычислений благодаря тому, что Майкл Даммет назвал «бесконечно расширяемым» взглядом на трансфинитное. Но я не знаю, входит ли это в рамки того, что вы хотите рассмотреть.
Прежде вы должны спросить, какие математические концепции реализует счеты?
Работа Тьюринга отвечает на этот вопрос. Компьютер — это устройство, работающее по правилам. Компьютер — это человек. Тьюринг заметил, что человек с бесконечным временем и памятью фактически является универсальным компьютером. Он ничего не реализует, только следует правилу. Мы понимаем вещи, а затем кодируем их по этому правилу, следуя за устройством для «вычисления». Что компьютер может/не может сделать , является предметом теории вычислимости.
@Ajax Я бы предпочел, чтобы ваш комментарий был ответом, чтобы я мог правильно ответить там. Компьютер не человек. Компьютеры различаются по способности представлять математические понятия. Люди продолжают предлагать счеты как простейший пример. Компьютеры сегодня по-прежнему не являются универсальным средством решения проблем. (К сожалению, ни универсальный, ни специализированный решатель задач не является вещью с точки зрения математики и, следовательно, не является ответом на мой вопрос)

Ответы (2)

Это отличный вопрос. Как конечные, неточные, подверженные ошибкам объекты реального мира, такие как счеты или компьютер, соприкасаются с бесконечным совершенным царством математики?

Попробуйте эту аналогию. Предположим, у вас есть бесконечная группа с a⊙b, определенным для каждой пары элементов. Теперь предположим, что вы берете конечное подмножество S элементов группы и определяете новую операцию ⊗, где a⊗b определяется как a⊙b только тогда, когда a, b и a⊙b являются всеми элементами S, причем a⊗b в противном случае не определено.

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

Теперь ⊗ конечно, но это подмножество бесконечного отношения. Если бы паттерн ⊗ был «завершен», мы бы получили ⊙. Даже если компьютер только физически реализует ⊗, мы можем связать ⊗ с ⊙ и сказать, что реализовать ⊗ означает реализовать часть бесконечного ⊙, тем самым «прикасаясь» к бесконечности.

Конечно, реализация ⊗ означает также реализацию части многих других возможных отношений помимо ⊙. Мы могли бы сказать, что ⊗ «касается» бесконечности разными способами, но мы выбираем один конкретный способ, ⊙, представляющий интерес.

Я надеюсь, что это дает немного идеи.

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

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

Частичный ответ: Компьютер не реализует математические, экономические или любые другие концепции . Именно наш разум придает входным и выходным символам математический или экономический смысл. Например, ваши деньги в банке просто представлены намагниченной поверхностью нанометрового размера. Реализуют ли компьютеры экономическую концепцию в таком физическом факте? Конечно, нет.

Относительно инструмента:

Вы можете использовать любой инструмент для представления математических понятий. Например, вы можете использовать воду для математического сложения: если вы наберете 100 чашек воды, поместите их в бассейн и добавите еще 200 чашек воды, что вы получите? Куча воды. Чтобы понять результат, его нужно разделить, причем быстро, иначе вода испарится, может стечь и т. д. И нужно быть очень точным, иначе легко можно получить больше или меньше 300 стаканов воды.

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

Что касается математических понятий:

Теперь, возможно, ключевой вопрос заключается в следующем: как математические или экономические концепции связаны с компьютером ?

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

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

С компьютерами мы разработали типичный язык, который подразумевает: как дать понятия или значения представлению; как подавать их на компьютер через входы; как получить выходные данные и как придать выходным символам концептуальное значение. Как видите, компьютер не реализует математические концепции. Он просто выполняет вычисления, которые дают наборы битов, представленных в той или иной форме.

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

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

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

Полный ответ на ваш вопрос:

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

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

Конечно, все дело в том, что мыслящий человек кормит и интерпретирует компьютер. Но все же: компьютер может представлять больше понятий, чем счеты. В этом смысле компьютер реализует концепцию, и я пытаюсь определить, какая именно.