Yol sıralaması (terim yeniden yazma) - Path ordering (term rewriting)
İçinde teorik bilgisayar bilimi özellikle terim yeniden yazma, bir yol sıralaması bir sağlam temelli kesin toplam sipariş (>) tüm sette şartlar öyle ki
- f(...) > g(s1,...,sn) Eğer f .> g ve f(...) > sben için ben=1,...,n,
nerede (.>) kullanıcı tarafından verilir toplam öncelik sırası hepsinin setinde fonksiyon sembolleri.
Sezgisel olarak, bir terim f(...) herhangi bir terimden daha büyüktür g[...) şartlardan inşa edilmiştir sben daha küçük f[...) daha düşük öncelikli kök sembolü kullanarak gÖzellikle, yapısal indüksiyon, bir terim f[...) yalnızca şundan küçük sembolleri içeren herhangi bir terimden daha büyüktür f.
Yol sıralaması genellikle şu şekilde kullanılır: indirim siparişi terim yeniden yazmada, özellikle Knuth – Bendix tamamlama algoritması Örnek olarak, "yeniden yazma sistemi" terimiçarpmak "matematiksel ifadeler bir kural içerebilir x*(y+z) → (x*y) + (x*z). Kanıtlamak için sonlandırma, bir indirim siparişi (>) terim ile ilgili bulunmalıdır x*(y+z) terimden daha büyüktür (x*y)+(x*z). Önceki terim, ikincisinden hem daha az işlev sembolü hem de daha az değişken içerdiğinden, bu önemsiz değildir. Ancak, önceliği ayarlama (*) .> (+), bir yol sıralaması kullanılabilir, çünkü her ikisi de x*(y+z) > x*y ve x*(y+z) > x*z elde etmesi kolaydır.
İki terim verildiğinde s ve t, bir kök simgesiyle f ve gsırasıyla, ilişkilerine karar vermek için önce kök sembolleri karşılaştırılır.
- Eğer f <. g, sonra s hakim olabilir t sadece biri s 'alt terimleri yapar.
- Eğer f .> g, sonra s hakim t Eğer s her birine hakim t 's alt terimleri.
- Eğer f = g, sonra hemen alt terimler nın-nin s ve t özyinelemeli olarak karşılaştırılması gerekir. Belirli yönteme bağlı olarak, farklı yol sıralaması varyasyonları mevcuttur.[1][2]
İkinci varyasyonlar şunları içerir:
- çok kümeli yol sıralaması (mpo), başlangıçta yinelemeli yol sıralaması (rpo)[3]
- sözlükbilimsel yol sıralaması (lpo)[4]
- mpo ve lpo'nun bir kombinasyonu, adı verilen yinelemeli yol sıralaması Dershowitz, Jouannaud (1990)[5][6][7]
Dershowitz, Okada (1988) daha fazla varyant listeliyor ve bunları Ackermann sistemi sıra sayıları.
Biçimsel tanımlar
çok kümeli yol sıralaması (>) şu şekilde tanımlanabilir:[8]
s = f(s1,...,sm) > t = g(t1,...,tn) | Eğer | ||||||||
f | .> | g | ve | s | > | tj | her biri için | j∈{1,...,n}, | veya |
sben | ≥ | t | bazı | ben∈{1,...,m}, | veya | ||||
f | = | g | ve | { s1,...,sm } >> { t1,...,tn } |
nerede
- (≥), dönüşlü kapanma mpo (>),
- { s1,...,sm } gösterir çoklu set nın-nin sİçin benzer alt terimleri t, ve
- (>>), (>) 'nin çoklu kümeli uzantısını belirtir. { s1,...,sm } >> { t1,...,tn } Eğer { t1,...,tn } şuradan elde edilebilir { s1,...,sm }
- en az bir öğeyi silerek veya
- bir öğeyi kesinlikle daha küçük (mpo w.r.t.) öğelerden oluşan bir çoklu kümeyle değiştirerek.[9]
Daha genel olarak bir sipariş işlevsel bir işlev Ö bir siparişi başka bir siparişe eşlemek ve aşağıdaki özellikleri yerine getirmek:[10]
- Eğer (>) ise geçişli Öyleyse öyle Ö(>).
- Eğer (>) ise yansımasız Öyleyse öyle Ö(>).
- Eğer s > t, sonra f(...,s,...) Ö(>) f(...,t,...).
- Ö dır-dir sürekli ilişkilerde, yani eğer R0, R1, R2, R3, ... sonsuz bir ilişkiler dizisidir, o zaman Ö(∪∞
ben=0 Rben) = ∪∞
ben=0 Ö(Rben).
Çoklu kümeli uzantı, yukarıdaki (>) ile (>>) arasındaki eşleme işlevsel bir sipariş örneğidir: (>>) =Ö(>). İşlevsel olan başka bir düzen, alfabetik sırayla uzantı, yol açar sözlükbilimsel yol sıralaması.
Referanslar
- ^ Nachum Dershowitz, Jean-Pierre Jouannaud (1990). Jan van Leeuwen (ed.). Yeniden Yazma Sistemleri. Teorik Bilgisayar Bilimi El Kitabı. B. Elsevier. s. 243–320. Burada: bölüm 5.3, s. 275
- ^ Gerard Huet (Mayıs 1986). Hesaplama ve Tümdengelim için Biçimsel Yapılar. Programlama Mantığı ve Kesikli Tasarım Hesabı Uluslararası Yaz Okulu. Arşivlenen orijinal 2014-07-14 tarihinde. Burada: bölüm 4, s. 55-64
- ^ N. Dershowitz (1982). "Dönem Yeniden Yazma Sistemleri Sıralaması" (PDF). Teorik. Bilgisayar. Sci. 17 (3): 279–301.
- ^ S. Kamin, J.-J. Levy (1980). Yinelemeli Yol Sıralamasının İki Genellemesi (Teknik rapor). Üniv. Illinois, Urbana / IL.
- ^ Kamin, Levy (1980)
- ^ N. Dershowitz, M. Okada (1988). "Terim Yeniden Yazım Teorisi için İspat-Teorik Teknikler". Proc. 3. IEEE Symp. Bilgisayar Bilimlerinde Mantık Üzerine (PDF). sayfa 104–111.
- ^ Mitsuhiro Okada, Adam Steele (1988). "Sıralama Yapıları ve Knuth – Bendix Tamamlama Algoritması". Proc. Allerton Conf. İletişim, Kontrol ve Bilgi İşlem Hakkında.
- ^ Huet (1986), bölüm 4.3, bölüm 1, s.57
- ^ Huet (1986), bölüm 4.1.3, s. 56
- ^ Huet (1986), bölüm 4.3, s. 58