{"id":"https://openalex.org/W2995933598","doi":"https://doi.org/10.1145/3371104","title":"Optimal approximate sampling from discrete probability distributions","display_name":"Optimal approximate sampling from discrete probability distributions","publication_year":2019,"publication_date":"2019-12-20","ids":{"openalex":"https://openalex.org/W2995933598","doi":"https://doi.org/10.1145/3371104","mag":"2995933598"},"language":"en","primary_location":{"id":"doi:10.1145/3371104","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3371104","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3371104","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3371104","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Feras A. Saad","orcid":null},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Feras A. Saad","raw_affiliation_strings":["Massachusetts Institute of Technology, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Cameron E. Freer","orcid":null},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Cameron E. Freer","raw_affiliation_strings":["Massachusetts Institute of Technology, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Martin C. Rinard","orcid":null},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Martin C. Rinard","raw_affiliation_strings":["Massachusetts Institute of Technology, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, USA","institution_ids":["https://openalex.org/I63966007"]}]},{"author_position":"last","author":{"id":null,"display_name":"Vikash K. Mansinghka","orcid":null},"institutions":[{"id":"https://openalex.org/I63966007","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44","country_code":"US","type":"education","lineage":["https://openalex.org/I63966007"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Vikash K. Mansinghka","raw_affiliation_strings":["Massachusetts Institute of Technology, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Massachusetts Institute of Technology, USA","institution_ids":["https://openalex.org/I63966007"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I63966007"],"apc_list":null,"apc_paid":null,"fwci":0.2126,"has_fulltext":true,"cited_by_count":3,"citation_normalized_percentile":{"value":0.58321706,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":"4","issue":"POPL","first_page":"1","last_page":"31"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12056","display_name":"Markov Chains and Monte Carlo Methods","score":0.06040000170469284,"subfield":{"id":"https://openalex.org/subfields/2613","display_name":"Statistics and Probability"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T12056","display_name":"Markov Chains and Monte Carlo Methods","score":0.06040000170469284,"subfield":{"id":"https://openalex.org/subfields/2613","display_name":"Statistics and Probability"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12261","display_name":"Statistical Mechanics and Entropy","score":0.057100001722574234,"subfield":{"id":"https://openalex.org/subfields/3109","display_name":"Statistical and Nonlinear Physics"},"field":{"id":"https://openalex.org/fields/31","display_name":"Physics and Astronomy"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10720","display_name":"Complexity and Algorithms in Graphs","score":0.04670000076293945,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/probability-distribution","display_name":"Probability distribution","score":0.5619000196456909},{"id":"https://openalex.org/keywords/importance-sampling","display_name":"Importance sampling","score":0.5519999861717224},{"id":"https://openalex.org/keywords/rejection-sampling","display_name":"Rejection sampling","score":0.5436000227928162},{"id":"https://openalex.org/keywords/slice-sampling","display_name":"Slice sampling","score":0.5266000032424927},{"id":"https://openalex.org/keywords/sampling-distribution","display_name":"Sampling distribution","score":0.49070000648498535},{"id":"https://openalex.org/keywords/sampling","display_name":"Sampling (signal processing)","score":0.47600001096725464},{"id":"https://openalex.org/keywords/entropy","display_name":"Entropy (arrow of time)","score":0.4657000005245209},{"id":"https://openalex.org/keywords/bounded-function","display_name":"Bounded function","score":0.46389999985694885},{"id":"https://openalex.org/keywords/convolution-random-number-generator","display_name":"Convolution random number generator","score":0.4578000009059906},{"id":"https://openalex.org/keywords/principle-of-maximum-entropy","display_name":"Principle of maximum entropy","score":0.41449999809265137}],"concepts":[{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.5884000062942505},{"id":"https://openalex.org/C149441793","wikidata":"https://www.wikidata.org/wiki/Q200726","display_name":"Probability distribution","level":2,"score":0.5619000196456909},{"id":"https://openalex.org/C52740198","wikidata":"https://www.wikidata.org/wiki/Q1539564","display_name":"Importance sampling","level":3,"score":0.5519999861717224},{"id":"https://openalex.org/C187192777","wikidata":"https://www.wikidata.org/wiki/Q381699","display_name":"Rejection sampling","level":5,"score":0.5436000227928162},{"id":"https://openalex.org/C170593435","wikidata":"https://www.wikidata.org/wiki/Q4128565","display_name":"Slice sampling","level":4,"score":0.5266000032424927},{"id":"https://openalex.org/C167723999","wikidata":"https://www.wikidata.org/wiki/Q3773214","display_name":"Sampling distribution","level":2,"score":0.49070000648498535},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4830000102519989},{"id":"https://openalex.org/C140779682","wikidata":"https://www.wikidata.org/wiki/Q210868","display_name":"Sampling (signal processing)","level":3,"score":0.47600001096725464},{"id":"https://openalex.org/C106301342","wikidata":"https://www.wikidata.org/wiki/Q4117933","display_name":"Entropy (arrow of time)","level":2,"score":0.4657000005245209},{"id":"https://openalex.org/C34388435","wikidata":"https://www.wikidata.org/wiki/Q2267362","display_name":"Bounded function","level":2,"score":0.46389999985694885},{"id":"https://openalex.org/C116643974","wikidata":"https://www.wikidata.org/wiki/Q5166606","display_name":"Convolution random number generator","level":4,"score":0.4578000009059906},{"id":"https://openalex.org/C9679016","wikidata":"https://www.wikidata.org/wiki/Q1417473","display_name":"Principle of maximum entropy","level":2,"score":0.41449999809265137},{"id":"https://openalex.org/C60507348","wikidata":"https://www.wikidata.org/wiki/Q6795892","display_name":"Maximum entropy probability distribution","level":3,"score":0.4106000065803528},{"id":"https://openalex.org/C82152865","wikidata":"https://www.wikidata.org/wiki/Q7208505","display_name":"Poisson sampling","level":5,"score":0.384799987077713},{"id":"https://openalex.org/C126255220","wikidata":"https://www.wikidata.org/wiki/Q141495","display_name":"Mathematical optimization","level":1,"score":0.37459999322891235},{"id":"https://openalex.org/C128963836","wikidata":"https://www.wikidata.org/wiki/Q6322815","display_name":"K-distribution","level":3,"score":0.37130001187324524},{"id":"https://openalex.org/C153083717","wikidata":"https://www.wikidata.org/wiki/Q6535263","display_name":"Leverage (statistics)","level":2,"score":0.3517000079154968},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.3312999904155731},{"id":"https://openalex.org/C388246","wikidata":"https://www.wikidata.org/wiki/Q7302465","display_name":"Inverse distribution","level":4,"score":0.31929999589920044},{"id":"https://openalex.org/C39947850","wikidata":"https://www.wikidata.org/wiki/Q729523","display_name":"Geometric distribution","level":3,"score":0.311599999666214},{"id":"https://openalex.org/C141547133","wikidata":"https://www.wikidata.org/wiki/Q7291996","display_name":"Random variate","level":3,"score":0.310699999332428},{"id":"https://openalex.org/C67926830","wikidata":"https://www.wikidata.org/wiki/Q5051810","display_name":"Categorical distribution","level":5,"score":0.304500013589859},{"id":"https://openalex.org/C167981619","wikidata":"https://www.wikidata.org/wiki/Q1685498","display_name":"Cross entropy","level":3,"score":0.3041999936103821},{"id":"https://openalex.org/C201866948","wikidata":"https://www.wikidata.org/wiki/Q228206","display_name":"Random number generation","level":2,"score":0.30379998683929443},{"id":"https://openalex.org/C75373757","wikidata":"https://www.wikidata.org/wiki/Q7410160","display_name":"Sampling design","level":3,"score":0.30000001192092896},{"id":"https://openalex.org/C122123141","wikidata":"https://www.wikidata.org/wiki/Q176623","display_name":"Random variable","level":2,"score":0.29580000042915344},{"id":"https://openalex.org/C143606050","wikidata":"https://www.wikidata.org/wiki/Q1377019","display_name":"Inverse transform sampling","level":3,"score":0.2953999936580658},{"id":"https://openalex.org/C197055811","wikidata":"https://www.wikidata.org/wiki/Q207522","display_name":"Probability density function","level":2,"score":0.28110000491142273},{"id":"https://openalex.org/C1602530","wikidata":"https://www.wikidata.org/wiki/Q1472677","display_name":"Heavy-tailed distribution","level":3,"score":0.27790001034736633},{"id":"https://openalex.org/C2993010571","wikidata":"https://www.wikidata.org/wiki/Q49908","display_name":"Probability sampling","level":3,"score":0.2734000086784363},{"id":"https://openalex.org/C124551494","wikidata":"https://www.wikidata.org/wiki/Q3055345","display_name":"Differential entropy","level":4,"score":0.27090001106262207},{"id":"https://openalex.org/C158424031","wikidata":"https://www.wikidata.org/wiki/Q1191905","display_name":"Gibbs sampling","level":3,"score":0.2678999900817871},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.26249998807907104},{"id":"https://openalex.org/C195579931","wikidata":"https://www.wikidata.org/wiki/Q3623548","display_name":"Applied probability","level":2,"score":0.25220000743865967}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3371104","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3371104","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3371104","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2001.04555","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2001.04555","pdf_url":"https://arxiv.org/pdf/2001.04555","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/3371104","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3371104","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3371104","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2995933598.pdf","grobid_xml":"https://content.openalex.org/works/W2995933598.grobid-xml"},"referenced_works_count":25,"referenced_works":["https://openalex.org/W152055444","https://openalex.org/W370026640","https://openalex.org/W1918916807","https://openalex.org/W1965555277","https://openalex.org/W1995875735","https://openalex.org/W2023270232","https://openalex.org/W2024219718","https://openalex.org/W2024859348","https://openalex.org/W2026503057","https://openalex.org/W2031648200","https://openalex.org/W2032996857","https://openalex.org/W2039142693","https://openalex.org/W2043804802","https://openalex.org/W2065221212","https://openalex.org/W2083767537","https://openalex.org/W2107917944","https://openalex.org/W2114265450","https://openalex.org/W2116940697","https://openalex.org/W2131940723","https://openalex.org/W2142785003","https://openalex.org/W2154321579","https://openalex.org/W2162346812","https://openalex.org/W2162635854","https://openalex.org/W2509544990","https://openalex.org/W3125832933"],"related_works":[],"abstract_inverted_index":{"This":[0,191],"paper":[1],"addresses":[2],"a":[3,13,18,35,78,118,122,131,163,197,207,216,251],"fundamental":[4],"problem":[5,84],"in":[6,229],"random":[7,14],"variate":[8],"generation:":[9],"given":[10],"access":[11],"to":[12,116,166,263],"source":[15],"that":[16,93,142,183,205,259,269],"emits":[17],"stream":[19],"of":[20,50,62,74,101,109,125,127,210,222,244,254],"independent":[21],"fair":[22],"bits,":[23],"what":[24],"is":[25,138,148,162,195],"the":[26,48,51,63,99,107,144,167,186,213,235,257],"most":[27,71],"accurate":[28],"and":[29,85,104,150,225,241,267],"entropy-efficient":[30],"algorithm":[31,65,133],"for":[32,81,89,121],"sampling":[33,64,91,102,132,181,224,248],"from":[34],"discrete":[36],"probability":[37],"distribution":[38,53,146,153,169],"(":[39,54,154,170],"p":[40,44,171,175],"1":[41,56,156,172],",":[42,57,157,173],"\u2026,":[43,58,158,174],"n":[45,60,160,176],"),":[46],"where":[47],"probabilities":[49],"output":[52,152],"p\u0302":[55,59,155,159],")":[61,161,177],"must":[66],"be":[67],"specified":[68,187,214],"using":[69],"at":[70],"k":[72,188],"bits":[73],"precision?":[75],"We":[76,112,233],"present":[77],"theoretical":[79],"framework":[80],"formulating":[82],"this":[83],"provide":[86],"new":[87],"techniques":[88],"finding":[90],"algorithms":[92,182,249],"are":[94,261,277],"optimal":[95,192,246],"both":[96],"statistically":[97],"(in":[98,106],"sense":[100,108],"accuracy)":[103],"information-theoretically":[105],"entropy":[110,136,211,237],"consumption).":[111],"leverage":[113],"these":[114],"results":[115],"build":[117],"system":[119],"that,":[120],"broad":[123,252],"family":[124],"measures":[126],"statistical":[128],"accuracy,":[129,236],"delivers":[130],"whose":[134,151],"expected":[135],"usage":[137],"minimal":[139],"among":[140,178],"those":[141],"induce":[143],"same":[145],"(i.e.,":[147],"\u201centropy-optimal\u201d)":[149],"closest":[164],"approximation":[165,199],"target":[168],"all":[179],"entropy-optimal":[180],"operate":[184],"within":[185],"-bit":[189],"precision.":[190],"approximate":[193,247,265],"sampler":[194,204],"also":[196],"closer":[198],"than":[200,276],"any":[201],"(possibly":[202],"entropy-suboptimal)":[203],"consumes":[206],"bounded":[208],"amount":[209],"with":[212],"precision,":[215],"class":[217],"which":[218],"includes":[219],"floating-point":[220],"implementations":[221],"inversion":[223],"related":[226],"methods":[227],"found":[228],"many":[230],"software":[231],"libraries.":[232],"evaluate":[234],"consumption,":[238],"precision":[239],"requirements,":[240],"wall-clock":[242],"runtime":[243],"our":[245],"on":[250],"set":[253],"distributions,":[255],"demonstrating":[256],"ways":[258],"they":[260,270],"superior":[262],"existing":[264],"samplers":[266],"establishing":[268],"often":[271],"consume":[272],"significantly":[273],"fewer":[274],"resources":[275],"needed":[278],"by":[279],"exact":[280],"samplers.":[281]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2020,"cited_by_count":1}],"updated_date":"2026-08-26T07:47:46.906454","created_date":"2019-12-26T00:00:00"}
