About this talk Short talk about ICFP Contest 2010 What's ICFPC This year's task Our team: PurePureCode++
ICFP Contest Annual contest held by ICFP organizer No limit to eligibility No limit to programming languages used No limit to team size 72 hours!
Prize Organizer praise the programming language of winner's choice 1st place: "the programming language of cho ice for discriminating hackers" 2nd place: "a fine tool for many applications" lightning: "very suitable for rapid prototyping "
Past Contests 2006: UMIX 2007: Endo 2008: Mars Rover 2009: Satellite
This Year's Task
This Year's Task International Car and Fuel Production
Cars & Fuels Company B fuel Company A fuel fuel fuel Company C fuel Cars: Open-sourced Fuels: Proprietary
Core Problem Car: Non-linear system of inequalities, e.g. ABC >= BAAC BBA > ACBA Fuel: Assignment of square matrices with ◦ arbitrary dimension ◦ non-negative integer components (top-left component should be positive) Background: google:///kinaba dyd string rewriting
Golf & Guess Cars and Fuels are coded by ternary coding ◦ 012020210001200102002010021212102001... Fuels are produced by ternary logical circuits ◦ Smaller circuit is better Coding specification is not given... guess it!
Summary Day1: spec analysis, simple solver Day2: SA solver, Car design Day3: specialized solvers
Day1 Ternary circuit gate guess Analysis of ternary codings Organizing submissions Simple brute-force solver First SA solver
Day2 Improved SA solver Shipping Cars Auto-solver infrastructure
ICFPC Solver Cluster Members Server C++ / Python Trivial Solver Scalar Bash Solver Auto Master Server BF Solver Solver Frontend Auto SA Solver Server Scraper Solver Python Python+Cron Auto Spec. Solver Solver Circuit Trit Generator Encoder DB Decoder Haskell PlainText Python
Day3 Better solver scheduling Analysis of "hard" Cars Specialized solvers
Strategy Scoring scheme: ◦ 1/N, 1/(N+1), ..., 1/(2N-1) pts for N-user Car Circuit golf yields upto x2 revenue ◦ Difficult and require resubmission 1user Car vs. 20user Car? ◦ Popular Cars have very small revenue
Result Within Top5! (out of 874 teams) To be announced in ICFP2010