{"id":"https://openalex.org/W2022490329","doi":"https://doi.org/10.1145/2048066.2048076","title":"Synthesis of first-order dynamic programming algorithms","display_name":"Synthesis of first-order dynamic programming algorithms","publication_year":2011,"publication_date":"2011-10-22","ids":{"openalex":"https://openalex.org/W2022490329","doi":"https://doi.org/10.1145/2048066.2048076","mag":"2022490329"},"language":"en","primary_location":{"id":"doi:10.1145/2048066.2048076","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2048066.2048076","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5052178488","display_name":"Yewen Pu","orcid":"https://orcid.org/0009-0000-4190-0636"},"institutions":[{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]},{"id":"https://openalex.org/I134446601","display_name":"Berkeley College","ror":"https://ror.org/02xewxa75","country_code":"US","type":"education","lineage":["https://openalex.org/I134446601"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Yewen Pu","raw_affiliation_strings":["UC Berkeley, Berkeley, CA, USA"],"affiliations":[{"raw_affiliation_string":"UC Berkeley, Berkeley, CA, USA","institution_ids":["https://openalex.org/I134446601","https://openalex.org/I95457486"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5085160432","display_name":"Rastislav Bod\u00edk","orcid":"https://orcid.org/0000-0001-6639-1647"},"institutions":[{"id":"https://openalex.org/I134446601","display_name":"Berkeley College","ror":"https://ror.org/02xewxa75","country_code":"US","type":"education","lineage":["https://openalex.org/I134446601"]},{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Rastislav Bodik","raw_affiliation_strings":["UC Berkeley, Berkeley, CA, USA"],"affiliations":[{"raw_affiliation_string":"UC Berkeley, Berkeley, CA, USA","institution_ids":["https://openalex.org/I134446601","https://openalex.org/I95457486"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5102786175","display_name":"Saurabh Srivastava","orcid":"https://orcid.org/0000-0002-3032-5557"},"institutions":[{"id":"https://openalex.org/I134446601","display_name":"Berkeley College","ror":"https://ror.org/02xewxa75","country_code":"US","type":"education","lineage":["https://openalex.org/I134446601"]},{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Saurabh Srivastava","raw_affiliation_strings":["UC Berkeley, Berkeley, CA, USA"],"affiliations":[{"raw_affiliation_string":"UC Berkeley, Berkeley, CA, USA","institution_ids":["https://openalex.org/I134446601","https://openalex.org/I95457486"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5052178488"],"corresponding_institution_ids":["https://openalex.org/I134446601","https://openalex.org/I95457486"],"apc_list":null,"apc_paid":null,"fwci":3.0817,"has_fulltext":false,"cited_by_count":20,"citation_normalized_percentile":{"value":0.91804832,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"83","last_page":"98"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9987999796867371,"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"}},"topics":[{"id":"https://openalex.org/T11269","display_name":"Algorithms and Data Compression","score":0.9987999796867371,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9983999729156494,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9983000159263611,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/algorithm","display_name":"Algorithm","score":0.7155662775039673},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.71341872215271},{"id":"https://openalex.org/keywords/dynamic-programming","display_name":"Dynamic programming","score":0.6416105031967163},{"id":"https://openalex.org/keywords/constraint-programming","display_name":"Constraint programming","score":0.5657742023468018},{"id":"https://openalex.org/keywords/constraint-satisfaction","display_name":"Constraint satisfaction","score":0.4998917579650879},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.44685888290405273},{"id":"https://openalex.org/keywords/linear-programming","display_name":"Linear programming","score":0.42639482021331787},{"id":"https://openalex.org/keywords/mathematical-optimization","display_name":"Mathematical optimization","score":0.29296794533729553},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1851421594619751},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.15689119696617126},{"id":"https://openalex.org/keywords/stochastic-programming","display_name":"Stochastic programming","score":0.11193469166755676}],"concepts":[{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.7155662775039673},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.71341872215271},{"id":"https://openalex.org/C37404715","wikidata":"https://www.wikidata.org/wiki/Q380679","display_name":"Dynamic programming","level":2,"score":0.6416105031967163},{"id":"https://openalex.org/C173404611","wikidata":"https://www.wikidata.org/wiki/Q528588","display_name":"Constraint programming","level":3,"score":0.5657742023468018},{"id":"https://openalex.org/C44616089","wikidata":"https://www.wikidata.org/wiki/Q30158686","display_name":"Constraint satisfaction","level":3,"score":0.4998917579650879},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.44685888290405273},{"id":"https://openalex.org/C41045048","wikidata":"https://www.wikidata.org/wiki/Q202843","display_name":"Linear programming","level":2,"score":0.42639482021331787},{"id":"https://openalex.org/C126255220","wikidata":"https://www.wikidata.org/wiki/Q141495","display_name":"Mathematical optimization","level":1,"score":0.29296794533729553},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1851421594619751},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.15689119696617126},{"id":"https://openalex.org/C137631369","wikidata":"https://www.wikidata.org/wiki/Q7617831","display_name":"Stochastic programming","level":2,"score":0.11193469166755676},{"id":"https://openalex.org/C49937458","wikidata":"https://www.wikidata.org/wiki/Q2599292","display_name":"Probabilistic logic","level":2,"score":0.0},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2048066.2048076","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2048066.2048076","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.363.7492","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.363.7492","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.berkeley.edu/~bodik/Files/2011/splash-2011.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W200392649","https://openalex.org/W1543916877","https://openalex.org/W1562115776","https://openalex.org/W1607448132","https://openalex.org/W1792831685","https://openalex.org/W1796676969","https://openalex.org/W1877129949","https://openalex.org/W1974514467","https://openalex.org/W1980516134","https://openalex.org/W2009319645","https://openalex.org/W2020080707","https://openalex.org/W2089561656","https://openalex.org/W2098022036","https://openalex.org/W2101432564","https://openalex.org/W2108784678","https://openalex.org/W2111950041","https://openalex.org/W2112283007","https://openalex.org/W2115005120","https://openalex.org/W2130371489","https://openalex.org/W2143566245","https://openalex.org/W2149236697","https://openalex.org/W2293033107","https://openalex.org/W2341171179","https://openalex.org/W3145128584","https://openalex.org/W4210727445","https://openalex.org/W4253778559","https://openalex.org/W4285719527","https://openalex.org/W6600695152","https://openalex.org/W6633596644","https://openalex.org/W7029321148"],"related_works":["https://openalex.org/W2097415053","https://openalex.org/W1514298554","https://openalex.org/W1486916474","https://openalex.org/W4243324743","https://openalex.org/W1531664660","https://openalex.org/W2120647900","https://openalex.org/W1496100162","https://openalex.org/W4303044088","https://openalex.org/W1169406866","https://openalex.org/W4249103506"],"abstract_inverted_index":{"To":[0],"solve":[1],"a":[2,5,49,60,82,103,180],"problem":[3,13,65,181],"with":[4,92,102,148],"dynamic":[6,54,110,138,155],"programming":[7,55,111,139,156],"algorithm,":[8],"one":[9],"must":[10],"reformulate":[11],"the":[12,34,41,45,64,67,73,78,88,126,130,146,172,183,193],"such":[14],"that":[15,69,129],"its":[16],"solution":[17],"can":[18],"be":[19,31],"formed":[20],"from":[21,44],"solutions":[22],"to":[23,39,124,135,144],"overlapping":[24,27],"subproblems.":[25],"Because":[26],"subproblems":[28],"may":[29],"not":[30],"apparent":[32],"in":[33,72],"specification,":[35],"it":[36],"is":[37,90,100],"desirable":[38],"obtain":[40],"algorithm":[42,79,194],"directly":[43],"specification.":[46],"We":[47,141,158,176],"describe":[48],"semi-automatic":[50],"synthesizer":[51,76],"of":[52,63,84,97,154,164,185,192],"linear-time":[53,109,137],"algorithms.":[56,140,157],"The":[57,75,95],"programmer":[58],"supplies":[59],"declarative":[61],"specification":[62],"and":[66,151,171],"operators":[68],"might":[70],"appear":[71],"solution.":[74],"obtains":[77],"by":[80,188],"searching":[81],"space":[83,96,147],"candidate":[85,98],"algorithms;":[86],"internally,":[87],"search":[89],"implemented":[91],"constraint":[93,131],"solving.":[94],"algorithms":[99,161],"defined":[101],"program":[104],"template":[105,127],"reusable":[106],"across":[107],"all":[108],"algorithms,":[112],"which":[113],"we":[114],"characterize":[115],"as":[116],"first-order":[117,186],"recurrences.":[118],"This":[119],"paper":[120],"focuses":[121],"on":[122],"how":[123,143],"write":[125],"so":[128],"solving":[132],"process":[133],"scales":[134],"real-world":[136],"show":[142],"reduce":[145],"(i)~symmetry":[149],"reduction":[150],"(ii)~domain":[152],"knowledge":[153],"have":[159,177],"synthesized":[160,179],"for":[162],"variants":[163],"maximal":[165],"substring":[166],"matching,":[167],"an":[168],"assembly-line":[169],"optimization,":[170],"extended":[173],"Euclid":[174],"algorithm.":[175],"also":[178],"outside":[182],"class":[184],"recurrences,":[187],"composing":[189],"three":[190],"instances":[191],"template.":[195]},"counts_by_year":[{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":4},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":4}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
