Matematik Öğrenelim

P ve NP: Bilgisayar Bilimlerinde Çözülemeyen En Önemli Problem

Clay Matematik Enstitüsü, çözülmemiş yedi matematik probleminin her birine 1 milyon dolarlık ödül koyduğunda, problemlerden bir tanesini küçümsemiş olabilir. Eğer matematikçiler bilgisayar biliminin “P’ye karşı NP” sorusunu doğru şekilde çözebilirse, çözümün karşılığında elde edeceklere ödül 1 milyon dolardan çok daha fazlası olacaktır. Peki P ve NP tam olarak nedir?

Bilgisayarlar geliştikçe artık günümüzde birçok işlem çok hızlı yapılabiliyor. Bilgisayarlar insanların günlerini verip de yapamayacağı problemleri hızla çözebiliyor. Ancak acaba onların da çözemeyeceği problemler var mıdır? Cevap evet olacaktır.

Konunun detaylarına geçmeden önce size basit bir soru soralım. Diyelim ki Amerika’da eğitim gören çok sayıda arkadaşınız var. Siz de uçak bileti parasını ayarladınız ve yanlarına gitmeye karar verdiniz. Sonuçta eliniz boş gitmek istemeyeceksiniz. Bu durumda hepsine hediye almanız gerekiyor. Ancak ufak bir sorununuz var. Tüm bu hediyeleri valizinize sığdırmanız mümkün değil.

Sonucunda arkadaşlarınızın kesin seveceğine inandığınız ancak havayolunun koyduğu ağırlık sınırını aşmayan bir hediye kombinasyonunu yanınıza almaya karar veriyorsunuz. Peki ama bu seçimi nasıl yapacaksınız?

 P ile NP Nedir?

Akla gelen ilk çözüm olası tüm kombinasyonları denemek olacaktır. Ziyaret edeceğiniz arkadaş sayısı sınırlı ise kesinlikle bunu deneyin. Ancak çok çok fazla arkadaşınız var ise bu çözüm pek de pratik olmayacaktır. Bu durumda bir algoritmaya ihtiyaç duyarsınız. Bu sayede bilgisayarda gerekli tüm kombinasyonları kolayca deneyebilirsiniz.

P ile NP Nedir?

Bilgisayarlar algoritmalarla çalışır. Ancak bazı algoritmaları gerçekleştirmek sadece mikro saniyeler alırken, bazılarını gerçekleştirmek bugünkü hızla bile milyarlarca yıl alır. Burada kilit fikir, bir algoritmanın verimliliğidir. Bunu belirleyebilmek için bilgisayar biliminde karmaşıklık teorisi adı verilen bir alan vardır. Bu alanda çalışan araştırmacılar, bilgisayarların çeşitli türdeki problemleri ne kadar kolay çözebileceğini belirlemeye çalışırlar.

 P ile NP Nedir?
P ve NP, problemlere çözüm bulma ile çözümlerin doğrulanması arasındaki asimetriyle ilgilidir.

P, elektronik tablodaki bir sayı sütununu sıralamak veya haritada iki adres arasındaki en kısa yolu bulmak gibi verimli bir şekilde çözebilecekleri problem sınıfını temsil eder. Yani bilgisayarlar bu tür problemleri kolayca halleder. Bu algoritmalar da verimli algoritmalardır. Verilen iki sayının en küçük ortak katını bulma, bir sayının asal olup olmadığını sap­tama, dört işlem aritmetik hesapları P sınıfındaki problemlerdir.

Ancak aynı şey yazının başında verdiğimiz örnek için geçerli değildir. Sırt çantası problemi NP olarak kabul edilmektedir. NP, bilgisayarların çözümleri verimli bir şekilde doğrulayabildiği problem sınıfını temsil eder. NP’nin aslında bir alt küme olarak P içerdiğine dikkat edin, çünkü bir sorunu doğrudan çözmek, çözümü doğrulamanın bir yoludur.

Burada P, bilgisayarların kolayca çözebilecekleri; Np ise çözümü olan soruları kolayca doğrulayacakları anlamına geliyor.

Örneğin 27 × 89 = 2403 olduğunu nasıl doğrularsınız? Çarpma işlemini kendiniz çözer ve cevabınızın iddia edilen cevapla eşleşip eşleşmediğini kontrol edersiniz. Aslında P ve NP arasındaki ilişkiyi yukarıdaki Venn şeması ile de kolayca görebiliriz.

P sınıfındaki problemlerin kolay olduğu düşünülür. Sonucunda bir bilgisayar algoritması bunları uygun bir sürede çözecektir. Ancak NP sınıfındaki problemlerin genellikle daha zor olduğu düşünülür. Sonucunda çözüm bir bilgisayar için bile milyarlarca yıl zaman alabilir.

“P = NP” Sorusu Nedir?

Yukarıdaki Venn şemasında da görebildiğiniz, NP’nin içindeki ancak P’nin içinde olmayan bölge, bilinen herhangi bir etkili algoritmayla çözülemeyen problemleri içerir. Ancak bunun, bu tür algoritmaların var olmamasından mı yoksa sadece nasıl yapacağımızı bilmemekten mi kaynaklandığını bilmiyoruz.

Bir algoritmanın bir problemi çözüyor olarak nitelendirilebilmesi için, çok büyük olanlar da dahil olmak üzere tüm örnekler için kesin bir çözüm bulması gerekir. Tüm çözümsüz gibi gözüken problemler deneme yanılma mantığı ile çözülmeye çalışılabilir. Ancak bu çok büyük bir zaman kaybı demektir. Dünyanın en hızlı süper bilgisayarlarının bile katlanarak büyümeye karşı hiçbir umudu yoktur.

Sadece bu kadar da değil. Karmaşıklığında kendi içinde de bir sıralaması vardır. NP tam ( complete) problemleri, NP’deki en zor problemler olarak kabul edilmektedir. En az her bir NP problem kadar zor olan problemlerin bulunduğu sınıfa NP-Zor (NP-hard) denir. Ve aslında bunların hepsi eşdeğerdir. Bu nedenle bir tanesini çözmeyi başarırsanız aslında hepsini çözmüş olursunuz.

 P ile NP Nedir?
P sınıfı, polinom zamanda çözülebilen tüm problemleri içerir. NP sınıfı, potansiyel bir çözümün polinom zamanında kontrol edilebileceği tüm sorunları içerir. NP sınıfının P sınıfına eşit olması mümkündür, ancak bunun olup olmadığını kimse bilmiyor, bu yüzden iki diyagram var: biri P=NP olduğu durum için ve biri olmadığı durum için.

P ile NP Birbirine Eşit Olursa Ne Olur?

Hücre biyolojisinden oyun teorisine kadar, P’ye karşı NP sorusu bir çok bilim dalı ve endüstriyi ilgilendiriyor. Eğer P = NP ise (yani Venn diyagramımız tek bir daireye dönüşür ve bu zor görünen problemler için hızlı algoritmalar elde edebilirsek) o zaman tüm dijital ekonomi çökmeye karşı savunmasız hale gelir.

Bunun nedeni, kredi kartı numaranız ve şifreleriniz gibi şeyleri güvence altına alan kriptografinin yalnızca gizli anahtarı bildiğiniz takdirde çözülmesi kolay olabilecek, hesaplama açısından zor problemleri temel alarak çalışmasıdır.

gezgin satıcı problemi

P ile NP probleminden bahsedildiği zamanlarda akla ilk olarak en ünlü örnek olarak Gezgin Satıcı problemi gelecektir. Aralarındaki mesafeyi bildiğiniz, ziyaret edilmesi gereken bir sürü yeri olan, ve her yeri tam olarak bir kez ziyaret ettikten sonra, en sonunda başa dönmeniz gereken her durumda en kısa rotayı bulmanız gezgin satıcı problemi ile ilgilidir. Az sayıda yer varsa, tüm olası rotalara bakarak cevabı kolayca bulabilirsiniz. Ancak gidilmesi gereken yer sayısı arttıkça, bu hesaplama inanılmaz derecede sıkıcı hale gelir.

Sonuç olarak

Gördüğünüz gibi bu problem yazıdaki sırt çantası problemi ile eşdeğer mantıktadır. Bu yüzden biri çözülürse diğerleri de çözülecektir.

Gezgin satıcı problemi için bir algoritma bulduğunuzu hayal edin. Bu, NP’deki her problemin çözülebileceği anlamına da gelir. Sonuç olarak P=NP’yi kanıtlamış olursunuz ve gidip 1 milyon dolarınızı alabilirdiniz. Ancak alacağınız ödülün yanında bunun başka anlamları da olurdu. Bu arada endişelendiyseniz güzel haber. Çoğu uzman P’nin NP’ye eşit olmadığına inanmaktadır.


Kaynaklar ve ileri okumalar:


Size Bir Mesajımız Var!

Matematiksel, 2015 yılından beri yayında olan ve Türkiye’de matematiğe karşı duyulan önyargıyı azaltmak ve ilgiyi arttırmak amacıyla kurulmuş bir platformdur. Sitemizde, öncelikli olarak matematik ile ilgili yazılar yer almaktadır. Ancak bilimin bütünsel yapısı itibari ile diğer bilim dalları ile ilgili konular da ilerleyen yıllarda sitemize dahil edilmiştir. Bu sitenin tek kazancı sizlere göstermek zorunda kaldığımız reklamlardır. Yüksek okunurluk düzeyine sahip bir web sitesi barındırmak ne yazık ki günümüzde oldukça masraflıdır. Bu konuda bizi anlayacağınızı umuyoruz. Ayrıca yazımızı paylaşarak veya Patreon üzerinden ufak bir bağış yaparak da büyümemize destek olabilirsiniz. Matematik ile kalalım, bilim ile kalalım.

Matematiksel

Sibel Çağlar

Merhabalar. Matematik öğretmeni olarak başladığım hayatıma 2016 yılında kurduğum matematiksel.org web sitesinde içerikler üreterek devam ediyorum. Matematiğin aydınlık yüzünü paylaşıyorum. Amacım matematiğin hayattan kopuk olmadığını kanıtlamaktı. Devamında ekip arkadaşlarımın da dahil olması ile kocaman bir aile olduk. Amacımıza da kısmen ulaştık. Yolumuz daha uzun ama kesinlikle çok keyifli.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu