{"id":"https://openalex.org/W4391416625","doi":"https://doi.org/10.1145/3699957","title":"Algorithm 1052: Evaluating a Boolean Polynomial on All Possible Inputs","display_name":"Algorithm 1052: Evaluating a Boolean Polynomial on All Possible Inputs","publication_year":2024,"publication_date":"2024-10-10","ids":{"openalex":"https://openalex.org/W4391416625","doi":"https://doi.org/10.1145/3699957"},"language":"en","primary_location":{"id":"doi:10.1145/3699957","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3699957","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3699957","source":{"id":"https://openalex.org/S163326656","display_name":"ACM Transactions on Mathematical Software","issn_l":"0098-3500","issn":["0098-3500","1557-7295"],"is_oa":false,"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":"ACM Transactions on Mathematical Software","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3699957","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5054666119","display_name":"Charles Bouillaguet","orcid":"https://orcid.org/0000-0001-9416-6244"},"institutions":[{"id":"https://openalex.org/I39804081","display_name":"Sorbonne Universit\u00e9","ror":"https://ror.org/02en5vm52","country_code":"FR","type":"education","lineage":["https://openalex.org/I39804081"]},{"id":"https://openalex.org/I4210137744","display_name":"LabEx PERSYVAL-Lab","ror":"https://ror.org/03eqm6y13","country_code":"FR","type":"facility","lineage":["https://openalex.org/I106785703","https://openalex.org/I1294671590","https://openalex.org/I1326498283","https://openalex.org/I2738703131","https://openalex.org/I4210137744","https://openalex.org/I4210139971","https://openalex.org/I4210150872","https://openalex.org/I899635006","https://openalex.org/I899635006"]}],"countries":["FR"],"is_corresponding":true,"raw_author_name":"Charles Bouillaguet","raw_affiliation_strings":["Sorbonne Universit\u00e9, Paris, France","ALMASTY - ALgorithms for coMmunicAtion SecuriTY (France)"],"affiliations":[{"raw_affiliation_string":"Sorbonne Universit\u00e9, Paris, France","institution_ids":["https://openalex.org/I39804081"]},{"raw_affiliation_string":"ALMASTY - ALgorithms for coMmunicAtion SecuriTY (France)","institution_ids":["https://openalex.org/I4210137744"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5054666119"],"corresponding_institution_ids":["https://openalex.org/I39804081","https://openalex.org/I4210137744"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.01882806,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"50","issue":"4","first_page":"1","last_page":"37"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11435","display_name":"Polynomial and algebraic computation","score":0.9994999766349792,"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"}},"topics":[{"id":"https://openalex.org/T11435","display_name":"Polynomial and algebraic computation","score":0.9994999766349792,"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"}},{"id":"https://openalex.org/T11130","display_name":"Coding theory and cryptography","score":0.9958000183105469,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9926999807357788,"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/boolean-function","display_name":"Boolean function","score":0.6576946973800659},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5701562762260437},{"id":"https://openalex.org/keywords/polynomial","display_name":"Polynomial","score":0.5668862462043762},{"id":"https://openalex.org/keywords/maximum-satisfiability-problem","display_name":"Maximum satisfiability problem","score":0.5130606889724731},{"id":"https://openalex.org/keywords/cryptanalysis","display_name":"Cryptanalysis","score":0.4983499050140381},{"id":"https://openalex.org/keywords/boolean-circuit","display_name":"Boolean circuit","score":0.4974038898944855},{"id":"https://openalex.org/keywords/circuit-minimization-for-boolean-functions","display_name":"Circuit minimization for Boolean functions","score":0.48346051573753357},{"id":"https://openalex.org/keywords/boolean-expression","display_name":"Boolean expression","score":0.4814281165599823},{"id":"https://openalex.org/keywords/and-inverter-graph","display_name":"And-inverter graph","score":0.4799530804157257},{"id":"https://openalex.org/keywords/true-quantified-boolean-formula","display_name":"True quantified Boolean formula","score":0.44038325548171997},{"id":"https://openalex.org/keywords/time-complexity","display_name":"Time complexity","score":0.43966230750083923},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4235790967941284},{"id":"https://openalex.org/keywords/parity-function","display_name":"Parity function","score":0.4140441417694092},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3889368772506714},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.38599810004234314},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.3662800192832947},{"id":"https://openalex.org/keywords/cryptography","display_name":"Cryptography","score":0.07163074612617493}],"concepts":[{"id":"https://openalex.org/C187455244","wikidata":"https://www.wikidata.org/wiki/Q942353","display_name":"Boolean function","level":2,"score":0.6576946973800659},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5701562762260437},{"id":"https://openalex.org/C90119067","wikidata":"https://www.wikidata.org/wiki/Q43260","display_name":"Polynomial","level":2,"score":0.5668862462043762},{"id":"https://openalex.org/C111797529","wikidata":"https://www.wikidata.org/wiki/Q17080584","display_name":"Maximum satisfiability problem","level":3,"score":0.5130606889724731},{"id":"https://openalex.org/C181149355","wikidata":"https://www.wikidata.org/wiki/Q897511","display_name":"Cryptanalysis","level":3,"score":0.4983499050140381},{"id":"https://openalex.org/C141796577","wikidata":"https://www.wikidata.org/wiki/Q837479","display_name":"Boolean circuit","level":3,"score":0.4974038898944855},{"id":"https://openalex.org/C94992772","wikidata":"https://www.wikidata.org/wiki/Q6667469","display_name":"Circuit minimization for Boolean functions","level":4,"score":0.48346051573753357},{"id":"https://openalex.org/C158465420","wikidata":"https://www.wikidata.org/wiki/Q1979515","display_name":"Boolean expression","level":3,"score":0.4814281165599823},{"id":"https://openalex.org/C196836630","wikidata":"https://www.wikidata.org/wiki/Q4753279","display_name":"And-inverter graph","level":4,"score":0.4799530804157257},{"id":"https://openalex.org/C200415742","wikidata":"https://www.wikidata.org/wiki/Q1350285","display_name":"True quantified Boolean formula","level":2,"score":0.44038325548171997},{"id":"https://openalex.org/C311688","wikidata":"https://www.wikidata.org/wiki/Q2393193","display_name":"Time complexity","level":2,"score":0.43966230750083923},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4235790967941284},{"id":"https://openalex.org/C188183281","wikidata":"https://www.wikidata.org/wiki/Q2898309","display_name":"Parity function","level":4,"score":0.4140441417694092},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3889368772506714},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.38599810004234314},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.3662800192832947},{"id":"https://openalex.org/C178489894","wikidata":"https://www.wikidata.org/wiki/Q8789","display_name":"Cryptography","level":2,"score":0.07163074612617493},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3699957","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3699957","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3699957","source":{"id":"https://openalex.org/S163326656","display_name":"ACM Transactions on Mathematical Software","issn_l":"0098-3500","issn":["0098-3500","1557-7295"],"is_oa":false,"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":"ACM Transactions on Mathematical Software","raw_type":"journal-article"},{"id":"pmh:oai:HAL:hal-04418528v1","is_oa":true,"landing_page_url":"https://hal.science/hal-04418528","pdf_url":"https://hal.science/hal-04418528/document","source":{"id":"https://openalex.org/S4406922454","display_name":"SPIRE - Sciences Po Institutional REpository","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"https://hal.science/hal-04418528","raw_type":"info:eu-repo/semantics/preprint"}],"best_oa_location":{"id":"doi:10.1145/3699957","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3699957","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3699957","source":{"id":"https://openalex.org/S163326656","display_name":"ACM Transactions on Mathematical Software","issn_l":"0098-3500","issn":["0098-3500","1557-7295"],"is_oa":false,"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":"ACM Transactions on Mathematical Software","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1484044075","display_name":null,"funder_award_id":"22-PECY-0010","funder_id":"https://openalex.org/F4320320883","funder_display_name":"Agence Nationale de la Recherche"},{"id":"https://openalex.org/G1854824218","display_name":null,"funder_award_id":"ANR-20-CE39","funder_id":"https://openalex.org/F4320320883","funder_display_name":"Agence Nationale de la Recherche"},{"id":"https://openalex.org/G2402987151","display_name":null,"funder_award_id":"ANR-20-CE","funder_id":"https://openalex.org/F4320320883","funder_display_name":"Agence Nationale de la Recherche"},{"id":"https://openalex.org/G7022847571","display_name":null,"funder_award_id":"ANR-22-PECY-0010","funder_id":"https://openalex.org/F4320320883","funder_display_name":"Agence Nationale de la Recherche"},{"id":"https://openalex.org/G7308486393","display_name":null,"funder_award_id":"ANR-20-CE39-0002","funder_id":"https://openalex.org/F4320320883","funder_display_name":"Agence Nationale de la Recherche"},{"id":"https://openalex.org/G7758152977","display_name":null,"funder_award_id":"support","funder_id":"https://openalex.org/F4320322892","funder_display_name":"Centre National de la Recherche Scientifique"}],"funders":[{"id":"https://openalex.org/F4320320883","display_name":"Agence Nationale de la Recherche","ror":"https://ror.org/00rbzpz17"},{"id":"https://openalex.org/F4320322892","display_name":"Centre National de la Recherche Scientifique","ror":"https://ror.org/02feahw73"}],"has_content":{"pdf":true,"grobid_xml":false},"content_urls":{"pdf":"https://content.openalex.org/works/W4391416625.pdf"},"referenced_works_count":33,"referenced_works":["https://openalex.org/W150779690","https://openalex.org/W178840540","https://openalex.org/W1536729852","https://openalex.org/W1976677460","https://openalex.org/W2002427248","https://openalex.org/W2044338030","https://openalex.org/W2071596701","https://openalex.org/W2074286662","https://openalex.org/W2095823805","https://openalex.org/W2109410667","https://openalex.org/W2116078937","https://openalex.org/W2126343091","https://openalex.org/W2164485560","https://openalex.org/W2319466955","https://openalex.org/W2379644271","https://openalex.org/W2552765056","https://openalex.org/W2612047169","https://openalex.org/W2620600500","https://openalex.org/W2752061190","https://openalex.org/W2752885492","https://openalex.org/W2765407482","https://openalex.org/W2913594971","https://openalex.org/W2966278831","https://openalex.org/W3081971729","https://openalex.org/W3088174739","https://openalex.org/W3114277624","https://openalex.org/W3167202156","https://openalex.org/W3169109595","https://openalex.org/W4206331739","https://openalex.org/W4220660085","https://openalex.org/W4250720901","https://openalex.org/W4287973318","https://openalex.org/W4391922441"],"related_works":["https://openalex.org/W2686992952","https://openalex.org/W1996276855","https://openalex.org/W1568384982","https://openalex.org/W2995617542","https://openalex.org/W1926436803","https://openalex.org/W1745650241","https://openalex.org/W2131164334","https://openalex.org/W3141532631","https://openalex.org/W3083297912","https://openalex.org/W2080423274"],"abstract_inverted_index":{"Evaluating":[0],"a":[1,19,87,123],"Boolean":[2,16,43,90,142],"polynomial":[3,44,91],"on":[4,66,92],"all":[5],"possible":[6],"inputs":[7],"(i.e.,":[8],"building":[9],"the":[10,14,35,49,55,70,80,112],"truth":[11,114],"table":[12],"of":[13,37,79],"corresponding":[15],"function)":[17],"is":[18,64,77],"simple":[20],"computational":[21],"problem":[22],"that":[23,129],"sometimes":[24],"appears":[25],"inside":[26],"broader":[27],"applications,":[28],"for":[29,86],"instance":[30],"in":[31,34,145],"cryptanalysis":[32],"or":[33],"implementation":[36],"more":[38],"sophisticated":[39],"algorithms":[40],"to":[41,51,139],"solve":[42],"systems.":[45],"Two":[46],"techniques":[47],"share":[48],"crown":[50],"perform":[52],"this":[53],"task:":[54],"Fast":[56],"Exhaustive":[57],"Search":[58],"(FES)":[59],"algorithm":[60],"from":[61,74],"2010":[62],"(which":[63,76],"based":[65],"Gray":[67],"Codes)":[68],"and":[69,95,125],"space-efficient":[71],"Moebius":[72],"transform":[73],"2021":[75],"reminiscent":[78],"FFT).":[81],"Both":[82],"require":[83],"\\(\\mathcal{O}(d2^{n})\\)":[84],"operations":[85],"degree-":[88],"\\(d\\)":[89],"\\(n\\)":[93],"variables":[94],"operate":[96],"mostly":[97],"in-place,":[98],"but":[99],"have":[100],"other":[101,137],"slightly":[102],"different":[103],"characteristics.":[104],"They":[105],"both":[106,131],"provide":[107],"an":[108],"efficient":[109],"iterator":[110],"over":[111],"full":[113],"table.":[115],"This":[116],"article":[117],"describes":[118],"BoolEAN":[119],"POLynomial":[120],"Evaluation":[121],"(BeanPolE),":[122],"concise":[124],"flexible":[126],"C":[127],"library":[128],"implements":[130],"algorithms,":[132],"as":[133,135],"well":[134],"many":[136],"functions":[138],"deal":[140],"with":[141],"multivariate":[143],"polynomials":[144],"dense":[146],"representation.":[147]},"counts_by_year":[],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2024-02-01T00:00:00"}
