모노이드란 무엇입니까? 정의, 예 및 응용
모노이드는 일련의 요소와 특정 속성을 만족하는 방식으로 해당 요소를 결합하는 연산으로 구성된 수학적 구조입니다. 더 구체적으로 말하면 모노이드는 다음과 같이 정의됩니다. 이는 무엇이든 가능합니다(숫자, 기호 등).
* `M`에서 두 요소 `a`와 `b`를 가져와 역시 `M`에 있는 또 다른 요소 `a * b`를 반환하는 연산 `*`입니다.
작업이 충족해야 하는 속성은 다음과 같습니다:
* 연관성: `M`의 모든 `a`, `b` 및 `c`에 대한 `(a * b) * c = a * (b * c)`. 이는 작업을 수행하는 순서가 중요하지 않음을 의미합니다.
* 동일성: `M`에 `e` 요소가 존재하므로 `의 모든 `a`에 대해 `a * e = e * a = a`입니다. 엠`. 이 요소를 항등 요소라고 하며 작업에 대해 "중립" 요소 역할을 합니다.
* 역: `M`의 각 요소 `a`에 대해 `M`에 `b` 요소가 또 다른 요소가 존재합니다. a * b = b * a = e`. 이 요소 `b`는 `a`의 역수라고 하며, 이 요소와 결합하면 `a`의 효과를 취소합니다. 예를 들어, 덧셈 연산이 포함된 정수 집합은 모노이드를 형성합니다.
* 집합 `M `는 모든 정수의 집합입니다.
* 연산 `*`은 덧셈입니다.
* 임의의 정수 `a`에 대해 `a + 0 = a`이기 때문에 항등 요소는 0입니다.
* 요소 `a의 역수 `는 `-a`입니다. 왜냐하면 `a + (-a) = 0`이기 때문입니다.
모노이드의 또 다른 예는 연결 연산을 사용하는 모든 문자열의 집합입니다:
* 집합 `M`은 모든 문자열의 집합입니다
* `*` 연산은 연결입니다.
* 임의의 문자열 `a`에 대해 `a + "" = a`이기 때문에 ID 요소는 빈 문자열입니다.
* 요소 `a`의 역수 는 `a`를 뒤집어서 얻은 문자열입니다. `a + ("" + a) = a + a = e`입니다. 프로그램 작성. 이는 다양한 수학적 대상과 시스템의 대칭과 구조를 설명하는 방법을 제공하며 암호화, 코딩 이론 및 기타 컴퓨터 과학 분야에 많이 적용됩니다.