컴퓨터 과학에서 선형 대수학의 어떤 부분이 사용됩니까?


15

컴퓨터 공학 자료 (주로 기계 학습)를 이해하는 데 도움을주기 위해 Linear Algebra와 해당 응용 프로그램 을 읽었 지만 CS에 유용한 정보가 많지 않을까 걱정하고 있습니다. 예를 들어, 선형 방정식 시스템을 효율적으로 해결하는 방법을 아는 것은 새로운 방정식 솔버를 프로그래밍하지 않는 한 크게 유용하지 않습니다. 또한이 책은 범위, 선형 의존성 및 독립성, 행렬에 반대의 관계가있을 때의 관계 및 이들 간의 관계에 대해 많이 이야기했지만 CS 에서이 응용 프로그램을 생각할 수는 없습니다. CS에서 선형 대수학의 어떤 부분이 사용됩니까?


2
당신은 자신의 이익을 요구하고 있습니까, 아니면 당신은 학생들에게 동기를 부여하기위한 전략을 찾고 있습니까?
Raphael

선형 대수는 컴퓨터 그래픽의 많은 부분에서 유용합니다 ( 많은 관련 정보 인터넷 검색을 찾을 수 있습니다 ).
Juho

선형 방정식 시스템을 푸는 것은 컴퓨터 과학에 매우 유용합니다. 예 : en.m.wikipedia.org/wiki/Combinatorial_optimization
Ant P

1
행렬은 게임 개발, 프로젝션, 회전 및 쿼터니언 수학을위한 IE에 많이 사용됩니다.
Paul

@Paulpro 문제는 행렬 (객체 집합)이 아니라 선형 대수 (일체)의 적용에 관한 것입니다.
Raphael

답변:


11

언급 한 부분은 선형 대수의 기본 개념입니다. 기본 개념을 이해하기 전에 고급 개념 (예 : 고유 값 및 고유 벡터)을 이해할 수 없습니다. 수학에는 지름길이 없습니다. 범위와 선형 독립의 개념을 직관적으로 이해하지 않으면 선형 대수학을 배우지 못합니다.

일부 알고리즘은 풀 랭크 행렬에서만 작동합니다. 그 의미를 알고 있습니까? 행렬을 전체 순위가 아닌 것으로 만들 수있는 것을 알고 있습니까? 이것을 처리하는 방법? 선형 독립이 무엇인지 모른다면 단서가 없습니다.

선형 방정식을 푸는 데 사용되는 가우시안 제거 알고리즘은 실제로 잘못 구현하면 수치 적으로 불안정 할 수 있으며 경우에 따라 걱정해야 할 수도 있습니다. 알고리즘을 이해하지 않으면 문제가 어디에서 발생하는지, 그리고 선형 방정식을 풀기위한 알고리즘 수준이 아니라 해결하기 위해 올바른 선형 방정식을 도출하는 수준에서 수행 할 수있는 작업이 있는지 알 수 없습니다.

요컨대, 게으르지 말고 이러한 것들이 유용하다는 믿음을 가져라.


5
"이러한 것들이 유용하다는 믿음을 가지십시오"– 글쎄, 우리는 전체적인 유용성을 신경 쓰지 않고 자신의 사랑을 담은 강의를하는 교사들을 모두 알고 있지 않습니까? 학생은 실제로 차이점을 알 수 없지만 맹목적으로 신뢰해서는 안됩니다. "무엇이 필요합니까?" 공정한 질문이지만 "마음을 훈련하기위한 것"이기도합니다.
Raphael

9
"게으르지 마라"는 건설적이지 않은 톤을 설정합니다. 나는 매우 호기심이 많고 참여도가 높았으며 게으른 학생들이 나 에게이 질문을하지는 않았습니다. 많은 CS 학생들이 전통적인 Linear Algebra 수업을 그들이 생각하는 것과는 다른 세상으로 생각합니다. 그들의 관심은 컴퓨팅과 프로그래밍에 관한 것이며 반드시 수학 일 필요는 없습니다. 상황과 동기가 필요하거나 원하는 것은 게으름의 표시가 아닙니다. 그렇게 페인트 칠하지 마십시오.
로건 메이필드

@Raphael, Logan Mayfield, 기계 학습이 선형 대수와 어떻게 관련되는지 아십니까? 약간 구체적이지만, Yuval은 그가 언급 한 예에서 꽤 잘 설명되어 있습니다. OP의 질문은 단 하나의 인터넷 게시물로 완전히 대답 할 수는 없습니다.
musicliftsme

7

선형 대수학은 때때로 그래프 알고리즘에서 매우 유용하고 강력합니다. 함께 매트릭스 트리 정리 하면 효율적으로 그래프가 (당신이 고유 값을 이해할 필요) 한 스패닝 트리의 수를 셀 수 있습니다. 보다 복잡한 선형 대수를 파악해야하는 더욱 까다로운 응용 프로그램 은 다항식 시간으로 평면 그래프의 완벽한 일치 수를 계산하는 FKT 알고리즘 입니다.

대수 그래프 이론스펙트럼 그래프 이론 에서 선형 대수의 사용에 대한 더 흥미로운 사례가 많이 있습니다 . 발생하는 알고리즘은 내가 제시 한 두 가지 예와 같은 문제를 계산하기위한 것이 아닙니다. 예를 들어 연결을 확인 하거나 그래프의 직경을 계산할 수도 있습니다 .


스패닝 트리 수 또는 완벽하게 일치하는 수를 계산하려는 이유가 궁금합니다. 이것이 좋은 점은 무엇입니까? 실제 응용 프로그램을 염두에두고 있습니까?
Yuval Filmus

@YuvalFilmus 나는하지 않으며, 문제를 세는 응용 프로그램을 생각해내는 것이 어려울 수 있습니다. FKTwiki 항목 은 약간의 역사와 동기를 부여 하지만 둘 다 이론적으로 볼 때 흥미 롭습니다 . 어쨌든 요점은 선형 대수학이 그래프 알고리즘을 개발하는 데 유용하므로 컴퓨터 과학에 응용할 수 있다는 것입니다.
Juho


3

컴퓨터 그래픽, 애니메이션, 컴퓨터 비전, 이미지 처리, 과학 컴퓨팅 또는 물리적 현상 시뮬레이션과 관련된 거의 모든 것은 공간 변환 및 방향 표현과 같은 간단한 것에서부터 매우 복잡한 알고리즘에 이르기까지 벡터와 행렬 (선형 대수)을 광범위하게 사용합니다. 이러한 것들이 슈퍼 컴퓨팅의 영역 이었지만 지금은 매우 동일한 분야가 비디오 게임에서 컴퓨터 사진, 자율 주행 자동차에 이르기까지 데스크탑, 전화 및 기타 모든 곳에서 가장 멋진 앱의 핵심입니다. 선형 대수학은 어디에나 있습니다.


2

거기에는 많은 행렬 대수 기반 알고리즘과 기술이 있습니다. 그리고 그것은 훌륭합니다. 주성분 분석은 상당히 유용한 응용 선형 대수의 예입니다. 푸리에 분석에 대해서도 마찬가지입니다. 푸리에 분석은 직교성 및 내부 제품에도 뿌리를두고 있습니다. 직접 응용 프로그램이 있습니다.

그러나 더 중요한 것은 선형 대수 수업을 듣는 것이 특정 방식으로 생각하도록 가르치기 때문에 가치가 있습니다. 가장 좋은 선형 대수 수업은 일반화, 논리 및 증거에 중점을 둡니다. 일반적이거나 특정한 특정 일반적인 사례가 사실입니까? 어떻게 확신 할 수 있습니까? 가정을 증명하는 방법에 대해 생각할 수 있다면 가정을 잘못 가정하고 코드를 작성하지 않는 코드를 작성하는 것을 방지 할 수 있기 때문에 좋습니다. 또한 일반화하기 어려울 수있는 것들을 일반화하는 방법을 생각하고 더 큰 문제를 해결하도록 도와줍니다.

요약하면, 선형 대수학은 컴퓨터 과학에 유용한 뇌의 일부를 들어 올리는 무게이기 때문에 좋다는 것을 명심하는 것이 좋습니다.


0

선형 방정식 시스템 (가우시안 제거 방법으로 수행 가능), 선형 프로그래밍 (단순 법으로 해결할 수 있음), 최소 제곱 및 압축 감지 (위키 백과 기사 참조) 시스템은 많은 문제에서 발생하는 실질적인 문제입니다. 응용 분야. 선형 대수는 이러한 문제에 대한 정확하고 효율적인 알고리즘을 개발하는 데 도움이됩니다.

[Cormen, Leiserson, Rivest and Stein, "Introduction to Algorithms, Third Edition"] 텍스트를 참조하십시오. 여기서 28 장은 행렬 연산에 관한 것이고 29 장은 선형 프로그래밍에 관한 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.