3-SAT probleminin klik problemine indirgenmesi

Vikipedi, özgür ansiklopedi
Gezinti kısmına atla Arama kısmına atla

Giriş[değiştir | kaynağı değiştir]

Başlıkta adları anılan problemlerinin dataylarına ve indirgeme işlemine başlamadan önce, öncelikle konu anlatılması sırasında birkaç tanım üzerinde durulacak. Sonra bu problemlerin yer aldığı sınıf özellikleri ve birbirinin cinsine çevirilme işlemleri yapılacak.

İndirgeme: A problemi B problemine indirgenebiliyorsa, B problemin çözümü A’nın çözümü için kullanılabilir.

Karmaşıklık, anlaşılması zor parçalardan oluşan bir sistemi tanımlama yöntemidir.

Karmaşıklık Kuramı sırasında ise, çözümleri zor olan problemerlerin birbirine indirgeyerk çözümlerini kolaylaştırılmaya çalışılıyor. Bununla ilgili olan P =? NP sorusunun cevabı da, aynı şekilde ilk başta problemleri indirgeyerek basitleştirmeye çalışılır, sonra da çözümleri olan problemleri kullanarak daha karmaşık olanların çözümlerine bakılır. Bu şekilde P ve NP sınıflarındaki problemleri arasında bir ilişki bulunursa, çözüme doğru gidebiliriz.

NP sınınfında problemlerini çözmek için de, aynı şekilde indirgemeye başvurulur ama bu defa Çokterimli zamanda indirgeme olur.

Polinom Zamanda İndirgeme[değiştir | kaynağı değiştir]

A dili B diline polinom zamanda indirgenebilir , ancak ve ancak diye polinom zamanda çalışan bir hesaplama funksiyonu varsa ve her için geçerlidir.

Polinom zamanda funksiyon.png

3SAT ve Klik problemlerin Karmaşıklık Sınıflarındaki yeri[değiştir | kaynağı değiştir]

Diller sınıfı.png

NP sıfında yer alan problemler arasında 3SAT ve Klik problemleri de bulunur. Okla gösterildiği gibi, 3SAT ve Klik arasında indirgeme işlemi yapılacak.

3SAT problemi, SAT karsılanabilir (satisfiable) proleminin cümlecikleri 3 harften oluşmuş özel bir halidir.
3 sat.jpg

Kliktanim.jpg

6n-graf-clique.svg
Resimde görüldüğü gibi, {1,2,5} düğümler arasında klik oluyor.

İspat fikri[değiştir | kaynağı değiştir]

Problemlerin tanımlarında da yola çıkarak 3SAT problemin bir förmül, KLİK probleminin de bir çizge olduğunu fark ettik. Problemleri indirgemek ve çözümlemek için ilk başta birbirinin formatına gösterilmeleri ve çevirilmeleri gerekiyor. Örnek.1’den görüldüğü gibi, 3SAT cümlcikleri “ve” () bağlacıyla bağlanmıs, ve her cümlesi “veya” () bağlacıyla bağlanmış 3 harften oluşuyor. Klik problemi ise, resimde gösterildiği gibi bir çizgenin içinde, birbirine bağlanan düğümlerle ilgilidir. Bu iki problemi birbirine dönüştürmenin (indirgemenin) yolu, formülü çizge gibi, çizgeyi de formül haline dönüştürmekten geçer. Belirli çizgelerin içinde k-büyüklükteki klikleri, belirli karşılanabilir formüllerle uyuşuyor. Sürülen bu fikirler üzerinden yola cıkarak, NP sınınfında olan iki problemin arasında, birbirinin cinsine taklitini kullanarak polinom zamanda indirgemeyi başarmaya çalışacağız.

İspat[değiştir | kaynağı değiştir]

, k cümlecikten oluşan bir formül olsun.

f indirgemesinin sonucu olarak, G yönsüz çizge olmak üzere katarı üretilmesi bekleniyor. Bunun yapısı şöyle; Çizgedeki düğümler, aralarında 3-lü olacak şekilde gruplanıyor ve sırayla . Her bir 3-lü formüldeki bir cümleciğe, her bir düğüm de cümlecikteki bir harfe denk geliyor. Dolaysıyla G çizgesideki her düğüm ’nın bir literaline karşılık gelir.

Bu çevirmeyi yaparken, förmülde “ve”, “veya” bağlaçları göz önüne alarak, çizgedeki düğümler arasında alttaki kurallar uygulanması gerekiyor.
•Aynı 3-lü grup içinde yer alan düğümler arasında bağlantı yok.
•Birbirinin tümleyeni olan iki düğüm arasında bağlantı yok, ör, x1 ve x1' .

Şu ana kadar indirgemenin zeminini hazırlamaya çalıştık, bundan sonra problemleri çevirmeye çalışacağız. Aşağıda, karşılanabilir bir örnek funksiyonu verilmiştir. Belirlenen kurallar çerçevesinde formülden çizgeye dönüşüme başlarsak, alttaki G çizgeyi elde etmiş olacağız.

Grafsat.jpg

İndirgemeyi açıkça bir şekilde gördükten sonra, yöntemin tutarlığını ispatlamak için iki tane varsayım üzerinde yorum yapacağız:

1.’nin sağlanabilir (satisfying) olduğunu varsayalım;

Son değerin doğru olduğuna göre, her cümlecikte en azında bir tane harfin değeri doğru (1) olması gerekiyor ki, “ve” işleminin sonucu olarak 1 elde edilsin. G dizgesinde her üçlü için doğru değerli harfi temsil eden bir düğüm seçiliyor. Eğer bir cümlecikte birden fazla doğru değerli harf varsa, keyfi olarak doğru olanlar aradında bir tane seçiliyor. Seçilen düğümler k-klik şeklini oluşturuyorlar. Dikkatli bakarsak, her (sayısı k olan) cümlecikten birer harf aldığımızdan dolayı seçili düğüm sayısı k’dır. K-klik içindeki düğümler aynı 3-lü gruptan olamazlar çünkü her 3-lü den sadece bir tane düğüm seçmiş olduk. Aynı zamanda, düğümler tümleyenleri ile birleşemiyorlar çünkü varsayıma göre, birleşmiş harflerin değerlinin doğruydu. Bundan dolayı G çizgesi k-klik içeriyor.

2.G dizgesinin k-klik olduğunu varsayalım;

Klik içinde olan iki düğüm kesinlikle aynı 3-lüde olamazlar çünkü aynı 3-lüde olan düğümler birbirine bağlı değil. Bundan dolayı k-klikte yer alan düğümlerin her biri farklı 3-lüde yer alır. ’nin değerin doğru atamamızdan dolayı, cümlecikteki harflerin değerlerini doğru varsaymaktır. Bundan dolayı, birbirinin tümleyeni olan düğümler bağlı değil ve aynı klikte yer alamazlar. Değişkenlein bu gibi değerlerle atanması 'nin değerini doğru yapmış olur, ve karşılanabilir olmuş oluyor.

Sonuç[değiştir | kaynağı değiştir]

İlk baştaki amacımız NP sınıfında olan iki problem arasında birbirine indirgeme yapmaktı. 3SAT bir formül, diğer tarafta da Klik bir çizge olduğu halde, ispat sonucunda indirgeme sağlandı ve problemler birbirinin cinsinde gösterilebildi.

Kaynakça[değiştir | kaynağı değiştir]

[1] Michael Sipser, Introduction to the theory of computation 2nd edition, pg.274