Sezgisel Yaklaşım ve Sezgisel Problem Nedir?

Burcu S
6 min readOct 26, 2020

--

Selamlar, bu yazıda genellikle yapay zeka dersinin giriş aşamasında karşılaştığımız sezgisellik, sezgisel problemler gibi kavramlardan bahsedeceğim. Dilerseniz direkt konuya giriş yapalım.

Sezgisellik, bir problemin çözümünde nihai ve mükemmel bir sonucun elde edilmesi yerine kabul edilebilir derecede uygunluğa sahip bir çözüme ulaşmak için kullanılan yaklaşımdır. Sezgisellik kullanılarak elde edilen sonuçlar en optimal çözüm olmayabilir.

Sezgisel yaklaşım, kısıtlı zaman dilimi ve kısıtlı kaynak söz konusuyken sonuç gerektiren problemlerin çözümünde kullanılmak için idealdir. Özellikle karmaşık veriler üzerinde çalışırken hızlı karar vermeye yönelik bir tekniktir. Sezgisel yaklaşımlar ile problem çözümü için mutlaka sezgisel bir bilgiye ihtiyaç duyulmaktadır. Burada bahsettiğimiz sezgisel bilgi, problemin nasıl çözüleceğine ilişkin metodlar, kurallar vb. her türlü bilgiyi temsil eden bir kavramdır.

Günlük hayatımızda pek çok sezgisel problem örneği ile karşılaşırız. Önceden elimizde olan bilgiler ışığında bu problemlere ilişkin bir çözüm üretiriz. Sonrasında ise ürettiğimiz bu sonucu değerlendirip buradan edindiğimiz tecrübeye dayanarak aynı problemle tekrar karşılaştığımızda daha iyi bir sonuç üretebiliriz.

Örneğin: önümüzde hedefimize giden 3 farklı yol var. Ve hedefe varış konusunda geç kalmamak için 5 dakika süremiz var. Hangi yolun en kısa olduğunu anlayabilmek hepsini gitmemiz gerekir. İlk gün ilk yolu deneyip 10 dakika sürdüğünü fark ettiğimizde ertesi gün 2. yolun daha kısa sürebileceğini düşünerek bu yolu deneyebiliriz çünkü 1. yol bizim beklentilerimizi karşılayamadı dolayısıyla diğer yolların daha iyi olabileceğini sezinleyebiliriz.. Fakat 2. yolun 15 dakika sürdüğünü gördüğümüzde bu sefer şansımızı 3. yolla denemek isteyebiliriz. Fakat artık 2. yol 1. yoldan daha uzun sürdüğü için 2. yolu kullanabileceğimiz yollara katmayız ve 3. yolun sonucunu 1. yolunki ile karşılaştırarak daha kısa sürene göre bir karar verebiliriz.

Bu durumu biraz daha gerçek bir senaryoya dönüştürürsek 3’ten fazla çıkış noktamız olduğunda şehirdeki yan yolları da düşünürsek denememiz gereken 100’lerce hatta 1000’lerce yol kombinasyonu olacaktır. İşe her gün farklı bir yolu deneyerek gitmeyi göze alamayacağımız için tüm ihtimalleri deneyemeden kısıtlı bir seçim yapmamız gerekir. Hepimiz işe giderken yolda geçecek zamanın minimum olmasını isteriz. Fakat belirttiğim gibi tüm yolları denemek gibi bir şansımız olmadığından tüm ihtimallerdeki en kısa yolu değil de bir süre boyunca denediklerimizin içindeki en kısa olanı kullanmayı kabul ederiz.

İşte sezgisel yaklaşım, büyük boyutlu verilerle çalışırken tümünün hesaplanması mümkün olmayan durumlarda “sezgisel olarak belirlenen eşik değerine” göre kabul edilebilir bir sonuç elde etmemizi sağlar. Bilgisayar dünyasında bu kısıtlı kaynak bellek, yürütme zamanı gibi belirgin ve önemli unsurlar olabilir.

En kısa yolu bulmak istediğimiz durumda 1000’lerce yol seçeneğinin içinden yapacağımız yol seçimi aslında sezgisel bir çözümdür. Fakat bu problemin içinde bir çok alt problem örneği bulunabilir. Örneğin yollardaki trafik durumu, kullandığımız aracın özellikleri bu problemin çözümüne parametre olarak dahil edilebilir. Bu dahil edişle birlikte, problemimizin çözümünde kullanacağımız bu bilgileri, sadece yolda olduğumuz süreçte kavrayabileceğimiz ve yola çıkmadan bilemeyeceğimiz (örneğin, trafiğin durumu) çıkarımını yapabiliriz. Bu durum bize problemimizin non-deterministic bir problem örneği olduğunu da gösterir. İşte sezgisel çözüm yaklaşımları da özellikle non-deterministic problemlerin için kullanılmaktadır.

Deterministic Problemler: Bir durum için daima aynı çözüm yoluna ve çözüm çıktısına sahip problemlerdir. P (polinomial zamanlı) sınıfı algoritmalarını oluşturmaktadırlar.

Örneğin, x + 5 = 8 probleminde x’in ne olduğuna karar verirken çözümü daima 3 olarak buluruz.

Non-Deterministic Problemler: Bir durum için her zaman aynı çözümü üretmeyen, değişken çözüm yoluna sahip problemlerdir. NP (non-polinomial) sınıfı algoritmalarını oluşturmaktadırlar.

Örneğin, biraz rahatsız olduğumuz durumda derse gidip gitmemenin kararını verirken rahatsızlığımızın şiddetini ele alabiliriz. Böyle bir durum karşısında bazen derse gitmeye karar verirken bazen de gitmemeyi tercih edebiliriz. Dolayısıyla aynı durum için farklı sonuçlar ortaya çıkabilir.

Deterministic Algoritmalar: Deterministik algoritmalar bir girdi için hangi çıktının üretileceği belirli olan algoritmalardır. Ve polinom yani sabit zamanda çözüm üretilebilir. Bir sonraki adım önceden belirlidir.

Non-Deterministic Algoritmalar: Girdi için hangi çıktının üretileceği önceden belirli olmayan, buna çalışma zamanında karar verilen algoritmalardır. Bu sebeple de yürütme zamanı sabit ve kesin değildir. İşletilecek sonraki adım algoritmanın kullandığı yola göre farklılık gösterir. Bu algoritmalarda girdi, çalışma zamanında belirlenir.

Sezgisel Problem Örnekleri: Yamyam Turist ve Kurt, Kuzu, Lahana Problemlerinin İncelenmesi

Dilerseniz şimdi yapay zeka dersinin henüz giriş aşamasındayken verilebilecek bazı problem örneklerinden 2 tanesini inceleyelim. Bu, basit ve sezgisel problemlerin klasik problemlerden farkını anlamaya ilişkin sözel bir inceleme olacak, problemlerin implementasyonları ile ilgili örnekler için ise Github’dan faydalanabilirsiniz.

Yamyam Turist Problemi

Yamyam turist problemi, yamyamların turistleri yiyemeyeceği şekilde gerçekleştirilmesi beklenen karşıdan karşıya geçirme problemidir.

Problemin Özü

3 turist ve 3 yamyam nehrin bir karşısından diğer karşısına geçirilmek istenmektedir. Fakat yamyamların sayısı turistlerden fazla olduğunda yamyamlar turistleri yemektedirler. Bu sebeple nehrin her iki karşısında da yamyamların turistlerden fazla olmaması beklenmektedir. Tek seferde yalnızca 2 kişi tekneyi kullanabilmektedir. Bu durumda hem tüm turistler hem de tüm yamyamlar nasıl karşı tarafa geçebilir?

Problemin İncelenmesi

Kısıtlı kaynak: Karşıdan karşıya geçirmek için kullanılan teknenin aynı anda yalnızca 2 kişiyi taşıyabilmesi.

Sezgisel bilgi: Yamyamların sayısı turistlerden fazla olduğunda yamyamlar turistleri yemektedir.

Problemin Sezgisel Yaklaşımla Çözümü

Bu problem, karşılaşıldığı anda kesin sonucu verecek bir formüle dönüştürülememektedir. Eldeki sezgisel bilgi ışığında birkaç çözüm yolunun denenmesi ve başarısız sonuçlar karşısında yeni ve farklı çözüm yolları geliştirilmesi ile çözülebilmektedir. Bu sebeple bir sezgisel problem örneğidir.

Problemde kısıt artırılarak (örneğin; tekne hareketinin sınırlandırılması) çözüm uzayında nihai sonuca en yakın sonuç kabul edilebilir hale getirilebilir.

Çözüm: 3 turist ve 3 yamyamın beklediği kıyı A kıyısı, karşı kıyı B kıyısı olsun. İlk olarak 1 yamyam ve 1 turist B kıyısına geçer. Sonra turist tekrar A kıyısına döner. A kıyısında bulunan 3 turist ve 2 yamyamdan olan iki yamyam B kıyısına geçer. Diğer yamyam A kıyısına döner. B kıyısında 2 yamyam A kıyısında 3 turist 1 yamyam kalır. Diğer hamlede 2 turist B kıyısına geçer. Artık B kıyısında 3 turist ve 1 yamyam kalır. Bu yamyam tekrar A kıyısına geçer ve diğer yamyamı alarak B kıyısına geçirir. Son olarak tekrar A kıyısına döner ve son kalan yamyamı da alarak birlikte B kıyısına geçerler.

Problemin Formüle Edilmesi

Yamyamlar: Y; Turistler: T ile temsil edilsin.

Başlangıç durumu:

Y1, Y2, Y3

T1, T2, T3 şeklinde A kıyısında bulunma.

Hareket Operatörleri:

1T: 1 turistin karşıya geçmesi

2T: 2 turistin karşıya geçmesi

1Y: 1 yamyamın karşıya geçmesi

2Y: 2 yamyamın karşıya geçmesi

YT: 1 yamyam ve 1 turistin karşıya geçmesi

Durum Uzayı: Yamyamların turistleri yemesi ve yamyamların ve turistlerin karşıya geçirilmiş olması senaryoları üzerinden çok sayıda durum.

Amaç:

Y1, Y2, Y3

T1, T2, T3 şeklinde B kıyısında bulunma.

Yol maliyeti: Problem tarafından belirlenir. Örneğin her hareket 1 karşıya geçiş olsun.

Çözüm olarak kabul edilen durumun yol maliyeti incelemesi

Çözüm yolu: YT, 1T, 2Y, 1Y, 2T, 1Y, 2Y, 1Y, 2Y

Yol maliyeti: 9 karşıya geçiş

Kurt, Kuzu, Lahana Problemi

Kurt, kuzu ve lahana problemi, kurdun kuzuyu, kuzunun da lahanayı yemesini istemediğimiz ve kısıtlı kaynaklarla çözülmesi beklenen bir karşıdan karşıya geçirme problemidir.

Problemin özü

Bir çiftçi, kurt, kuzu ve lahanasını da alarak derenin karşı tarafına geçmek istemektedir. Fakat bu çiftçi her karşıya geçişte bu 3’lüden yalnızca birini yanına alabilmektedir. Fakat kurt ve kuzu yalnız kaldığında kurt kuzuyu, kuzu ve lahanayı yalnız bıraktığında kuzu lahanayı yemektedir. Bu durumda çiftçi bu 3’lüyü derenin karşısına nasıl geçirebilir?

Problemin Sezgisel Yaklaşımla Çözümü

Kısıtlı kaynak: Karşıdan karşıya geçmek için kullanılan kayığın çiftçi dışında yalnızca 1 adet şeyi alabilecek boyutta olması.

Sezgisel bilgi: Kurt kuzuyu yer, kuzu lahanayı yer. O halde bu ikililer yalnız bırakılmamalıdır.

Bu problemin önce kurt, sonra kuzu, sonra lahana gibi sorulduğu anda formüle edilerek hesaplanabilecek değişmez, kesin bir çözüm yöntemi bulunmamaktadır. Problemin çözüm yolu değişkendir. Formüllerle çözümü ifade edilemeyen bu problem bir sezgisel problem örneğidir. Burada çiftçi birkaç yolu denedikten sonra (örneğin; önce kuzuyu sonra lahanayı götürdüğünde kuzunun lahanayı yemesi) yeterince iyi olmayan sonuçlarla karşılaşarak sezgisel bilgisini ve deneyimlerini arttırabilir ve sonrasında bu yolları denemek yerine farklı çözüm yolları üretebilir, deneyebilir. Bunu, sonunda kabul edilebilir bir sonuca ulaşana kadar yapmaya devam eder.

Problemin tek bir çözüm yöntemi yoktur. İstenilen durumu üreten farklı yollar çözüm olarak kabul edilebilir.

1. Yol: Çiftçi önce kuzuyu karşıya geçirir. Sonrasında kurdu karşıya geçirir fakat dönerken kuzuyu yanına alır. Karşıya kuzuyu bırakır. Kuzuyu bıraktığında lahanayı alarak tekrar karşıya geçer. Karşıda lahana ve kurt olmuş olur. En son tekrar karşıya geçer ve kuzuyu alarak diğerlerinin yanına gider.

2. Yol: Çiftçi önce kuzuyu karşıya geçirir. Sonrasında lahanayı karşıya geçirir fakat dönerken kuzuyu yanına alır. Bu sefer kuzuyu bırakıp kurdu alır. Kurt ve lahana karşıya geçirilmiş olduğundan en son kuzuyu alır ve karşıya geçer.

Problem eldeki sezgisel bilgiden faydalanılarak, deneme yanılma yoluyla edinilen tecrübe ile kabul edilebilir çözüme kavuşturulmuş olur.

Problemin Formüle Edilmesi

Kurt: W, Kuzu: L, Lahana: C, Çiftçi: F olsun.

Başlangıç durumu:

W, L, C, F şeklinde A kıyısında bulunma.

Hareket Operatörleri:

FW: Çiftçinin kurtla karşıya geçmesi

FL: Çiftçinin kuzuyla karşıya geçmesi

FC: Çiftçinin lahanayla karşıya geçmesi

F: Çiftçinin tek başına karşıya geçmesi

Durum Uzayı: Kurdun kuzuyu, kuzunun lahanayı yediği ve kurt, kuzu, lahana 3’lüsünün karşıya başarılı şekilde geçirildiği tüm senaryolar.

Amaç:

W, L, C, F şeklinde B kıyısında bulunma.

Yol maliyeti: Problem tarafından belirlenir. Bu problem için 1 karşıya geçiş 1 hareket maliyetinde olsun.

Çözüm olarak kabul edilen durumun yol maliyeti incelemesi

Çözüm yolu: FL, F, FW, FL, FC, F, FL

Yol maliyeti: 7 hareket

--

--

Burcu S

Flutter Developer, Lover & Learner | Computer Engineer | For contact: linkedin.com/in/burcus/