icfpc2010 / purepurecode++
TRANSCRIPT
ICFPC 2010PurePureCode++
Short talk about ICFP Contest 2010
What's ICFPC This year's task Our team: PurePureCode++
About this talk
What's ICFPC?
ICFP
Annual contest held by ICFP organizer No limit to eligibility No limit to programming languages used No limit to team size 72 hours!
ICFP Contest
Organizer praise the programming language of winner's choice
1st place: "the programming language of choice for discriminating hackers"
2nd place: "a fine tool for many applications"
lightning: "very suitable for rapid prototyping"
Prize
2006: UMIX
Past Contests
2008: Mars Rover
2007: Endo
2009: Satellite
This Year's Task
International Car and Fuel Production
This Year's Task
Cars & Fuels
Company A
Company B
Company C
fuel
fuel
fuel
fuel
fuel
Cars: Open-sourcedFuels: Proprietary
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
Core Problem
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!
Golf & Guess
Our TeamIntroducing PurePureCode++
ぴゅあぴゅあこーど++ (pure pure code ++)
@phoenixstarhiro @izumi_yusuke @chunjp @gusmachine @nya3jp @tanakh
Our Team
Day1: spec analysis, simple solver
Day2: SA solver, Car design
Day3: specialized solvers
Summary
Ternary circuit gate guess Analysis of ternary codings Organizing submissions Simple brute-force solver First SA solver
Day1
Improved SA solver Shipping Cars Auto-solver infrastructure
Day2
FrontendServer
DB
Scraper
ICFPCServer
TritEncoderDecoder
CircuitGenerator
AutoSolver
TrivialSolver
Members
ScalarSolver
BFSolver
SASolver
Spec.Solver
AutoSolver
AutoSolver
Haskell
Python
PlainText
Python+CronPython
Bash
C++ / Python
Solver Cluster
Master Server
purepure.cgi
Better solver scheduling Analysis of "hard" Cars Specialized solvers
Day3
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
Strategy
Judge's Prize?
Within Top5! (out of 874 teams) To be announced in ICFP2010
Result