Braid-Theory에 익숙하지 않다면 먼저 이것을 읽는 것이 좋습니다 . 이 질문은 당신이 최소한 개념에 익숙하다고 가정하고 당신이 그룹 이론에 익숙하다고 가정합니다.
우리가 정의 할 σ N을 상기 한 편조 될 N 오버 상부 교차 행 번째 가닥 (하나의 색인) N + 1 번째 가닥 및 σ N - 의 역이 될 σ N 즉, 인 ( N + 1 번째 가닥은 n 번째 가닥을 가로 지른다 ).
이어서 브레이드 그룹 B n 은 <σ 1 , σ 2 , σ 3 ,에 의해 생성된다 . . . , σ n-1 > . 따라서 브레이드의 모든 B의 N은 σ-띠의 곱으로 쓸 수있다. 1
그룹에서 두 개의 브레이드가 같은지 확인하는 것은 간단한 작업이 아닙니다. σ 1 σ 3 = σ 3 σ 1 이라는 것은 매우 명백 할 수 있지만, 예를 들어 σ 2 σ 1 σ 2 = σ 1 σ 2 σ 1 이라는 것은 조금 덜 분명합니다 . 2
그래서 문제는 "두 개의 브레이드가 같은지 어떻게 알 수 있습니까?"입니다. 위의 두 가지 예는 각각 약간을 나타냅니다. 일반적으로 Artin의 관계라고하는 다음 관계는 사실입니다.
σ i σ j = σ j σ i ; i-j> 1
σ i σ i + 1 σ i = σ i + 1 σ i σ i + 1
이 두 관계를 그룹 공리와 함께 사용하여 동일한 브레이드가 동일하다는 것을 증명할 수 있습니다. 따라서 이러한 관계의 반복적 인 적용과 그룹 공리가이를 입증 할 수 있다면 두 개의 브레이드는 동일하다.
직무
두 개의 브레이드를 사용하고 동일한 지 여부를 결정하는 프로그램 또는 함수를 작성합니다. 선택적으로 그룹의 순서를 나타내는 양의 정수를 사용할 수도 있습니다.
이것은 코드 골프 질문이므로 바이트 수가 적을수록 답이 바이트로 표시됩니다.
입력과 출력
정렬 된 생성기 목록 (또는 벡터와 같은 동등한 구조)으로 Braid를 나타내야합니다. 적절한 형식으로 생성기를 나타낼 수 있습니다 (예 : 정수, 양의 정수로 된 두 개의 튜플 및 부울).
표준 결정 문제 규칙 과 동일하게 거부를 수락하는 두 가지 고유 한 값 중 하나를 출력해야합니다.
테스트 사례
[], [] -> True
[1,-1], [] -> True
[1,2,1], [2,1,2] -> True
[1,3], [3,1] -> True
[1,3,2,1],[3,2,1,2] -> True
[1,4,-4,3,2,1], [3,2,1,2] -> True
[2,2,1], [2,1,2] -> False
[1,2,-1], [-1,2,1] -> False
[1,1,1,2],[1,1,2] -> False
1 주 동안 그 B N 만족 그룹 우리 꼬임 군의 조작의 속성은 없다 가환, 따라서 우리 그룹 아벨 아니다.
2 : 당신은 내가 적용하는 것이 좋습니다 직접이를 확인하려는 경우 σ 1 - 당신은 종이에있는 두 개의 출력을 그릴 경우, 양쪽 모두에, 또는 실제 문자열을 모델링이 경우 이유가 명백해질 것이다.
[],[]
[1, 4, -4, 3, 2, 1], [3, 2, 1, 2] => TRUE