Yapay zekada ileri ve geri zincirleme önemli konulardan biridir ancak ileri ve geri zincirlemeyi anlamadan önce bu iki terimin nereden geldiğini anlayalım.
çerçeve
Çıkarım motoru:
Çıkarım motoru, yapay zekadaki akıllı sistemin, bilinen gerçeklerden yeni bilgiler çıkarmak için bilgi tabanına mantıksal kurallar uygulayan bileşenidir. İlk çıkarım motoru uzman sistemin bir parçasıydı. Çıkarım motoru genellikle iki modda ilerler:
Boynuz Cümlesi ve Kesin Cümle:
Horn cümlesi ve kesin cümlecik, bilgi tabanının daha kısıtlı ve etkili bir çıkarım algoritması kullanmasını sağlayan cümle biçimleridir. Mantıksal çıkarım algoritmaları, aşağıdaki biçimde KB gerektiren ileri ve geri zincirleme yaklaşımlarını kullanır. birinci dereceden kesin cümle .
Kesin hüküm: Değişmez kelimelerin ayrılmasından oluşan bir cümle tam olarak tek bir olumlu kelime kesin cümle veya katı boynuz cümlesi olarak bilinir.
Korna cümlesi: Değişmez kelimelerin ayrılmasından oluşan bir cümle en fazla bir olumlu harf horn cümlesi olarak bilinir. Dolayısıyla tüm belirli cümleler kısa cümlelerdir.
Örnek: (¬ p V ¬ q V k) . Yalnızca bir tane pozitif k harfi vardır.
p ∧ q → k'ye eşdeğerdir.A. İleri Zincirleme
İleriye doğru zincirleme, bir çıkarım motoru kullanıldığında ileriye dönük kesinti veya ileri akıl yürütme yöntemi olarak da bilinir. İleri zincirleme, bilgi tabanındaki atomik cümlelerle başlayan ve bir hedefe ulaşılıncaya kadar daha fazla veri çıkarmak için ileri yönde çıkarım kurallarını (Modus Ponens) uygulayan bir akıl yürütme biçimidir.
İleri zincirleme algoritması bilinen gerçeklerden başlar, öncülleri karşılanan tüm kuralları tetikler ve sonuçlarını bilinen gerçeklere ekler. Bu işlem sorun çözülene kadar tekrarlanır.
İleri Zincirlemenin Özellikleri:
- Aşağıdan yukarıya doğru hareket ettiği için aşağıdan yukarıya bir yaklaşımdır.
- Başlangıç durumundan başlayıp hedef duruma ulaşarak bilinen gerçeklere veya verilere dayanarak bir sonuca varma sürecidir.
- Eldeki verileri kullanarak hedefe ulaştığımız için ileri zincirleme yaklaşımına veri odaklı da denilmektedir.
- İleri zincirleme yaklaşımı CLIPS, iş ve üretim kural sistemleri gibi uzman sistemlerde yaygın olarak kullanılmaktadır.
Her iki yaklaşımda da kullanacağımız aşağıdaki ünlü örneği düşünün:
Örnek:
'Yasalara göre bir Amerikalının düşman uluslara silah satması suçtur. Amerika'nın düşmanı olan A Ülkesinin bazı füzeleri var ve tüm füzeler ona Amerikan vatandaşı olan Robert tarafından satıldı.'
Kanıtla 'Robert suçludur.'
Yukarıdaki sorunu çözmek için öncelikle yukarıdaki tüm gerçekleri birinci dereceden kesin cümlelere dönüştüreceğiz ve ardından hedefe ulaşmak için ileri zincirleme bir algoritma kullanacağız.
Gerçeklerin FOL'a Dönüştürülmesi:
- Bir Amerikalının düşman uluslara silah satması suçtur. (P, q ve r'nin değişken olduğunu varsayalım)
Amerikan (p) ∧ silah(q) ∧ satıyor (p, q, r) ∧ düşmanca(r) → Suçlu(p) ...(1) - A ülkesinin bazı füzeleri var. ?p Sahip(A, p) ∧ Füze(p) . Yeni Sabit T1'i tanıtan Varoluşsal Örnekleme kullanılarak iki kesin cümle halinde yazılabilir.
Sahip(A, T1) ......(2)
Füze(T1) .......(3) - Füzelerin tamamı Robert tarafından A ülkesine satıldı.
?p Füzeler(p) ∧ Sahiptir (A, p) → Satar (Robert, p, A) ......(4) - Füzeler silahtır.
Füze(p) → Silahlar (p) ......(5) - Amerika'nın düşmanı düşman olarak bilinir.
Düşman(p, Amerika) →Düşman(p) .......(6) - A ülkesi Amerika'nın düşmanıdır.
Düşman (A, Amerika) .........(7) - Robert Amerikalı
Amerikalı(Robert). ......(8)
İleri zincirleme kanıtı:
Aşama 1:
İlk adımda bilinen gerçeklerle başlayacağız ve hiçbir anlamı olmayan cümleleri seçeceğiz, örneğin: Amerikan(Robert), Düşman(A, Amerika), Sahip(A, T1) ve Füze(T1) . Tüm bu gerçekler aşağıdaki gibi temsil edilecektir.
Adım 2:
İkinci adımda, mevcut gerçeklerden ve tatmin edici öncüllerden çıkan gerçekleri göreceğiz.
Kural-(1) önermeleri karşılamadığından ilk yinelemede eklenmeyecektir.
Kural-(2) ve (3) zaten eklenmiştir.
Kural-(4) {p/T1} değişimini sağlar, yani Satıyor (Robert, T1, A) Kural (2) ve (3)'ün birleşiminden çıkan sonuç eklenir.
Kural-(6) ikame (p/A) ile tatmin olur, dolayısıyla Düşman(A) eklenir ve bu da Kural-(7)'den çıkarım yapar.
Aşama 3:
3. adımda, kontrol edebileceğimiz gibi Kural-(1) oyuncu değişikliği ile tatmin olur {p/Robert, q/T1, r/A}, böylece Criminal(Robert) ekleyebiliriz bu da mevcut tüm gerçekleri ortaya çıkarıyor. Ve böylece hedef açıklamamıza ulaştık.
Böylece ileri zincirleme yaklaşımı kullanılarak Robert'ın Suçlu olduğu kanıtlanmıştır.
B. Geriye Zincirleme:
Geriye zincirleme, bir çıkarım motoru kullanıldığında geriye dönük çıkarım veya geriye doğru akıl yürütme yöntemi olarak da bilinir. Geriye doğru zincirleme algoritması, hedefle başlayan ve geriye doğru çalışan, hedefi destekleyen bilinen gerçekleri bulmak için kurallar arasında zincirleme ilerleyen bir akıl yürütme şeklidir.
Geriye zincirlemenin özellikleri:
- Yukarıdan aşağıya yaklaşım olarak bilinir.
- Geriye zincirleme modus ponens çıkarım kuralına dayanmaktadır.
- Geriye doğru zincirlemede hedef, gerçeklerin doğru olduğunu kanıtlamak için alt hedefe veya alt hedeflere bölünür.
- Hedeflerin listesi hangi kuralların seçilip kullanılacağına karar verdiği için buna hedef odaklı yaklaşım denir.
- Geriye zincirleme algoritması oyun teorisinde, otomatik teorem kanıtlama araçlarında, çıkarım motorlarında, kanıt yardımcılarında ve çeşitli yapay zeka uygulamalarında kullanılır.
- Geriye zincirleme yöntemi çoğunlukla bir derinlik öncelikli arama kanıt stratejisi.
Örnek:
Geri zincirlemede yukarıdaki örneğin aynısını kullanacağız ve tüm kuralları yeniden yazacağız.
Sahip(A, T1) ........(2)
Geriye Zincirleme kanıtı:
Geriye doğru zincirlemede, hedef yüklemimizle başlayacağız; Suçlu(Robert) ve daha sonra başka kuralların çıkarımını yapın.
Aşama 1:
İlk adımda hedef olgusunu ele alacağız. Ve hedef gerçeğinden başka gerçekler çıkaracağız ve sonunda bu gerçeklerin doğru olduğunu kanıtlayacağız. Yani hedef gerçeğimiz 'Robert Suçlu'dur, dolayısıyla bunun yüklemi aşağıdakidir.
Adım 2:
İkinci adımda, kuralları karşılayan hedef gerçeğinden diğer gerçekleri çıkaracağız. Yani Kural-1'de de görüleceği üzere, hedef yüklemi Suçlu (Robert) {Robert/P} ikamesi ile mevcuttur. Bu yüzden tüm bağlaçlı gerçekleri birinci seviyenin altına ekleyeceğiz ve p'yi Robert ile değiştireceğiz.
Burada Amerikalının (Robert) bir gerçek olduğunu görüyoruz, yani burada kanıtlanmıştır.
Aşama 3: t Adım-3'te, Kural-(5)'i karşıladığı için Silah(q)'dan çıkan Missile(q) olgusunu çıkaracağız. Silah (q), q'da sabit bir T1'in ikamesi durumunda da doğrudur.
Adım-4:
Adım-4'te, Füze(T1) ve Sahipler(A, T1), Satışlar(Robert, T1, r)'den şu koşulu karşılayan gerçekleri çıkarabiliriz: Kural-4 r yerine A'nın değiştirilmesiyle. Yani bu iki ifade burada kanıtlanmıştır.
Adım 5:
5. adımda gerçeği çıkarabiliriz Düşman (A, Amerika) itibaren Düşmanca(A) bu da Kural-6'yı karşılar. Ve dolayısıyla geriye doğru zincirleme kullanılarak tüm ifadelerin doğru olduğu kanıtlanır.