Сколько математики нужно знать, чтобы понять дискретную математику / структуры для информатики?

9

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

Спасибо всем за ваши ответы.

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

user2387
источник
4
Спрашивать «Как много [математики] мне нужно понять [математику]» звучит для меня не очень важно. Вы имеете в виду, спросите, какие математики? В этом смысле вы ответили на свой вопрос: вам понадобятся в основном дискретные математические вычисления, может помочь алгебра и теория чисел. Анализ в основном излишний, за некоторыми исключениями (асимптотика, порождающая функции иногда).
Рафаэль
Подразумевалось, какие математические области нужно знать, прежде чем они смогут начать понимать основную дискретную математику, преподаваемую в университете для студентов. Достаточно ли будет предкалькулярного (который является алгеброй и тригонометрией уровня средней школы)? И нужно ли быть знакомым с доказательствами, прежде чем быть готовым понять предмет. Извиняюсь за любую путаницу.
user2387
1
это будет зависеть от страны, школы и учителя. В моем университете (и на всей территории страны) мы не предполагаем каких-либо (значительных) предварительных знаний. Математическое образование по сути начинается с нуля (ну, арифметика может быть предположена), но из-за высоких темпов, может быть полезно иметь некоторые предварительные знания. В этом случае посмотрите на содержание конкретного курса. Я не думаю, что есть общий и полезный ответ.
Рафаэль
Кроме того, что вы подразумеваете под «понимать эту область»? Понять достаточно, чтобы пройти класс? Достаточно, чтобы получить? Достаточно ли преподавать в классе? Достаточно сделать исследование? Достаточно ЗНАТЬ ВСЕ?
Джефф
1
Дискретный класс по математике в моем отделении имеет исчисление как формальную предпосылку, но только потому, что мы предполагаем абсолютное владение алгеброй средней школы.
Джефф

Ответы:

5

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

Дискретные курсы по математике могут сильно различаться в том, что вам действительно нужно для их понимания. Вы можете или не должны иметь доказательства; (некоторые классы по математике учат вас, как делать доказательства). Я предполагаю, что вам, вероятно, не нужно знать исчисление. Исчисление на самом деле не нужно для понимания дискретной математики, но если исчисление является обязательным условием для класса, есть ряд хороших примеров и домашних заданий, которые профессор может использовать, которые действительно требуют исчисления. И вы, конечно, можете преподавать дискретные математические классы, которые требуют базовой абстрактной алгебры в качестве предварительного условия.

Питер Шор
источник
2

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

Ронак Джангир
источник
2

Я думаю, что ответ немного зависит от учебной программы и метода обучения в классе (дискретная математика).

Если это курс для студентов, то, как полагает книга Кеннета Розена, он обычно не требует особых предварительных условий, кроме стандартных математических классов. Я бы сказал, что единственным предварительным условием является понимание математики в целом, основы (порядок операций и т. Д.).

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

В настоящее время я читаю книгу Дувра для удовольствия - « Концепции современной математики » Иана Стюарта, которая является отличным введением для самостоятельного изучения (и не только).

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

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

Требуется ли исчисление или прекалькуляр будет хорошо?

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

Некоторые понятия из базовых математических курсов полезны

  • алгебра - символическое отношение к количеству
  • геометрия - формальное доказательство
  • предварительное исчисление - определение отношений индуктивно на основе (счетно) бесконечного ряда

Формальная логика также полезна, поскольку формальная логика подчеркивает индукцию и символическое мышление. Некоторые логики (логические) также имеют дело с дискретными значениями истинности.

Майк Самуэль
источник
1
В этой общности я должен категорически не согласиться. Исчисление / анализ содержит больше, чем просто дифференцирование и интеграцию, и иногда оказывается полезным в дискретных условиях.
Рафаэль
@ Рафаэль, возможно, мое исчисление было слишком давно. Есть ли у вас примеры совпадений? Я изучал EE до CS, поэтому мой практический опыт с исчислением был в основном в анализе векторных полей, которые я не использовал с тех пор, как перешел на CS. Иногда дискретный анализ сигналов (например, формы Фурье) включает в себя интеграцию по импульсам, но это кажется достаточно тангенциальным, и я не думаю, что оно того стоит.
Майк Самуэль
Асимптотика является очевидным примером. Я считаю, что интегралы могут быть полезны при работе с суммами и рядами. Кроме того, генерирующие функции могут быть полезными инструментами; для того, чтобы по-настоящему понять их, вам необходим комплексный анализ. Я помню теорему в классе алгоритмов (я не совсем помню, которая) была доказана с помощью некоторой теоремы исчисления, я полагаю, теорема о промежуточном значении . Я сделать помню , профессор делает точку, используя реальный анализ для доказательства было намного проще , чем остальные в дискретном мире.
Рафаэль
1
Тем не менее, я бы определенно согласился, что дискретная математика гораздо более полезна для программиста.
Рафаэль
1
@ Рафаэль, вопрос был: «Что я должен иметь под своим поясом, прежде чем заняться дискретной математикой?» что отличается от "Какую математику должен знать ученый?" Даже Стив Йегге в его самом раннем понимании признает ценность исчисления, но я утверждаю, что он достаточно близок к ортогональному, чтобы разбирать математику, чтобы можно было решать их в любом порядке.
Майк Самуэль
1

Ответ зависит как от выбора профессии, так и от программы вашего университета.

Как вы думаете, вам нужно обрабатывать звуки и музыку? Тогда НЕОБХОДИМО знание некоторых исчислений, степенных рядов и, что еще важнее, рядов Тейлора.

Будете ли вы работать на 3D-движке? Может быть, что-то связанное с VR или какой-то виртуальный симулятор? Затем требуется абстрактная алгебра (группы, поля и т. Д.), По крайней мере, для движения камеры от первого лица (см. Группу кватернионов и вращение кватернионов). Такова линейная алгебра.

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

Все вышеперечисленное - это работа, требующая определенных навыков в математике.

Если вы более склонны к разработке веб / настольных / мобильных приложений, то, возможно, вам не понадобится так много математики (в случае, если это не такое приложение, как WolframAlpha).

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

Это то, что вы хотите для работы встроенного программирования? Если это так, вы также захотите узнать немного об электротехнике (DOS и тому подобное), и, как вы уже можете сказать, для понимания этого необходимы некоторые математические знания.

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

Самое главное в "Hello World!" (каламбур), чтобы получить навыки кодирования и алгоритма на точку. Займитесь некоторыми полями: webdev, embedded и т. Д. (Хотя бы почитайте о них). Затем изучите математику, которая вам понадобится в выбранной вами области.

Надеюсь, что этот вопрос ответил на ваш вопрос и что это было полезно!

theSongbird
источник