{"title":"并行递归","authors":"","doi":"10.1145/3568325.3568334","DOIUrl":null,"url":null,"abstract":"Role of recursion and induction in parallel computations We in computer science are extremely fortunate that recursion is applicable for descriptions and induc tion for analysis of sequential programs. In fact, they are indispensable tools in programming. Sequentiality is inherent in mathematics. The Peano axioms define natural numbers in a sequential fashion, starting with 0 and defining each num ber as the successor of the previous one. One can see its counterpart in Haskell; the fundamental data structure, list, is either empty, corresponding to 0, or one formed by appending a single element to a smaller list. Naturally, induction is the major tool for analyzing programs on lists. There is no counterpart of parallelism in classical mathematics because tradi tional mathematics is not concerned about mechanisms of computations, sequen tial or parallel. Any possible parallel structure is sequentialized (or serialized) so that traditional mathematical tools, including induction, can be used for its analy sis. Therefore, most parallel recursive algorithms are typically described iteratively, one parallel step at a time. The mathematical properties of the algorithms are rarely evident from these descriptions. Parallel Recursion","PeriodicalId":302246,"journal":{"name":"Effective Theories in Programming Practice","volume":"22 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Parallel Recursion\",\"authors\":\"\",\"doi\":\"10.1145/3568325.3568334\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Role of recursion and induction in parallel computations We in computer science are extremely fortunate that recursion is applicable for descriptions and induc tion for analysis of sequential programs. In fact, they are indispensable tools in programming. Sequentiality is inherent in mathematics. The Peano axioms define natural numbers in a sequential fashion, starting with 0 and defining each num ber as the successor of the previous one. One can see its counterpart in Haskell; the fundamental data structure, list, is either empty, corresponding to 0, or one formed by appending a single element to a smaller list. Naturally, induction is the major tool for analyzing programs on lists. There is no counterpart of parallelism in classical mathematics because tradi tional mathematics is not concerned about mechanisms of computations, sequen tial or parallel. Any possible parallel structure is sequentialized (or serialized) so that traditional mathematical tools, including induction, can be used for its analy sis. Therefore, most parallel recursive algorithms are typically described iteratively, one parallel step at a time. The mathematical properties of the algorithms are rarely evident from these descriptions. Parallel Recursion\",\"PeriodicalId\":302246,\"journal\":{\"name\":\"Effective Theories in Programming Practice\",\"volume\":\"22 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1900-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Effective Theories in Programming Practice\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3568325.3568334\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Effective Theories in Programming Practice","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3568325.3568334","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Role of recursion and induction in parallel computations We in computer science are extremely fortunate that recursion is applicable for descriptions and induc tion for analysis of sequential programs. In fact, they are indispensable tools in programming. Sequentiality is inherent in mathematics. The Peano axioms define natural numbers in a sequential fashion, starting with 0 and defining each num ber as the successor of the previous one. One can see its counterpart in Haskell; the fundamental data structure, list, is either empty, corresponding to 0, or one formed by appending a single element to a smaller list. Naturally, induction is the major tool for analyzing programs on lists. There is no counterpart of parallelism in classical mathematics because tradi tional mathematics is not concerned about mechanisms of computations, sequen tial or parallel. Any possible parallel structure is sequentialized (or serialized) so that traditional mathematical tools, including induction, can be used for its analy sis. Therefore, most parallel recursive algorithms are typically described iteratively, one parallel step at a time. The mathematical properties of the algorithms are rarely evident from these descriptions. Parallel Recursion