LINUX.ORG.RU

Еще вариант. Учи математику через физику которую в свою очередь учи через программирование.

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

а как насчёт интеллекта мобов?

Еще раз говорю, там потребуется только школьный курс «прибавить, отнять, умножить, делить».

makeB
()

Заведи аккаунт на projecteuler и не читери, а занимайся там нормально. Как минимум комбинаторный анализ и дискретку выучишь.

cdshines ★★★★★
()

Возможно ли выучить математику через программирование?

нет.

вот:

Вот так и с математикой. Та жвачка, которой пичкают нас в школе и позже в институте - это не математика. Это набор шаманских обрядов который нас заставляют совершать, но который не позволяет приникнуть в самую суть - в дао математики. Может оно и к лучшему, не знаю, но во всяком случае считаю долгом сказать, что «математика», преподаваемая в средних и высших учебных заведениях имеет к математике не больше отношения, чем программирование к терзанию мыши в Word'е и установке системы Windows.

(C)Крис Касперски

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

Портеж матрицы не перемножает и интегральные уравнения не решает.

вот именно. А вот Кнут матрицы перемножал и интегральные уравнения решал. И его ТеХ не тормозит. Так-то.

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

А этот дядя сможет написать с нуля рекомендательную систему не используя тот базовый числовой матан преподаваемый в универах на инженерных специальностях?

3D graphics

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

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

Конечно серьезно. Берешь JavaScript + Canvas или WebGL и вперед визуализировать и решать задачки.

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

Короче пиши снуля свою реализацию math.h лол

а там просто — CPU давно всё сам считает.

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

Еще раз говорю, там потребуется только школьный курс «прибавить, отнять, умножить, делить».

я ещё не видел школьника, который понимает деление...

emulek
()

Собственно, обучение CPU численным методам для пользы человеков
мало имеет общего с математикой как таковой и культурой мышления, скажем так ...
скорее это прикладное трюкачество ))

bedcasus
()

Возможно ли выучить математику через программирование?

Нет. Программирование несравнимо легче математики, через программирование можно только расслабиться после нормального ботанья.

Т.е. решая интересные задачки и т.д.

Решение задач — обязательная, необходимая часть изучения математики. Без них понимание изучаемых сущностей будет крайне поверхностным.

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

Нет. Программирование несравнимо легче математики, через программирование можно только расслабиться после нормального ботанья.

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

umren ★★★★★
()

Забудь об этом. Программирование (речь ведь не о быдлокодинге, верно?) учится через математику, но никак не наоборот.

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

Там проблема в конкретных реализациях алгоритмов.

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

В данном случае к математике никакого отношения это не имеет.

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

а как насчёт интеллекта мобов?

Ходить по точкам, обнаруживать врага и стрелять много ума не надо. Где там математика?

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

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

А я вот на досуге люблю листинги дизассемблера почитать.

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

много ума не надо. Где там математика?

Ну как же (псевдокод «сложнейших» вычислений, «жуткого» матана :] ): if ((bot.position.normalize() - player.position.normalize()) <= min_pos) {bot.shoot_in_player = true;}

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

нейронные сети для самообучения, например, чтобы не попадаться на одну и ту же тактику

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

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

я ещё не видел школьника, который понимает деление...

А как же «делись поровну» относительно школьных предметов первой необходимости, ну там, сигареты, пиво...? :D

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

нейронные сети для самообучения

Для нейронных сетей математика не нужна. Нужен концепт нейросети и алгоритм обучения.

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

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

ВНЕЗАПНО: нужно очень хорошо знать математику, что-бы это «трюкачество» заработало IRL.

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

Если я не ошибаюсь, то во всей графике на все про все одно уравнение.

Помимо перспективной проекции есть сплайны же как минимум.

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

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

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

Программирование несравнимо легче математики

ЩИТО? Математики даже не придумали обозначения HEX! У них всё тривиально просто. Ну вот например: делить на ноль нельзя. ВСЁ! В этом «нельзя» вся ваша математика. Программисту сложнее, если в ТЗ есть деление на ноль, то своё «нельзя» можно засунуть... Если заказчику популярно объяснить, что делить на ноль нельзя, он просто найдёт другого исполнителя. Более квалифицированного. Который понимает, что «0», это не математический ноль, а например — «бесконечно малая». И деление на ноль выполняется по правилу Лопиталя(например).

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

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

Ну вот тебе простой пример: дихотомия. Делим пополам, пока не найдём нужное. Просто? Для математика — да. А теперь с т.з. программиста: ДОКОЛЕ делить нужно? Ответ пожалуйста в стандарте IEEE 754.

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

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

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

согласен, но не всегда это так ...)
библиотечное программирование позволяет экономить на образовании

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

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

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

и математика нужна в программировании: как без неё узнать, что пузырьковая сортировка «плохая»? И что «быстрая» часто ничем не лучше пузырьковой? Да, есть готовые, но КАКУЮ брать?

Буквально вчера понадобилось написать программку для решения системы линейных уравнений. Написал. Как в школе. Складывал уравнения, и сокращал неизвестные. Так, что-бы получилось одно выражение дающее одну неизвестную. Теперь открой любой учебник — увидишь, что так никто не делает. А почему я сделал так? А всё просто — в моём случае обычные методы работают хуже этого школьного, ну и кроме того, обычные методы проще программировать. Это понятно любому, кто знает линейную алгебру, однако я сомневаюсь, что есть учебники, которые рассматривают такое решение, как у меня(ибо очень узкий класс задач, где такое извращение нужно).

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

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

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

Ходить по точкам, обнаруживать врага и стрелять много ума не надо. Где там математика?

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

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

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

слабо каптчу подобрать?

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

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

У меня сейчас есть американский учебник линейной алгебры, там написано никогда не решать уравнения на компьютере через детерминант ибо из-за флоатов получится полная хрень. Рекоммендуют Gauss Elimination и метод наименьших общих квадратов.

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

А как же «делись поровну» относительно школьных предметов первой необходимости, ну там, сигареты, пиво...?

хз. В моё время с этим тоже плохо было: «попить пиво с другом» означало — пить каждому из своих бутылок. Дальше хуже: девушек мы вообще никогда не делили. Сейчас не так? Банка яги и одна девка на всех? Тогда мне вас жаль...

emulek
()

Ты бывший гинеколог. Угадал?

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

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

Тем не менее, все юзают A* и не заморачиваются.

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

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

Sadler ★★★
()
Последнее исправление: Sadler (всего исправлений: 3)
Ответ на: комментарий от emulek

слабо каптчу подобрать?

И где там будет математика? Там работа с изображениями займет львиную долю, перегоняя из пустого в порожнее пока не получим четкий черный силуэт на белом фоне, а вся математика будет вида «равно/не равно» да скайлинг вырезанных букв до нужного паттерна, опять таки скайлинг одним методом scale :)

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

Банка яги и одна девка на всех? Тогда мне вас жаль...

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

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

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

вот именно: этим всё сказано. Нынешние программисты даже считать не умеют :(

Ну во первых: какие флоаты? У меня там нет никаких флоатов, есть только эл-ты поля Галуа (ещё и с очень малым модулем, да и системы на 3..5 уравнений. Хотя их по 262144 сразу).

Во вторых: ты и авторы твоего учебника просто не умеют готовить float'ы. Мой CPU жрёт их в восемь глоток СРАЗУ, и глупо не юзать такую мощь. Это тебе не фортран на PDP. Прогресс не стоит на месте, в отличие от авторов учебников.

Рекоммендуют Gauss Elimination и метод наименьших общих квадратов.

я прекрасно знаю про эти методы. Они очень плохо работают с малыми матрицами. Особенно если дважды два — один. Освежи свои знания в математике, и узнай, что O(n!) это очень мало, если n малое. 3! всего 6. Это даже меньше, чем 3^2.

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

систему типов в движке

она очень ограничена в том же огре, и самое главное, это не совсем то, например, если предполагается, например, что метровая (в толщину) стенка задержит облако слабее чем двухметровая из такого же материала

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

ему нужен «приемлемый», то есть какой-нибудь, не сильно хуже лучшего.

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

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

что метровая (в толщину) стенка задержит облако слабее чем двухметровая из такого же материала

А габариты ноды внести в расчет настолько сложно, да? :) В огре это bounds ноды, в буллете (физдвижок) не помню, кажись dimension и radius(для сфероподобных).

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

только частично прошло через объект/объект сложной формы как считать габариты?

Ты уже надумываешь того, чего не нужно это первое, а второе, в физических движках насколько мне известно, нет такого понятия «насколько прошло тело», оно либо прошло, то есть столкнулось, либо нет, и этого почему-то всем достаточно кроме тебя — обязательно нужно придумать почему этого не достаточно :)

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