Điểm cố định, nó có nghĩa là gì trong thế giới của khoa học máy tính


19

Tôi tiếp tục tìm thấy các tham chiếu đến điểm cố định trong các câu hỏi và câu trả lời tại stackexchange và tôi tìm kiếm ý nghĩa trên web rõ ràng là tìm thấy tài liệu tham khảo tại các trang web như Wikipedia. Tuy nhiên không có tài liệu tham khảo nào thực sự trả lời câu hỏi của tôi về điểm cố định là gì và ý nghĩa của nó trong thế giới khoa học máy tính.


1
Ngay cả khi khái niệm điểm cố định thường xuất phát từ một số cặp sao cho , có rất nhiều khung khác nhau trong đó thuật ngữ được sử dụng với ý nghĩa và hậu quả khác nhau. f,xf(x)=x
Raphael

Điều này đã giúp tôi. Các loại đệ quy miễn phí!
Guy Coder

Câu trả lời:


17

Trong khoa học máy tính, việc sử dụng điểm cố định nổi bật nhất được cho là trong lý thuyết mạng . Một lưới là một tập có thứ tự từng phần với thuộc tính bổ sung cho hai yếu tố bất kỳ x , y S , tập { x , y } có cả một supremum và infimum (trong S ).(S,)x,yS{x,y}S

Bây giờ bạn thường xem xét các hàm đơn điệu trên mạng này "hội tụ", nghĩa là đối với một số x S bạn có f ( x ) = x . Các kết quả quan trọng trong lĩnh vực này là định lý điểm cố định của Kleeneđịnh lý Knaster-Tarski .fxSf(x)=x

Một ví dụ nổi bật là lưới cho một số bộ, và f gây ra bởi một định nghĩa quy nạp. Ví dụ, chúng ta hãy Một = { một , b } * và chúng ta định nghĩa một ngôn ngữ L 2 { một , b } * bởi(2A,)AfA={a,b}L2{a,b}

wLε,aLawLbawLbwLabw,bbwL

Định nghĩa quy nạp này tương ứng với hàm đơn điệu

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

Bởi lý Knaster-Tarski, chúng ta biết có fixpoint nhỏ nhất mà là một supremum của tất cả các "kết quả trung gian" nhỏ hơn (mà tương ứng với hữu hạn thường áp dụng các nhà thầu của định nghĩa quy nạp), và đó là nhỏ nhất fixpoint thực sự là L .fL

Nhân tiện, điểm cố định lớn nhất cũng có công dụng; xem ở đây cho một ví dụ.


Trong lý thuyết đệ quy, có một định lý điểm cố định khác, cũng do Kleene. Nó nói ²,

Hãy một số Godel ³ và r : NN tổng, chức năng tính toán (trực giác: một trình biên dịch). Sau đó, có i N sao cho φ r ( i ) = φ i .φr:NNiNφr(i)=φi

Trong thực tế, thậm chí có vô số như vậy ; nếu ở đó chỉ có nhiều số hữu hạn, chúng ta có thể vá r (bằng cách tra cứu bảng) để không có các điểm cố định, mâu thuẫn với định lý.ir


  1. Mọi người đều sử dụng nó mỗi ngày, ngay cả khi bạn không nhận ra nó.
  2. Tôi không thích bài viết Wikipedia đó; bạn có lẽ tốt hơn nên kiểm tra một cuốn sách thể loại.
  3. Một loại đặc biệt của chức năng đánh số. Đối với trực giác, hãy nghĩ về nó như một ngôn ngữ lập trình (Turing-Complete).

13

Hãy để tôi giải thích một chút về câu trả lời của meisterluk: Hãy tưởng tượng chúng ta đang cố gắng xác định hàm giai thừa: nhớ định nghĩa của hàm giai thừa:

fact 0     = 1
fact (n+1) = n*(fact n)

Bây giờ trong một số khuôn khổ PL (cụ thể là -calculusλ ), nó không phải là ngay lập tức rõ ràng làm thế nào để xác định một chức năng như vậy. Tuy nhiên, có thể dễ dàng xác định hàm bậc cao hơn sau đây , được gọi là vì nó lấy đầu vào là hàm khác và số tự nhiên

Fact f 0     = 1
Fact f (n+1) = n * (f n)

Không có sử dụng đệ quy trong định nghĩa hàm này. Tuy nhiên, nếu có một số cách để tìm ra sửa chữa điểm của Fact, có nghĩa là, một hàm như vậy mà thực tế φ n = φ n cho mỗi n , sau đó nó rất dễ dàng để kiểm tra xem φ thực sự là một thực hiện các chức năng thừa.ϕ

Fact ϕ n = ϕ n
nϕ

Bây giờ trong các khuôn khổ như -calculus, người ta có thể thấy rằng tất cả cố định điểm của thiên nhiên này làm, trên thực tế, tồn tại, mà làm cho nó rõ ràng rằng bạn có thể sử dụng nó như là một ngôn ngữ lập trình nói chung.λ

Có nhiều cách sử dụng khác cho khái niệm điểm cố định trong khoa học máy tính, nhưng hầu hết đều đi sâu vào điểm tôi đã trình bày ở trên, tức là chứng minh rằng các điểm cố định nhất định tồn tại để có thể chỉ ra rằng các chức năng hoặc cấu trúc nhất định được xác định rõ trong khung của bạn (ở đây chúng tôi đã chỉ ra rằng hàm giai thừa tồn tại).


9

f:AAxf(x)xx201x3

Bây giờ, tùy thuộc vào cấu trúc toán học mà bạn đang xử lý, có rất nhiều lý do khác nhau để quan tâm đến các điểm cố định. Ví dụ: nếu bạn xem xét một hệ thống động nhìn vào trạng thái của thế giới và thay đổi nó (như bộ điều chỉnh nhiệt) thì một điểm cố định tương ứng với cấu hình ổn định. Nếu bạn nghĩ về các trò chơi theo nghĩa toán học của lý thuyết trò chơi, các điểm cố định tương ứng với cân bằng, nếu bạn nghĩ về hành vi của một thói quen tối ưu hóa lặp đi lặp lại giải pháp của nó, một điểm cố định tương ứng với một giải pháp tối ưu. Vì vậy, khái niệm toán học về một điểm cố định có rất nhiều ứng dụng trong rất nhiều bối cảnh khác nhau.

Một ứng dụng rất phổ biến và cơ bản của các điểm cố định trong khoa học máy tính là mô hình hóa các vòng lặp và các chương trình đệ quy. Nếu chúng ta cố gắng mô hình hóa một chương trình như là một hàm toán học, cả hai vòng lặp và đệ quy đều không rõ ràng đối với mô hình. Điều này là do phần thân của một vòng lặp là một chương trình và có thể được biểu diễn dưới dạng hàm toán học. Làm thế nào để chúng ta rút ra hàm đại diện cho hành vi của vòng lặp? Nó tương ứng với việc áp dụng thân vòng lặp nhiều lần, kết hợp với bộ bảo vệ vòng lặp, cho đến khi không thể thay đổi thêm. Tương tự, nếu chúng ta mô hình hóa các chương trình đệ quy về mặt toán học, chúng ta cần một khái niệm toán học về ý nghĩa của hàm để áp dụng chính nó. Câu trả lời này được cung cấp bởi các điểm cố định.


7

Một hàm trong toán học là một bản đồ giữa các giá trị đầu vào và đầu ra. Điểm cố định là các giá trị đầu vào (đối với một hàm) ánh xạ tới các giá trị đầu ra thỏa mãn sự bằng nhau với đầu vào.

f(x)=xf(x)=x2{0,1}

Đối với khoa học máy tính, chúng ta đang nói rất nhiều về các chức năng một phần , nhưng điều này không thay đổi định nghĩa về các điểm cố định đối với chúng ta.

Bạn cũng có thể nhầm lẫn về một chủ đề hoàn toàn khác: Số học điểm cố định là một khái niệm làm thế nào để biểu diễn các số thực trong bộ nhớ. Nhưng tên "điểm cố định" không đề cập đến chủ đề này nói chung (vì chỉ có 1 điểm).


-1

lý thuyết trò chơi là một tiểu vùng chính của CS và một khái niệm quan trọng có trạng thái cân bằng Nash là một định lý điểm cố định. nó đưa ra một phương tiện để xác định các chiến lược trò chơi tối ưu do các người chơi khác nhận thức được các chiến lược của nhau. nó có thể được chứng minh thông qua định lý điểm cố định Kakutani hoặc định lý điểm cố định Brower . Nash đã giành giải thưởng Nobel về kinh tế một phần vì đã phát triển lý thuyết này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.