SlideShare a Scribd company logo
ICFPC 2010 PurePureCode++
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 ,[object Object]
2008: Mars Rover
2009: Satellite,[object Object]
International Car and Fuel Production This Year's Task
Cars & Fuels Company B fuel Company A fuel fuel fuel Company C fuel Cars: Open-sourced Fuels: 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 Team Introducing 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
ICFPC Server Solver Cluster Members C++ / Python TrivialSolver Scalar Solver Bash Auto Solver Master Server BF Solver Frontend Server Auto Solver Scraper SA Solver Python+Cron Python Auto Solver DB Spec. Solver Trit Encoder Decoder Circuit Generator Haskell PlainText Python
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?

More Related Content

Viewers also liked

Mercurial for Kittens
Mercurial for KittensMercurial for Kittens
Mercurial for Kittens
nya3jp
 
ICFP Programming Contest 2016 Overview & Random Inside Stories
ICFP Programming Contest 2016 Overview & Random Inside StoriesICFP Programming Contest 2016 Overview & Random Inside Stories
ICFP Programming Contest 2016 Overview & Random Inside Stories
nya3jp
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
In a Rocket
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Stanford GSB Corporate Governance Research Initiative
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
Kirsty Hulse
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience
Yuan Wang
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
Post Planner
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
ux singapore
 

Viewers also liked (8)

Mercurial for Kittens
Mercurial for KittensMercurial for Kittens
Mercurial for Kittens
 
ICFP Programming Contest 2016 Overview & Random Inside Stories
ICFP Programming Contest 2016 Overview & Random Inside StoriesICFP Programming Contest 2016 Overview & Random Inside Stories
ICFP Programming Contest 2016 Overview & Random Inside Stories
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 

Similar to ICFPC2010 / PurePureCode++

Sirris 2016 04-12 automated coating deposition by a teach-by-demonstration- s...
Sirris 2016 04-12 automated coating deposition by a teach-by-demonstration- s...Sirris 2016 04-12 automated coating deposition by a teach-by-demonstration- s...
Sirris 2016 04-12 automated coating deposition by a teach-by-demonstration- s...
Sirris
 
Voice Controlled Robotic Vehicle
Voice Controlled Robotic VehicleVoice Controlled Robotic Vehicle
Voice Controlled Robotic Vehicle
Ayesha Shafique
 
Codeplay Software - Open Standards for Automotive Vision Processing & Machine...
Codeplay Software - Open Standards for Automotive Vision Processing & Machine...Codeplay Software - Open Standards for Automotive Vision Processing & Machine...
Codeplay Software - Open Standards for Automotive Vision Processing & Machine...
Charles Macfarlane
 
Team eta presentation 2020
Team eta presentation 2020Team eta presentation 2020
Team eta presentation 2020
Jay Nakrani
 
Demystifying Modern Web Development
Demystifying Modern Web DevelopmentDemystifying Modern Web Development
Demystifying Modern Web Development
Intuit Inc.
 
APIdays Paris 2019 - Challenges at Global Scale by Nizar Chaouch, Airbus
APIdays Paris 2019 - Challenges at Global Scale by Nizar Chaouch, AirbusAPIdays Paris 2019 - Challenges at Global Scale by Nizar Chaouch, Airbus
APIdays Paris 2019 - Challenges at Global Scale by Nizar Chaouch, Airbus
apidays
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
CEE-SEC(R)
 
ICAPS-2020 Industry Session
ICAPS-2020 Industry SessionICAPS-2020 Industry Session
ICAPS-2020 Industry Session
Philippe Laborie
 
Cloud Foundry Summit 2017
Cloud Foundry Summit 2017Cloud Foundry Summit 2017
Global Light-Duty Vehicle Fuel Economy Standards - Drew Kodjak
Global Light-Duty Vehicle Fuel Economy Standards - Drew Kodjak Global Light-Duty Vehicle Fuel Economy Standards - Drew Kodjak
Global Light-Duty Vehicle Fuel Economy Standards - Drew Kodjak
International Council on Clean Transportation
 
IT19817 - 5 Pillars of Effective CAD Management
IT19817 - 5 Pillars of Effective CAD ManagementIT19817 - 5 Pillars of Effective CAD Management
IT19817 - 5 Pillars of Effective CAD ManagementPaul Munford
 
apidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsen
apidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsenapidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsen
apidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsen
apidays
 
MIPI DevCon Seoul 2018: MIPI Alliance Meets the Needs of Autonomous Driving
MIPI DevCon Seoul 2018: MIPI Alliance Meets the Needs of Autonomous DrivingMIPI DevCon Seoul 2018: MIPI Alliance Meets the Needs of Autonomous Driving
MIPI DevCon Seoul 2018: MIPI Alliance Meets the Needs of Autonomous Driving
MIPI Alliance
 
Eclipse Way
Eclipse WayEclipse Way
Eclipse Way
Tomasz Zarna
 
MEP Engineers on the way - How to improve MEP modeling with Dynamo
MEP Engineers on the way - How to improve MEP modeling with DynamoMEP Engineers on the way - How to improve MEP modeling with Dynamo
MEP Engineers on the way - How to improve MEP modeling with Dynamo
Cesare Caoduro
 
GENIVI Development Platform (GDP) summary : 15th AMM
GENIVI Development Platform (GDP) summary : 15th AMMGENIVI Development Platform (GDP) summary : 15th AMM
GENIVI Development Platform (GDP) summary : 15th AMM
Agustin Benito Bethencourt
 
Reimagining User Experiences/User Interfaces
Reimagining User Experiences/User InterfacesReimagining User Experiences/User Interfaces
Reimagining User Experiences/User Interfaces
Ebtihaj khan
 
[WSO2Con EU 2018] Implementing a Zero Downtime WSO2 API Manager with an API C...
[WSO2Con EU 2018] Implementing a Zero Downtime WSO2 API Manager with an API C...[WSO2Con EU 2018] Implementing a Zero Downtime WSO2 API Manager with an API C...
[WSO2Con EU 2018] Implementing a Zero Downtime WSO2 API Manager with an API C...
WSO2
 
Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019
Arun Gupta
 
Case pp t n
Case pp t nCase pp t n
Case pp t nranbaxy
 

Similar to ICFPC2010 / PurePureCode++ (20)

Sirris 2016 04-12 automated coating deposition by a teach-by-demonstration- s...
Sirris 2016 04-12 automated coating deposition by a teach-by-demonstration- s...Sirris 2016 04-12 automated coating deposition by a teach-by-demonstration- s...
Sirris 2016 04-12 automated coating deposition by a teach-by-demonstration- s...
 
Voice Controlled Robotic Vehicle
Voice Controlled Robotic VehicleVoice Controlled Robotic Vehicle
Voice Controlled Robotic Vehicle
 
Codeplay Software - Open Standards for Automotive Vision Processing & Machine...
Codeplay Software - Open Standards for Automotive Vision Processing & Machine...Codeplay Software - Open Standards for Automotive Vision Processing & Machine...
Codeplay Software - Open Standards for Automotive Vision Processing & Machine...
 
Team eta presentation 2020
Team eta presentation 2020Team eta presentation 2020
Team eta presentation 2020
 
Demystifying Modern Web Development
Demystifying Modern Web DevelopmentDemystifying Modern Web Development
Demystifying Modern Web Development
 
APIdays Paris 2019 - Challenges at Global Scale by Nizar Chaouch, Airbus
APIdays Paris 2019 - Challenges at Global Scale by Nizar Chaouch, AirbusAPIdays Paris 2019 - Challenges at Global Scale by Nizar Chaouch, Airbus
APIdays Paris 2019 - Challenges at Global Scale by Nizar Chaouch, Airbus
 
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
Массовый параллелизм для гетерогенных вычислений на C++ для беспилотных автом...
 
ICAPS-2020 Industry Session
ICAPS-2020 Industry SessionICAPS-2020 Industry Session
ICAPS-2020 Industry Session
 
Cloud Foundry Summit 2017
Cloud Foundry Summit 2017Cloud Foundry Summit 2017
Cloud Foundry Summit 2017
 
Global Light-Duty Vehicle Fuel Economy Standards - Drew Kodjak
Global Light-Duty Vehicle Fuel Economy Standards - Drew Kodjak Global Light-Duty Vehicle Fuel Economy Standards - Drew Kodjak
Global Light-Duty Vehicle Fuel Economy Standards - Drew Kodjak
 
IT19817 - 5 Pillars of Effective CAD Management
IT19817 - 5 Pillars of Effective CAD ManagementIT19817 - 5 Pillars of Effective CAD Management
IT19817 - 5 Pillars of Effective CAD Management
 
apidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsen
apidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsenapidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsen
apidays LIVE JAKARTA - GraphQL, gRPC, REST, Oh My! by Mike Amundsen
 
MIPI DevCon Seoul 2018: MIPI Alliance Meets the Needs of Autonomous Driving
MIPI DevCon Seoul 2018: MIPI Alliance Meets the Needs of Autonomous DrivingMIPI DevCon Seoul 2018: MIPI Alliance Meets the Needs of Autonomous Driving
MIPI DevCon Seoul 2018: MIPI Alliance Meets the Needs of Autonomous Driving
 
Eclipse Way
Eclipse WayEclipse Way
Eclipse Way
 
MEP Engineers on the way - How to improve MEP modeling with Dynamo
MEP Engineers on the way - How to improve MEP modeling with DynamoMEP Engineers on the way - How to improve MEP modeling with Dynamo
MEP Engineers on the way - How to improve MEP modeling with Dynamo
 
GENIVI Development Platform (GDP) summary : 15th AMM
GENIVI Development Platform (GDP) summary : 15th AMMGENIVI Development Platform (GDP) summary : 15th AMM
GENIVI Development Platform (GDP) summary : 15th AMM
 
Reimagining User Experiences/User Interfaces
Reimagining User Experiences/User InterfacesReimagining User Experiences/User Interfaces
Reimagining User Experiences/User Interfaces
 
[WSO2Con EU 2018] Implementing a Zero Downtime WSO2 API Manager with an API C...
[WSO2Con EU 2018] Implementing a Zero Downtime WSO2 API Manager with an API C...[WSO2Con EU 2018] Implementing a Zero Downtime WSO2 API Manager with an API C...
[WSO2Con EU 2018] Implementing a Zero Downtime WSO2 API Manager with an API C...
 
Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019Building Java in the Open - j.Day at OSCON 2019
Building Java in the Open - j.Day at OSCON 2019
 
Case pp t n
Case pp t nCase pp t n
Case pp t n
 

ICFPC2010 / PurePureCode++

  • 2. Short talk about ICFP Contest 2010 What's ICFPC This year's task Our team: PurePureCode++ About this talk
  • 5. 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
  • 6. 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
  • 7.
  • 9.
  • 10. International Car and Fuel Production This Year's Task
  • 11. Cars & Fuels Company B fuel Company A fuel fuel fuel Company C fuel Cars: Open-sourced Fuels: Proprietary
  • 12. 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
  • 13. 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
  • 14. Our Team Introducing PurePureCode++
  • 15. ぴゅあぴゅあこーど++ (pure pure code ++) @phoenixstarhiro @izumi_yusuke @chunjp @gusmachine @nya3jp @tanakh Our Team
  • 16. Day1: spec analysis, simple solver Day2: SA solver, Car design Day3: specialized solvers Summary
  • 17. Ternary circuit gate guess Analysis of ternary codings Organizing submissions Simple brute-force solver First SA solver Day1
  • 18. Improved SA solver Shipping Cars Auto-solver infrastructure Day2
  • 19. ICFPC Server Solver Cluster Members C++ / Python TrivialSolver Scalar Solver Bash Auto Solver Master Server BF Solver Frontend Server Auto Solver Scraper SA Solver Python+Cron Python Auto Solver DB Spec. Solver Trit Encoder Decoder Circuit Generator Haskell PlainText Python
  • 20.
  • 22. Better solver scheduling Analysis of "hard" Cars Specialized solvers Day3
  • 23. 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
  • 25. Within Top5! (out of 874 teams) To be announced in ICFP2010 Result