Page 37 - Bilgisayar Bilimi | Kur 1
P. 37
Sudoku bulmacanın zorluk derecesi doldurulması gereken karelerin sayısı ile belirlenir. Bu örnek
çok kolay bir bulmacadır. 36 kare zaten doldurulmuş olduğundan, bulmacayı tamamlamak için dol-
durulması gereken sadece 45 kare bulunmaktadır. Soru şudur: Hangi kareleri ilk olarak doldurmaya
çalışalım?
Bulmacanın kısıtlamalarını hatırlayın. Dokuz ana karenin her bir satır ve sütunda, her rakam tam
olarak bir kez yazılmalıdır ve her doldurulmuş 3x3 alanda her bir rakam tam olarak bir kez yer alma-
lıdır. Bu kurallar, çabalarımıza nereden başlamamız gerektiğini belirtir. Bulmacanın ortasındaki 3x3
alan, dokuz kareden sekizinde zaten sayıya sahip. Bu nedenle ortadaki kare, yalnızca 3x3 alanında başka
bir karede temsil edilmeyen tek bir olası değeri içerebilir. İşte bulmacayı buradan çözmeye başlamalıyız.
Bu alandaki eksik rakam 7’dir, bu nedenle orta kareye 7 rakamını yerleştireceğiz.
Bu değeri yerinde yazdığımızda, bu sütunun artık dokuz kareden yedisinde değerlere sahip olduğunu
ve bunların her bir sütunda bulunmayan bir değeri olması gerektiği ve yalnızca iki kareyi boş bıraktığını
unutmayın: İki boş karenin değeri 3 ve 9’dur. Bu sütundaki kısıtlama her iki numarayı da her iki yere
yazmamıza izin verir ancak 3’ün üçüncü satırda, 9’un zaten yedinci satırda bulunduğuna dikkat edin.
Bu nedenle satır kısıtlamaları, 9’un orta sütunun üçüncü satırına, 3’ün orta sütunun yedinci satırına
yazılmasını gerektirir. Bu adımlar Şekil 1.12’de özetlenmiştir.
9 1 6 7 9 1 6 7 9 1 6 7
8 2 3 9 8 2 3 9 8 2 3 9
5 3 2 5 3 2 5 3 2
9 1 3 6 2 9 1 3 6 2 9 1 3 6 2
2 4 6 8 2 4 7 6 8 2 4 6 8
1 4 8 2 5 1 4 8 2 5 1 4 8 2 5
9 5 7 9 5 7 9 3 5 7
6 7 1 5 6 7 1 5 6 7 1 5
5 4 6 9 5 4 6 9 5 4 6 9
1 2 3
Şekil 1.5: Örnek sudoku bulmacanın çözümünde ilk adımlar
Tüm bulmacayı burada çözmeyeceğiz ancak bu ilk adımlar, ideal olarak mümkün olan en düşük
sayıdaki kareler için aradığımız sadece bir tane önemli noktayı görmemizi sağlar.
Bu problemden neler öğrendik?
Sudokunun temel dersi, problemin en kısıtlı bölümüne bakmamız gerektiğidir. Kısıtlamalar, çoğu
zaman bir problemi zorlaştıran şeyken (tilkiyi, kazı ve mısır çuvalını unutmayın) aynı zamanda çözüm
hakkındaki düşüncemizi basitleştirebilirler çünkü seçenekleri ortadan kaldırırlar.
Yapay zekâyı bu kitapta özel olarak tartışmayacağımıza rağmen, yapay zekâda “en katı değişken”
olarak adlandırılan belirli türdeki problemleri çözmek için bir kural vardır. Kısıtlamaları karşılamak
için farklı değişkenlere farklı değerler atamaya çalıştığınız bir problemde, en fazla kısıtlamaları olan
değişkenle başlamak ya da olası değerlerin en düşük sayısına sahip değişkeni başka bir şekilde koymak
gerekir.
İşte bu tür düşünceye bir örnek. Bir grup iş arkadaşınızın sizinle beraber öğle yemeğine gitmek iste-
diğini ve herkesin beğeneceği bir restoran bulmanızı rica ettiğini varsayalım. Problem şu: Meslektaşların
her biri grup kararında birtakım kısıtlamalar getiriyor; Ayşe vejetaryen, Can Çin yemeklerini sevmiyor
vb. Hedefiniz bir restoran bulmak için gereken süreyi en aza indirmek ise en sıkı kısıtlamalara sahip
36