Sabit nokta, bilgisayar bilimi dünyasında ne anlama geliyor?


19

Stackexchange'te soru ve cevaplarda sabit noktaya referanslarla karşılaşmaya devam ediyorum ve web'deki anlamı Wikipedia gibi sitelerde referans buluyorum. Ancak referansların hiçbiri, sabit bir noktanın ne olduğu ve bilgisayar bilimi dünyasında bunun ne anlama geldiğine dair sorumu gerçekten cevaplamıyor.


1
Sabit noktanın kavramı genellikle bir çift kaynaklanmaktadır bile , öyle ki f ( x ) = X terimi, farklı anlamlara ve sonuçları ile birlikte kullanılır, farklı çerçeveler bol miktarda vardır. f,xf(x)=x
Raphael

Yanıtlar:


17

Bilgisayar biliminde, sabit noktaların tartışmasız en belirgin kullanımı kafes teorisindedir ¹. Kafes, x , y S öğelerinden herhangi birini veren ek özelliğe sahip kısmen sıralı bir kümedir , { x , y } kümesinin hem bir üst hem de bir değeri yoktur ( S cinsinden ).(S,)x,yS{x,y}S

Şimdi sık sık bu kafes üzerinde "yakınsama" monoton fonksiyonları , yani bazı x S için f ( x ) = x var . Bu alandaki önemli sonuçlar Kleene'in sabit nokta teoremi ve Knaster-Tarski teoremidir .fxSf(x)=x

Belirgin bir örnek, kafes olan için A bir grubu, ve f bir endüktif tanımı ile indüklenen. Örneğin, A = { a , b } diyelim ve L 2 { a , b } dilini tanımlıyoruz .(2bir,)birfbir={bir,b}*L2{a,b}

wLε,birLbirwLbbirwLbwLbirbw,bbwL

Bu endüktif tanım monoton fonksiyona karşılık gelir

f(bir)={ε,bir}bir{bbirw|birwL}{birbw,bbw|bwL}

Knaster-Tarski teoremi ile, tüm daha küçük "ara sonuçların" (endüktif tanımın yapıcılarını sonlu olarak uyguladığı) karşılık gelen en küçük bir sabitleme noktasına sahip olduğunu ve en küçük sabitleme noktasının gerçekten de L olduğunu biliyoruz .fL

Bu arada, en büyük düzeltme noktasının da kullanımları vardır; bir örnek için buraya bakınız .


Özyineleme teorisinde, Kleene'den dolayı da başka bir sabit nokta teoremi vardır. O diyor , ²

Let bir Gödel'in numaralandırma ³ ve r : NK toplam hesaplanabilir bir fonksiyon (sezgi: bir derleyici). Daha sonra orada i N şekilde φ r ( i ) = φ i .φr:N-N-benN-φr(ben)=φben

Aslında, hatta böyle sonsuz sayıda vardır ; eğer orada yalnızca sonlu sayıda varsa, r (tabloya göre) ile sabit noktalara sahip olmamak için teoremle çelişebiliriz.benr


  1. Farkında olmasanız bile herkes her gün kullanıyor.
  2. Wikipedia makalesini beğenmedim; muhtemelen bir tür kitabını kontrol etmek daha iyidir.
  3. Özel bir tür fonksiyon numaralandırma. Sezgisel olarak, bunu (Turing-complete) bir programlama dili olarak düşünün.

13

Bana meisterluk'un cevabı üzerine biraz ayrıntı vereyim: Faktöriyel fonksiyonu tanımlamaya çalıştığımızı hayal edin: faktöriyel fonksiyonun tanımını hatırlayın:

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

Şimdi bazı PL çerçevelerinde (yani hesabıλ ), böyle bir fonksiyonun nasıl tanımlanacağı hemen belli değildir. Bununla birlikte, başka bir işlevi ve doğal bir sayıyı girdi olarak aldığı için aşağıdaki üst düzey işlevi tanımlamak kolay olabilir

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

Bu işlev tanımında özyineleme kullanılmaz. Ancak bulma bir yolu olup olmadığını sabitleme noktasını ait Factbir işlevin olduğunu öyle ki Gerçek φ nφ her için n , o zaman kontrol etmek kolaydır φ gerçekten faktöriyel fonksiyonunun bir uygulamasıdır.

gerçek φ n = φ n
nφ

Şimdi hesabı gibi çerçevelerde , aslında bu doğanın tüm sabit noktalarının var olduğunu gösterebilir , bu da onu genel bir programlama dili olarak kullanabileceğinizi açıkça gösterir.λ

Bilgisayar biliminde sabit noktalar kavramının başka birçok kullanımı vardır, ancak çoğu yukarıda gösterdiğim noktaya kadar kaynar, yani belirli işlevlerin veya yapıların iyi tanımlandığını gösterebilmek için belirli sabit noktaların var olduğunu kanıtlamak (burada faktöriyel fonksiyonun var olduğunu gösterdik).


9

Bir fonksiyon bir sabit nokta bir elemandır x olan f ( x ) eşittir x . Örneğin, x 2 fonksiyonu 0 ve 1 değerleri olan iki sabit noktaya sahiptir.f:birbirxf(x)xx201 ve fonksiyonu üç sabit noktaya sahiptir. Matematiksel olarak tanım budur.x3

Şimdi, uğraştığınız matematiksel yapıya bağlı olarak, sabit noktalarla ilgilenmenin birçok farklı nedeni var. Örneğin, dünyanın durumuna bakan ve onu değiştiren (bir termostat gibi) dinamik bir sistem düşünüyorsanız, sabit bir nokta kararlı bir yapılandırmaya karşılık gelir. Oyunları oyun teorisinin matematiksel anlamında düşünürseniz, sabit noktalar equillibria'ya karşılık gelir, eğer çözümünü tekrar tekrar geliştiren bir optimizasyon rutininin davranışını düşünüyorsanız, sabit bir nokta optimal bir çözüme karşılık gelir. Dolayısıyla, sabit bir noktanın matematiksel kavramının birçok farklı bağlamda birçok uygulaması vardır.

Bilgisayar biliminde sabit noktaların çok yaygın ve temel bir uygulaması, döngüleri ve özyinelemeli programları matematiksel olarak modellemektir. Bir programı matematiksel bir işlev olarak modellemeye çalışırsak, hem döngüler hem de özyineleme model için açık değildir. Bunun nedeni, bir döngünün gövdesinin bir program olması ve matematiksel bir işlev olarak gösterilebilmesidir. Döngünün davranışını temsil eden işlevi nasıl türetebiliriz? Başka bir değişiklik mümkün olmayana kadar ilmek gövdesinin ilmek siperi ile birlikte tekrar tekrar uygulanmasına karşılık gelir. Benzer şekilde, özyinelemeli programları matematiksel olarak modellersek, bir işlevin kendini uygulaması için ne anlama geldiğinin matematiksel bir fikrine ihtiyacımız vardır. Bu cevap sabit puanlarla verilir.


7

Matematikteki bir işlev, girdi ve çıktı değerleri arasındaki bir haritadır. Sabit noktalar, giriş ile eşitliği sağlayan çıkış değerleriyle eşleşen giriş değerleridir (bir işlev için).

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

Bilgisayar bilimi ile ilgili olarak, kısmi işlevler hakkında çok konuşuyoruz , ancak bu bizim için sabit noktaların tanımını değiştirmiyor.

Tamamen farklı bir konu hakkında da kafanız karışmış olabilir: Sabit nokta aritmetiği , hafızadaki gerçek sayıların nasıl temsil edileceği konseptidir. Ancak "sabit noktalar" adı genel olarak bu konuya değinmez (çünkü sadece 1 puan vardır).


-1

oyun teorisi , CS'nin önemli bir alt alanıdır ve önemli bir kavram , sabit bir nokta teoremi olan Nash dengesi vardır. diğer oyuncuların birbirlerinin stratejilerinden haberdar olmaları koşuluyla, optimal oyun stratejilerini belirlemek için bir araç sağlar. o yoluyla ispat edilebilir Kakutani sabit nokta teoremi veya Brower nokta teoremi sabit . Nash, kısmen bu teoriyi geliştirdiği için Nobel Ekonomi Ödülü'nü kazandı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.