Saya terus menemukan referensi ke titik tetap dalam pertanyaan dan jawaban di stackexchange dan saya mencari artinya di web jelas menemukan referensi di situs-situs seperti Wikipedia. Namun tidak ada referensi yang benar-benar menjawab pertanyaan saya tentang apa itu titik tetap dan apa artinya dalam dunia ilmu komputer.
terminology
Guy Coder
sumber
sumber
Jawaban:
Dalam ilmu komputer, penggunaan fixed-point yang paling menonjol dalam teori kisi adalah ¹. Kisi adalah himpunan sebagian yang dipesan dengan properti tambahan yang diberikan dua elemen x , y ∈ S , himpunan { x , y } memiliki supremum dan infimum (dalam S ).(S,≤) x,y∈S {x,y} S
Sekarang Anda sering mempertimbangkan fungsi monoton pada kisi ini yang "menyatu", yaitu untuk beberapa x ∈ S Anda memiliki f ( x ) = x . Hasil penting dalam bidang ini adalah teorema titik tetap Kleene dan teorema Knaster-Tarski .f x∈S f(x)=x
Contoh yang menonjol adalah kisi untuk A set, dan f yang diinduksi oleh definisi induktif. Misalnya, misalkan A = { a , b } ∗ dan kami mendefinisikan bahasa L ∈ 2 { a , b } ∗ oleh(2A,⊆) A f A={a,b}∗ L∈2{a,b}∗
Definisi induktif ini sesuai dengan fungsi monoton
Dengan Knaster-Tarski teorema, kita tahu memiliki fixpoint terkecil yang merupakan supremum dari semua kecil "hasil antara" (yang sesuai dengan finitely sering menerapkan konstruktor dari definisi induktif), dan yang terkecil fixpoint memang L .f L
Omong-omong, fixpoint terbesar juga memiliki kegunaan; lihat di sini untuk contoh.
Dalam teori rekursi, ada teorema titik tetap lainnya, juga karena Kleene. Ini kata ²,
Bahkan, ada banyak seperti itu ; jika ada di mana hanya sedikit, kita bisa menambal r (berdasarkan tabel-lookup) untuk tidak memiliki poin tetap, bertentangan dengan teorema.i r
sumber
Biarkan saya menguraikan sedikit tentang jawaban meisterluk: Bayangkan kita mencoba mendefinisikan fungsi faktorial: ingat definisi fungsi faktorial:
Sekarang dalam beberapa kerangka kerja PL (yaitu -calculusλ ), tidak segera jelas bagaimana mendefinisikan fungsi tersebut. Namun, mungkin mudah untuk mendefinisikan fungsi tingkat tinggi berikut , yang disebut karena dibutuhkan sebagai input fungsi lain dan bilangan alami
Tidak ada penggunaan rekursi dalam definisi fungsi ini. Namun, jika ada beberapa cara untuk menemukan memperbaiki-titik dariϕ
Fact
, yaitu, fungsi sehingga Fakta φ n = φ n untuk setiap n , maka mudah untuk memeriksa bahwa φ memang merupakan implementasi dari fungsi faktorial.Sekarang dalam kerangka kerja seperti -kalkus, orang dapat menunjukkan bahwa semua titik-tetap dari sifat ini memang ada, yang ada, yang membuatnya jelas bahwa Anda dapat menggunakannya sebagai bahasa pemrograman umum.λ
Ada banyak kegunaan lain untuk gagasan titik tetap dalam ilmu komputer, tetapi sebagian besar bermuara pada yang saya tunjukkan di atas, yaitu membuktikan bahwa titik tetap tertentu ada untuk dapat menunjukkan bahwa fungsi atau konstruksi tertentu didefinisikan dengan baik dalam kerangka kerja Anda (di sini kami telah menunjukkan bahwa fungsi faktorial ada).
sumber
Sekarang, tergantung pada struktur matematika yang Anda hadapi, ada banyak alasan berbeda untuk tertarik pada poin tetap. Misalnya, jika Anda mempertimbangkan sistem dinamis yang melihat keadaan dunia dan mengubahnya (seperti termostat) maka titik tetap berhubungan dengan konfigurasi yang stabil. Jika Anda memikirkan game dalam arti matematika teori permainan, titik tetap sesuai dengan ekuilibria, jika Anda memikirkan perilaku rutin optimalisasi yang secara iteratif meningkatkan solusinya, titik tetap berhubungan dengan solusi optimal. Jadi pengertian matematis dari titik tetap memiliki banyak aplikasi dalam banyak konteks yang berbeda.
Aplikasi titik tetap yang sangat umum dan mendasar dalam ilmu komputer adalah memodelkan loop dan program rekursif secara matematis. Jika kita mencoba memodelkan program sebagai fungsi matematika, baik loop dan rekursi tidak jelas untuk dimodelkan. Ini karena tubuh loop adalah program dan dapat direpresentasikan sebagai fungsi matematika. Bagaimana kita memperoleh fungsi yang merepresentasikan perilaku loop? Ini sesuai dengan menerapkan loop body berulang kali, bersamaan dengan loop guard, sampai tidak ada perubahan lebih lanjut yang mungkin. Demikian pula, jika kita memodelkan program rekursif secara matematis, kita memerlukan gagasan matematika tentang apa artinya bagi suatu fungsi untuk menerapkannya sendiri. Jawaban ini disediakan oleh poin-poin tertentu.
sumber
Fungsi dalam matematika adalah peta antara nilai input dan output. Poin tetap adalah nilai input (untuk suatu fungsi) yang dipetakan ke nilai output yang memuaskan kesetaraan dengan input.
Sejauh menyangkut ilmu komputer, kita berbicara banyak tentang fungsi parsial , tetapi ini tidak mengubah definisi titik tetap bagi kita.
Anda mungkin juga bingung tentang topik yang sama sekali berbeda: Aritmatika titik tetap adalah konsep cara merepresentasikan bilangan real dalam memori. Tetapi nama "titik tetap" tidak merujuk ke topik ini secara umum (karena hanya ada 1 titik).
sumber
teori permainan adalah subarea utama CS dan konsep penting ada kesetimbangan Nash yang merupakan teorema titik tetap. itu memberikan cara mengidentifikasi strategi permainan yang optimal mengingat bahwa pemain lain saling menyadari strategi yang lain. dapat dibuktikan melalui teorema titik tetap Kakutani atau teorema titik tetap Brower . Nash memenangkan Hadiah Nobel bidang Ekonomi untuk pengembangan teori ini.
sumber