Mengapa kita dapat mengasumsikan bahwa properti CP diadakan ketika akseptor a0 memilih v di babak k? Tampaknya kita menggunakan induksi matematika, oleh karena itu, apa dasar, hipotesis induktif, dan langkah-langkah induktif?
Anda sedang melihat contoh induksi yang kuat . Dalam induksi sederhana, Anda menganggap properti tahan untuk dan membuktikannya berlaku untuk n = m + 1 . Dalam induksi yang kuat Anda mengasumsikan properti berlaku untuk ∀ n : n < m dan membuktikannya berlaku untuk n = m + 1 .n=mn=m+1∀n:n<mn=m+1
Dasar (saya percaya): . Yaitu, putaran nol (sejak putaran dimulai dari 1). Ini sepele benar, yang mungkin mengapa tidak dinyatakan secara eksplisit.j=0
Langkah induktif : Asumsikan ; buktikan C P ( v ; j + 1 ) di mana j < i .∀n,n≤j:CP(v;n)CP(v;j+1)j<i
Percaya atau tidak, ini hanya sketsa bukti . Bukti nyata ada di kertas Paruh Waktu Parlemen . (Beberapa menganggap kertas itu samar, yang lain menganggapnya lucu.)
Bagaimana ini diperoleh?
Menurut pendapat saya, bukti kebenaran dari kasus bergantung (secara rekursif) pada kasus-kasus k < j < i dan j = k .j<kk<j<ij=k
Oleh karena itu, bagaimana kita bisa menyimpulkan case tanpa terlebih dahulu membuktikan j = k sepenuhnya (yaitu, melewatkan subkotak j = k di mana V berisi lebih dari satu nilai)?j<kj=kj=kV
Lagi-lagi ini adalah induksi yang kuat, jadi case tidak bergantung pada case k < j dan j = k , tetapi melalui hipotesis induksi , yaitu dari putaran Paxos sebelumnya.j<kk<jj=k
Kiat umum untuk bukti Lamport.
Lamport menggunakan teknik bukti hierarkis. Sebagai contoh, struktur buktinya pada halaman 7-8 terlihat seperti ini:
- Asumsikan ; buktikan C P ( v ; j + 1 ) di mana j < i .
∀n,n≤j:CP(v;n)CP(v;j+1)j<i
- Pengamatan 1
- Pengamatan 2
- Pengamatan 3
- k=argmax(...)
- huruf k = 0
- huruf k> 0
- huruf k <j
- case k = j
- huruf j <k
Lamport cenderung menggunakan jenis hierarki lain. Dia akan membuktikan algoritma yang lebih sederhana, dan kemudian membuktikan bahwa algoritma yang lebih kompleks memetakan ke (atau "meluas" ) algoritma yang lebih sederhana. Ini sepertinya tidak terjadi pada halaman 18, tetapi ini sesuatu yang harus diwaspadai. (Bukti pada halaman 18 tampaknya merupakan modifikasi dari bukti a halaman 7-8; bukan perpanjangan dari itu.)
Lamport sangat bergantung pada induksi yang kuat ; dia juga cenderung berpikir dalam hal set bukannya angka. Jadi, Anda mungkin mendapatkan set kosong di mana orang lain akan memiliki nol atau nol; atau mengatur serikat di mana orang lain akan memiliki tambahan.
Membuktikan kebenaran dari sistem penyampaian pesan yang tidak sinkron membutuhkan pandangan yang maha tahu dari sistem sehubungan dengan waktu . Sebagai contoh, ketika mempertimbangkan tindakan di putaran , perlu diingat bahwa tindakan untuk beberapa putaran j < i mungkin tidak terjadi temporal! . Namun Lamport menyatakan peristiwa yang berpotensi terjadi di masa mendatang dalam bentuk lampau.ij<i
Sistem dan bukti Lamport cenderung memiliki variabel atau serangkaian variabel yang hanya diizinkan untuk menuju satu arah; hanya menambah angka dan hanya menambah set. Ini digunakan secara luas dalam buktinya. Sebagai contoh, pada halaman 8 Lamport menunjukkan bagaimana ia dikebiri kemampuan masa depan memberikan suara lain:a
... Karena mengatur kepada saya setelah mengirim pesan, maka tidak dapat memberikan suara dalam putaran apa pun yang jumlahnya kurang dari saya ....rnd[a]iai
Jelas merupakan peregangan otak untuk membuktikan sistem semacam ini.
(perbarui) : Sebutkan invarian; Lamport menggunakan banyak invarian ketika berkembang dan buktinya. Terkadang mereka tersebar di seluruh bukti; kadang-kadang mereka hanya hadir dalam bukti yang diperiksa mesin. Alasan tentang setiap invarian; kenapa ada disana Bagaimana cara berinteraksi dengan invarian lain? Bagaimana setiap langkah dalam sistem menjaga invarian ini?
Pengungkapan penuh : Saya belum membaca Fast Paxos sampai saya diminta untuk menjawab pertanyaan ini; dan hanya melihat halaman yang dikutip. Saya seorang insinyur dan bukan ahli matematika; sikat saya dengan karya Lamport semata-mata didasarkan pada kebutuhan untuk menemukan dan memelihara sistem distribusi skala besar dengan benar.
Jawaban saya sangat bergantung pada pengalaman saya dengan pekerjaan Lamport. Saya telah membaca beberapa protokol dan bukti Lamport; Saya secara profesional memelihara sistem berbasis paxos; Saya telah menulis dan membuktikan protokol konsensus throughput tinggi, dan sekali lagi secara profesional mempertahankan sistem berdasarkan itu (saya mencoba untuk membuat perusahaan saya mengizinkan saya untuk menerbitkan sebuah makalah). Saya telah berkolaborasi pada makalah yang tidak penting dengan Lamport, di mana saya bertemu dengannya tiga kali (makalah ini masih menunggu tinjauan sejawat.)
Lamport tends to use another type of hierarchy. He'll prove a simpler algorithm, and then prove that a more complex algorithm maps onto (or "extends") the simpler algorithm
, oleh karena itu, bisakah Anda menunjukkan contoh atau mengutip makalah terkait? Selain itu, apakah surat-surat Anda memiliki edisi pra-cetak, komersial (tidak diklasifikasi)?