본문 바로가기

대수학

[대수학]현대대수학과 대수적 구조

대수학을 공부해야 하는 이유

대수학은 일련의 공리를 만족하는 수학적 구조들의 일반적인 성질을 연구하는 학문이다. 프로그래머에게 대수학이 필요한 경우는 많지 않다고 생각할 수 있지만 훨씬 복잡하고 섬세한 알고리즘이나 문제들을 해결하고 기술의 발전을 선도하는 리딩그룹에 속하기 위해서는 대수학은 필수이다. 프로그래머는 소프트웨어 개발자라고도 불리자만 소프트웨어 엔지니어라고도 불린다. 즉 과학, 수학 등의 체계적인 지식을 통해 소프트웨어의 설계, 분석, 구현, 테스트하는 학자이다. 일반적으로 이산수학을 많이 공부하는데, 세상의 여러 복잡한 문제들을 풀기 위해서는 이산수학으로는 부족하다. 구체적으로 프래그래머가 대수학을 공부하면 다음과 같은 도움을 줄 수 있다.

  1. 알고리즘 및 데이터 구조 이해: 프로그래머는 종종 알고리즘과 데이터 구조를 설계하고 분석해야 한다. 대수학은 이러한 개념을 이해하는 데 도움이 되며, 특히 알고리즘의 복잡도 분석 등에서 수학적 사고가 필요하다.
  2. 문제 해결 능력 강화: 대수학은 문제 해결에 대한 논리적이고 수학적인 접근을 강화한다. 프로그래머는 복잡한 문제를 단순한 단계로 분해하고 해결하는 데 이러한 능력이 필요하다.
  3. 프로그래밍 언어 및 문법 이해: 대수학은 변수, 식, 연산 등의 개념을 사용하며, 이는 프로그래밍 언어와 문법의 이해에 도움이 된다. 수학적 표현을 이해하면 프로그래밍 언어의 코드를 더 쉽게 읽고 이해할 수 있다.
  4. 컴퓨터 그래픽스 및 게임 프로그래밍: 대수학은 컴퓨터 그래픽스 및 게임 프로그래밍 분야에서 매우 중요하다. 변환 행렬, 벡터 연산 등의 수학적 개념을 사용하여 2D 및 3D 그래픽스를 다루는 데 필요하다.
  5. 머신러닝 및 데이터 과학: 머신러닝 및 데이터 과학 분야에서는 수학적인 개념이 핵심이다. 선형 대수, 확률 등의 개념을 이해하면 데이터 분석 및 머신러닝 모델을 구축하고 이해하는 데 도움이 된다.
  6. 암호학 및 보안: 대수학은 암호학 및 보안 분야에서 중요한 역할을 한다. 정수론, 유한체, 공개키 암호 시스템 등의 수학적 개념을 이해하면 보안 알고리즘을 이해하고 구현하는 데 도움이 된다.

알고리즘 컨퍼런스에 있는 논문을 읽어보면 대수학과 같은 순수수학의 개념들이 매우 많이 나온다.

 

대수적 구조

대수학의 목표는 집합과 집합에 부여된 연산들을 의미하는 대수적 구조 $(X,\ \circ)$를 분류하는 것이라고 할 수 있다. $X$는 집합, $\circ$은 집합에 부여된 연산이다. 그리고 대수적 구조를 분류하는 기준은 대수적 구조를 보존하면서 일대일 대응이 존재하면 같은 것으로 취급한다. 이를 동형이라 하는데 이는 나중에 좀 더 자세히 다루겠다.

 

모노이드(Monoid)

모노이드란 다음을 만족하는 대수구조 $(M,\ \circ )$를 의미한다.

  1. $\forall a,\ b,\ c\in M\quad s.t.\quad (a\circ b)\circ c=a\circ (b\circ c)=a\circ b\circ c$ (결합법칙)
  2. $\forall x\in M\ \ \exists e\in M \quad s.t. \quad e\circ x=x\circ e=x$ (항등원 존재)

 

군(Group)

군이란 다음을 만족하는 대수구조 $(G,\ \circ)$를 의미한다.

  1. $\forall a,\ b,\ c\in G\quad s.t.\quad (a\circ b)\circ c=a\circ (b\circ c)=a\circ b\circ c$ (결합법칙)
  2. $\forall x\in G\ \ \exists e\in G \quad s.t. \quad e\circ x=x\circ e=x$ (항등원 존재)
  3. $\forall x\in G\ \ \exists x^{-1}\in G \quad s.t. \quad x^{-1}\circ x=x\circ x^{-1}=e$ (역원 존재)

추가로 군의 원소의 개수가 유한하면 그 군을 유한군이라 하고, 원소의 개수를 위수라 한다.

그리고 군의 연산이 교환법칙까지 만족한다면 그 군을 가환군 또는 아벨군이라 한다.

유한 가환군의 대표적인 예시로 정수론에서 다룬 $(\mathbb{Z}_n,\ +)$이 있다.

 

환(Ring)

환이란 다음을 만족하는 대수구조 $(R,\ +,\ \cdot)$를 의미한다.

  1. $(R,\ +)$는 가환군을 이룬다.
  2. $(R,\ \cdot)$은 모노이드를 이룬다.
  3. $\forall a,\ b,\ c\in R \quad s.t. \quad a\cdot (b+c)=(b+c)\cdot a=ab+ac=ba+ca$ (분배법칙)

그리고 연산 $\cdot$이 교환법칙이 성립한다면 그 환을 가환환이라 한다.

 

준동형 사상(Homomorphism)

준동형 사상 $f:X\rightarrow Y$는 두 대수적 구조 $(X,\ \circ_X)$, $(Y,\ \circ_Y)$ 사이에서 정의된 사상을 의미한다. 준동형 사상은 대수구조를 보존한다. 구체적으로는 다음과 같은 성질을 만족한다.

  1. $a,\ b\in X$에 대해 $f(a\circ_X b)=f(a)\circ_Y f(b)$

그리고 일대일 대응인 준동형 사상을 동형사상(Isomorphism)이라 하며, 두 대수구조 사이에 동형사상이 존재한다면 다음과 같이 표기하며, 동형이라고 한다.

$$X\cong Y$$

'대수학' 카테고리의 다른 글

[대수학]모노이드 범주  (0) 2024.01.19
[대수학]범주론(Category theory)  (0) 2024.01.18
[대수학]벡터 공간  (0) 2024.01.15