Steve Ballmer'ın hatalı binary search mülakat sorusu
- Steve Ballmer, Microsoft mülakatlarında adaylara bulmaca tarzı sorular soruyordu. Bu soru, binary search ve beklenen değere dayanıyordu.
- Ballmer, "1 ile 100 arasında bir sayı düşünüyorum. Bilirsen para veririm, bilemezsen para alırım" şeklinde bir oyun önerdi.
- Ballmer, bu oyunun kabul edilmemesi gerektiğini savundu. Bunun iki nedeni olduğunu söyledi: Birincisi, en zor sayıyı seçebileceği; ikincisi ise rastgele seçim yapılırsa beklenen değerin negatif olacağı.
Binary search stratejisi
- Binary search stratejisi izlenirse, Ballmer belirli bir sayı seçtiğinde $1 ödemek zorunda kalır.
- Örneğin Ballmer 59'u seçerse, binary search stratejisiyle 5 adımda bulunabilir. Emily Chang bunu gerçekten neredeyse doğru tahmin etmişti.
Beklenen değer hesabı
- Ballmer sayıyı rastgele seçerse, beklenen değer $0.20 olur.
- Kod örneğiyle her değer için tahmin sayısı ve toplam beklenen değer hesaplanabilir.
- Beklenen değer şu şekilde hesaplanır: 5 * 1/100 + 4 * 2/100 + 3 * 4/100 + 2 * 8/100 + 1 * 16/100 + 0 * 32/100 + -1 * 37/100.
Ballmer'ın hatası
- Ballmer'ın, $0 kazanılan 6 tahmin durumunu hesaba katmamış olması mümkündür.
- Eğer Ballmer "1 ile 100 arasında bir sayı düşünüyorum. Bilirsen para veririm, bilemezsen para alırım" demişse, beklenen değer -$0.49 olurdu.
Yorumlar
- Damian Cugley: Başka bir tahmin algoritmasının daha iyi olup olamayacağını merak ediyor.
- royalroad: Ballmer'ın anlattığı şey eksik bilgiye sahip bir oyun; en iyi beklenen değeri hesaplamak için Nash dengesini bulmak gerekir.
- espadrine: Ballmer'ın gizli sayıyı değiştirebileceğini ima etmiş olması mümkün.
GN⁺ özeti
- Bu yazı, binary search algoritması ve beklenen değer hesabı üzerine ilginç bir örnek sunuyor.
- Ballmer'ın oyun önerisi, matematiksel analizle beklenen değerin nasıl hesaplanacağını gösteriyor.
- Binary search algoritmasını anlamaya ve uygulamaya yardımcı olabilir.
- Benzer işlevlere sahip diğer projeler arasında "HackerRank" ve "LeetCode" bulunuyor.
1 yorum
Hacker News görüşleri
Karmaşık bir alanda (ödemeler) kıdemli rol mülakatı deneyimi
Ballmer'in sayı seçimi üzerine tartışma
İkili aramanın problem çözme aracı olarak faydası
Python betiği paylaşımı
Başarıyı kendi zekâsına atfetme hatası
Oyunun adil olup olmadığına dair soru
Nash denge çözümüne dair merak
Ballmer'in sorudan kaçınması
Mülakat sorusunun amacı
Programcı ararken matematikçi işe almak