Kabul eden a0, k0 turunda v. Matematiksel tümevarım kullandığımız anlaşılıyor, bu nedenle temel, tümevarımsal hipotez ve tümevarımsal adımlar nelerdir?
Güçlü bir tümevarım örneğine bakıyorsunuz . Basit indüksiyonda, mülkün ve için olduğunu kanıtlarsınız . Güçlü indüksiyonda mülkün ve için olduğunu kanıtlarsınız .n=mn=m+1∀n:n<mn=m+1
Temel (inanıyorum): . Yani, sıfır tur (turlar 1'den başladığından beri). Bu önemsiz bir şekilde doğrudur, bu yüzden muhtemelen açıkça belirtilmemiştir.j=0
Endüktif adım : ; kanıtlayın, burada .∀n,n≤j:CP(v;n)CP(v;j+1)j<i
İster inanın ister inanmayın, bu sadece bir kanıttır . Gerçek kanıt Yarı Zamanlı Parlamento gazetesinde. (Bazıları kağıdın şifreli olduğunu düşünür, diğerleri mizahi olduğunu düşünür.)
Bu nasıl elde edilir?
Kanımca, vakasının doğruluk kanıtı (tekrarlamalı olarak) ve vakalarına dayanmaktadır .j<kk<j<ij=k
Bu nedenle, nasıl dava sonuca varabiliriz ilk ispatı olmadan (bir subcase eksik, yani tamamen birden değerden içerir)?j<kj=kj=kV
Bu yine güçlü bir indüksiyondur, bu nedenle , ve vakalarına dayanır , ancak indüksiyon hipotezi yoluyla , yani bir önceki Paxos turundan.j<kk<jj=k
Lamport kanıtları için genel ipuçları.
Lamport bir hiyerarşik kanıt tekniği kullanır. Örneğin, 7-8. Sayfalardaki ispatın yapısı şöyle görünür:
- Diyelim ki ; kanıtlayın, burada .
∀n,n≤j:CP(v;n)CP(v;j+1)j<i
- Gözlem 1
- Gözlem 2
- Gözlem 3
- k=argmax(...)
- durum k = 0
- durum k> 0
- vaka k <j
- durum k = j
- vaka j <k
Lamport başka bir hiyerarşi türü kullanma eğilimindedir. Daha basit bir algoritmayı kanıtlayacak ve daha karmaşık bir algoritmanın daha basit algoritmaya eşlendiğini (veya "genişlettiğini" ) kanıtlayacaktır . Bu, sayfa 18'de görünmüyor, ancak dikkat edilmesi gereken bir şey. (Sayfa 18'deki kanıt, bir sayfanın uzantısı değil, sayfa 7-8'deki kanıtın bir değişikliği gibi görünmektedir .)
Lamport büyük oranda güçlü indüksiyona dayanır ; aynı zamanda sayılar yerine küme olarak düşünmeye eğilimlidir . Böylece başkalarının sıfır veya boş olduğu boş kümeler alabilirsiniz; veya sendikaların başkalarının ekleyeceği yerlere yerleştirmesi.
Zaman uyumsuz mesaj geçirme sistemlerinin doğruluğunu kanıtlamak, zamana göre sistemde her şeyi bilen bir görüş gerektirir . Örneğin, turundaki eylemleri değerlendirirken, bazı turlarının eylemlerinin geçici olarak gerçekleşmemiş olabileceğini unutmayın! . Ve yine de Lamport, potansiyel olarak gelecekteki bu olayları geçmiş zamanda ifade ediyor.ij<i
Lamports sistemleri ve kanıtları, yalnızca bir yönde gitmesine izin verilen bir değişken veya değişken grubuna sahip olma eğilimindedir; yalnızca sayıları artırır ve yalnızca kümelere ekler. Bu, kanıtlarında yaygın olarak kullanılmaktadır. Örneğin, sayfa 8 Lamport şovlarda o geleceği yeteneğini kısırlaştırılmış nasıl başka veto:a
... o set yana için bir mesaj gönderildiğinde, sonradan herhangi turda oy daha az sayılı döküm olamazdı ....rnd[a]iai
Bu tür sistemleri kanıtlamak kesinlikle bir beyin sedye.
(güncelleme) : Değişmezleri listeleyin; Lamport, geliştirirken birçok değişmez ve kanıtlarını kullanır. Bazen ispatlar boyunca dağılmışlardır; bazen sadece makine tarafından kontrol edilen kanıtta bulunurlar. Her değişmezin nedeni; neden orada Diğer değişmezlerle nasıl etkileşime giriyor? Sistemdeki her adım bu değişmezi nasıl tutar?
Tam açıklama : Bu soruya cevap vermem istenene kadar Fast Paxos'u okumamıştım ; ve sadece belirtilen sayfalara baktı. Ben bir mühendisim, matematikçi değilim; Lamport'un çalışmasıyla yaptığım fırçam tamamen büyük ölçekli dağıtılmış sistemleri doğru bir şekilde icat etme ve sürdürme ihtiyacına dayanıyor.
Cevabım, Lamport'un çalışmasıyla ilgili tecrübelerime dayanıyor. Lamport'un protokollerini ve kanıtlarını okudum; Profesyonel olarak bir paxos tabanlı sistem sürdürüyorum; Yüksek verimli bir konsensüs protokolü yazdım ve kanıtladım ve yine profesyonel olarak buna dayalı bir sistem sağladım (şirketimi bir kağıt yayınlamama izin vermeye çalışıyorum). Ben var onunla üç kez buluştu ettiği Lamport ile önemsiz bir kağıt, üzerinde işbirliği (kağıt hala eş inceleme beklemede.)