Буклет GridGain. Задачки про Грефа и Балмера, белорусского программиста с ведром картошки и, конечно, нетривиальное соблазнение тестировщицы Клавдии продолжают публиковать на различных ресурсах на радость автору, и многие уже даже не знают, каков их источник.
Рассказываем. Задачки были специально сочинены главным архитектором core-команды GridGain Сергеем Владыкиным и после решены всеми остальными её участниками.
Мы знаем, что у большинства посетителей конференций, основную сложность вызвала задача №1. Не расстраивайтесь, так же было и среди сотрудников GridGain! Но, справедливости ради, надо отметить, что на московском JPoint нашлось 3 человека, которые решили правильно все 4 задачки и передали свои результаты нам.
Страна! Знай своих героев! Это:
- Алексей Остриков
- Анна Гусенцова
- Иван Смольянинов
Сегодня мы публикуем решения задачек: для тех, кто хорошо их помнит, и для тех, кто видит их впервые. Развлекайтесь!
Далее остается только подсчитать среднее время передачи одного байта в каждую сторону. Так как значения битов “1” и “0” равновероятны, то время передачи одного байта в одну сторону составляет
секунд, время передачи одного байта в другую сторону составляет
секунд. Общее время передачи двух байт в обе стороны составляет
секунд, и, соответственно, пропускная способность в битах составляет
Также стоит отметить, что проводить аналогичные вычисления с частотами некорректно, так как усреднение частот нарушает предположение о равномерном распределении “1” и “0” в битах.
Квадратичная функция достигает своего экстремума (в данном случае — максимума) в точке
Вероятность того, что баг не воспроизведется за 5 прогонов тестов составляет
а значит вероятность того, что после 5 успешных прогонов тестов баг воспроизведется на контрольном прогоне, равна
P.S. Спасибо за старания всем тем, кто нашел время на конференциях JPoint и JBreak на решение этих задачек. А таких было много, что не может не радовать!
Комментарии (15)
novoselov
02.05.2017 21:14+2В первой задаче проблема не в деталях, а в общей формулировке.
Не понятно как вы превысили скоростьсветаБалмера?
1. Если представить что всегда говорит только Балмер, а Греф понимает все сразу (едва Балмер откроет рот), то максимально достижимая скорость 11 бит/сек
2. Из условия следует что Балмер произносит слово приблизительно за 0.091 сек, но уже через 0.05 сек Греф понимает что это слово или молчание (где-то как раз после произнесения «Devel...»). В итоге Балмер произносит 7 слов за 7*1/11 сек, и еще 0.05 сек нужно Грефу чтобы понять смысл 8 слова и начать свою речь.
3. Аналогично Греф тратит 7*1/7 сек на свои 7 слов и 8 слово Балмер понимает за 0.05 сек
4. 16 бит передается за (7/11+1/20)+(7/7+1/20) секунд или 191/110 сек, в среднем получается ~9.214 бит/сек (или 1760/191)
Лучше всего тут бы подошла простая визуализация передачи сообщений по времени, что-то не так там с логикой.artemshitov
02.05.2017 23:22+11. Если представить что всегда говорит только Балмер, а Греф понимает все сразу (едва Балмер откроет рот), то максимально достижимая скорость 11 бит/сек
Из задачи предполагается, что теоретическая разрешающая способность системы — 0.05 сек., но при этом сигнал может посылаться только непрерывным потоком в 1/11 сек. либо 1/7 сек. Соответственно, объем передаваемой информации по данному условию зависит от того, что передается: «0»-и передаются быстрее «1»-иц, поскольку единицы нам нужно ждать дольше, чем мы теоретически могли бы, передавайся они со скоростью эквивалентной нашей разрешающей способности.
Соответственно, максимально достижимая скорость — если передаются только «нули» — 1 / 0.05 = 20 бит / сек. Минимальная, когда всегда передаются «единицы»: бит / сек. Реальная скорость зависит от распределения передаваемых бит, задача была — найти эту скорость для равномерного распределения.
Иллюстрация, как может выглядеть передача 4 бит: 0010.novoselov
03.05.2017 00:39+1Спасибо, «теоретическая разрешающая способность системы — 0.05 сек» вот это вообще не очевидно, в задаче говорится про разрешающую способность приемника, но не передатчика. Из условия я бы предположил, что скорость передатчика фиксирована (11 слов в секунду): хочу говорю, хочу не говорю.
efremov
03.05.2017 08:40+1+1
Из условия задачи нигде не следует, что скорость передачи «0» 0.05 сек. Сказано только, что это скорость распознавания сигнала.madkite
03.05.2017 19:01Вполне может быть не "1" за 0.05 сек, а "0" за длительность произнесения слова. Это зависит от кодирования и непринципиально, т.к. биты по условию равновероятны. Просто так сложилось, что обычно тишину кодируют как "0".
В условии не сказано как передается информация, но очевидно, что оптимальным будет в случае передачи тишины не ждать дольше 0.05 сек.novoselov
03.05.2017 21:06Загвоздка не в том что принято за «0», а что за «1», а в том что длительность тишины передатчика «задана» неявно.
0.05 сек это характеристика приемника, откуда об этом должен знать передатчик? Это что система с обратной связью?
Собеседник же не кивает когда принял сообщение.
shpaker
А в чём сакральный смысл выкладывания текста картинками?
Ole
Чтобы не спёрли? )
poxvuibr
Может, чтобы сохранить первоначальное ламповое оформление?
artemshitov
Стилизация: чтобы ламповая форма соответствовала содержанию. Как в еде — важен не только вкус, но и запах, и форма подачи, или в картинах, где иногда впечатление составляет не только одна картина, но и ее рама или сопроводительный материал (как, например, манифест супрематизма Малевича, относящийся к его Черному квадрату).
GlukKazan
Ламповая стилизация — это хорошо, но текст про Клавдию глазам читать больно.
Почему-то он размытый.
artemshitov
GlukKazan, посмотрите, пожалуйста, похорошела ли теперь Клавдия? Привел картинку в соответствие с остальными по разрешению.
GlukKazan
Да, значительно похорошела.
TheEin
Буклетики именно так и выглядели. Няшный шрифт :-P