Qual a importância da matemática discreta para um cientista da computação? [fechadas]

8

Como o título diz,

Qual a importância da matemática discreta para um cientista da computação? Antecedentes: Estou fazendo um mestrado com foco em fundamentos como algoritmos, teoria da complexidade e da computabilidade e linguagens de programação para obter uma boa base para trabalhar no campo da computação paralela.

Um pouco mais de experiência: Minha universidade concede muita liberdade na escolha de cursos para o meu mestrado. É oficialmente chamado de "Engenharia de Software", mas devido a uma ampla variedade de eletivas, é possível um foco diferente. Curiosamente, nenhuma das disciplinas eletivas é uma aula de matemática! Estou pensando em fazer um curso sobre Matemática Discreta que levaria meio semestre para ser concluído com êxito, mesmo que eu não possa usá-lo na minha graduação. Então, com esta pergunta, estou tentando descobrir se o esforço é justificável.

mort
fonte
1
Eu tinha matemática discreta na faculdade ... me ajudou em computação gráfica e inteligência artificial.
K ..

Respostas:

27

Como cientista da computação que deseja obter um mestrado com foco em "Algoritmos, Teoria da Complexidade e Computabilidade e Linguagens de Programação", eu diria que a Matemática Discreta é muito importante.

A matemática discreta o ajudará com a parte "Teoria dos algoritmos, complexidade e computabilidade" do foco mais do que a linguagem de programação. A compreensão da teoria dos conjuntos, probabilidade e combinações permitirá analisar algoritmos. Você será capaz de identificar com sucesso parâmetros e limitações de seus algoritmos e poderá perceber o quão complexo é um problema / solução.

Quanto à linguagem de programação, a matemática discreta não toca em como realmente programar; mas pode ser usado para especificação de projeto de sistema de software. Eu usei o "ZED" na universidade e tratava de projetar um sistema usando a teoria dos conjuntos. No entanto, não tenho certeza de que porcentagem de sistemas de software é projetada com a teoria dos conjuntos.

O último conceito importante a ser retirado da matemática discreta é a álgebra booleana. Isso é muito útil não apenas para criar uma solução lógica, mas também é muito útil na programação. O software pode ser criado / quebrado simplesmente na lógica booleana nele.

No geral, a matemática discreta não é uma classe de números para a maior parte. Faz você usar seu cérebro de maneiras que nenhuma outra classe faz. É uma aula de raciocínio lógico e você deve ter paciência se fazer provas / cálculos lógicos não for fácil para você. Vi pessoas mudarem de curso porque não conseguiam pensar "abstratamente" o suficiente para concluir o curso.

Em resumo, eu diria que a matemática discreta seria uma aula importante para um cientista da computação / engenheiro de software.

Kcvin
fonte
1
Ia responder, mas esta é essencialmente a minha resposta.
Eliot Ball
Faz alguns anos, mas eu lembro de Matemática Discreta entrando em Idiomas. A primeira metade da aula foi Álgebra e Conjuntos Booleanos, a segunda metade foi de idiomas e autômatos. Eles estavam apenas combinando duas classes?
Chris
Eu acho que depende do ritmo da aula. Se estivesse aprendendo sobre um monte de teorias, acho que você poderia dizer que era uma aula; mas se você estiver escrevendo algo como uma especificação de automação usando Set language, é uma combinação de duas classes. A matemática discreta é um tópico amplo o suficiente para ensinar apenas a teoria e usar exemplos (ou seja, lição de casa) para elaborar a teoria.
Kcvin
2

Na verdade, a Matemática Discreta é a espinha dorsal da Ciência da Computação, ou eu digo a Ciência da Computação Teórica. Sem o estudo da matemática discreta, perdemos o cerne do desenvolvimento da lógica da ciência da computação. Traz clareza racional às suas soluções e uma maneira formal de analisar um problema.

Todos os campos da ciência da computação estão relacionados a objetos discretos, sejam bancos de dados, redes Nueral, organização de computadores, compiladores, programação de redes etc. Eu diria que é o "assunto pai" da ciência da computação e todos deveriam estudar esse assunto.

Pranay Bhattacharya
fonte