OberonCore
https://forum.oberoncore.ru/

программирование -- продолжение математики (?)
https://forum.oberoncore.ru/viewtopic.php?f=57&t=1892
Страница 1 из 2

Автор:  Info21 [ Вторник, 22 Сентябрь, 2009 10:06 ]
Заголовок сообщения:  программирование -- продолжение математики (?)

О фольклорном аспекте этого лозунга скажу отдельно.
Здесь об этой фразе самой по себе.

Лично я употреблял где-то в докладах (кажется, в первой, "австрийской" презентации Информатики-21 в 2003 г.) фразу о том, что (цитирую примерно) "в конце концов программирование -- это, в сущности, продолжение математики другими средствами".

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

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

Т.е. под программированием подразумевается решение прикладных задач с помощью компьютерного моделирования -- нормальное научно-бытовое словоупотребление, потому что решение прикладных задач с помощью моделирования на компьютерах в 90% времени выглядит для занятых в нём как программирование.
И про дипломников с аспирантами говорят мол "он мне должен кое-что запрограммировать", хотя владение основным формализмом там составляет основную компетенцию, а программирование -- вспомогательную.

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

Хвостик моего высказывания -- "другими средствами" -- как раз и указывает в точности на такой смысл *моего* варианта лозунга.

-------
Если забыть о контексте и обо всех оговорках и попытаться додумать смысл фразы "программирование есть продолжение математики", то можно это сделать следующим образом:
Формализм Дейкстры выглядит как формальная математика, а раз так, то и программирование -- продолжение математики.

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

Однако тут есть опасность, т.к. неверно смешиваются понятия, даже с учетом контекста.
Что легко увидеть : ведь точно так же можно придти к выводу, что химия -- продолжение прикладной математики. На том основании, что в ней применяются какие-то мат. модели и методы.

Автор:  Илья Ермаков [ Вторник, 22 Сентябрь, 2009 10:46 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Ну, лично для себя я эту связь программирования и математики представляю след. образом.
Человек умеет (научился с эволюцией культуры) строить абстрактные модели реальности и решать задачи абстрактно. Це есть математика.
Вычислительная техника позволила обрабатывать сугубо абстрактные объекты физическим образом, на физическом устройстве. Т.е., если понимать модель как постановку в соответствие объектам и отношениям A однозначно объектов и отношений Б, то ВТ - физическая модель абстрактных понятий. Вроде бы?

Т.е. информатика замкнула математику на физические устройства. И развивалась как этакое замыкание математики на инженерию. Вроде бы?

Когда я говорю упомянутую фразу, держу в голове (и в разговорах поясняю) именно это. Я в чём-то ошибаюсь? :)

Автор:  Валерий Лаптев [ Вторник, 22 Сентябрь, 2009 15:40 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Ну, программирование как продолжение математики - это из тех времен, когда программированием занимались одни математики. И физики, которые от математиков недалеко ушли.
У меня взгляд несколько с другой стороны. Возьмем вычислительную математику. Какой-нить метод Рунге-Кутта решения дифференциальных уравнений. Или метод Гаусса вычисления определенных интегралов. Вычислительная математика - она математика. Но чем занимается человек, если нет компьютера? Он компьютером и работает, то есть исполнителем алгоритма данного конкретного метода.
Человек - универсальный исполнитель.
Теперь мы этот алгоритм поручаем железному исполнителю.
Возражаем: компьютер - это конечный автомат, а конечный автомат - это математика. Не спорю. Но человек-исполнитель - это не конечный автомат... :D
Берем бухгалтерию. Зарплату испокон веков считают бухгалтера, теперь опять повесили на комп. Да, я согласен, что при разработке ПО мы строим модели. Но не все модели - математические. Математические модели - это в определенных предметных областях.

Автор:  Geniepro [ Вторник, 22 Сентябрь, 2009 15:50 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Валерий Лаптев писал(а):
Но человек-исполнитель - это не конечный автомат... :D
Наверное всё же конечный автомат, хотя и очень сложный, почти ещё не формализованный...

Автор:  Илья Ермаков [ Вторник, 22 Сентябрь, 2009 17:46 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Валерий Лаптев писал(а):
Но не все модели - математические. Математические модели - это в определенных предметных областях.


Если трактовать математику широко - как вообще абстрактный интеллектуальный аппарат (если, конечно, считаем уместным так широко трактовать...), то тут вопрос отпадает.

Автор:  Илья Ермаков [ Вторник, 22 Сентябрь, 2009 18:32 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Geniepro писал(а):
Валерий Лаптев писал(а):
Но человек-исполнитель - это не конечный автомат... :D
Наверное всё же конечный автомат, хотя и очень сложный, почти ещё не формализованный...


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

Автор:  Geniepro [ Вторник, 22 Сентябрь, 2009 19:01 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

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

Автор:  Илья Ермаков [ Вторник, 22 Сентябрь, 2009 19:45 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Идите нобелевку получать. Вы знаете, как работает мозг. Хотя много уже было ИТ-шников, которые тоже... "знали" :)

P.S. Вопрос к тем, кто интересуется данной тематикой (нейрофизиология, механизмы мышления).
С большим интересом читаю (увы, урывками) книгу: Джеф Хоккинс, Сандра Блейксли "Об интеллекте".
Интересно мнение о книге и о построениях авторов. (На рецензию на обложке и сайте обращать внимание не следует; стиль книги совершенно иной - не кричащий, а спокойно-вдумчивый. И как раз к искусственному интеллекту как тупиковому направлению программирования, книга отношения не имеет, т.к. написана с нейрофизиологической точки зрения).

http://www.infanata.org/2007/09/03/ob_i ... ence_.html
Скачать: http://depositfiles.com/files/1651041

Интересно мнение Info21. :)

Автор:  Info21 [ Вторник, 22 Сентябрь, 2009 20:03 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

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

Автор:  TAU [ Вторник, 22 Сентябрь, 2009 21:27 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Info21 писал(а):
Положим, в общих чертах главный механизм мышления объяснить можно даже на уровне нейронов

Объяснить можно. Пытаться. Только объяснения эти неубедительны.

Автор:  Info21 [ Среда, 23 Сентябрь, 2009 06:38 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

TAU писал(а):
Info21 писал(а):
Положим, в общих чертах главный механизм мышления объяснить можно даже на уровне нейронов

Объяснить можно. Пытаться. Только объяснения эти неубедительны.
Откуда Вы знаете. Свое объяснение я еще не излагал 8)

Автор:  Валерий Лаптев [ Среда, 23 Сентябрь, 2009 12:06 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Илья Ермаков писал(а):
Валерий Лаптев писал(а):
Но не все модели - математические. Математические модели - это в определенных предметных областях.


Если трактовать математику широко - как вообще абстрактный интеллектуальный аппарат (если, конечно, считаем уместным так широко трактовать...), то тут вопрос отпадает.

Ну, абстрактный интеллектуальный аппарат вообще-то можно обозвать КАК УГОДНО. Например, алгоритмика. Нормальное название.

Автор:  Sergo [ Среда, 23 Сентябрь, 2009 16:14 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Илья Ермаков писал(а):
P.S. Вопрос к тем, кто интересуется данной тематикой (нейрофизиология, механизмы мышления).
С большим интересом читаю (увы, урывками) книгу: Джеф Хоккинс, Сандра Блейксли "Об интеллекте".
Интересно мнение о книге и о построениях авторов.

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

Это частью банально, частью неправильно. Скажем, называть "последовательностью паттернов" то, что поступает в мозг с рецепторов - это сильное упрощение, так как там играют роль не только временные, но и пространственные зависимости внутри каждого "паттерна". И как обрабатывать пространственную информацию, из книжки Хокинса понять сложно. Да и само понятие "последовательности" там довольно путанно сформулировано:

“[...] я собираюсь использовать слово последовательность в более общем смысле, ближе к значению математического термина “множество”. Последовательность -это множество паттернов, которые обычно следуют один за другим, но не всегда в фиксированном порядке. Что важно, так это то, что паттерны в последовательности следуют один за другим во времени, даже если не в фиксированном порядке.”

Но что делать дальше с паттернами, которые могут следовать друг за другом в произвольном порядке, Хокинс умалчивает:)

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

На мой взгляд, основная ошибка Хокинса в том, что он, как и предыдущие создатели "общих теорий интеллекта", пытается найти какой-то простой принцип, объясняющий работу мозга. Общая черта этих теорий - представление, что врожденная архитектура мозга (или коры) простая, а сложным он становится только в процессе обучения. И если в этой простой исходной архитектуре разобраться, то можно сделать программный "движок", вроде нейронной сети, которая в ходе обучения "дойдет до всего своим умом". Так как за последние 50 лет все попытки создания такой простой теории провалились, можно (очень осторожно:)) предположить, что ее не существует. Впрочем, поживем - увидим.

Автор:  Info21 [ Среда, 23 Сентябрь, 2009 18:04 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Sergo писал(а):
Илья Ермаков писал(а):
P.S. Вопрос к тем, кто интересуется данной тематикой (нейрофизиология, механизмы мышления).
С большим интересом читаю (увы, урывками) книгу: Джеф Хоккинс, Сандра Блейксли "Об интеллекте".
Интересно мнение о книге и о построениях авторов.

Если я правильно понял, общий смысл того, что написал Хокинс, можно резюмировать так:
Вот спасибо! А то у меня лабуда эта лезть в голову не хочет.

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

В общем, некультурные теориестроители они. Типичные АйТишные самоделкины.

Но только если резюме правильное (по косвенным признакам подозреваю, что да).

Автор:  Илья Ермаков [ Среда, 23 Сентябрь, 2009 18:13 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

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

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

Автор:  Sergo [ Среда, 23 Сентябрь, 2009 19:40 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Илья Ермаков писал(а):
И взамен понимания как главной способности мышления - осмысленного поведения, предлагают в центр поставить другую - способность предсказания (на основе механизмов памяти).

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

Кстати, Хокинс все, о чем писал, в своей фирме уже реализовал программно. Можно скачать и ознакомится лично:
http://www.numenta.com/for-developers/software.php

Автор:  Info21 [ Среда, 23 Сентябрь, 2009 21:21 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Sergo писал(а):
Хокинс все, о чем писал, в своей фирме уже реализовал программно. Можно скачать и ознакомится лично:
http://www.numenta.com/for-developers/software.php
Ну, если бы оно у них там реально думало, мы бы все уже об этом знали :)

Автор:  Сергей Оборотов [ Четверг, 24 Сентябрь, 2009 04:09 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Илья Ермаков писал(а):
...(если, конечно, считаем уместным так широко трактовать...), то тут вопрос отпадает.
Излишне широко. Интеллектуальная деятельность по знаковому моделированию достаточно.

Автор:  Илья Ермаков [ Четверг, 24 Сентябрь, 2009 10:07 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Пожалуй...

Автор:  Роман М. [ Пятница, 01 Октябрь, 2010 19:54 ]
Заголовок сообщения:  Re: программирование -- продолжение математики (?)

Info21 писал(а):
Лично я употреблял где-то в докладах (кажется, в первой, "австрийской" презентации Информатики-21 в 2003 г.) фразу о том, что (цитирую примерно) "в конце концов программирование -- это, в сущности, продолжение математики другими средствами".

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

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

Т.е. под программированием подразумевается решение прикладных задач с помощью компьютерного моделирования -- нормальное научно-бытовое словоупотребление, потому что решение прикладных задач с помощью моделирования на компьютерах в 90% времени выглядит для занятых в нём как программирование.
И про дипломников с аспирантами говорят мол "он мне должен кое-что запрограммировать", хотя владение основным формализмом там составляет основную компетенцию, а программирование -- вспомогательную.

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

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

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/