lemi bir NP-tam sınıfı problemidir.

Teoremin ispatına geçmeden önce teoremin çıkış noktası üzerinde duralım. Polinom zamanda kararlaştırılan problem(P sınıfı problemleri) ile polinom zamanda doğrulanabilen problem (NP sınıfı problemleri) sınıflarının birbirine denk olup olmadığı güncel matematik ve teorik bilgisayar biliminin bir türlü çözemediği bir sorun olagelmiştir. Eğer bu sınıflar birbirine denk olduğu gösterilirse herhangi polinom zamanda doğrulanabilen bir problemin (NP sınıfı problemi) artık polinom zamanda kararlaştırılabiliyor olacağı kesin olarak söylenmiş olacaktır.

1970’lerde P ve NP sınıflarının arasındaki ilişkiye Stephen Cook ve Leonid Levin adındaki iki bilim adamı farklı bir açıdan yaklaşmışlardır; bazı NP sınıfı problemlerinin karmaşıklıklarının tek başlarına tüm NP sınıfının karmaşıklığına eşit olduğunu fark etmişler.Eğer bu tip problemlerin polinom zamanda bir çözümü bulunursa NP sınıfındaki tüm problemler polinom zamanda çözülebilir.Bu tip problemlere ilerde değineceğiz ve bun tip problemlere NP-tam sınıfı problemleri diyeceğiz. Dolayısıyla Cook-Levin yaklaşımının bir sonucu olarak P sınıfıyla NP sınıfının eşitliğini iddia eden biri NP-tam bir problemi polinom zamanda çözmesi iddiasını ispatlamak için yeterli olacaktır.

SAT (Doğrulanabilirlik) probleminin ne olduğundan bahsedelim. SAT problemi verilen bir boolean ifadenin sonucunun doğru olup olmayacağıyla problemidir. Yani boolean ifadeyi doğru kılacak, boolean ifadenin değişkenlerinin bir “doğru,yanlış” kombinasyonunun oluşturup oluşturmayacağıyla ilgilenir. Dolayısıyla SAT problemi aşağıdaki gibi ifade edilebilir:

Örneğin formula_2 gibi herhangi bir boolean ifadenin sonucunun doğru olmasını inceleyen probleme SAT problemi denir.Bu örnekte x=doğru, y=yanlış, z= doğru için problem doğrulanabilirdir.

Bir B dili NP-tam ise şu iki şartı sağlamalıdır:

Burada yeni bir kavramla karşılaşıyoruz; “polinom zamanda indirgemek”. Bunu fazla derine inmeden şöyle özetleyebiliriz; eğer bir problemin çözümünü bilmiyorsak ya da çözümü bulmakta çok zorlanıyorsak asıl problemimizi çözmeye yardımcı olacak yeni bir probleme indirgeriz ve çözüme yeni indirgenmiş problem aracılığıyla ulaşırız. Eğer bu indirgememiz polinom zamanda gerçekleştirilirse buna da “polinom zamanda indirgemek” adını veririz. Buna şöyle bir örnek verebiliriz: Bilmediğiniz bir yere gitmek istediğinizi farz edelim ve bu problemin sizin için zor bir problem olduğunu düşünelim. Bu durumda gideceğiniz yere ulaşmak için bir yardımcıya ihtiyacınız olacaktır. Bu yardımcılar taksiye binmek, harita elde etmek ya da bilen birine sormak bunlar arasında sayılabilir. Böylelikle bizim için zor olan problemimiz taksi ya da harita bulmak kadar basit bir probleme indirgenmiş oldu. Kısaca buna da değindikten sonra artık teoremimize dönelim.

SAT probleminin NP-tam sınıfına ait bir problem olduğunu göstermek için öncelikle SAT dilinin NP sınıfında olduğunu göstermemiz lazım.

SAT probleminin NP sınıfında olduğunu göstermenin iki farklı yolu vardır:

Biz burada 2. yolla bunu ispatlayalım:
Deterministik olmayan N Turing Makinesi, SAT dilini polinom zamanda aşağıdaki gibi kararlaştırsın:

N: “ ∅ ’nin Boolean ifade, x, x, x..., x’nin de bu ifadenin bir değişkeni olsun ve makine girdi olarak  katarını alsın.


Şimdi sıra NP’deki her dilin SAT diline polinom zamanda indirgemekte.
A dilini n zamanda kararlaştıran determinist olmayan bir N Turing Makinesi düşünelim. Aşağıda anlatacağım yöntem aracılığıyla N makinesini SAT diline indirgeyeceğiz.
Bu tabloda her bir satır N makinesinin konfigürasyonunu ifade ediyor. Kolaylık olsun diye her konfigürasyonun # ile başlayıp # ile bittiğini farz edelim. Her konfigürasyondan bir sonrakine N makinesinin geçiş fonksiyonu aracılığıyla ulaşılmaktadır yani konfigürasyonlar arasındaki geçişlerde N makinesinin kurallarına uyulmak zorundadır. Tüm satırlar bu kurallara uygun olarak doldurulduktan sonra tablo N makinesi için herhangi bir kabul durumu içeriyorsa A tablosu kabul verir yoksa ret verir. Böylelikle A dili bu tablo aracılığıyla simule edilebilir. Böylelikle N makinesinin w’yı kabul etmesi artık tablonun qkabul durumunu içerip içermemesine indirgenmiş oldu.Şimdi sıra elde ettiğimiz tablodan SAT problemine geçmek için bir boolean formül (∅)elde etmeye geldi.F formülüne geçmeden önce kullanacağımız birkaç önemli terimi ifade edelim:

Q : N makinesinin durumları kümesi

Γ : N makinesinin alfabesi

C = Q ∪ Γ ∪ {#} : Tablodaki değişkenler kümesi
x : ∅ formülünün değişkeni olup tablonun [i,j] gözünde s değeri varsa doğru yoksa yanlış değerini alır.

Şimdi F ifadesinin ne gibi koşulları sağlaması gerektiğine bakalım.


Dolayısıyla problemimiz 
∅ = ∅ ∧ ∅ ∧ ∅ ∧ ∅ probleminin doğrulanmasına indirgendi. Diğer bir deyişle A dilini SAT diline indirgemiş olduk.

İndirgemeyi yaptık şimdi bunun polinom zamanda olduğunu ispatlamaya geldi sıra.
İndirgemenin karmaşıklığını göstermek için ∅ formülünün boyutu göstermek yeterli olacaktır. Tablonun boyutu n ×n olup n hücreye sahiptir ve bu hücrelerde l farklı değişken bulunabilir. ( l∈C ). l değeri N makinesine verilen w katarından bağımsız olduğu için ∅ formülündeki değişken sayısı O(n )olacaktır. Dolayısıyla bu indirimin polinom zamanda yapılmış olduğu anlamına geliyor.
Böylelikle SAT probleminin NP-tam olduğunu göstermiş olduk.

Şimdi bunun bize ne katacağını ifade edelim;

Farz edelim ki SAT problemine polinom zaman da bir çözüm bulunmuş olsun("SAT ∈ P" ). Bu bize şunu ifade eder SAT problemi hem NP sınıfının içinde(Cook-Levin teoreminden) hem de P sınıfının(varsayımdan) içinde ve diğer yandan her NP dili SAT problemine polinom zamanda indirgenebiliyor((Cook-Levin teoreminden)) dolayısıyla bu NP sınıfı ile P sınıfın denk olduğu anlamına geliyor. Aslında Cook-Levin ikilisinin bu teorem ile amaçladıkları şey de tam olarak buydu yani P ile NP sınıfının eşitliğini iddia eden biri NP-tam sınıfından bir probleme polinom zamanda çözüm bulması iddiasını kanıtlamak için yeterli olacaktır.




Annemi Trenden Nasıl Atarım

Annemi Trenden Nasıl Atarım 1987 ABD yapımı kara komedi filmidir. Özgün adı Throw Momma from the Train olan film Türkiye'de VCD formatında dağıtılmış, ayrıca Digitürk şifreli kanalından da yayınlanmıştı.

Özgün senaryosunu Stu Silver'ın yazdığı (filmde küçük de bir rolü var) filmi Danny DeVito yönetmiş, ayrıca başrolünde de oynamıştır. Filmin diğer önemli oyuncuları ise Billy Crystal, Anne Ramsey (anne rolünde), Kate Mulgrew ve Kim Greist'tır. Tanınmış talk-show programcısı Oprah Winfrey'in de filmde bir cameo rolü vardır. Barry Sonnenfeld'in görüntülerini çektiği filmin özgün müziğini David Newman bestelemiş ve bu çalışmasıyla "BMI Film & TV Ödülü"nü almıştı.

Filmde, kendisine hayatı zindan eden baskıcı annesini (Anne Ramsey) ortadan kaldırmayı plânlayan edebiyat öğrencisi Owen (Danny DeVito), boşandığı karısından büyük bir kazık yemiş olan edebiyat profesörü Larry (Billy Crystal)'ye çapraz cinayet işlemelerini teklif eder, yani Larry, Owen’ın annesini, Owen da Larry’nin eski karısını öldürecektir. Böylelikle şüpheli duruma düşmeyeceklerdir. Cinayetlerin değiş tokuş edilmesi temasını ele alan bu suç filmi dakikalar geçtikçe kara mizahla harmanlanarak zincirleme espirilerle dolu bir slapstick tarzına doğru ilerler.

"Annemi Trenden Nasıl Atarım", 1951 tarihli Alfred Hitchcock filmi Trendeki Yabancılar (Strangers on a Train)'ın güldürü tarzında bir yeniden yapımıdır ve filmin içinde bu filme göndermeler yapılır. Ayrıca filmin teması büyük oranda Fritz Lang'ın 1945'te çektiği ünlü filmi Scarlet Street'ten (Türkçe kaynaklarda hem "Kızıl Sokak" hem de "Uygunsuz Sokak" adları geçiyor) ödünç alınmıştır.

Filmde 'anne' rolünü oynayan Anne Ramsey, En İyi Yardımcı Kadın Oyuncu Akademi Ödülü'ne ve aynı dalda Altın Küre'ye aday gösterildi. En İyi Yardımcı Aktris Saturn Ödülü'nü kazandı. Danny DeVito da Altın Küre ödülüne aday gösterilmişti. Filmin ikinci ödülünü de filmin özgün müziğini yapan David Newman aldı. ABD'de dağıtılan "BMI Film & TV Ödülü" "film müziği" dalında kendisine verildi.

Los Angeles'ta bulunan bir vakıf kolejinde edebiyat dersleri veren profesör Larry Donner (Billy Crystal), karısı Margaret (Kate Mulgrew)'ten kısa bir süre önce boşanmıştır. Aynı zamanda bir yazar olan Larry bir süredir "yazar tutukluluğu" ndan muzdariptir. Bir yıldır tek satır yazamamış olmasının nedeni ise, eski karısının giderayak bir romanını çalarak kendisi yazmış gibi yayımlatması ve çok satan bu romandan astronomik paralar kazanmaya başlamasıdır. Üstüne üstlük bu kitaptan dolayı üne de kavuşmuş olan karısı sık sık televizyon şovlarına çıkmakta ve onu deli etmektedir. Prof. Larry'nin Beth Ryan (Kim Greist) adında bir de sevgilisi vardır.

Kısa süreli lisans eğitimi verilen bu halk kolejinde öğrenciler genelde orta yaşı geçkin, fazla beklentisi olmayan sıradan insanlardır. Bu öğrencilerden biri de yeteneksiz ve beceriksiz Owen Lift (Danny DeVito)'tir. Bu ufak tefek, çekingen ve çocuk ruhlu adam ilerlemiş yaşına rağmen halâ bekârdır ve yaşlı annesi (Anne Ramsey) ile aynı evde oturmaktadır. Hiç yüzü gülmeyen küstah, zorba ve ağzı bozuk bir kadın olan Bayan Lift ('anne'), Owen'a hep kötü davranır, hakaret eder, kendi pis işlerini ona yaptırır, kısaca ona evde pek huzur vermez. Owen ise sürekli olarak annesini öldürmeyi hayal eder, ama bir türlü buna cesaret edemez.

Owen bu cinayet işleme saplantısını ödevlerine de yansıtır ama çok acemi ve yeteneksiz olduğu için edebiyat ödevlerini hocasına beğendiremez, çünkü yazdığı cinayet öyküleri çok basit, mantıksız ve kendini çabuk ele veren cinstendir. Larry Owen'a önemli olanın cinayeti işleyip yakalanmamayı becermek olduğunu, bunun için de katilin ortada cinayeti işlediğinden şüphelendirecek geçerli bir neden bırakmaması gerektiğini söyler ve bu yapışkan öğrenciden kurtulmak için ona sinemada gösterimde olan Alfred Hitchcock filmi Trendeki Yabancılar'ı seyretmesini önerir. Söylenen sinemaya giden Owen'a filmi izlerken aniden bir ilham gelir. Prof Larry bir süre önce kalabalığın ortasında eski karısını öld