고정 된 점, 컴퓨터 과학의 세계에서 무엇을 의미 하는가


19

나는 stackexchange에서 질문과 답변의 고정 된 점 에 대한 언급을 계속 접하고 있으며 Wikipedia와 같은 사이트에서 분명히 참조를 찾는 웹의 의미를 찾습니다. 그러나 참고 문헌 중 어느 것도 고정 소수점이 무엇이며 컴퓨터 과학 세계에서 이것이 무엇을 의미하는지에 대한 내 질문에 실제로 대답하지 않습니다.


1
고정 소수점의 개념이 일반적으로 와 같은 일부 쌍 에서 유래 하더라도 용어가 다른 의미와 결과로 사용되는 다른 프레임 워크가 많이 있습니다. f ( x ) = xf,xf(x)=x
Raphael

이것은 나를 도와줍니다. 재귀 유형 무료!
가이 코더

답변:


17

컴퓨터 과학에서 고정 소수점의 가장 두드러진 사용은 격자 이론 ¹입니다. 격자는 두 개의 요소 x , y S 가 주어지면 세트 는 최상과 비강도 ( ) 를 갖는 추가 특성을 갖는 부분적으로 정렬 된 세트 (S,) 입니다 .x,ySS{x,y}S

지금 당신은 종종 고려 모노톤 함수이 격자에서 f 는 "수렴"합니다. 즉 일부 x S의 경우 f ( x ) = x 입니다. 이 영역에서 중요한 결과는Kleene의 고정 소수 정리Knaster-Tarski 정리입니다.fxSf(x)=x

눈에 띄는 예는 A 세트에 대한 격자 와 유도 정의에 의해 유도 된 f 입니다. 예를 들어, A = { a , b } ∗로 정의하고 언어 L 2 { a , b } 를 정의합니다.(2A,)AfA={a,b}L2{a,b}

wLε,aLawLbawLbwLabw,bbwL

이 유도 정의는 모노톤 기능에 해당

f(A)={ε,a}A{bawawL}{abw,bbwbwL}

Knaster-Tarski 정리에 따르면, 는 모든 작은 "중간 결과"(유도 정의의 생성자를 유한하게 적용하는 것에 해당)의 최고 값 인 가장 작은 고정 점이 있고, 가장 작은 고정 점이 실제로 L 입니다.fL

그건 그렇고, 가장 큰 픽스 포인트도 사용합니다; 예를 보려면 여기 를 참조 하십시오 .


재귀 이론에는 Kleene으로 인한 또 다른 고정 소수점 정리가 있습니다. 그것은 말한다 , ²

a Gödel 번호 매기기 ³ 및 r : NN을 계산 가능한 총 함수 (직관 : 컴파일러)라고 합시다 . 그런 다음 φ r ( i ) = φ i 와 같은 i N이 있습니다.φr:NNiNφr(i)=φi

실제로, 그러한 무한히 많다 . 유한하게 만 많은 곳이 있다면, 우리는 r을 (테이블 룩업으로) 패치 하여 고정 소수점을 갖지 않을 수 있으며, 정리와 모순됩니다.ir


  1. 모르는 경우에도 누구나 매일 사용합니다.
  2. 그 위키 백과 기사가 마음에 들지 않습니다. 장르 책을 확인하는 것이 좋습니다.
  3. 특별한 종류의 함수 넘버링. 직관을 위해 (완전한) 프로그래밍 언어로 생각하십시오.

13

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 , 다음이 있는지 확인하기 쉽습니다 φ가 참으로 계승 기능의 구현입니다.ϕ

Fact ϕ n = ϕ n
nϕ

이제 -calculus 와 같은 프레임 워크 에서 이러한 특성의 모든 고정 소수점이 실제로 존재한다는 것을 보여줄 수 있으며이를 일반 프로그래밍 언어로 사용할 수 있습니다.λ

컴퓨터 과학에서 고정 소수점 개념에 대한 다른 많은 용도가 있지만, 위에서 보여준 고정 소수점으로 대부분 비등합니다. 즉, 특정 고정 소수점이 특정 기능이나 구조가 당신의 프레임 워크 (여기서 우리는 계승 함수가 존재 함을 보여주었습니다).


9

함수의 고정 점 소자 인 X 되는 F ( X ) 와 동일하다 (X) . 예를 들어, 함수 x 2 에는 값 01 인 두 개의 고정 점이 있고 함수 x 3 에는 세 개의 고정 점이 있습니다. 수학적으로 그것은 정의입니다.에프:엑스에프(엑스)엑스엑스201엑스

이제 다루고있는 수학적 구조에 따라 고정 소수점에 관심을 가져야하는 이유는 매우 다양합니다. 예를 들어, 세계 상태를보고 온도 조절기처럼 변경하는 동적 시스템을 고려하면 고정 점은 안정적인 구성에 해당합니다. 게임 이론을 수학적으로 수학적으로 생각하면 고정 소수점은 평형에 해당하며, 반복적으로 솔루션을 개선하는 최적화 루틴의 동작을 생각하면 고정 소수점은 최적 솔루션에 해당합니다. 따라서 고정 점의 수학적 개념은 많은 다른 상황에서 많은 응용을 가지고 있습니다.

컴퓨터 과학에서 고정 소수점을 매우 일반적이고 기본적으로 적용하는 것은 루프와 재귀 프로그램을 수학적으로 모델링하는 것입니다. 프로그램을 수학 함수로 모델링하려고하면 루프와 재귀가 모두 모델로 명확하지 않습니다. 루프 본문은 프로그램이므로 수학 함수로 표현할 수 있기 때문입니다. 루프의 동작을 나타내는 함수를 어떻게 도출합니까? 더 이상 변경할 수 없을 때까지 루프 가드와 함께 루프 바디를 반복적으로 적용하는 것과 같습니다. 마찬가지로 재귀 프로그램을 수학적으로 모델링하는 경우 함수 자체가 적용되는 의미에 대한 수학적 개념이 필요합니다. 이 답변은 고정 포인트로 제공됩니다.


7

수학 함수는 입력 값과 출력 값 사이의 맵입니다. 고정 점은 입력과 동등성을 만족하는 출력 값에 매핑되는 입력 값 (기능의 경우)입니다.

에프(엑스)=엑스에프(엑스)=엑스2{0,1}

컴퓨터 과학에 관한 한, 우리는 부분 기능 에 대해 많이 이야기하고 있지만 이것이 고정 소수점의 정의를 바꾸지는 않습니다.

완전히 다른 주제에 대해 혼란 스러울 수도 있습니다. 고정 소수점 산술 은 메모리에서 실수를 나타내는 방법입니다. 그러나 "고정 점"이라는 이름은 일반적으로이 주제를 참조하지 않습니다 (1 점만 있기 때문에).


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