Математика vs computer science
От: Khimik  
Дата: 04.12.16 08:58
Оценка:
Здесь уже была похожая тема, я хочу сформулировать предмет немного по-другому.
Когда программист разрабатывает что-то сложное, часто перед ним возникают задачи как из области математики, так и из “computer science”. Возникает вопрос, насколько размыта грань между этими двумя науками? Мне кажется, она весьма размыта, и можно найти много промежуточных примеров, находящихся в каком-то месте шкалы “от математики к программированию”. Вот примеры трёх задач (приёмы оптимизации), которые, как я понимаю, находятся в этой границе и от первого примера к третьему идёт плавный переход от математики к программизму:

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

Какие ещё можно придумать примеры?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Re: Математика vs computer science
От: vsb Казахстан  
Дата: 04.12.16 09:06
Оценка: +2
Здравствуйте, Khimik, Вы писали:

K>Здесь уже была похожая тема, я хочу сформулировать предмет немного по-другому.

K>Когда программист разрабатывает что-то сложное, часто перед ним возникают задачи как из области математики, так и из “computer science”. Возникает вопрос, насколько размыта грань между этими двумя науками?

Computer Science это подраздел математики. Поэтому вопрос неуместен.

K>- при перемножении матриц, заменить часть умножений сложениями;

K>- при делении множества чисел на константу, заменить его умножением этих чисел на число, обратное этой константе;
K>- размножить тело цикла, чтобы на одну итерацию приходилось в среднем меньше операторов условных переходов.

И что же в этом не математического?
Re: Математика vs computer science
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 04.12.16 13:24
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Здесь уже была похожая тема, я хочу сформулировать предмет немного по-другому.

K>Когда программист разрабатывает что-то сложное, часто перед ним возникают задачи как из области математики, так и из “computer science”. Возникает вопрос, насколько размыта грань между этими двумя науками? Мне кажется, она весьма размыта, и можно найти много промежуточных примеров, находящихся в каком-то месте шкалы “от математики к программированию”.

computer science на самом деле никакой не sciense и не программирование — это разные разделы математики. Само программирование это еще один раздел математики.

Разница только в том, какие модели ты используешь в своей программе — чисто математические модели, скажем, синус-косинус, или модели соответствующие объектам реального мира. Если первое, то это сильно редко, матеатика ради математики. Если второе, то здесь будет подтягиваться соответствующая наука — физика, биология, или иная область деятельности, например инвентаризация, верстка, страхование и тд.
Re[2]: Математика vs computer science
От: pagid Россия  
Дата: 04.12.16 16:29
Оценка: +5 -1
Здравствуйте, Ikemefula, Вы писали:

I>computer science на самом деле никакой не sciense и не программирование — это разные разделы математики. Само программирование это еще один раздел математики.

Программирование — не математика. Одна из разновидностей инженерного ремесла.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Re[3]: Математика vs computer science
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 04.12.16 17:22
Оценка:
Здравствуйте, pagid, Вы писали:

I>>computer science на самом деле никакой не sciense и не программирование — это разные разделы математики. Само программирование это еще один раздел математики.

P>Программирование — не математика. Одна из разновидностей инженерного ремесла.

Оно примеяется в инженерии и состоит чуть более чем полностью, из математики.
Re[4]: Математика vs computer science
От: pagid Россия  
Дата: 04.12.16 17:27
Оценка: +3 -1
Здравствуйте, Ikemefula, Вы писали:

I>Оно примеяется в инженерии и состоит чуть более чем полностью, из математики.

Это математика применяется в программировании, как и в других инженерных дисциплинах. И программирование из математики не состоит.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Re: Математика vs computer science
От: Sharov Россия  
Дата: 04.12.16 20:51
Оценка:
Здравствуйте, Khimik, Вы писали:

CS явл. частным случаем математики, таким же как и физика. Физика изучает окр. мир, cs -- выч. устройства и их св-ва. Ну и алгоритмы всякие. Ну там совсем грань стирается.
Кодом людям нужно помогать!
Re[2]: Математика vs computer science
От: pagid Россия  
Дата: 05.12.16 03:41
Оценка: +2
Здравствуйте, Sharov, Вы писали:

S>CS явл. частным случаем математики, таким же как и физика.

И физика не частный случай математики. Она математику использует в качестве инструмента.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Re[3]: Математика vs computer science
От: Sharov Россия  
Дата: 05.12.16 09:55
Оценка:
Здравствуйте, pagid, Вы писали:

P>Здравствуйте, Sharov, Вы писали:


S>>CS явл. частным случаем математики, таким же как и физика.

P>И физика не частный случай математики. Она математику использует в качестве инструмента.

Ну физики любят говорить, что математика -- физика с дешевыми экспериментами. Почему же не вывернуть наоборот?
Кодом людям нужно помогать!
Re[3]: Математика vs computer science
От: rising_edge  
Дата: 05.12.16 12:20
Оценка:
Здравствуйте, pagid, Вы писали:

P>Программирование — не математика. Одна из разновидностей инженерного ремесла.


Дедушка Кнут так не думает.
Re: Математика vs computer science
От: Географ Россия нет
Дата: 05.12.16 13:46
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Здесь уже была похожая тема, я хочу сформулировать предмет немного по-другому.

K>Когда программист разрабатывает что-то сложное, часто перед ним возникают задачи как из области математики, так и из “computer science”. Возникает вопрос, насколько размыта грань между этими двумя науками?

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

Это эмпирическое мнение, не жёсткое утверждение.
Re: Математика vs computer science
От: Pavel Dvorkin Россия  
Дата: 05.12.16 17:06
Оценка: 58 (2) +3 -1
Здравствуйте, Khimik, Вы писали:

Математика — наука о некоторой абстракции. Реальный мир ей, в общем-то не нужен, она из него вышла (геометрия у древних греков), но давно от него оторвалась.
Что ей, к примеру до того, что физический мир трехмерный (пространство-время я не обсуждаю ) — хочется ей иметь многомерные пространства, имеет право.
Если потом ее выводы как-то соответствуют реальному миру — замечательно, и эти теории могут применяться в тех науках, которые изучают реальный мир.
Если не соответствуют — она вполне обойдется. Может, когда-то в реальном мире и найдется что-то, для чего эта математическая теория сможет быть применена. Например, теория групп, когда ее Галуа и его предшественники создавали, никаким боком к химии не лежала, а потом вдруг выяснилось, что она неплохо подходит для описания симметрии кристаллов.

Резюме : математика — аппарат, некоторые элементы которого могут использоваться в науках о реальном мире. Физике, химии, программировании , строительстве и квадратно-гнездовом выращивании помидоров.
With best regards
Pavel Dvorkin
Re: Математика vs computer science
От: Voblin Россия http://maslyaew.narod.ru/
Дата: 05.12.16 18:53
Оценка: +2
Здравствуйте, Khimik, Вы писали:

K>[...]


Когда-то давно я для себя сформулировал, что если хочешь забыть математику, займись программированием. Это, конечно, шутка, но в ней есть не только доля шутки. По своему опыту могу сказать, что:

1. Геометрия не пригодилась. Целиком вся. Я понимаю, что если бы я занимался 3D-делами, то некоторые разделы геометрии были бы рабочим инструментом. Но так — увы.

2. Алгебра пригождается на уровне примерно 2-го класса средней школы. То есть весь аппарат — это сложить/отнять/умножить/поделить. За всю свою долгую трудовую деятельность в промышленной разработке использовал логарифм 2 (прописью: два) раза.

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

4. И только теория множеств вкупе с исчислением предикатов — хлеб и соль, потому что базы данных — это оно и есть. Хотя мои соратники по борьбе умудряются развлекаться датабэйз-дизайном колбасить хитромудрые запросы, совсем не зная слова "предикат".

5. Программить что-нибудь на тему всяких "высоких" разделов типа линейной алгебры, дифференциального, интегрального и операционного исчислений, ТФКП и прочей жути, довелось ровно 0 (прописью: ноль) раз. Уж даже не знаю, горевать ли мне по этому поводу...

Так что связь IT с математикой — это скорее миф, чем реальность. Как инструмент, вырабатывающий способность к доказательному мышлению, математика, конечно, бесценна, но если говорить о ней как о сумме знаний, то тут, извините, программирование отдельно, а математика отдельно. Такие дела.
Re: Математика vs computer science
От: andyp  
Дата: 05.12.16 20:23
Оценка: +1
Здравствуйте, Khimik, Вы писали:

K>Какие ещё можно придумать примеры?


Сейчас, например , копошусь вот с этим:
https://msdn.microsoft.com/en-us/library/aa289166.aspx
https://en.wikipedia.org/wiki/Combinatorial_number_system

Типичный стык комбинаторики и CS. Нужно это мне для решения одной маленькой задачи по обработке сигналов в приложениях к связи.
Re[2]: Математика vs computer science
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 06.12.16 18:05
Оценка: 10 (1) +2 -1
Здравствуйте, Voblin, Вы писали:

V>Когда-то давно я для себя сформулировал, что если хочешь забыть математику, займись программированием. Это, конечно, шутка, но в ней есть не только доля шутки. По своему опыту могу сказать, что:


V>1. Геометрия не пригодилась. Целиком вся. Я понимаю, что если бы я занимался 3D-делами, то некоторые разделы геометрии были бы рабочим инструментом. Но так — увы.


Геометрия это не только линейка и циркуль, это внятное логическое мышление. Отработать такую механику больше не на чем.

V>2. Алгебра пригождается на уровне примерно 2-го класса средней школы. То есть весь аппарат — это сложить/отнять/умножить/поделить. За всю свою долгую трудовую деятельность в промышленной разработке использовал логарифм 2 (прописью: два) раза.


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

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


Здесь противоречние с п.2. Теория вероятностей и статистика требуют гораздо больше чем арифметические действия.

V>4. И только теория множеств вкупе с исчислением предикатов — хлеб и соль, потому что базы данных — это оно и есть. Хотя мои соратники по борьбе умудряются развлекаться датабэйз-дизайном колбасить хитромудрые запросы, совсем не зная слова "предикат".


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

V>5. Программить что-нибудь на тему всяких "высоких" разделов типа линейной алгебры, дифференциального, интегрального и операционного исчислений, ТФКП и прочей жути, довелось ровно 0 (прописью: ноль) раз. Уж даже не знаю, горевать ли мне по этому поводу...


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

V>Так что связь IT с математикой — это скорее миф, чем реальность. Как инструмент, вырабатывающий способность к доказательному мышлению, математика, конечно, бесценна, но если говорить о ней как о сумме знаний, то тут, извините, программирование отдельно, а математика отдельно. Такие дела.


Эта самая сумма знаний есть скорее побочный эффект. Как только найдешь способ прокачать абстрактное мышление без математики, сразу начинай ждать Нобелевку.
Re[3]: Математика vs computer science
От: vdimas Россия  
Дата: 07.12.16 08:22
Оценка: +1
Здравствуйте, pagid, Вы писали:

P>Программирование — не математика. Одна из разновидностей инженерного ремесла.


Инженерное ремесло частенько опирается на математику.
Re[5]: Математика vs computer science
От: vdimas Россия  
Дата: 07.12.16 08:22
Оценка: +2
Здравствуйте, pagid, Вы писали:

I>>Оно примеяется в инженерии и состоит чуть более чем полностью, из математики.

P>Это математика применяется в программировании, как и в других инженерных дисциплинах.

Ес-но. Т.е. без математики программирование превращается в профанацию.
Re[2]: Математика vs computer science
От: vdimas Россия  
Дата: 07.12.16 08:28
Оценка: +1
Здравствуйте, Voblin, Вы писали:

V>Так что связь IT с математикой — это скорее миф, чем реальность.


От области деятельности зависит.
IT — это слишком широко.
Кто-то пишет склады с бухгалтериями на готовых "движках", так там алгебры за 5-й класс средней школы за глаза.

А кто-то решает задачи оптимизации (линейное программирование) или задачи на графах или обработку сигналов.

В общем, программирование в целом — это прикладная часть математики.

Но и программирование "чисто математических задач", это, скорее, прикладное программирование, так же как программирование, скажем, биологических или химических задач. ))
Re[4]: Математика vs computer science
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 07.12.16 08:30
Оценка:
Здравствуйте, rising_edge, Вы писали:

P>>Программирование — не математика. Одна из разновидностей инженерного ремесла.


_>Дедушка Кнут так не думает.


Дедушка Кнутт — не инженер
Маньяк Робокряк колесит по городу
Re[6]: Математика vs computer science
От: pagid Россия  
Дата: 07.12.16 08:46
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Ес-но. Т.е. без математики программирование превращается в профанацию.

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