#!/usr/bin/pythonThis assumes that judges rulings are uniformly random and not correlated. If the judges are judging "the same thing", there will be correlations between the scores they award. For instance, modifying the program so that half the contestants never get a "1" score and half never get a "4" score, the experimental tie rate is increased to around 47%.
import random
def tie(scores):
m = max(scores)
return scores.count(m) > 1
def score(n,k,rr=random.randrange):
return sum(rr(n) for i in range(k))
def trial(n=4,k=4,c=21,r=10000):
ties = 0
for i in range(r):
scores = [score(n,k) for j in range(c)]
if tie(scores): ties += 1
print ties * 100.0 / r
trial()
.-------------------------------- number of judges| .------------------------ tied at all | | .-------------- tied 3-way or more| | | .---- 4-way tie v v v v1: 0.000000 0.000000 0.0000002: 0.291781 0.083382 0.0416053: 0.183715 0.027522 0.0000004: 0.182510 0.022675 0.0077295: 0.164120 0.019923 0.0000006: 0.149385 0.013828 0.0035457: 0.141616 0.014711 0.0000008: 0.131219 0.010799 0.0025029: 0.126206 0.011848 0.00000010: 0.118189 0.008744 0.00170711: 0.115231 0.009746 0.00000012: 0.108530 0.007491 0.00135213: 0.105946 0.008059 0.00000014: 0.101196 0.006372 0.00099615: 0.098649 0.007183 0.00000016: 0.094638 0.005732 0.00088517: 0.093661 0.006413 0.00000018: 0.090024 0.005204 0.00077019: 0.088074 0.005669 0.00000020: 0.086024 0.004736 0.00063522: 0.081642 0.004342 0.00053923: 0.080525 0.004706 0.00000024: 0.078156 0.004054 0.00046725: 0.077205 0.004389 0.00000026: 0.075718 0.003839 0.00044127: 0.073763 0.004074 0.00000028: 0.072998 0.003451 0.00038429: 0.072220 0.003764 0.00000030: 0.071194 0.003368 0.00036331: 0.069706 0.003513 0.00000032: 0.068883 0.003183 0.000347Source code here
The question isn't a sensible one on its own. You'd have to make assumptions about how the judges are voting and about the distribution of quality among the contestants to get an answer that made any sense at all.
posted by ROU_Xenophobe at 11:32 AM on June 24, 2008 [1 favorite]