О точности математиков

Feb 25, 2021 12:47

Есть такое распространённое мнение, что «математики запредельно точны в своих рассуждениях - не то, что физики, инженеры или биологи ( Read more... )

наука, философия, программирование

Leave a comment

Comments 68

chhwe February 25 2021, 09:54:42 UTC
Математик-непрограммист же свободен от этих ментальных страданий: его цель не написать работающую программу, а убедить кого-то в своих выводах.

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

Reply

lex_kravetski February 25 2021, 10:48:04 UTC
> Написать работающую программу - это убедить пользователя в том, что программа работает.

Примерно в 100% случаев пользователей убеждают в этом вовсе не демонстрацией им текста программы.

Reply

chhwe February 25 2021, 11:19:09 UTC
вовсе не демонстрацией им текста программы.

это верно, но никто и не ограничивал средств убеждения

Reply

lipkalapka February 25 2021, 11:34:45 UTC
Точно, можно даже исходники библиотек на бумагу распечатать, и гневно потрясать этой кипой бумаги - «Не работает программа? А ты докажи, гад!»

Reply


ext_5680585 February 25 2021, 10:19:13 UTC
> Не менее круто развиты и двойные стандарты, применяемые почти на автомате. Например, весьма нередко встречаются рассуждения вроде:

А можно хоть один пример такого?

> Но в области математики почему-то норм объявить рекурсивную функцию без такого условия и начать рассуждать о её «предельном результате», иногда прикрывая оный ещё какими-то эвфемизмами. Как так-то? У вас же вроде «точность»?

А можно хоть один пример такого?

> Кроме того, программистам интуитивно понятно, что «число» и «объект, в котором лежит число» - две большие разницы. В общем случае их нельзя отождествлять - даже если в объекте только-то одно это число и лежит.

Если они ведут себя одинаково во всех случаях - то их можно отождествлять.

Reply

lex_kravetski February 25 2021, 10:59:28 UTC
> А можно хоть один пример такого ( ... )

Reply

feogrek February 25 2021, 11:45:42 UTC
> Я, например, почти только что беседовал с гражданином, который уверен, что процесс, в котором мы на базе списка строим некоторое число

Ну так надо смотреть на процесс.
Не исключено, что гражданин прав.

> Бесконечные процессы там заканчиваются чуть ли не на каждой странице, причём каждый раз именно на том подшаге итерации, на котором нужно для рассуждений.

Согласитесь, это всё-таки не конкретный пример, о котором вас просили.

> Однако они не ведут себя одинаково во всех случаях.

А можно поинтересоваться, что это за объект такой - "число", о котором вы говорите, что его с чем-то там путают.

Reply

lex_kravetski February 25 2021, 12:31:26 UTC
> Ну так надо смотреть на процесс. Не исключено, что гражданин прав.

Ну естественно - главное тут выгодно для себя определить понятие «прав». Ведь экспериментально это проверить вообще невозможно, поэтому из этих нефальсифицируемых гипотез надо выбирать по какому-то другому принципу.

Например, по степени отличимости что-то утверждающего от меня: чем он более я, тем вернее его вариант.

> Согласитесь, это всё-таки не конкретный пример, о котором вас просили.

Конкретный пример был до этого.

> А можно поинтересоваться, что это за объект такой - "число", о котором вы говорите, что его с чем-то там путают.

Это - некий обладающий идентификацией объект некоторого типа, для которого определён набор операций, которые мы условно называем «численными». Иного определения у «чисел» нет.

Reply


asox2 February 25 2021, 10:34:40 UTC
Разница в уровнях свободы и, как следствие, в точности заключается в том, что машина не умеет додумывать - ни правильно, ни неправильно. Вместо этого она выполняет то, что написали в коде, поэтому написано оно должно быть с абсолютной точностью и однозначностью.

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

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

Осталось осознать, что само-по-себе "точное исполнение инструкций" - не имеет вообще никакого смысла, ибо смысл ему приписывает - всё тот же человек.
Всегда.

Reply

beljakoff February 25 2021, 11:00:17 UTC
Результат работы программы является комбинацией исходных данных, кода самой програмы и кода, описывающего исполнительное устройство(микроконтроллер, например), и микроконтроллер всегда работает именно так, как ему сказали проектировщики на языке описания аппаратуры(если только не сломается). Сказали работать с ошибкой - будет работать с ошибкой, всё однозначно.

Reply

asox2 February 25 2021, 18:14:19 UTC
микроконтроллер всегда работает именно так, как ему сказали проектировщики на языке описания аппаратуры(если только не сломается).

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

Reply

lex_kravetski February 25 2021, 11:04:10 UTC
> У наших пацанов был пример, когда микроконтроллер неверно выполнял какую-то математическую операцию - что-то было с битами.

И даже тут он ничего не додумывал, а выполнял ровно вот эту операцию. Невзирая на то, что у «пацанов» было описание какого-то другого контроллера, а не вот этого.

> Осталось осознать, что само-по-себе "точное исполнение инструкций" - не имеет вообще никакого смысла, ибо смысл ему приписывает - всё тот же человек.

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

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

Reply


ext_4493528 February 25 2021, 11:29:39 UTC
В математике используется свой "язык" и сравнение с языками программирования здесь не работает, т.к. математические выражения несут другой смысл, нежели алгоритмические программы.
Никакой проблемы с точность там нет. В математическом выражении/рассжудении либо есть ошибка и тогда оно не верно. Либо нет ошибки и тогда оно верно - т.е. абсолютно точно. Математики убеждают друг друга не в точности своих математических выражений, а достаточности их обоснований.

Reply

lipkalapka February 25 2021, 11:38:06 UTC
О, точно. Если этот ряд в вашей действительности не сходится, берём другую.

Reply


poxu February 25 2021, 15:54:16 UTC
> Каждый раз, читая подобное, я офигиваю: ладно ещё «финальный результат» - но почему именно f-то?

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

> Есть ли в мире тому хоть одно обоснование, кроме «нам так хотелось»?

Я думал, что это единственное обоснование и есть. И что рассматривается, что будет, если остановить процесс на шаге f после того, как он долго работал.

> Причём в другом месте в тех же самых рассуждениях в качестве «финального результата» с той же степенью уверенности будет постулироваться «именно g».

Наверное потому, что в том месте рассматривается, что будет, если остановить процесс на шаге g. Я неправильно всё это понимаю?

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

Я так думал, что условие выхода - остановка процесса вручную или по нелепой случайности.

Reply

lex_kravetski February 25 2021, 16:02:34 UTC
> Я всегда читал такие тексты, как "Мы будем долго крутить рекурсивную функцию, а когда пройдёт большое количество времен, дождёмся шага f и остановим процесс". Математики не это имею в виду ( ... )

Reply

poxu February 25 2021, 21:12:24 UTC
> Однако вместо этого обычно говорится: «да не, не может быть - сто пудов, только на шаге f: ведь только он в бесконечности последний».

Но это же безумие. Я бы даже не поверил тебе, что кто-то так говорит, если бы сам не послушал, как какие-то математики совершенно серьёзно утверждали, что 1 + 2 + 3 + ... + n == - 1/12 . А сейчас вот верю.

> В функциях, от которых предполагается получить ответ, всегда есть выход по условию без рекурсивного вызова. Минимум один.

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

Reply

lex_kravetski February 25 2021, 21:31:12 UTC
> Я думал, что подразумевается, что условие остановки - мы достигли какой-то достаточно далёкой итерации и находимся на шаге f. Похоже неправильно думал.

Просто счётчик, разумеется, тоже может быть условием выхода.

Reply


Leave a comment

Up