2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу 1, 2, 3  След.
 
 Математика vs Computer science
Сообщение12.03.2015, 19:58 
Аватара пользователя
При программировании часто возникают задачи на оптимизацию алгоритма. Возникает вопрос, как провести грань между математикой и собственно программизмом в таких задачах. Или более точный вопрос такой: грань между математикой и computer science достаточно отчётливая, или она размытая, с плавным переходом от одного к другому?
Примеры приёмов оптимизации:
- при перемножении матриц, заменить часть умножений сложениям;
- при делении множества чисел на константу, заменить его умножением этих чисел на число, обратное этой константе;
- размножить тело цикла, чтобы на одну итерацию приходилось в среднем меньше операторов условных переходов.
Правильно ли я понимаю, что в этом ряду наблюдается плавный переход от математики к компьютерным наукам?

 
 
 
 Posted automatically
Сообщение12.03.2015, 20:04 
Аватара пользователя
 i  Тема перемещена из форума «Дискуссионные темы (М)» в форум «Программирование»
Причина переноса: лучше сюда подходит

 
 
 
 Re: Математика vs Computer science
Сообщение18.03.2015, 20:00 
Аватара пользователя
Нет никаких граней: математика - неотъемлемая часть точных наук (CS, физики, химии и т.д.). Математика - инструмент, позволяющий строить мат.модели для заданных предметных областей этих наук. В частности, в CS с привлечением средств и методов математики строится алгоритм, доказывается его корректность, оценивается его теоретическая сложность по времени и ресурсам. Далее алгоритм реализуется в программу. На стадии реализации, возможно, в явном виде математика не используется. Далее программа тестируется на соответствие алгоритму и испытывается (с том числе на скорость и на затрату ресурсов). Результаты испытаний опять же обрабатываются и анализируются мат. методами. Из анализа, возможно, последуют выводы по дальнейшей оптимизации. Если последовали, то снова строится улучшенный алгоритм, и приведенный цикл разработки повторяется. Такой вот возможный алгоритм разработки и оптимизации.

 
 
 
 Re: Математика vs Computer science
Сообщение18.03.2015, 20:40 
bin в сообщении #992164 писал(а):
Нет никаких граней: математика - неотъемлемая часть точных наук (CS, физики, химии и т.д.).
Всю жизнь считал, что computer science - это раздел математики. Уж алгоритмы-то точно. Разве нет?
П. С. Химия и физика - ни разу не точные :mrgreen:

 
 
 
 Re: Математика vs Computer science
Сообщение18.03.2015, 21:16 
Аватара пользователя
rockclimber в сообщении #992183 писал(а):
Всю жизнь считал, что computer science - это раздел математики. Уж алгоритмы-то точно. Разве нет?
Математика - теоретическая наука, а computer science - экспериментальная. См.: Newell, Allen; Simon, H. A. (1976), "Computer Science as Empirical Inquiry: Symbols and Search" (1975 ACM Turing Award Lecture), Communications of the ACM, 19:
Цитата:
Computer science is an empirical discipline.[…] Each new machine that is built is
an experiment. […] Each new program that is built is an experiment.
Алгоритм принадлежит множеству, являющемуся пересечением множества мат.объектов и множества объектов CS.
rockclimber в сообщении #992183 писал(а):
Химия и физика - ни разу не точные
Исторически сложилось, что науки разделяют на точные и гуманитарные. Согласен, что названия эти условны и относительны.

 
 
 
 Re: Математика vs Computer science
Сообщение18.03.2015, 21:18 
С точки зрения ACM (http://www.acm.org), Computer Science включает следующие области:
AL - Algorithms and Complexity
AR - Architecture and Organization
CN - Computational Science
DS - Discrete Structures
GV - Graphics and Visualization
HCI - Human-Computer Interaction
IAS - Information Assurance and Security
IM - Information Management
IS - Intelligent Systems
NC - Networking and Communications
OS - Operating Systems
PBD - Platform-based Development
PD - Parallel and Distributed Computing
PL - Programming Languages
SDF - Software Development Fundamentals
SE - Software Engineering
SF - Systems Fundamentals
SP - Social Issues and Professional Practice

Так что, кроме математики, там есть еще много чего.
Подробнее можно посмотреть тут: Computer Science 2013: Curriculum Guidelines for Undergraduate Programs in Computer Science

 
 
 
 Re: Математика vs Computer science
Сообщение18.03.2015, 21:40 
Вопросы классификации в таких переплетащихся областях достаточно субъективны, а большой пользы от классификации нет.

 
 
 
 Re: Математика vs Computer science
Сообщение19.03.2015, 03:40 
Сильно присоединяюсь. (Хм, что-то на днях на форуме какой-то классификационный бум!)

-- Чт мар 19, 2015 05:43:36 --

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

 
 
 
 Re: Математика vs Computer science
Сообщение19.03.2015, 08:47 
Математика - один язык, система машинных команд - другой. Программирование - перевод с одного языка на другой. Нет никаких противостояний, есть обычные трудности перевода, называемые "Computer science" .

 
 
 
 Re: Математика vs Computer science
Сообщение19.03.2015, 22:51 
Математика - это частный случай программирования.

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

Вам знакомо такое понятие как "алгоритм поведения животного"? Что это - математика, или, уже информатика и программирование? Ибо программист работает с алгоритмами, а математик обычно с числами.

 
 
 
 Re: Математика vs Computer science
Сообщение19.03.2015, 23:32 
mustitz в сообщении #992203 писал(а):
Вопросы классификации в таких переплетащихся областях достаточно субъективны, а большой пользы от классификации нет.
В данном топике вопрос классификации имеет первостепенное значение. Вопрос был - где проходит граница между математикой и CS? Если считать, что CS - это один из разделов математики, то вопрос очевидным образом отпадает. А если не считать - не отпадает.

 
 
 
 Re: Математика vs Computer science
Сообщение19.03.2015, 23:36 
Linkey в сообщении #989395 писал(а):
Примеры приёмов оптимизации:
- при перемножении матриц, заменить часть умножений сложениям;
- при делении множества чисел на константу, заменить его умножением этих чисел на число, обратное этой константе;
- размножить тело цикла, чтобы на одну итерацию приходилось в среднем меньше операторов условных переходов.
Правильно ли я понимаю, что в этом ряду наблюдается плавный переход от математики к компьютерным наукам?

Эти приёмы не имеют ни малейшего отношения к математике как таковой. Да, они вполне почтенны; и, да, математика в них иногда может использоваться. Но к собственно математике они отношения -- не имеют.

EngineEnergy в сообщении #992780 писал(а):
Математика - это частный случай программирования.

Скорее уж наоборот; но даже и наоборот было бы неверным, строго говоря.

 
 
 
 Re: Математика vs Computer science
Сообщение20.03.2015, 00:51 
Аватара пользователя

(Шутка)

CS и Mатематика близнецы-братья.
Мы говорим Математика подрузумеваем CS.
Говорим CS подрузумеваем Математику.

Ну если серьезно, то первична Математика, а CS вторично.
Если хотите, CS это инструментарий Математики.

 
 
 
 Re: Математика vs Computer science
Сообщение20.03.2015, 04:56 
rockclimber в сообщении #992800 писал(а):
Вопрос был - где проходит граница между математикой и CS?


В том месте, где CS является инженерной наукой, а не абстрактной теорией. А это много где, от основ и до кончиков. Так что правильный ответ - размыто всё.

 
 
 
 Re: Математика vs Computer science
Сообщение20.03.2015, 19:01 
ewert в сообщении #992801 писал(а):
Скорее уж наоборот; но даже и наоборот было бы неверным, строго говоря.

Не-е, наоборот было бы совсем неправильно. Программирование это более комплексная дисциплина, включающая также, например, логику. Само слово компьютер означает "вычислитель", компьютеры созданы чтобы вычислять, но на этом их функции не заканчиваются. Возможно, следует сказать немного иначе, программирование - это эволюция математики.
С помощью набора команд легко описать совершенно любую систему. Причем инструментарий предоставляется очень широкий.
NT2000 в сообщении #992821 писал(а):
Если хотите, CS это инструментарий Математики.

Тогда установка виндоса это тоже часть математики. Нет. CS - это, именно, по-своему названию, компьютерные науки, которые широко используют математику, но они уже выросли далеко за пределы математики.

-- 20.03.2015, 20:08 --

aa_dav в сообщении #992888 писал(а):
В том месте, где CS является инженерной наукой, а не абстрактной теорией. А это много где, от основ и до кончиков. Так что правильный ответ - размыто всё.

CS всегда была, если желаете, "инженерной" наукой. Никакой абстракции. Больше практики. За абстракцией следует обращаться к математики. Там этого дела более чем достаточно.

 
 
 [ Сообщений: 31 ]  На страницу 1, 2, 3  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group