-
Notifications
You must be signed in to change notification settings - Fork 3
Monte Carlo integration
Integration is a fundamental problem in mathematics and computer science with many applications that span the whole spectrum of sciences and engineering. It appears, for example, in problems in statistics, biology, and economics, to name a few concrete application areas.
Related software package exist starting from SI and cubature R packages to C++ package latte-integrale. The first can scale to high dimensions but are limited to cubical domains (i.e. high-dimensional cubes) while the later is for more general convex domains (i.e. polytopes). Since latte-integrale is exact it cannot scale to high-dimensions (typically more than 15 dimensions). Therefore there is a need for efficient software that scales to high-dimensions for general convex domains. See also [1].
[1]. Ming-Hui Chen and Bruce W. Schmeiser. 1996. General Hit-and-Run Monte Carlo sampling for evaluating multidimensional integrals. Oper. Res. Lett. 19, 4 (October 1996), 161–169. DOI:https://doi.org/10.1016/0167-6377(96)00030-2
VolEsti is a C++ package with an R interface that performs efficient high dimensional sampling and volume computation. It supports a variety of convex polytope representations and scales to high (i.e., a few hundred) dimensions.
The main purpose of this project is to extent VolEsti’s functionality to handle multi-dimensional integrals. We propose the split the project in the following parts:
- Simple MC integration
- Implement a more advanced MC integration algorithm.
- Check-compare or implement well known MC integration algorithms e.g. MISER, VEGAS
- Examine possible integrations with stan a state-of-the-art platform for statistical modelling and high-performance statistical computation.
- Applications to weighted model integration
- Write tests and documentation
GeomScale will enrich their portfolio of packages by adding support to multi-dimensional integration. Scientific communities will benefit from the use of this package. For example researchers in artificial intelligence have used a home-brew simple versions of the above algorithms for weighted model integration.
Students should have a solid background in C++, algorithms and linear algebra. Knowledge of computational geometry, machine learning or statistical computing will be a plus.
Students, please contact mentors below after completing at least one of the tests below.
-
Vissarion Fisikopoulos <vissarion.fisikopoulos at gmail.com> is an international expert in mathematical software, computational geometry and optimization, and has previous GSOC mentoring experience with Boost C++ libraries (2016-2017) and the R-project (2017).
-
Pedro Zuidberg Dos Martires <pedro.zuidbergdosmartires at cs.kuleuven.be> is an expert in probabilistic logic programming, knowledge compilation, symbolic inference and deep Bayesian modeling and contributor to various open source projects (
volesti
included). -
Samuel Kolb <first name [dot] second name [at] kuleuven [dot] be> is a postdoctoral researcher who specializes in constraint learning and mixed discrete-continuous (hybrid) probabilistic inference for constrained densities. He co-developed several open source software packages in these fields, including a framework for hybrid probabilistic inference solvers.
Students, please do one or more of the following tests before contacting the mentors above.
- Easy: compile and run
volesti
. Read the CRAN package documentation, generate a random H-polytope and compute its volume. - Medium: Use the R package cubature to compute the integral of
f(x) = exp^{-a||x||^2}
over the cube[-1,1]^n
, for various values ofa
and dimensionn
until it crashes. - Hard: Use
volesti
to approximate the same integrals as in previous test by simple Monte Carlo based on uniform sampling and by Importance Sampling using multivariate spherical Gaussian. Comment on the accuracy and run-time.
Bonus: Generate a 100-dimensional
random H-polytope compute the largest inscribed ball (Chebychev ball) and let the center be the x0
. Compute the integral of f(x) = exp^{-a||x-x0||^2}
over the polytope for various values of a
, 20
times each with both uniform and Gaussian sampling and take the average. Report the standard deviation for each experiment.
IMPORTANT: For tips ask the mentors!
Students, please post a link to your test results here.
Name:Rohit Email:phoenixrao885@gmail.com GitHub:https://github.com/phoenixrao885/gsoc-monte-carlo-solutions Test done :monte carlo integration -Easy,Medium,Hard,Bonus
Name: Prajwal Bagal Email: prajwalbagal99@gmail.com Github: https://github.com/Prajwalbagal/GeomScaleTest
Name:Abhishek Agrawal Email:abhishekagrawal8764@gmail.com GitHub:Easy-task: https://github.com/abhishek8764/Monte-Carlo-Integration
Name: Divesh Kuamar Email: f20170875@pilani.bits-pilani.ac.in Task-Link(Easy Randomized LP solver): https://github.com/diveshkr-code/Geomscale_Gsoc2020`
Name: Deifilia To Email: deifilia.to@mail.mcgill.ca Task-link: (Easy and Medium of Apothesis): https://github.com/DeifiliaTo/Apothesis_gsoc
Name: Soumyajit Chakraborty Email: soumyajit1729@gmail.com Task-Link(Easy Task of Apothesis): https://github.com/soumyajit1729/Apothesis
Name: Soumyajit Chakraborty Email: soumyajit1729@gmail.com Task-Link(Medium Task of Apothesis): https://github.com/soumyajit1729/Apothesis
Name: Soumyajit Chakraborty Email: soumyajit1729@gmail.com Task-Link(Hard Task of Apothesis): https://docs.google.com/presentation/d/1mX4UA3x8cs6--aCZ_cN2ZNB6jr3eC7P5sbiEB92YEC0/edit?usp=sharing
Name:Abhishek Agrawal Email:abhishekagrawal8764@gmail.com GitHub:Medium-task: https://github.com/abhishek8764/Monte-Carlo-Integration
Name: Alexandros Manochis, Email: alex.manochis@gmail.com, Github: https://github.com/AlexManochis/volume_approximation/tree/gsoc20, Project: A comparative study of uniform high dimensional samplers, Tests completed: Easy, Medium, Hard
Name: Sunit Gautam Email: gsunit@iitk.ac.in, gautamsunit6206@gmail.com GitHub: https://github.com/gsunit/Monte-Carlo-Intergration Tasks completed: Monte Carlo integration - Easy, Medium, Hard
Name: Vaibhav Thakkar
Email: vaibhav.thakkar.22.12.99@gmail.com
GitHub: https://github.com/vaithak/GeomScale_LP
Tasks completed: Randomized LP - Easy, Medium, Hard
Name: Sharat Bhat Email: iamsharatbhat@gmail.com Github: https://github.com/Sharat-Bhat Tasks: https://github.com/Sharat-Bhat/GSoC_volesti
Name: Kunal Katiyar Email: katiyarkunal2011@gmail.com GitHub: https://github.com/KunalKatiyar/GSoC_RandLP
Name: Reyan Ahmed Email: abureyanahmed@email.arizona.edu GitHub: https://github.com/abureyanahmed/VolEsti_test
Name:Abhishek Agrawal Email:abhishekagrawal8764@gmail.com GitHub:Easy-task: https://github.com/abhishek8764/A-comparative-study-of-uniform-high-dimensional-samplers
Name: Sushovan Haldar Email: sushovan97@gmail.com Github: Easy task of using volesti : https://github.com/SushovanHaldar/geomscalecodes
Name: Anastasios Sourpis Email: sourpisa@gmail.com Github: Apothesis : https://github.com/pithonas/Apothesis
Name: Daniel Pozo Email: danipozo@correo.ugr.es GitHub: https://github.com/danipozo/uld-test-solutions
Name: Iasonas Nikolaou Email: iasonasnikolaou11@hotmail.com GitHub: (Easy and medium task, randomized LP) https://github.com/jasonNikolaou/GeomScale_gsoc
Name: Fernando Martin Email: fdmartin92 (at) gmail (dot) com GitHub: https://github.com/fmartin92/GeomScale_MonteCarlo (All tasks corresponding to the Monte Carlo integration proposal)
Name: Marios Papachristou Email: papachristoumarios [at) gmail (dot] com GitHub: https://github.com/papachristoumarios/geomscales-challenge (All challenges for ULD)
Name: Eugenio Borghini Email: eugenusb@gmail.com GitHub: https://github.com/eugenusb/GeomScale_LP (Easy and medium test projects for the randomized LP solver)
Name: Muhammad Ali Nayeem Email: nayeem007@gmail.com GitHub: https://github.com/ali-nayeem Test: https://github.com/ali-nayeem/gsoc2020_rand_LP_solver
Name: Bychkov Andrey Email: abychkov@edu.hse.ru GitHub: https://github.com/AndreyBychkov Test: https://github.com/AndreyBychkov/LIPA (Hard for Optimization and SOS)
Name: Yuan Yuan Email: yzy0014@auburn.edu Github:https://github.com/yzy0014 Test:https://github.com/yzy0014/GeomScale Test demo:https://rpubs.com/yzy0014/584976, https://rpubs.com/yzy0014/585064 (High dimensional sampling with applications to structural biology)
Name: Haris Zafeiropoulos Email: haris-zaf@hcmr.gr Github:https://github.com/hariszaf/ Test:https://hariszaf.github.io/gsoc2020/
Name: Mokhwa Lee
Email: pos00102@gmail.com OR mokhwa.lee@stonybrook.edu
Github: https://github.com/Mokhwalee
Test: https://github.com/Mokhwalee/Exercise-Gsos
( Monte Carlo - Easy, Medium, Hard, Bonus )
Name: Antonis Skarlatos
Email: antonisskarlatosj@gmail.com
Github: https://github.com/Hepic/
Test: https://github.com/Hepic/Monte-Carlo-integration
(Monte-Carlo-integration: easy/medium/hard/bonus Languages used: R/C++)
Name: Konstantinos Emmanouilidis
Email: emmanouilidis.kons@gmail.com
Github: https://github.com/emmanouilidisk
Test: https://github.com/emmanouilidisk/GeomScale_challenges
(Challenges for Randomised LP Solver)
Name: Imrane Belhadia Email: imrane.belhadia@polymtl.ca Github:https://github.com/ImraneBELH Test: https://github.com/ImraneBELH/gsocEvaluation-MonteCarlo.git (Monte Carlo)
Name: Repouskos Panagiotis Email: panagiotisrep@gmail.com Github: https://github.com/panagiotisrep/volume_approximation/tree/Optimization , https://github.com/panagiotisrep/volume_approximation/tree/SDP-cutting-plane Test: Randomized SDP solver (medium, hard)
Name: Mohammad Taufeeque
Email: 9taufeeque9@gmail.com
Github: https://github.com/taufeeque9
Test: https://github.com/taufeeque9/GSoC_Randomized_SDP_Solver_Test
(Easy and hard task for Randomized SDP Solver)
Name: Bento Natura
Email: b.natura@lse.ac.uk
Github: https://github.com/platformconclude/volume_approximation/tree/spectra_sampling
Test: Randomized SDP solver (medium)
Github: https://github.com/platformconclude/simple_LP_IPM
Test: Interior point method for linear programming (IPM)
Name: Ritwik Chakraborty
Email: ritwikchakraborty.ritwik@gmail.com
Github: https://github.com/ritwikchakraborty123
Test: :A comparative study of uniform high-dimensional samplers (medium)