Eu tenho lido a Álgebra Linear e seus Aplicativos para ajudar a entender o material da ciência da computação (principalmente aprendizado de máquina), mas estou preocupado que muitas informações não sejam úteis para o CS. Por exemplo, saber como resolver com eficiência sistemas de equações lineares não parece muito útil, a menos que você esteja tentando programar um novo solucionador de equações. Além disso, o livro falou muito sobre extensão, dependência linear e independência, quando uma matriz tem um inverso e as relações entre eles, mas não consigo pensar em nenhuma aplicação disso no CS. Então, quais partes da álgebra linear são usadas no CS?
15
Respostas:
As partes que você mencionou são conceitos básicos de álgebra linear. Você não pode entender os conceitos mais avançados (por exemplo, autovalores e autovetores) antes de entender primeiro os conceitos básicos. Não há atalhos em matemática. Sem uma compreensão intuitiva dos conceitos de extensão e independência linear, você não chegará muito longe na álgebra linear.
Alguns algoritmos funcionam apenas com matrizes de classificação completa - Você sabe o que isso significa? Você sabe o que pode fazer com que uma matriz não seja uma classificação completa? Como lidar com isso? Você não terá idéia se não souber o que é independência linear.
O algoritmo de eliminação gaussiano usado para resolver equações lineares pode ser numericamente instável se implementado incorretamente, e isso é algo com que você pode se preocupar em alguns casos. Sem entender o algoritmo, você não saberá de onde vem o problema e se há algo que possa ser feito - não no nível dos algoritmos para resolver equações lineares, mas no nível de encontrar as equações lineares corretas para resolver.
Em resumo, não seja preguiçoso e acredite que essas coisas são úteis.
fonte
Álgebra linear às vezes é extremamente útil e poderosa em algoritmos de gráficos. Com o teorema da árvore matricial, é possível contar com eficiência o número de árvores de abrangência que um gráfico possui (é necessário entender os autovalores). Uma aplicação mais desafiadora, onde você precisa de uma compreensão ainda mais firme da álgebra linear é o algoritmo FKT para calcular o número de combinações perfeitas em um gráfico planar em tempo polinomial.
Existem muitos exemplos mais interessantes de usos da álgebra linear na teoria dos grafos algébricos e na teoria dos grafos espectrais . Os algoritmos que surgem não são apenas para contar problemas como os dois exemplos que eu dei. Por exemplo, você também pode verificar a conectividade ou calcular o diâmetro de um gráfico .
fonte
Um dos usos mais conhecidos da álgebra linear está no algoritmo Pagerank do Google :
fonte
Quase tudo o que envolve computação gráfica, animação, visão computacional, processamento de imagens, computação científica ou simulação de fenômenos físicos envolverá o uso extensivo de vetores e matrizes (álgebra linear), desde coisas simples como representar transformações e orientações espaciais até algoritmos muito complexos. Essas coisas costumavam ser o domínio da supercomputação, mas agora esses mesmos campos são o núcleo de todos os aplicativos mais legais em seu desktop, telefones e em qualquer outro lugar, de videogames a fotografia computacional e carros autônomos. Álgebra linear está em toda parte.
fonte
Existem muitos algoritmos e técnicas baseados em álgebra matricial por aí. E isso é ótimo. A análise de componentes principais é um exemplo de uma álgebra linear aplicada bastante útil. O mesmo pode ser dito sobre a análise de Fourier, que também tem raízes na ortogonalidade e nos produtos internos. Portanto, existem aplicativos diretos.
MAS , ainda mais importante, ter uma aula de álgebra linear é valioso porque ensina você a pensar de uma certa maneira. A maioria das boas aulas de álgebra linear enfatiza generalização, lógica e provas. Algo é verdade em geral, ou apenas alguns casos comuns específicos? Como você pode ter certeza? Ser capaz de pensar em como provar suas suposições é bom porque ajuda a evitar suposições ruins e a escrever códigos que não se generalizam da maneira que você supõe. Também ajuda a pensar em como generalizar coisas que, de outra forma, podem ser difíceis de generalizar, e que permitem resolver problemas maiores.
Em resumo, é bom ter em mente que a álgebra linear é boa porque é o levantamento de peso para a parte do cérebro que é útil na ciência da computação.
fonte
Resolver um sistema de equações lineares (que pode ser feito com o método de eliminação gaussiano), programação linear (que pode ser resolvida com o método simplex), mínimos quadrados e detecção compactada (consulte o artigo da Wikipedia) são problemas práticos que surgem em muitos Áreas de aplicação. A álgebra linear ajuda no desenvolvimento de algoritmos corretos e eficientes para esses problemas.
Veja o texto [Cormen, Leiserson, Rivest e Stein, "Introdução aos Algoritmos, Terceira Edição"], em que o Capítulo 28 trata de operações matriciais e o Capítulo 29 trata de programação linear.
fonte