Yapay Zeka Ders Programını Nasıl Oluşturur?

5 dk okuma Apakademia
Yapay zeka ders programını nasıl oluşturur

Yapay zeka ders programını üç aşamada oluşturur: (1) okulun kuralları matematiksel kısıtlara çevrilir, (2) çözücü bu kısıtların hepsini aynı anda sağlayan bir yerleşim arar ve çelişkiye düştüğü dalları erkenden budar, (3) geçerli çözümler arasından tercihleri en iyi karşılayanı seçer. Sistem programı önce kurup sonra hatalarını düzeltmez; çakışma üretemeyecek şekilde arar.

Neden basit bir "yerleştirme" yetmez?

Ders programı üretmenin en akla yatkın yolu şu görünür: dersleri sırayla al, boş bir saate koy, çakışma varsa bir sonrakine geç. Bu yönteme açgözlü (greedy) yerleştirme denir ve küçük okullarda işe yarar.

Sorun şu ki bu yöntem geri dönemez. 400. dersi yerleştirirken hiçbir uygun saat kalmadığını fark ettiğinizde, sebebi 50. derste yapılmış bir seçimdir. Açgözlü yöntem o seçimi geri alamaz; ya eksik programla kalır ya baştan başlar.

Gerçek okullarda bu durum kural değil istisnadır: dersler yerleşemez, idareci elle müdahale eder, müdahale başka bir yeri bozar.

Kuralların matematiğe çevrilmesi

Kısıt çözümleme yaklaşımı problemi baştan farklı kurar. Her ders bir değişken, o dersin alabileceği gün-saat kombinasyonları o değişkenin alanıdır. Kurallar ise değişkenler arasındaki ilişkilerdir:

  • Müsaitlik: "Bu öğretmen çarşamba 3. saatte müsait değil" → o dersin alanından ilgili değer çıkarılır.
  • Tekillik: "Bir öğretmen aynı saatte tek yerde olabilir" → o öğretmenin tüm dersleri farklı zaman dilimlerine düşmeli.
  • Bitişiklik: "Bu iki saat blok olmalı" → iki değişken arasında ardışıklık ilişkisi.
  • Kaynak paylaşımı: "Bu derslik aynı anda tek gruba" → dersliği kullanan derslerin zamanları ayrışmalı.

Bu kurulum yapıldığında problem, "hangi dersi nereye koyayım" sorusundan "tüm bu ilişkileri aynı anda sağlayan bir atama var mı" sorusuna dönüşür.

Arama uzayının daraltılması

Olası kombinasyon sayısı gerçekten astronomiktir. 700 dersin her birinin 72 olası zaman dilimi olduğu bir okulda kaba kuvvetle tüm olasılıkları denemek mümkün değildir.

Çözücünün yaptığı şey olasılıkları denemek değil, elemektir. Bir derse bir saat atandığında o atamanın etkisi ilişkili tüm değişkenlere anında yayılır: aynı öğretmenin diğer dersleri o saati alan alanlarından çıkarır, aynı sınıfın dersleri de öyle. Buna kısıt yayılımı denir.

Bir değişkenin alanı boşaldığında — yani o derse hiçbir saat kalmadığında — çözücü o dalın çözümsüz olduğunu anlar ve o daldaki milyarlarca olasılığı hiç denemeden eler. Bu yüzden pratikte çözüm dakikalar içinde bulunur.

Zorunlu kısıt ve tercih ayrımı

İyi bir motor iki tür kuralı ayırt eder ve bu ayrım sonucun kalitesini belirler.

Zorunlu kısıtlar ihlal edilemez: öğretmen müsaitliği, üç çakışma türü, blok bütünlüğü. Bunlardan biri sağlanmıyorsa çözüm geçersizdir.

Tercihler puanlanır: derslerin haftaya dengeli yayılması, öğretmenlerin boş saatlerinin azaltılması, aynı dersin bir güne yığılmaması, zor derslerin sabaha gelmesi. Çözücü geçerli çözümler arasından toplam puanı en yüksek olanı arar.

Yalnız zorunlu kısıtlara bakan bir sistem "çakışmasız ama kullanışsız" programlar üretir: teknik olarak doğru, uygulamada herkesi rahatsız eden.

Sabitleme: kısmi yeniden çözüm

Kısıt tabanlı kurulumun pratikteki en büyük faydası revizyonda ortaya çıkar. Beğendiğiniz dersleri sabitlediğinizde, o dersler yeni çözümde de zorunlu kısıt sayılır — alanları tek bir değere indirgenir.

Çözücü bu kez çok daha küçük bir problem çözer: yalnız sabitlenmemiş dersler için yeni bir denge arar. Bu yüzden dönem ortası değişiklikler programın tamamını bozmaz.

Kuralları modele çevirirken yapılan hatalar

Kısıt tabanlı bir sistemin sonucu, modelin ne kadar doğru kurulduğuna bağlıdır. Uygulamada üç hata sık tekrarlanır.

Tercihi zorunlu kısıt yapmak. "Öğretmenin gün içinde hiç boşluğu olmasın" kuralı katı kısıt olarak tanımlandığında, çoğu okulda problem çözümsüz hale gelir. Aynı kural esnek kısıt olarak yazıldığında sistem mümkün olduğunca sağlar, gerektiğinde ödün verir.

Çelişkili kural yazmak. "Matematik her gün olsun" ve "aynı ders bir güne en fazla iki saat" kuralları, haftada 12 saat matematik olan bir sınıfta çelişir. Sistem çözümsüz der; sebep veridir.

Kısıtı eksik ifade etmek. Blok ders "iki saat aynı gün" olarak tanımlanırsa, sistem bunları günün iki ayrı ucuna koyabilir. Doğru ifade "arka arkaya iki saat" olmalıdır.

Bu üç hata, çözücünün gücünden bağımsız olarak sonucu bozar.

Süre sınırı ve "yeterince iyi" çözüm

Kısıt çözücüleri iki şey yapabilir: geçerli bir çözüm bulmak ve bulduğu çözümün en iyi olduğunu kanıtlamak. İkincisi genellikle birincisinden kat kat uzun sürer.

Pratikte şu tablo görülür: çözücü ilk geçerli programı saniyeler içinde bulur, sonraki dakikalarda tercih puanını kademeli iyileştirir, ardından uzun süre aynı çözümde kalıp "bu en iyisi" kanıtını üretmeye çalışır.

Bu yüzden gerçek sistemlerde bir süre sınırı tanımlanır. Süre dolduğunda elde edilen en iyi çözüm kullanılır; optimallik kanıtlanmamış olsa da program geçerlidir ve tercihleri büyük ölçüde karşılar. Okul planlamasında bu makul bir alışveriştir — %2 daha iyi bir programı kanıtlamak için saatlerce beklemenin pratik karşılığı yoktur.

Neden bazen ikinci çalıştırma farklı sonuç verir?

Aynı veriyle program iki kez üretildiğinde sonuçlar birebir aynı olmayabilir. Bu bir tutarsızlık değildir; modern çözücüler aramayı paralel iş parçacıklarıyla yürütür ve hangi iş parçacığının önce çözüme ulaştığı çalıştırmaya göre değişebilir.

Her iki sonuç da tüm zorunlu kısıtları sağlar ve tercih puanları birbirine yakındır. Yine de aynı sonucu tekrar elde etmek isteyen kurumlar için doğru yaklaşım, beğenilen programı sabitlemek veya kopyasını saklamaktır — üretimi tekrarlayıp aynı çıktıyı beklemek değil.

Yapay zeka ders programı üretiminde bu davranış, esneklik olarak da kullanılabilir: aynı kurallarla birkaç seçenek üretip aralarından seçim yapmak mümkündür.

Çözüm bulunamadığında

Bazı problemler çözümsüzdür ve bu bir yazılım kusuru değildir. En sık sebep, belirli bir saatte ders yapması gereken sınıf sayısının o saatte müsait öğretmen sayısından fazla olmasıdır.

Böyle bir durumda çözücü "çözüm yok" der. İyi bir sistem bununla yetinmez: hangi derslerin yerleşemediğini ve hangi kaynağın darboğaz olduğunu raporlar. Gerçek bir örnekte, 600 ders saatlik bir programda 4 dersin yerleşememesinin sebebi tek bir zaman diliminde 17 sınıfın 15 öğretmene ihtiyaç duymasıydı — iki öğretmenin o saate müsaitlik açması sorunu tamamen çözdü.

Bu bir "yapay zeka" mı?

Terim tartışmalıdır ve dürüst cevap şudur: burada kullanılan yöntem, üretici yapay zeka modellerinden (dil modelleri gibi) tamamen farklıdır. Kısıt çözümleme, yapay zekanın sembolik dalına aittir ve tahmin yapmaz — matematiksel kesinlikle çalışır.

Bu aslında bir avantajdır. Bir çözüm üretildiğinde, tanımlanan tüm zorunlu kısıtların sağlandığı kanıtlanabilir. Tahmine dayalı bir sistemin veremeyeceği bir güvence budur.

Bu Konuda Sıkça Sorulanlar

Yapay zeka ders programını nasıl oluşturur?

Önce okulun kuralları matematiksel kısıtlara çevrilir: her ders bir değişken, alabileceği gün-saat kombinasyonları o değişkenin alanı olur. Ardından çözücü tüm kısıtları aynı anda sağlayan bir atama arar ve çelişkiye düştüğü dalları erkenden eler. Son aşamada geçerli çözümler arasından tercihleri en iyi karşılayanı seçer.

Basit yerleştirme yöntemi neden yetersiz kalır?

Dersleri sırayla alıp boş saate koyan açgözlü yöntem geri dönemez. 400. dersi yerleştirirken uygun saat kalmadığını fark ettiğinizde sebep 50. derste yapılmış bir seçimdir ve o seçim geri alınamaz. Sonuç ya eksik program ya baştan başlamaktır; gerçek okullarda bu durum istisna değil kuraldır.

Zorunlu kısıt ile tercih arasındaki fark nedir?

Zorunlu kısıtlar ihlal edilemez: öğretmen müsaitliği, öğretmen-sınıf-derslik çakışması ve blok bütünlüğü. Tercihler ise puanlanır: derslerin haftaya dengeli yayılması, boş saatlerin azaltılması, zor derslerin sabaha gelmesi. Yalnız zorunlu kısıtlara bakan sistem çakışmasız ama uygulamada rahatsız edici programlar üretir.

Ders sabitleme nasıl çalışır?

Sabitlenen ders, yeni üretimde zorunlu kısıt sayılır ve alanı tek bir değere indirgenir. Çözücü bu kez çok daha küçük bir problem çözer: yalnız sabitlenmemiş dersler için yeni bir denge arar. Bu sayede dönem ortası değişiklikler programın tamamını bozmaz, yalnız etkilenen kısım yeniden düzenlenir.

Kısıt çözümleme dil modelleriyle aynı şey mi?

Hayır, tamamen farklıdır. Kısıt çözümleme yapay zekanın sembolik dalına aittir ve tahmin yapmaz; matematiksel kesinlikle çalışır. Bir çözüm üretildiğinde tanımlanan tüm zorunlu kısıtların sağlandığı kanıtlanabilir. Bu, tahmine dayalı sistemlerin veremeyeceği bir güvencedir.

← Tüm yazılar