SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Modelling Languages   Monadic Constraint Programming      Benchmarks   Future Work




           Monadic Constraint Programming with Gecode

                      Pieter Wuille           Tom Schrijvers


                                ModRef’09
                        Lisbon, September 20, 2009
Modelling Languages      Monadic Constraint Programming          Benchmarks          Future Work



Modelling languages
   Zinc approach                                   Gecode approach
   Separate language:                              Library for existing language:
          Very declarative                                Boilerplate/function calls
          Transferring data/results                       Directly callable/usable
          Not all language features                       All host-language features
Modelling Languages         Monadic Constraint Programming          Benchmarks          Future Work



Modelling languages
   Zinc approach                                      Gecode approach
   Separate language:                                 Library for existing language:
          Very declarative                                   Boilerplate/function calls
          Transferring data/results                          Directly callable/usable
          Not all language features                          All host-language features




                      MCP approach
                      Best of both worlds:
                          High-level abstractions
                          Very declarative
                          Directly usable
                      + Compositional search transformers
Modelling Languages       Monadic Constraint Programming   Benchmarks         Future Work



MCP Framework

      MCP Framework
         Constraint Solving framework for Haskell
             Multiple solvers, variables, domains, search strategies, . . .
             Fully functional, no side-effects
             Solver states and search trees are first-class data
             Defines common syntactic sugar
Modelling Languages      Monadic Constraint Programming   Benchmarks   Future Work



FD-MCP: FD solving for MCP

      FD-MCP: Common FD Infrastructure
         FD syntax for term and constraint language
             Model optimizations and decompositions
             Multiple solver backends
Modelling Languages   Monadic Constraint Programming   Benchmarks   Future Work



FD-MCP: FD solving for MCP: example



      model :: FDModel
      model =
        exist 4 $ list@[a,b,c,d] ->
          list ‘allin‘ (0,711)                         /
          sorted list                                  /
          a + b + c + d @= 711                         /
          a * b * c * d @= 711*100*100*100             /
          return list

      main = example_main_void model
Modelling Languages      Monadic Constraint Programming   Benchmarks   Future Work



FD-MCP: Solvers




      FD Solvers
          Haskell-only solver
             Pseudo-solver that generates C++ code for Gecode
             new Real solver using Gecode propagation
             new Real solver using Gecode search+propagation
Modelling Languages                      Monadic Constraint Programming            Benchmarks         Future Work



Benchmark: Allinterval


                                                          Benchmark allinterval
                     1000
                                                  C++ Gecode
                                           MCP Generated C++
                      100
                                       MCP using Gecode prop
                                 MCP using Gecode prop+search
                       10                        MCP Haskell

                        1
         time (s)




                       0.1

                      0.01

                     0.001

                    0.0001

                    1e-05
                             2          4          6            8          10     12        14   16
                                                                problem size
Modelling Languages                        Monadic Constraint Programming               Benchmarks             Future Work



Benchmark: Partition


                                                             Benchmark partition
                     1000
                                                  C++ Gecode
                                           MCP Generated C++
                      100              MCP using Gecode prop
                                 MCP using Gecode prop+search
                                                 MCP Haskell
                       10


                        1
         time (s)




                       0.1


                      0.01


                     0.001


                    0.0001
                             4         6          8        10        12            14    16          18   20
                                                                problem size
Modelling Languages        Monadic Constraint Programming   Benchmarks   Future Work



Future Work



      Future work
          More benchmarks
             Improve performance of MCP using Gecode propagation
             Parametrized models, loop constructs, reification, . . .
             More backends, constraints, variable types, . . .
             Optimizations, generalizations
             Concurrency
Modelling Languages     Monadic Constraint Programming   Benchmarks   Future Work



Thank you!



                              Questions?

      Further reading:
      Monadic Constraint Programming,
      T. Schrijvers, P. Stuckey, P. Wadler.
      Journal of Functional Programming – to appear.

      More information:
      Source code, papers, . . .
      http://www.cs.kuleuven.be/~pieterw/site.php/Topics/FDMCP

Mais conteúdo relacionado

Mais procurados

FregeDay: Roadmap for resolving differences between Haskell and Frege (Ingo W...
FregeDay: Roadmap for resolving differences between Haskell and Frege (Ingo W...FregeDay: Roadmap for resolving differences between Haskell and Frege (Ingo W...
FregeDay: Roadmap for resolving differences between Haskell and Frege (Ingo W...Dierk König
 
Graal VM: Multi-Language Execution Platform
Graal VM: Multi-Language Execution PlatformGraal VM: Multi-Language Execution Platform
Graal VM: Multi-Language Execution PlatformThomas Wuerthinger
 
Deep Learning to Text
Deep Learning to TextDeep Learning to Text
Deep Learning to TextJian-Kai Wang
 
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...Tim Geisler
 
Graal Tutorial at CGO 2015 by Christian Wimmer
Graal Tutorial at CGO 2015 by Christian WimmerGraal Tutorial at CGO 2015 by Christian Wimmer
Graal Tutorial at CGO 2015 by Christian WimmerThomas Wuerthinger
 
Towards easy program migration using language virtualization
 Towards easy program migration using language virtualization Towards easy program migration using language virtualization
Towards easy program migration using language virtualizationESUG
 

Mais procurados (8)

2CPP02 - C++ Primer
2CPP02 - C++ Primer2CPP02 - C++ Primer
2CPP02 - C++ Primer
 
FregeDay: Roadmap for resolving differences between Haskell and Frege (Ingo W...
FregeDay: Roadmap for resolving differences between Haskell and Frege (Ingo W...FregeDay: Roadmap for resolving differences between Haskell and Frege (Ingo W...
FregeDay: Roadmap for resolving differences between Haskell and Frege (Ingo W...
 
Graal VM: Multi-Language Execution Platform
Graal VM: Multi-Language Execution PlatformGraal VM: Multi-Language Execution Platform
Graal VM: Multi-Language Execution Platform
 
Deep Learning to Text
Deep Learning to TextDeep Learning to Text
Deep Learning to Text
 
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
Domain-Specific Languages for Product Modeling (CWG 2011 Cologne, SAP Configu...
 
Graal Tutorial at CGO 2015 by Christian Wimmer
Graal Tutorial at CGO 2015 by Christian WimmerGraal Tutorial at CGO 2015 by Christian Wimmer
Graal Tutorial at CGO 2015 by Christian Wimmer
 
C# language
C# languageC# language
C# language
 
Towards easy program migration using language virtualization
 Towards easy program migration using language virtualization Towards easy program migration using language virtualization
Towards easy program migration using language virtualization
 

Destaque

Presentazione Netlife s.r.l. Comunicazione e Formazione
Presentazione Netlife s.r.l. Comunicazione e FormazionePresentazione Netlife s.r.l. Comunicazione e Formazione
Presentazione Netlife s.r.l. Comunicazione e FormazioneNetlife s.r.l.
 
Presentazione Netlife s.r.l.
Presentazione Netlife s.r.l.Presentazione Netlife s.r.l.
Presentazione Netlife s.r.l.Netlife s.r.l.
 
Paul Holmes la PR Forum 2014 - AndraZaharia.ro
Paul Holmes la PR Forum 2014 - AndraZaharia.roPaul Holmes la PR Forum 2014 - AndraZaharia.ro
Paul Holmes la PR Forum 2014 - AndraZaharia.roAndra Zaharia
 
International workshop on semantic sensor web 2011
International workshop on semantic sensor web 2011International workshop on semantic sensor web 2011
International workshop on semantic sensor web 2011ITACA-TSB
 
Chapter 07
Chapter 07Chapter 07
Chapter 07 Google
 
How to start your open source project
How to start your open source projectHow to start your open source project
How to start your open source projectEslam Diaa
 
Intro-to-scrum
Intro-to-scrumIntro-to-scrum
Intro-to-scrumEslam Diaa
 
Psychoanaliza.blogi naukowe
Psychoanaliza.blogi naukowePsychoanaliza.blogi naukowe
Psychoanaliza.blogi naukoweWeronika
 
Chapter 09
Chapter 09Chapter 09
Chapter 09 Google
 
SEO - 201: Content Optimization and Strategy
SEO - 201: Content Optimization and StrategySEO - 201: Content Optimization and Strategy
SEO - 201: Content Optimization and StrategyThree Deep Marketing
 
Op Sy 03 Ch 25
Op Sy 03 Ch 25Op Sy 03 Ch 25
Op Sy 03 Ch 25 Google
 
Brazen Careerist
Brazen CareeristBrazen Careerist
Brazen Careeristbkeenhold
 
Leverage Relationships for Sustainable Advantage
Leverage Relationships for Sustainable AdvantageLeverage Relationships for Sustainable Advantage
Leverage Relationships for Sustainable AdvantageDavid Hain
 
Vip Hotel Fact Sheet
Vip Hotel Fact SheetVip Hotel Fact Sheet
Vip Hotel Fact SheetVIPHotels
 

Destaque (20)

Local SEO Made Simple
Local SEO Made SimpleLocal SEO Made Simple
Local SEO Made Simple
 
Dramatic
DramaticDramatic
Dramatic
 
Presentazione Netlife s.r.l. Comunicazione e Formazione
Presentazione Netlife s.r.l. Comunicazione e FormazionePresentazione Netlife s.r.l. Comunicazione e Formazione
Presentazione Netlife s.r.l. Comunicazione e Formazione
 
Presentazione Netlife s.r.l.
Presentazione Netlife s.r.l.Presentazione Netlife s.r.l.
Presentazione Netlife s.r.l.
 
Paul Holmes la PR Forum 2014 - AndraZaharia.ro
Paul Holmes la PR Forum 2014 - AndraZaharia.roPaul Holmes la PR Forum 2014 - AndraZaharia.ro
Paul Holmes la PR Forum 2014 - AndraZaharia.ro
 
International workshop on semantic sensor web 2011
International workshop on semantic sensor web 2011International workshop on semantic sensor web 2011
International workshop on semantic sensor web 2011
 
Chapter 07
Chapter 07Chapter 07
Chapter 07
 
How to start your open source project
How to start your open source projectHow to start your open source project
How to start your open source project
 
Be social
Be socialBe social
Be social
 
Marys 50th.Pps
Marys 50th.PpsMarys 50th.Pps
Marys 50th.Pps
 
Intro-to-scrum
Intro-to-scrumIntro-to-scrum
Intro-to-scrum
 
Psychoanaliza.blogi naukowe
Psychoanaliza.blogi naukowePsychoanaliza.blogi naukowe
Psychoanaliza.blogi naukowe
 
Chapter 09
Chapter 09Chapter 09
Chapter 09
 
SEO - 201: Content Optimization and Strategy
SEO - 201: Content Optimization and StrategySEO - 201: Content Optimization and Strategy
SEO - 201: Content Optimization and Strategy
 
Op Sy 03 Ch 25
Op Sy 03 Ch 25Op Sy 03 Ch 25
Op Sy 03 Ch 25
 
Brazen Careerist
Brazen CareeristBrazen Careerist
Brazen Careerist
 
Night Settings
Night SettingsNight Settings
Night Settings
 
Leverage Relationships for Sustainable Advantage
Leverage Relationships for Sustainable AdvantageLeverage Relationships for Sustainable Advantage
Leverage Relationships for Sustainable Advantage
 
Vip Hotel Fact Sheet
Vip Hotel Fact SheetVip Hotel Fact Sheet
Vip Hotel Fact Sheet
 
The Biosphere
The BiosphereThe Biosphere
The Biosphere
 

Semelhante a ModRef'09: Gecode support for MCP

Persistent Memory Programming with Pmemkv
Persistent Memory Programming with PmemkvPersistent Memory Programming with Pmemkv
Persistent Memory Programming with PmemkvIntel® Software
 
Event-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesEvent-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesIstvan Rath
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Codelbergmans
 
Close Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet codeClose Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet codelbergmans
 
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...Shinpei Hayashi
 
고급컴파일러구성론_개레_230303.pptx
고급컴파일러구성론_개레_230303.pptx고급컴파일러구성론_개레_230303.pptx
고급컴파일러구성론_개레_230303.pptxssuser1e7611
 
Working with NIM - By Jordan Hrycaj
Working with NIM - By Jordan HrycajWorking with NIM - By Jordan Hrycaj
Working with NIM - By Jordan Hrycajcamsec
 
L Fu - Dao: a novel programming language for bioinformatics
L Fu - Dao: a novel programming language for bioinformaticsL Fu - Dao: a novel programming language for bioinformatics
L Fu - Dao: a novel programming language for bioinformaticsJan Aerts
 
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019corehard_by
 
From Hours to Minutes: The Journey of Optimizing Mask-RCNN and BERT Using MXNet
From Hours to Minutes: The Journey of Optimizing Mask-RCNN and BERT Using MXNetFrom Hours to Minutes: The Journey of Optimizing Mask-RCNN and BERT Using MXNet
From Hours to Minutes: The Journey of Optimizing Mask-RCNN and BERT Using MXNetEric Haibin Lin
 
Quick fix generation for DSMLs
Quick fix generation for DSMLsQuick fix generation for DSMLs
Quick fix generation for DSMLsÁbel Hegedüs
 
Efficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolEfficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolGwendal Daniel
 
XML Amsterdam 2012 Keynote
XML Amsterdam 2012 KeynoteXML Amsterdam 2012 Keynote
XML Amsterdam 2012 Keynotejimfuller2009
 
Performance Optimization of Deep Learning Frameworks Caffe* and Tensorflow* f...
Performance Optimization of Deep Learning Frameworks Caffe* and Tensorflow* f...Performance Optimization of Deep Learning Frameworks Caffe* and Tensorflow* f...
Performance Optimization of Deep Learning Frameworks Caffe* and Tensorflow* f...Intel® Software
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
 

Semelhante a ModRef'09: Gecode support for MCP (20)

Persistent Memory Programming with Pmemkv
Persistent Memory Programming with PmemkvPersistent Memory Programming with Pmemkv
Persistent Memory Programming with Pmemkv
 
Event-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling LanguagesEvent-driven Model Transformations in Domain-specific Modeling Languages
Event-driven Model Transformations in Domain-specific Modeling Languages
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Code
 
Close Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet codeClose Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet code
 
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
Generating Assertion Code from OCL: A Transformational Approach Based on Simi...
 
고급컴파일러구성론_개레_230303.pptx
고급컴파일러구성론_개레_230303.pptx고급컴파일러구성론_개레_230303.pptx
고급컴파일러구성론_개레_230303.pptx
 
Os Rego
Os RegoOs Rego
Os Rego
 
Working with NIM - By Jordan Hrycaj
Working with NIM - By Jordan HrycajWorking with NIM - By Jordan Hrycaj
Working with NIM - By Jordan Hrycaj
 
L Fu - Dao: a novel programming language for bioinformatics
L Fu - Dao: a novel programming language for bioinformaticsL Fu - Dao: a novel programming language for bioinformatics
L Fu - Dao: a novel programming language for bioinformatics
 
Preparing for Scala 3
Preparing for Scala 3Preparing for Scala 3
Preparing for Scala 3
 
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
The Hitchhiker's Guide to Faster Builds. Viktor Kirilov. CoreHard Spring 2019
 
Turbo charging v8 engine
Turbo charging v8 engineTurbo charging v8 engine
Turbo charging v8 engine
 
From Hours to Minutes: The Journey of Optimizing Mask-RCNN and BERT Using MXNet
From Hours to Minutes: The Journey of Optimizing Mask-RCNN and BERT Using MXNetFrom Hours to Minutes: The Journey of Optimizing Mask-RCNN and BERT Using MXNet
From Hours to Minutes: The Journey of Optimizing Mask-RCNN and BERT Using MXNet
 
Code generation
Code generationCode generation
Code generation
 
Quick fix generation for DSMLs
Quick fix generation for DSMLsQuick fix generation for DSMLs
Quick fix generation for DSMLs
 
Efficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolEfficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï Tool
 
XML Amsterdam 2012 Keynote
XML Amsterdam 2012 KeynoteXML Amsterdam 2012 Keynote
XML Amsterdam 2012 Keynote
 
Performance Optimization of Deep Learning Frameworks Caffe* and Tensorflow* f...
Performance Optimization of Deep Learning Frameworks Caffe* and Tensorflow* f...Performance Optimization of Deep Learning Frameworks Caffe* and Tensorflow* f...
Performance Optimization of Deep Learning Frameworks Caffe* and Tensorflow* f...
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
 
Os Lattner
Os LattnerOs Lattner
Os Lattner
 

Último

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Último (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

ModRef'09: Gecode support for MCP

  • 1. Modelling Languages Monadic Constraint Programming Benchmarks Future Work Monadic Constraint Programming with Gecode Pieter Wuille Tom Schrijvers ModRef’09 Lisbon, September 20, 2009
  • 2. Modelling Languages Monadic Constraint Programming Benchmarks Future Work Modelling languages Zinc approach Gecode approach Separate language: Library for existing language: Very declarative Boilerplate/function calls Transferring data/results Directly callable/usable Not all language features All host-language features
  • 3. Modelling Languages Monadic Constraint Programming Benchmarks Future Work Modelling languages Zinc approach Gecode approach Separate language: Library for existing language: Very declarative Boilerplate/function calls Transferring data/results Directly callable/usable Not all language features All host-language features MCP approach Best of both worlds: High-level abstractions Very declarative Directly usable + Compositional search transformers
  • 4. Modelling Languages Monadic Constraint Programming Benchmarks Future Work MCP Framework MCP Framework Constraint Solving framework for Haskell Multiple solvers, variables, domains, search strategies, . . . Fully functional, no side-effects Solver states and search trees are first-class data Defines common syntactic sugar
  • 5. Modelling Languages Monadic Constraint Programming Benchmarks Future Work FD-MCP: FD solving for MCP FD-MCP: Common FD Infrastructure FD syntax for term and constraint language Model optimizations and decompositions Multiple solver backends
  • 6. Modelling Languages Monadic Constraint Programming Benchmarks Future Work FD-MCP: FD solving for MCP: example model :: FDModel model = exist 4 $ list@[a,b,c,d] -> list ‘allin‘ (0,711) / sorted list / a + b + c + d @= 711 / a * b * c * d @= 711*100*100*100 / return list main = example_main_void model
  • 7. Modelling Languages Monadic Constraint Programming Benchmarks Future Work FD-MCP: Solvers FD Solvers Haskell-only solver Pseudo-solver that generates C++ code for Gecode new Real solver using Gecode propagation new Real solver using Gecode search+propagation
  • 8. Modelling Languages Monadic Constraint Programming Benchmarks Future Work Benchmark: Allinterval Benchmark allinterval 1000 C++ Gecode MCP Generated C++ 100 MCP using Gecode prop MCP using Gecode prop+search 10 MCP Haskell 1 time (s) 0.1 0.01 0.001 0.0001 1e-05 2 4 6 8 10 12 14 16 problem size
  • 9. Modelling Languages Monadic Constraint Programming Benchmarks Future Work Benchmark: Partition Benchmark partition 1000 C++ Gecode MCP Generated C++ 100 MCP using Gecode prop MCP using Gecode prop+search MCP Haskell 10 1 time (s) 0.1 0.01 0.001 0.0001 4 6 8 10 12 14 16 18 20 problem size
  • 10. Modelling Languages Monadic Constraint Programming Benchmarks Future Work Future Work Future work More benchmarks Improve performance of MCP using Gecode propagation Parametrized models, loop constructs, reification, . . . More backends, constraints, variable types, . . . Optimizations, generalizations Concurrency
  • 11. Modelling Languages Monadic Constraint Programming Benchmarks Future Work Thank you! Questions? Further reading: Monadic Constraint Programming, T. Schrijvers, P. Stuckey, P. Wadler. Journal of Functional Programming – to appear. More information: Source code, papers, . . . http://www.cs.kuleuven.be/~pieterw/site.php/Topics/FDMCP