Deterministik olarak sonlanmayan döngüler hakkında akıl yürütme


10

İşte bir "parça B" sorusu var. Özet: Deterministik olmayan programlara anlambilim kazandırmaya çalıştığımda ilk düşündüğüm şey, yalnızca deterministiği sona erdirmeyen döngüler hakkında bir şeyler kanıtlayamadığım bir anlambilim ile sonuçlanır. Şüphesiz birisi bu durumda ne yapacağını hesapladı ya da en azından bunun zor olduğuna dikkat çekti, ama onu nasıl arayacağımı bilmiyorum (dolayısıyla "referans isteği" etiketi).

Arka fon

Determinizmsiz bir süre dili modellemek istiyorum. Bu tür bir dili Smyth powerdomain ile modellemenin bariz (veya en azından naif) bir yol olduğunu düşünüyorum, ancak yanılıyorsam beni düzeltin. Bu dilde bir komutun anlamını, etki alanı durum kümesi S olan ve kod alanı olan bir işlev olarak modelleyeceğiz P(S)={}P(S), burada en az öğe fesihsizliği temsil eden ve P(S) devletlerin güç kümesidir.

σ{σ1,σ2,}PQ

  • skipσ={σ}
  • x:=Eσ={σ[(Eσ)/x]}
  • abortσ=
  • if E then P else Qσ=Pσ eğer Eσ=true , aksi takdirde Qσ
  • PQσ= halinde Pσ= ya da Qσ= aksi PσQσ
  • P;Qσ= bazı için veya ise , aksi takdirdePσ=Qτ=τPστPσQτ

Bir yönlendirilmiş tümü ya da bir düzen var , burada herhangi ve her ikisi de eğer ve uygun setleri ve vardır , ve işlevlerine bu uzanabilir den için noktasal: halinde her ve , her durumu eşleyen işlevdir .SSP(S)S1S2S1S2S1S2fSP(S)f1f2f1(σ)f2(σ)σf

Bir döngü anlamı en azından üst zincirin bağlanmış olan , burada halinde , aksi halinde veya bazı , aksi takdirde . (Bu tanım, az önce tanımladığım sürekli Scott olduğunu varsayıyor , ancak bence bunu bir kenara bırakmak güvenli.)while E do Pσff(f)f(f(f))f(g)(σ)={σ}E(σ)=falsePσ=g(τ)=τPστPσg(τ)f

Soru

Bu programı düşünün:

x:=0;
b:=true;
while b do
x:=x+2;
b:=falseb:=true

Sezgisel olarak, bu, herhangi bir pozitif çift sayıyı döndürebilen veya sonlandırılamayan bir döngüdür ve en zayıf liberal önkoşulu kullanarak bu döngü hakkında kanıtlayabildiğimiz şeye karşılık gelir ( bir döngüdür değişmez). Ancak, döngü sona ermeme yeteneğine sahip olduğundan (her zaman sağ kolu alan program tarafından deterministik olmayan seçimi geliştirebiliriz), herhangi bir başlangıç ​​durumu verildiğinde bu programın anlamı . (Daha az gayri resmi: yanlış olduğu herhangi bir durumu ve için doğru olduğu herhangi bir durumu eşleyen işlev , döngüyü tanımlamak için kullanılan sabit bir noktasıdır .)n.x=2nbbf

Bu, önerdiğim saf semantiklerin programlar hakkında akıl yürütmeyi umduğum şekilde uyuşmadığı anlamına geliyor. Anlambilimimi suçluyorum, ama onları nasıl düzelteceğimi bilmiyorum.


4
Ben kullanarak düşünüyorum bir programın anlam değer kümesi olarak, etkili sapmak bir program hakkında bir şey akıl yürütme vazgeçmiş. Saf bir düşünce , ancak bunun başka bir sorun getirmeyeceğini bilmiyorum. {}P(S)P(S{})
Tsuyoshi Ito

Evet, setine baktığımızda, örneğe geçmeden önce bile umudun kaybolduğu açıktır. Potansiyel olmayan sonlandırma tarafından modellenmiştir uzun gibidir Öneriniz yanı bana oluştu, ama bu örnekte aynı sorun ile sonuna kadar düşünmek değil ve eğer ikincisini olağan şekilde en az sabit nokta olarak bir döngüye anlam verme yeteneğimize müdahale edeceğini seçtik. {}P(S)S{}{}
Rob Simmons

Dinamik Mantık'a baktınız mı? Anlambilim, eyaletlerden eyaletlere ilişkiler açısından verilir ve mantığı kısmi ve tam doğrulukla ilgili mantık için kullanabilirsiniz, yani, sona eren hesaplamaların özellikleri ve tüm hesaplamaların belirli bir özellik ile sona erdirilmesi.
Dave Clarke

Bu ortamda dinamik mantık düşünmedim, ama bunun ne kadar alakalı olabileceğini görüyorum - Pittsburgh'a döndüğümde Platzer ve öğrencilerinin ne düşündüğünü göreceğim.
Rob Simmons

Yanıtlar:


10

[DB80] 'de Hitchcock ve Park'ın özyinelemenin sonlandırma özelliklerini analiz etmesinin, düzensiz belirsizliği ifade eden Egli-Milner ilişkilerinin sözde yorumuna [Egl75, Plo76] dayanan bir anlamsal analize karşılık geldiği kanıtlanmıştır . Bu düşünce, istenen sonuca yol açan en az bir hesaplama üretiyorsa (belirsiz bir hesaplamanın varlığında bile) belirsiz olmayan bir ilişki birliğinin doğru olduğunu yakalar. Bu, yapmaya çalıştığınız şeye karşılık geliyor gibi görünüyor.

Daha sonra, bir ifadesinin anlamını işlevi olarak her bir başlangıç ​​durumunu muhtemelen içeren bazı boş olmayan durum eşleştirin ; böylece , . ve ifadeleri arasındaki belirsiz olmayan seçim , her bir başlangıç ​​durumu ayrı ayrı sonuçların . Böylece, her veya olduğundaSfSσfSfS()={}S1S2σfS1(σ)fS2(σ)S1S2İstenmeyen bir sonuç üretme konusunda belirleyici olmayan bir olasılık vardır, o zaman onların belirleyici olmayan seçimleri de öyle. Ortaya çıkan nihai devlet grupları olarak bu analizde Egli-Milner devletlerin güç kümesi elde edilir:

PE--M(S)={ sS | s sonlu ve boş değil veya içeriyor}

sonsuz alt kümeleri neden bu modeldeki olası son durum kümeleri olarak kabul edilmiyor? İlişkisel terimlerin tüm temel yapı taşlarının yalnızca sınırlı, boş olmayan olası nihai durum kümeleri ürettiği varsayımı altında, ancak sonsuz bir hesaplama mümkün olduğunda sonsuz bir olası nihai durum kümesi üretilebilir. Bu aşağıdaki gibi görülebilir. Belirli bir durumda ile başlayan kök ve durum olarak düğümler olarak başlayan tüm olası hesaplamalar kümesini yapılandırın . Yaprakların kümesi olası nihai durumlarının tam seti gelen Ulaşılamıyor daha sonra haricindeSσ0σ0σ0, yapraklar arasında eksik olabilir, ancak ağaçta sonsuz bir yol olması gerçeği ile son haller kümesinde temsil edilir. Yukarıdaki varsayımla ve sadece sonlu belirsiz belirsiz seçim mevcut olduğundan, bu ağaç son derece dallıdır. Böylece, herhangi bir sonlu derinlikte sadece sınırlı sayıda yaprak vardır. Sonuç olarak, sonsuz sayıda olası nihai durum yalnızca sonsuz bir hesaplama varlığında üretilebilir (König'in lemmasının bir uygulaması [Kön32]).

(PE--M(S),E--M) için bir posta tarafından tanımlanan: ,E--Ms,tPE--M(S)

sE--Mt=(ss{}t)(ss=t) .

Burada, geçtiği bir yer tutucu olarak görülebilir -Daha setleri yerine daha devletleri ekleyerek oluşturulabilir . Bu nedenle , nin en az unsurudur . Ayrıca, poset zincirleri için lub'a sahiptir. Benzer şekilde, den kadar olan katı işlevler , noktasal uzantısı ile kısmen sıralanmıştır. . Dahası, bu tür en az işlevE--M{}(PE--M(S),E--M)(PE--M(S),E--M)ωS{}PE--M(S)E--Mλσ.{} ve bu tür işlevlerin zincirleri de mevcuttur.ω

[dB80] JW de Bakker. Program Doğruluğunun Matematiksel Teorisi . Prentice Hall, 1980.

[Egl75] H Egli. Belirsiz hesaplamalar için matematiksel bir model. Teknik rapor, ETH Zürich, 1975.

[Kön32] D König. Theorie der endlichen ve unendlichen Graphen. Teknik rapor, Leipzig, 1932.

[Plo76] GD Plotkin. Bir güç alanı yapısı. SIAM Hesaplama Dergisi , 5 (3): 452-487, 1976.

Feragatname: Bu, bir zamanlar birlikte yazdığım bir kitaptan neredeyse kelimesi kelimesine alınır:

De Roever ve K Engelhardt Karşılaştırması. Veri İyileştirme: Modele Dayalı İspat Yöntemleri ve Karşılaştırılması . Cambridge University Press, 1998.


4
"Bu, bir zamanlar birlikte yazdığım bir kitaptan neredeyse sözlü olarak alınmıştır" ifadesinin önüne "Feragatname:" değil, "Feragatname:": -D eklenmelidir. Teşekkürler, bu çok faydalı.
Rob Simmons

Belirsizliğe bakmanın bir yolu (ve ona bakmak istediğim yol), bir tür eksikliktir - belirsiz olmayan bir seçime sahip bir program, her zaman ilk tercihi alan, her zaman ikinci tercihi alan program tarafından rafine edilir, ya da (McIver ve Morgan'ın bu alandaki kapsamlı çalışmalarına bakın) bir seçeneği veya diğerini olasılıkla alan program . Böylece deterministik olarak sona ermeyen döngü, asla sona ermeyen döngü ve ayrıca sona eren jeton çevirme döngünüz tarafından rafine edilir (1 olasılıkla)
Rob Simmons
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.