나는 stackexchange에서 질문과 답변의 고정 된 점 에 대한 언급을 계속 접하고 있으며 Wikipedia와 같은 사이트에서 분명히 참조를 찾는 웹의 의미를 찾습니다. 그러나 참고 문헌 중 어느 것도 고정 소수점이 무엇이며 컴퓨터 과학 세계에서 이것이 무엇을 의미하는지에 대한 내 질문에 실제로 대답하지 않습니다.
나는 stackexchange에서 질문과 답변의 고정 된 점 에 대한 언급을 계속 접하고 있으며 Wikipedia와 같은 사이트에서 분명히 참조를 찾는 웹의 의미를 찾습니다. 그러나 참고 문헌 중 어느 것도 고정 소수점이 무엇이며 컴퓨터 과학 세계에서 이것이 무엇을 의미하는지에 대한 내 질문에 실제로 대답하지 않습니다.
답변:
컴퓨터 과학에서 고정 소수점의 가장 두드러진 사용은 격자 이론 ¹입니다. 격자는 두 개의 요소 x , y ∈ S 가 주어지면 세트 는 최상과 비강도 ( ) 를 갖는 추가 특성을 갖는 부분적으로 정렬 된 세트 입니다 .S
지금 당신은 종종 고려 모노톤 함수이 격자에서 f 는 "수렴"합니다. 즉 일부 x ∈ S의 경우 f ( x ) = x 입니다. 이 영역에서 중요한 결과는Kleene의 고정 소수 정리와Knaster-Tarski 정리입니다.
눈에 띄는 예는 A 세트에 대한 격자 와 유도 정의에 의해 유도 된 f 입니다. 예를 들어, A = { a , b } ∗로 정의하고 언어 L ∈ 2 { a , b } ∗ 를 정의합니다.
이 유도 정의는 모노톤 기능에 해당
Knaster-Tarski 정리에 따르면, 는 모든 작은 "중간 결과"(유도 정의의 생성자를 유한하게 적용하는 것에 해당)의 최고 값 인 가장 작은 고정 점이 있고, 가장 작은 고정 점이 실제로 L 입니다.
그건 그렇고, 가장 큰 픽스 포인트도 사용합니다; 예를 보려면 여기 를 참조 하십시오 .
재귀 이론에는 Kleene으로 인한 또 다른 고정 소수점 정리가 있습니다. 그것은 말한다 , ²
a Gödel 번호 매기기 ³ 및 r : N → N을 계산 가능한 총 함수 (직관 : 컴파일러)라고 합시다 . 그런 다음 φ r ( i ) = φ i 와 같은 i ∈ N이 있습니다.
실제로, 그러한 무한히 많다 . 유한하게 만 많은 곳이 있다면, 우리는 r을 (테이블 룩업으로) 패치 하여 고정 소수점을 갖지 않을 수 있으며, 정리와 모순됩니다.
meisterluk의 대답에 대해 좀 더 자세히 설명하겠습니다. 계승 함수를 정의하려고한다고 상상해보십시오. 계승 함수의 정의를 기억하십시오.
fact 0 = 1
fact (n+1) = n*(fact n)
이제 일부 PL 프레임 워크 (즉, -calculus )에서 이러한 함수를 정의하는 방법이 즉시 명확하지 않습니다. 그러나 다음과 같은 고차 함수를 쉽게 정의 할 수 있습니다. 소위 다른 함수와 자연수 를 입력으로 취하기 때문에 소위
Fact f 0 = 1
Fact f (n+1) = n * (f n)
이 함수 정의에는 재귀를 사용하지 않습니다. 그러나, 찾을 수있는 방법이 있다면 수정 점 의 Fact
이다, 함수 같은 그
사실 φ N = φ n은
모든에 대한 N , 다음이 있는지 확인하기 쉽습니다 φ가 참으로 계승 기능의 구현입니다.
이제 -calculus 와 같은 프레임 워크 에서 이러한 특성의 모든 고정 소수점이 실제로 존재한다는 것을 보여줄 수 있으며이를 일반 프로그래밍 언어로 사용할 수 있습니다.
컴퓨터 과학에서 고정 소수점 개념에 대한 다른 많은 용도가 있지만, 위에서 보여준 고정 소수점으로 대부분 비등합니다. 즉, 특정 고정 소수점이 특정 기능이나 구조가 당신의 프레임 워크 (여기서 우리는 계승 함수가 존재 함을 보여주었습니다).
함수의 고정 점 소자 인 X 되는 F ( X ) 와 동일하다 (X) . 예를 들어, 함수 x 2 에는 값 0 과 1 인 두 개의 고정 점이 있고 함수 x 3 에는 세 개의 고정 점이 있습니다. 수학적으로 그것은 정의입니다.
이제 다루고있는 수학적 구조에 따라 고정 소수점에 관심을 가져야하는 이유는 매우 다양합니다. 예를 들어, 세계 상태를보고 온도 조절기처럼 변경하는 동적 시스템을 고려하면 고정 점은 안정적인 구성에 해당합니다. 게임 이론을 수학적으로 수학적으로 생각하면 고정 소수점은 평형에 해당하며, 반복적으로 솔루션을 개선하는 최적화 루틴의 동작을 생각하면 고정 소수점은 최적 솔루션에 해당합니다. 따라서 고정 점의 수학적 개념은 많은 다른 상황에서 많은 응용을 가지고 있습니다.
컴퓨터 과학에서 고정 소수점을 매우 일반적이고 기본적으로 적용하는 것은 루프와 재귀 프로그램을 수학적으로 모델링하는 것입니다. 프로그램을 수학 함수로 모델링하려고하면 루프와 재귀가 모두 모델로 명확하지 않습니다. 루프 본문은 프로그램이므로 수학 함수로 표현할 수 있기 때문입니다. 루프의 동작을 나타내는 함수를 어떻게 도출합니까? 더 이상 변경할 수 없을 때까지 루프 가드와 함께 루프 바디를 반복적으로 적용하는 것과 같습니다. 마찬가지로 재귀 프로그램을 수학적으로 모델링하는 경우 함수 자체가 적용되는 의미에 대한 수학적 개념이 필요합니다. 이 답변은 고정 포인트로 제공됩니다.
게임 이론 은 CS의 주요 하위 영역이며 중요한 개념 은 고정 점 정리 인 내쉬 평형 이 있습니다. 그것은 다른 플레이어들이 서로의 전략을 알고 있다면 최적의 게임 전략을 식별하는 수단을 제공합니다. Kakutani 고정 소수점 정리 또는 Brower 고정 소수점 정리 를 통해 증명할 수 있습니다 . 내쉬는이 이론을 개발 한 공로로 노벨 경제상을 수상했다.