← All problemsFree · Python · 50 min

Algorithm design / guarantees under an adversary

The Weather Panel

Forecast rain from a panel of forecasters with no knowledge of the weather. See why any fixed rule can be forced into twice the best forecaster's mistakes, then write a randomized forecaster within 2 sqrt(T ln n) of the best.

0 / 3 graded parts passSaved in this browser · loading saved work…
Jump to your work ↓

A radio station has a panel of forecasters. Every evening each of them says rain or dry for tomorrow, and the station must broadcast one forecast, though it knows nothing about the weather itself. The figure shows a week with three forecasters. It wants to make not many more mistakes than the best forecaster on the panel, though it cannot know in advance who that is.

day 1day 2day 3day 4day 5mistakesweightAnaRRDRD11/2BenDRRDD21/4CaroRDDDR21/4stationRRDRD1weatherRRDDD
Wrong forecasts are outlined. The station follows the heavier side; each wrong forecaster's weight halves.

The figure's station uses weighted majority. Every forecaster starts with weight 1. The station broadcasts the side with more total weight (rain on a tie), and every forecaster who was wrong has their weight halved.

The weather is an adversary. It may choose each day's outcome after seeing everyone's forecasts, including the station's.

Background: Multiplicative Weights.

easy · Part A

One forecaster is never wrong

The panel has 16 forecasters, and the station knows one of them is never wrong. The station broadcasts what the majority of the forecasters who have never been wrong say (rain on a tie). What is the largest number of mistakes the weather can force the station into?

Explore in the sandbox

Experiment here, then copy a rule into the editor and test its guarantees.