LINUX.ORG.RU
ФорумTalks

Без математики никуда

 


1

2

Для решения каких задач программисту нужно хорошо знать математику?
Ответ желательно вот в такой форме: проблема и какое-то знание из области математики.
Например «я не смогу без глубоко знания логики использовать операторы условного перехода»,
или там «не смогу добавить в массив значение без знания теории множеств».

Перемещено leave из development

★★

Последнее исправление: Int0l (всего исправлений: 1)
Ответ на: комментарий от Int0l

как для чего и зачем нужна математика программисту

Хватит троллить.

математика - это куча состовляющих.

Например арифметика - это тоже часть математики.

Конертетнее вопрос задавай. Что именно тебе не хочется изучать в математике?

Serg_HIS
()

Программист, постоянно в работе сталкиваюсь со своими пробелами в математике и приходится восполнять. Не нужна по идее только веб-мартышкам

CatsCantFly
()
Ответ на: комментарий от CatsCantFly

Тут по идее вопрос не в том нужна или не нужна.
Вопрос в том какая именно область математики и конкретная проблема.

Int0l ★★
() автор топика

Математика не обязательна. «Причастность к науке» не обязательна. Если ты хакер в душе. Почитай Paul Graham «Hackers and Painters».

seg-fault
()
Ответ на: комментарий от Serg_HIS

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

Int0l ★★
() автор топика
Ответ на: комментарий от Int0l

При сравнении производительности тех или иных алгоритмов стоит ли учитывать параметры кэша процессора

Не понял вопопроса.

Реализовать алгоритм можно по разному. например вместо интов взять риал - там где он не нужен, не оптимально харнить данные и т.п.

Вопрос поясните или пример алгоритма и реализации.

Serg_HIS
()
Ответ на: комментарий от Int0l

Конкретно у меня - вычислительная геометрия, матричный анализ, линейная алгебра, вот это вот все

CatsCantFly
()
Ответ на: комментарий от Int0l

вы слишком туманно вопросы задаёте.

что подразумевается под параметрами кеша?

объём? длина записи? скорость доступа?

Насколько помню, кеш первого уровня обычно 64 КБ и длина записи 16 байт.

И что подразумевается под алгоритмом?

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

Можно оптимизировать распареллелив некоторые участки алгоритма - если это возможно в принципе.

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

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

Чем реже идёт перезапись данных в кеше, тем быстрее работает алгоритм.

Например суммирование елементов нифигеского объёма 2-х, 3-х и более мерных массивов. Математически пофиг например по какой из осей делать приоритет по суммированию. А при реализации в компе, совершенно нет. Если одно измерение, это миллион чисел по оси X, а второе это миллион этих массивов по оси Y (что для математики просто двумерная матрица).

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

Serg_HIS
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.