Leave a comment

pavel_ladikov February 27 2024, 06:45:25 UTC

Бурбаки - это попытка расширить математический инструментарий. Что можно только приветствовать. Математика не всегда может быть приложена к реальности именно из-за невозможности задать присвоения каких то параметров каким то переменным. В этом случае делается заход с другим инструментом и все повторяется.

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

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

Она бы упростилась? Нет конечно! Математика усложнилась бы неимоверно! Простые бухгалтерские балансы превратились бы в простыни с формулами на десятки страниц!

Так вот и с нынешней математикой. Мы ужасаемся видам формул в тригонометрии, множествах, пределах и других видах анализа. А может быть нам просто не хватает еще четырех базовых арифметических действий? А может быть нам не хватает каких то других цифр исчисления? Это нужно исследовать.

Reply

newsmart February 27 2024, 07:11:44 UTC

1. Ну, то есть, говоря языком программирования, это порождение юзерских произвольных функций, написанных конкретным математиком или программистом?..

Ближе к дискретной математике...

***

2. Я вот хотел спросить - что человечеству и программистам делать с самой распространённой ошибкой округления заодно:

Σ(≈A) <> ≈(ΣA)

(или словами - сумма округлений чисел множества А не всегда равна округлению суммы чисел того же множества... от перестановки функций результат меняется)...

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

Математически выход все суммы считать с 16-ю-18-ю знаками после запятой... Только все компьютеры (чтоб не тормозили при подсчётах) и программы так модернизировать миллиарды стоит!

Reply

pavel_ladikov February 27 2024, 07:26:09 UTC

Единственный способ избавиться от ошибок накопления округлений - это производить вычисления без округлений.

Округление должно быть последней математической операцией с результатом. При этом конечно возникают коллизии при сопоставлении суммы - и промежуточных значений - те и другие показаны в округлении и сумма округленных не будет вязаться с итогом. Что делать? Объяснять это тем, что вычисления идут с неокругленными значениями, что правильнее.

Я работаю с инженерными вычислениями в тригонометрии, где округления могут приводить к огромным ошибкам и там сталкиваюсь с форматами данных, имеющими жесткие ограничения по точности. И лучший вариант дает Decimal, в котором всего четыре знака после запятой, зато очень много слева от нее. Работаю с числами, умноженными на 10к. Приходится использовать округление, но как минимум на четыре знака вправо от требуемого по точности результата.

Reply

newsmart February 27 2024, 07:29:53 UTC

У нас, программистов 1С (на 1С), округление неизбежно: сумма по строке документа и сумма по документу должны быть с двумя знаками после запятой, т.к. копейки (евроценты) не делятся. Копейки вынуждают к такой дискретности.

Reply

pavel_ladikov February 27 2024, 07:50:36 UTC

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

Reply

newsmart February 27 2024, 08:18:20 UTC

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

Reply

pavel_ladikov February 27 2024, 08:23:03 UTC

Ну это общая проблема человечества - эволюция приводит к необходимости революции.

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

Reply

newsmart February 27 2024, 08:15:24 UTC

Проблемы ошибок человечества изложил в шуточной взрослой сказке:

Reply


Leave a comment

Up