Tüm yazılar

Griductive Bulmacalari Nasil Yapilir

Griductive'in kisit tatmini kullanarak bulmacalari nasil ürettigine ve her bulmacanin matematiksel olarak tam olarak tek bir çözüme sahip olmasinin neden garanti edildigine perde arkasi bir bakis.

Yazan: Shawn

Her Griductive bulmacasi cesur bir söz verir: asla tahmin etmeniz gerekmeyecek. Her hücre yalnizca mantikla belirlenebilir ve her bulmacanin tam olarak bir dogru cevabi vardir.

Bu bir tasarim hedefi degil — yöneylem arastirmasi ve çip dogrulamada kullanilan ayni sinif çözücü tarafindan dayatilan matematiksel bir garantidir. Bu yazi bunun nasil yapildigini açiklar.


Benzersizlik Neden Önemlidir

Bir bulmacanin iki geçerli çözümü varsa, hem Süpheli hem de Masum'un tüm ipuçlarini karsiladigi en az bir hücre olmalidir. O hücrede, hiçbir muhakeme miktari size hangisinin dogru oldugunu söyleyemez — tahmin etmeniz gerekirdi. Tahmin, bir çikarim bulmacasinin temel sözlesmesini ihlal eder.

Bu yüzden üreteç yalnizca tek çözümü olan bulmacalar üretmez. Bir bulmaca yayinlanmadan önce ikinci bir çözümün olmadigini kanitlar.


Bes Asamali Boru Hatti

Her Griductive bulmacasi bes asamali bir boru hattiyla üretilir. Her asamada neler oldugunu inceleyelim.

Asama 1: Rastgele Bir Çözüm Üretme

Üreteç, geçerli bir çözüm izgarasi olusturarak baslar — her hücreye Süpheli ve Masum'un rastgele bir atamasi. Bu, oyuncunun sonunda çikarimini yapacagi temel gercektir.

Bu noktada henüz ipucu yoktur. Tabla yalnizca temel yapisal kisitlamalari (izgara boyutlari, geçerli araliklardaki süpheli sayisi) karsilayan rastgele bir konfigürasyondur.

Asama 2: Ipucu Havuzu Olusturma

Ardindan, üreteç çözüm tablosu üzerinde dogru olan her olasi ipucunu kapsamli bir sekilde siralar.

Griductive'de 26'dan fazla farkli ipucu türü vardir — sayma, karsilastirma, uzamsal, varolus, benzersizlik, baglanti ve daha fazlasi. Her tür için, üreteç her geçerli parametrelestirmeyi tabloya karsi test eder. 4x4'lük bir izgara binlerce aday ipucu üretebilir. Yalnizca çözüm üzerinde dogru olarak degerlendirilen ipuçlari tutulur.

Bu, üretecin çalistigi ham malzemedir: çogu gereksiz olan devasa bir dogru ifadeler havuzu.

Asama 3: Minimum Ipucu Kümesi Seçme (Zor Kisim)

Asil is burada yapilir. Üretecin havuzdan su kosullari saglayan küçük bir ipucu alt kümesi seçmesi gerekir:

  1. Ipuçlari yeterlidir — birlikte, çözüm uzayini tam olarak bir geçerli tabloya kisitlarlar.
  2. Hiçbir ipucu gereksiz degildir — herhangi bir ipucunun çikarilmasi birden fazla çözüme izin verir.

Üreteç açgözlü bir kisit tatmini yaklasimi kullanir:

  1. Seçili ipucu olmadan basla. Çözüm uzayi sonuna kadar açik — birçok tabla geçerli olabilir.
  2. Her aday ipucunu çözüm uzayini ne kadar daralttigi açisindan puanla. Kalan olasillklarin %80'ini eleyen bir ipucu, %10'unu eleyenden daha yüksek puan alir.
  3. En yüksek puanli ipucunu seç ve kümeye ekle.
  4. Güncellenmis ipucu kümesiyle kisit modelini yeniden çöz.
  5. Çözücü yalnizca bir çözümün kaldigini onaylayana kadar tekrarla.
  6. Buda: son kümeyi gözden geçir ve benzersizlik için gerekli olmayan her ipucunu çikar. Bu, bulmacanin temiz kalmasini saglar ve oyuncuya bedava bilgi vermekten kaçinir.

Sonuç, siki ve adil bir ipucu kümesidir — bulmacanin tamamen çözülmesi için yeterli, gereksiz ipucu olmadan.

Asama 4: Zorluk Puanlama

Ipucu kümesi kilitlendikten sonra, üreteç bulmacanin zorlugunu 0-100 ölçeginde puanlar. Dört faktör katkida bulunur:

  • Basit ipucu orani (%35) — Kaç ipucu dogrudan sayma veya kimlik ifadesidir. Daha fazla basit ipucu daha kolay bir bulmaca anlamina gelir.
  • Karmasik ipucu orani (%30) — Kaç ipucu çok adimli veya uzamsal akil yürütme gerektirir. Bunlar daha derin çikarim zincirleri talep eder.
  • Bilgi kitligi (%20) — Izgara boyutuna göre ne kadar az ipucu verildigini ölçer. Daha az ipucu, çalismak için daha az malzeme anlamina gelir.
  • Izgara ölçegi (%15) — Daha büyük izgaralari takip etmek dogal olarak daha zordur. 5x5'lik bir bulmaca 3x3'lükün neredeyse üç kati hücreye sahiptir.

Her ipucu türü ayrica gerektirdigi muhakemeye dayali bir içsel karmasiklik derecesine sahiptir. "Julia bir süpheli" gibi bir ipucu mümkün olan en basit türdür. "Julia, 3. satirda tam olarak 1 süpheli komsusuna sahip tek kisidir" gibi bir ipucu birden fazla hücrenin çapraz referanslanmasini gerektirir ve çok daha yüksek puanlanir.

Asama 5: Ipuçlari Üretme ve Çiktinin Biçimlendirilmesi

Son olarak, üreteç ipucu sirasini olusturur — takilan oyunculara bulmacanin mantiksal adimlari boyunca tek tek rehberlik eden önerilen bir çözme sirasi. Ipuçlari bagimlilk derinligine göre siralanir: hemen çikarilabilen hücreler önce gelir ve uzun önceki çikarim zincirleri gerektiren hücreler en sona kalir.

Son bulmaca, oyunun ihtiyaç duydugu tüm verilerle paketlenir: üst veriler, ipucu kümesi, ipucu sirasi ve zorluk puani.


Çözücü: Benzersizlik Nasil Kanitlanir

Boru hattinin kalbinde Google OR-Tools CP-SAT vardir — kisit yayilimi, tamsayi programlama ve SAT çözümünü birlestiren bir kisit programlama çözücüsü.

Bir bulmaca nasil matematik problemine dönüsür

Izgaradaki her hücre bir boole degiskeni olarak modellenir: Süpheli (1) veya Masum (0). Her ipucu, bu degiskenler üzerinde bir veya daha fazla matematiksel kisitlamaya dönüsür.

Örnegin:

  • "3. satirda tam olarak 2 süpheli var" su sekilde olur: cell[3,0] + cell[3,1] + cell[3,2] + cell[3,3] = 2
  • "A sütunundaki tüm süpheliler baglidir" su sekilde olur: A sütunundaki süpheli hücrelerin arasinda bosluk olmadan bitisik bir zincir olusturmasini saglayan bir baglanti kisitlamasi.
  • "1. satirda B sütunundan daha fazla süpheli var" su sekilde olur: sum(row_1) > sum(col_B)

Benzersizlik nasil dogrulanir

Ipucu kümesini olusturduktan sonra, üreteç CP-SAT'a kesin bir soru sorar: "Bu kisitlamalar verildiginde, birden fazla geçerli atama var mi?"

CP-SAT yalnizca bir çözüm bulmaz — tüm çözümleri siralayabilir. Çözücü tam olarak bir tane bulursa, bulmaca geçerlidir. Iki veya daha fazla bulursa, üreteç Asama 3'e geri döner ve baska bir ipucu ekler.

Bu bir sezgisel degil, biçimsel bir kanittir. CP-SAT tüm çözüm uzayini kapsamli bir sekilde arastirir. Bir çözüm oldugunu söylüyorsa, tam olarak bir tane vardir — nokta.

Neden sadece kaba kuvvet kullanilmiyor?

5x5'lik bir izgaranin 25 hücresi vardir ve her birinin 2 olasi degeri vardir. Bu 2^25 = 33 milyon olasi tablodir. Hepsini kaba kuvvetle denemek yavas ve ölçeklenemez.

CP-SAT, kisit yayilimi sayesinde çok daha hizlidir: bir ipucu "3. satirda tam olarak 2 süpheli var" dediginde, çözücü her kombinasyonu ayri ayri kontrol etmeden 3. satirdaki her hücre için arama uzayini aninda daraltir. Karmasik ipuçlari bu etkiyi katlar. Pratikte, CP-SAT 5x5'lik bir bulmacanin benzersizligini milisaniyeler içinde kanitlar.


Neler Yanlis Gidebilir (ve Nasil Önlüyoruz)

"Ya bir ipucu belirsizse?"

Her ipucu türünün biçimsel bir matematiksel tanimi vardir. "Komsular" her zaman çaprazlar dahil çevredeki 8 hücreyi ifade eder. "Bagli" her zaman bitisik hücrelerin kesintisiz bir zincirini ifade eder. "Arasinda" her zaman ayni satir veya sütundaki hücreleri, uç noktalar hariç, ifade eder.

Bu tanimlar dogrudan kisit modeline yerlestirilmistir — belirsizligin sizabilecegi dogal dil yorumlama adimi yoktur. Oyun içi Açiklayici Detaylar referansi oyunculara her uzamsal anahtar kelimenin tam olarak ne anlama geldigini gösterir.

"Ya çözücünün bir hatasi varsa?"

CP-SAT çözücüsü, Google'in optimizasyon ekibi tarafindan sürdürülen, iyi test edilmis, yaygin olarak kullanilan bir araçtir. Ancak yalnizca güvene dayanmiyoruz. Üretilen her bulmaca bagimsiz olarak dogrulanir:

  1. Otomatik bir çözücü her bulmacanin adim adim çözümünü dener ve insan bir oyuncuyu simüle eder. Yalnizca mantiksal çikarimla tam bir çözüme ulasamilyorsa, bulmaca reddedilir.
  2. Ipucu saglam lilik kontrolleri, siradaki her ipucunun mantiksal olarak geçerli oldugunu — ipucu verilen hücrenin ipuçlari ve daha önce açilan hücrelerden gerçekten çikariabilir oldugunu, gizli bilgiden degil — dogrular.

"Ya ipucu üretimi uç durumlari kaçirirsa?"

Her ipucu türünün bilinen bulmaca konfigürasyonlarina karsi test edilen biçimsel bir degerlendirme fonksiyonu vardir. Ipucu havuzu üretim asamasi yalnizca gerçek çözüm üzerinde dogru olarak degerlendirilen ipuçlarini içerir — çözüm üzerinde yanlis olan bir ipucu asla bulmacada görünemez.


Sonuç

Bir Griductive bulmacasini açtiginizda, su islemler zaten gerçeklesmistir:

  1. Rastgele bir çözüm üretildi.
  2. Binlerce aday ipucu buna karsi degerlendirildi.
  3. Minimum, gereksizlik içermeyen bir alt küme seçildi.
  4. Biçimsel bir çözücü, bu ipuçlarini tam olarak bir çözümün karsiladigini kanitladi.
  5. Otomatik bir çözücü, bulmacanin saf çikarimla çözülebilir oldugunu bagimsiz olarak dogruladi.
  6. Bir zorluk puani hesaplandi ve ipucu sirasi üretildi.

Her bulmaca, her gün, dört izgara boyutunun hepsinde. Istisna yok.

Söz geçerliliginini koruyor: takildiysaniz, henüz tam olarak kullanmadiginiz bir ipucu vardir. Iki cevabin mümkün oldugunu düsünüyorsaniz, ipuçlarini yeniden okuyun — mantik bunu çözecektir. Ve kanit istiyorsaniz, Mantik Grafi size ipuçlarindan çözüme giden tam çikarim zincirini gösterecektir.


Sirada Ne Var: Bir Hikaye Anlatan Ipuçlari

Su anda Griductive'in ipuçlari kesin mantiksal ifadeler gibi okunuyor — açik ve kesin, ama kusakusuz biraz klinik. "3. satirda tam olarak 2 süpheli var" isini görüyor, ama sizi tam olarak bir davadaki dedektif gibi hissettirmiyor.

Bunu degistirmek için aktif olarak çalisiyoruz. Amaç, ipuçlarinin ifade edilme biçimini çesitlendirmek — ayni temel mantiksal kesinligi korurken tematik tat katmak. Tatil etkinliklerine bagli ipuçlari veya belirli bir suç mahallinden tanik ifadesi olarak çerçevelenmis ipuçlari hayal edin. Steril bir formül yerine, bir sorusturmadan gerçek bir kanit parçasi gibi hissettiren bir sey okursunuz.

Temel kisitlama degismedi: her ipucu tutarli, kesin ve biçimsel olarak dogrulanabilir olmalidir. Çözücü, bir ipucunun matematik ders kitabi gibi mi yoksa kara film dedektif romani gibi mi seslendigini umursamaz — yalnizca mantiksal içerikle ilgilenir. Bu ayrim, dogruluktan ödün vermeden daha zengin ifadeyi mümkün kilan seydir.

Ayni garantiler. Ayni titizlik. Ama denklemlerden çok, çözmeye deger davalara benzeyen bulmacalar.


Tahmin yok. Sans yok. Matematiksel olarak garantili.

Bugünün bulmacasini oyna →