alpaygunes' Alıntı:
Yazılımın dağılımları öğretmen şartlarına uygun olana kadar rastgele yapıyor tahminim. İnsan gibi belli mantık kuralları dahilinde adım adım ilerleyerek dağılım hazırlıyorsa gerçekten işin zor.
Allah yardımcın olsun.
Hocam dersin haftaya yayılma şekline göre (örn 4+4+4 gibi) öğretmenin, okulun, sınıfın koşulları birleştirilerek dersin haftaya yayılabileceği olasılıklar oluşturuluyor. Bazen bir dersin olasılığı 3000 veya fazlasını bulabiliyor. Sonrasında rastgele bir noktadan yerleştirilmeye başlanırıyor. Derslerin yerleşme olasılıkları puanlanarak sonraki yerleştirmelerde puanlamaya göre olasılıklar seçiliyor (İyileştirme ile dağıtımda sonuca ulaşmanın en kilit noktalarından biri) Bir ders yerleşmediğinde derse komşu olan (aynı öğretmenin, sınıfın, dersliğin dersleri) sırasıyla kaldırılıyor ve yerleşmeyen dersin yerleştirilmesi sağlanıyor. Yerleşme oranı belli bir seviyeye ulaştığında %80 gibi yerleşmeyen ders oluştuğunda kendisine komşu olan yerleşmiş bir ders kaldırılıp ikisi birlikte yerleşiyormu diye tarıyor (bu da kilit bir nokta). Yerleşme oranı %95 seviyesine ulaştığında ise yerleşmeyen ders için komşusu olan iki ders kaldırılarak yerleşmeyen ders ile birlikte yerleşebiliyormu diye taranıyor(bu baya zaman alıyor). Bir ders komşusu tarafından kaldırılırsa o anda yerleşmiş olasılık puanı düşürülüp olasılık sonlara atılıyor. Bu yöntem ile yerleştirme ile program sonuca ulaşabiliyor yanlız öğretmenler çok fazla kapatılmamışsa.
Şimdi planladığım yerleştirme yönteminde komşuları ile yerleşmeleri hesaplayacak. Komşu yerleşimler kesiştirilerek tüm olasılıkların yerleştirimesi sağlanacak. Bu yerleştirme yönteminde program tarama yaptıkça elindeki veri artacak, olasılıkları organize edecek ve daha önce komşuları ile yerleşmiş dersleri tanıyacak. Zannedersem asc böyle tarıyor. Bakalım sonuç ne olacak
Ek: İlk yaptığım algoritmada ders olasılıkları sırasıyla denenerek sonuca ulaşımlaya çalışılıyordu. Mantıken eğer bir ders programı yerleştirilebiliyorsa sonucu bulacak olan algoritma buydu fakat tek şubeli bir okulun bile olasılıklarının taranması günler alabilecekti. İnternette yaptığım araştırmalarda bu konuda Genetik Algoritma yönteminin kullanıldığını okudum. Mantık olarak sonsuz yoldan oluşan bir çözüm uzayında, en iyi çözüme ulaşmak için belli sayıda rastgele çözüm populasyonu oluşturuluyor. Bu populasyon içindeki en iyiler ayrılıyor. Populasyon içindeki elemanlar çiftleştirililiyor, mutasyona uğratılıyor ve yeni bireyler ortaya çıkarılıyor. En iyi bireyler seçilerek bu işlem nihayi sonuca ulaşana kadar tekrarlanıyor. Bununla ilgili de algoritma yazdım yanlız benim populasyon %90 lardan sonra gelişmedi