Algoritma: Değerler belirsiz olduğunda ikili arama


11

Her adımda test yanlış sonuç verebilir zaman bir ikili arama yapmak için bir algoritma gerekir.

Arka plan: Öğrencileri 12 farklı zorluk seviyesine en uygun şekilde yerleştirmem gerekiyor. Şimdiki yaklaşım kaba kuvvettir ve zorlukları artırma, üç yanlıştan sonra durma ve soruyu floor((score - 1) / 5) + 1en az 1 olmak üzere seviyeye yerleştiren 60 4 cevaplı çoktan seçmeli sorular sorar .

Müşterilerin, programı gerçekten kullanmadan önce en fazla 60 sorudan oluşan bir testle karşılaştıklarında kapatıldığından endişe duyuyoruz, bu nedenle testte sorulan soru sayısını en aza indirmek istiyoruz. Ayrıca müşterilerin yerleştirme testini atlaması (çünkü uzun göründüğü için) ve daha sonra çok kolay göründüğü için programı terk etmesinden endişe duyuyoruz.

Ortanca yerleştirme aslında 2. düzeydedir, bu nedenle öğrencilerin% 50'si + 11'in altındadır (yani <14 soruya cevap verin). Anekdot olarak, bunun nedeni sıkılmaları ve soruları ciddiye almayı bırakmaları olabilir (küçük çocuklar).

Önerilen Çözüm: Testi, 6/7 zorluk seviyesinde bir soru ile başlayıp soruyu doğru ya da yanlış alıp almalarına bağlı olarak devam eden on iki öğe üzerinde ikili bir arama olarak uygulayın. Teoride, bu 3-4 soruda kendileri için uygun zorluk seviyesini bulabilir.

Sorun: Mevcut sınavdan sadece üç yanlış cevaptan sonra biten ve 12 seviye arasında seçim yapmak için 60 soru kullandığınızı tahmin edebileceğiniz gibi, doğru cevapları (zamanın% 25'ini yapmaları gerekir) ya da yanlışlıkla öğrenciler için izin vermek istiyoruz yanlış cevaplar vermek (şişman parmaklar, yanlış soru vb.). Bu, ikili bir aramada daha da önemlidir, çünkü ilk soruya doğru bir cevap vermek, diğer tüm soruları yanlış anlasanız bile sizi zorluk seviyelerinin üst yarısına yerleştirebilir.

Bireysel bir testin doğru olduğunu garanti edemeyeceğiniz ikili bir arama için tanınmış bir algoritma var mı?

Saf bir şekilde her adımda 3 veya 5 sorunun en iyisini deneyebilirim ve ilk sorular nihai sonuç üzerinde sonraki sorulardan daha büyük bir etkiye sahip olduğundan, bu ek soruları sonraki adımlara değil, yalnızca erken adımlara ekleyin. Bundan daha fazlası var mı?


Neden hiç ön test yapmadınız? Sadece gerçek testle ilgili soruları kendiniz ayarlayın
Scott Stensland

@ScottStensland, ilginç düşünce. Ancak asıl program, her biri 8-15 HTML5 tuval 'aktivitesinden' veya her biri son derece değişken tasarımlı oyunlardan oluşan 10 'dersin' 12 'haritasıdır. Öğrenciler haritalarda ilerler ve her ders ve haritadan sonra ödül ve ödül / sertifika alırlar. Her oyundan sonra seviyelerini sürekli olarak ayarlasaydık, oldukça şaşırtıcı olurdu ve mevcut tüm oyunlarımıza geri bildirim oluşturmamız ve her oyun için de geri bildirim kurallarını bulmamız gerekiyordu.

@Kirill, bir soruyu başka bir bölüme taşımanın / çapraz postalamanın kolay bir yolu var mı?

@jim Soruyu hareket ettirmelerini istemek için moderatörlerin dikkatine işaret edebilir veya bu soruyu buradan silebilir ve orada yeni bir özdeş soru oluşturabilirsiniz. Crossposting (aynı anda farklı sitelerde aynı soruların olması) genellikle önerilmez. Bu öneriyi yaptım, çünkü bana net bir cevap daha hızlı bulabilecek nispeten basit bir istatistik / makine öğrenme sorusu gibi görünüyor.
Kirill

Yanıtlar:


2

Sorunu bir dizi bayes olasılığı olarak ele alın; başlangıçta, çocuğun her seviyenin hemen altında 1/13 şansı olduğunu ve eksiksiz olması için 1/13 şansın en tepeden düştüğünü varsayalım. Sonra: 1) Dizinizin ortanca seviyesini bulun, yani üstündeki olma olasılığının% 50'ye en yakın olduğu seviyeyi bulun 2) Çocuğa bu seviyeden bir soru sorun. 3) Her hücrenin olasılığını güncellemek için Bayes Kuralını kullanın,% 25 hata oranı varsayın. Bir hücre yeterince yüksek bir olasılığa çarptığında en olası seviyeyi sonlandırın ve geri dönün, ya da sanırım bir seviyede sorularınız bittiğinde.

Bu algoritmanın daha titiz bir tedavisi burada ; Uygulamadan önce okumanızı tavsiye ederim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.