請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/94555完整後設資料紀錄
| DC 欄位 | 值 | 語言 |
|---|---|---|
| dc.contributor.advisor | 于天立 | zh_TW |
| dc.contributor.advisor | Tian-Li Yu | en |
| dc.contributor.author | 徐梓豪 | zh_TW |
| dc.contributor.author | Tzu-Hao Hsu | en |
| dc.date.accessioned | 2024-08-16T16:42:52Z | - |
| dc.date.available | 2024-08-17 | - |
| dc.date.copyright | 2024-08-16 | - |
| dc.date.issued | 2024 | - |
| dc.date.submitted | 2024-08-12 | - |
| dc.identifier.citation | A. Albarghouthi, S. Gulwani, and Z. Kincaid. Recursive program synthesis. In Proceedings of the 25th International Conference on Computer Aided Verification (CAV 2013), Saint Petersburg, Russia, pages 934–950. Springer, Jul. 2013.
T. Blickle and L. Thiele. A comparison of selection schemes used in evolutionary algorithms. Evolutionary Computation, 4(4):361–394, Dec. 1996. R. Bunel, M. Hausknecht, J. Devlin, R. Singh, and P. Kohli. Leveraging grammar and reinforcement learning for neural program synthesis. In 6th International Conference on Learning Representations (ICLR 2018), Vancouver, British Columbia, Canada, Apr. 2018. C. David and D. Kroening. Program synthesis: challenges and opportunities. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, 375(2104):20150403, Sep. 2017. M. C. Fernandes, F. O. de Franca, and E. Francesquini. HOTGP—higher-order typed genetic programming. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2023), Lisbon, Portugal, pages 1091–1099. Association for Computing Machinery, Jul. 2023. S. Forstenlechner, D. Fagan, M. Nicolau, and M. O’Neill. A grammar design pattern for arbitrary program synthesis problems in genetic programming. In Proceedings of the 20th European Conference on Genetic Programming (EuroGP 2017), Amsterdam, The Netherlands, pages 262–277. Springer, Apr. 2017. F. Garrow, M. A. Lones, and R. Stewart. Why functional program synthesis matters (in the realm of genetic programming). In Proceedings of the Genetic and Evolutionary Computation Conference Companion (GECCO 2022 Companion), Boston, Massachusetts, USA, pages 1844–1853. Association for Computing Machinery, Jul. 2022. J. J. Grefenstette. Optimization of control parameters for genetic algorithms. IEEE Transactions on Systems, Man, and Cybernetics, 16(1):122–128, Jan. 1986. S. Gulwani. Automating string processing in spreadsheets using input-output examples. In Proceedings of the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2011), Austin, Texas, USA, pages 317–330. Association for Computing Machinery, Jan. 2011. S. Gulwani. Dimensions in program synthesis. In Proceedings of the 12th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (PPDP 2010), Hagenberg, Austria, pages 13–24. Association for Computing Machinery, Jul. 2010. S. Gulwani, O. Polozov, and R. Singh. Program synthesis. Foundations and TrendsR in Programming Languages, 4(1-2):1–119, Jul. 2017. T. Helmuth and P. Kelly. PSB2: the second program synthesis benchmark suite. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2021), Lille, France, pages 785–794. Association for Computing Machinery, Jul. 2021. T. Helmuth, N. F. McPhee, E. Pantridge, and L. Spector. Improving generalization of evolved programs through automatic simplification. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2017), Berlin, Germany, pages 937–944. Association for Computing Machinery, Jul. 2017. T. Helmuth, N. F. McPhee, and L. Spector. Program synthesis using uniform mutation by addition and deletion. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2018), Kyoto, Japan, pages 1127–1134. Association for Computing Machinery, Jul. 2018. T. Helmuth and L. Spector. General program synthesis benchmark suite. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2015), Madrid, Spain, pages 1039–1046. Association for Computing Machinery, Jul. 2015. T. Helmuth, L. Spector, and J. Matheson. Solving uncompromising problems with lexicase selection. IEEE Transactions on Evolutionary Computation, 19(5):630–643, Oct. 2014. T. Helmuth, L. Spector, N. F. McPhee, and S. Shanabrook. Linear genomes for structured programs. Genetic Programming Theory and Practice XIV, pages 85–100, Oct. 2018. E. Hemberg, J. Kelly, and U.-M. O’Reilly. On domain knowledge and novelty to improve program synthesis performance with grammatical evolution. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2019), Prague, Czech Republic, pages 1039–1046. Association for Computing Machinery, Jul. 2019. P. Hudak. Conception, evolution, and application of functional programming languages. ACM Computing Surveys (CSUR), 21(3):359–411, Sep. 1989. G. Hutton. A tutorial on the universality and expressiveness of fold. Journal of Functional Programming, 9(4):355–372, Sep. 1999. J. R. Koza. Genetic programming as a means for programming computers by natural selection. Statistics and Computing, 4:87–112, Jun. 1994. H. Lieberman. Your wish is my command: programming by example. Morgan Kaufmann, Mar. 2001. S. Luke and L. Panait. A comparison of bloat control methods for genetic programming. Evolutionary computation, 14(3):309–344, Feb. 2006. J. McCarthy. Recursive functions of symbolic expressions and their computation by machine, part i. Communications of the ACM, 3(4):184–195, Apr. 1960. D. J. Montana. Strongly typed genetic programming. Evolutionary Computation, 3(2):199–230, Jun. 1995. E. Pantridge, T. Helmuth, and L. Spector. Functional code building genetic programming. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2022), Boston, Massachusetts, USA, pages 1000–1008. Association for Computing Machinery, Jul. 2022. E. Pantridge, T. Helmuth, and L. Spector. Solving novel program synthesis problems with genetic programming using parametric polymorphism. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2023), Lisbon, Portugal, pages 1175–1183. Association for Computing Machinery, Jul. 2023. E. Pantridge and L. Spector. Code building genetic programming. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2020), Cancun, Mexico, pages 994–1002. Association for Computing Machinery, Jul. 2020. H. Peng, F. Long, and C. Ding. Feature selection based on mutual information criteria of max-dependency, max-relevance, and min-redundancy. IEEE Transactions on Pattern Analysis and Machine Intelligence, 27(8):1226–1238, Jun. 2005. P. Porras, H. Saidi, and V. Yegneswaran. An analysis of conficker’s logic and rendezvous points. Computer Science Laboratory, SRI International, Technical Report, 36, Feb. 2009. C. Ryan, J. J. Collins, and M. O. Neill. Grammatical evolution: Evolving programs for an arbitrary language. In Proceedings of the First European Conference on Genetic Programming (EuroGP 1998), Paris, France, pages 83–96. Springer, Apr. 1998. A. Sabry. What is a purely functional language? Journal of Functional Programming, 8(1):1–22, Jan. 1998. D. R. Smith. Top-down synthesis of divide-and-conquer algorithms. Artificial Intelligence, 27(1):43–96, Sep. 1985. J. E. Smith and T. C. Fogarty. Operator and parameter adaptation in genetic algorithms. Soft Computing, 1:81–87, Jun. 1997. D. Sobania, D. Schweim, and F. Rothlauf. A comprehensive survey on program synthesis with evolutionary algorithms. IEEE Transactions on Evolutionary Computation, 27(1):82–97, Mar. 2022. L. Spector. Autoconstructive evolution: Push, pushgp, and pushpop. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2001), San Francisco, California, USA, pages 137–146. Association for Computing Machinery, Jul. 2001. L. Spector and T. Helmuth. Uniform linear transformation with repair and alternation in genetic programming. Genetic Programming Theory and Practice XI, pages 137–153, Jan. 2014. L. Spector and A. Robinson. Genetic programming and autoconstructive evolution with the push programming language. Genetic Programming and Evolvable Machines, 3:7–40, Mar. 2002. J. Swan, K. Krawiec, and Z. A. Kocsis. Stochastic program synthesis via recursion schemes. In Proceedings of the Genetic and Evolutionary Computation Conference Companion (GECCO 2019 Companion), Prague, Czech Republic, pages 35–36. Association for Computing Machinery, Jul. 2019. S. Thompson. Haskell: the craft of functional programming. Addison-Wesley, Jun. 2011. W. Weimer, T. Nguyen, C. Le Goues, and S. Forrest. Automatically finding patches using genetic programming. In Proceedings of the 31st International Conference on Software Engineering (ICSE 2009), Vancouver, British Columbia, Canada, pages 364–374. IEEE, May 2009. | - |
| dc.identifier.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/94555 | - |
| dc.description.abstract | 程式合成是一個致力於從高階規範自動生成電腦程式的領域,遺傳程式設計是實現程式合成的一種常用方法。Push遺傳程式設計 (PushGP)合成堆疊語言,被認為是遺傳程式設計中最先進的程式合成器之一。然而,另一類研究趨勢則專注於合成基於語法的語言,因為其具有可讀性和易於維護的優勢。在本論文中,我們提出了循環結構遺傳程式設計(RSGP),一個生成純函數式程式的新型語法基程式合成器。RSGP定義了一個線性遞迴函數來模擬單層迴圈行為。此外,RSGP使用皮爾森相關係數當作fitness,並利用最小冗餘最大相關性來促進問題分解。實驗結果顯示,RSGP在CountOdds和LastIndexofZero(來自PSB1)、Luhn(來自PSB2)以及4個自行設計問題中的3個問題上成功次數上超越了PushGP、CBGP和HOTGP。此外,實驗結果亦表明,使用皮爾森相關係數和最小冗餘最大相關性特徵選擇雖然能夠鼓勵適當的問題分解,但是代價是降低了在相似鄰域內的搜索能力,因此RSGP利用一種適應機制調整最大相關性特徵選擇的參數來平衡這一取捨,以自動適應不同問題的需求。 | zh_TW |
| dc.description.abstract | Program synthesis (PS) focuses on the automatic generation of computer programs based on high-level specifications, with genetic programming (GP) being a commonly-used method to accomplish this task. PushGP, which operates on a stack-based language, is recognized as a state-of-the-art program synthesizer within the field of GP. Conversely, another area of research emphasizes grammar-based languages for their readability and ease of maintenance. In this thesis, we propose repetitive structure genetic programming (RSGP), a novel grammar-based program synthesizer under the pure functional programming paradigm. RSGP defines a linear recursive function to emulate the behavior of a single-layer loop. Moreover, RSGP uses the Pearson correlation coefficient (PCC) in the fitness and leverages the minimum redundancy maximum relevance (mRMR) feature selection technique to enhance problem decomposition. The experiment results indicate that RSGP outperforms PushGP, CBGP, and HOTGP in terms of the number of successful programs on CountOdds and LastIndexofZero from PSB1, Luhn from PSB2, and 3 out of 4 designed problems. Furthermore, the experiment results also show that employing PCC and mRMR encourages proper problem decomposition, though it comes at the cost of diminishing the search ability within a similar neighborhood. RSGP incorporates an adaptation mechanism to balance this trade-off, automatically adjusting a parameter in the mRMR selection to meet the needs of different problems. | en |
| dc.description.provenance | Submitted by admin ntu (admin@lib.ntu.edu.tw) on 2024-08-16T16:42:52Z No. of bitstreams: 0 | en |
| dc.description.provenance | Made available in DSpace on 2024-08-16T16:42:52Z (GMT). No. of bitstreams: 0 | en |
| dc.description.tableofcontents | Acknowledgements i
摘要 iii Abstract v Contents vii List of Figures xi List of Tables xiii Chapter 1 Introduction 1 Chapter 2 Background 5 2.1 Pure Functional Programming 5 2.2 Simple Genetic Programming 6 2.2.1 Framework 6 2.2.2 Population Initialization 7 2.2.3 Fitness Evaluation 8 2.2.4 Evolution 9 2.3 PushGP 10 2.3.1 Push Program 11 2.3.2 Program Representation 14 2.3.3 Lexicase Selection 15 2.3.4 Genetic Operators 16 2.3.5 Program Simplification 18 2.4 Code Building Genetic Programming 19 2.5 Higher-order Typed Genetic Programming 20 Chapter 3 Repetitive Structure Genetic Programming 23 3.1 RSGP Overview 23 3.2 Program Initialization 25 3.3 Linear Recursive Function for Single-layer Loop Behavior Simulation 29 3.4 mRMR Selection Mechanism 32 3.4.1 mRMR Selection 32 3.4.2 Weight Adaptation 35 3.5 Program Simplification 38 3.6 Program Linear Scaling 38 Chapter 4 Test Problems 41 4.1 CountOdds 42 4.2 LastIndexofZero 42 4.3 FuelCost 43 4.4 Luhn 43 4.5 MIN 44 4.6 MPI (MNI) 44 4.7 SUB 44 4.8 MUL 45 Chapter 5 Experiments 47 5.1 RSGP-α 47 5.1.1 Experiment Setting 47 5.1.2 Comparison with SOTA Algorithms and Discussions 49 5.2 RSGP-β50 5.2.1 Experiment Setting 51 5.2.2 Comparison with SOTA Algorithms and Discussions 52 5.3 RSGP 54 5.3.1 Experiment Setting 54 5.3.2 Comparison with SOTA Algorithms and Discussions 55 5.4 Albation Study 57 5.5 Loop Test 58 5.5.1 LastIndexofZero 60 5.6 Program Simplification 62 Chapter 6 Conclusion 65 References 67 | - |
| dc.language.iso | en | - |
| dc.subject | 遺傳程式設計 | zh_TW |
| dc.subject | 程式合成 | zh_TW |
| dc.subject | Genetic programming | en |
| dc.subject | Program synthesis | en |
| dc.title | 基於遺傳程式設計在純函數程式設計規範下進行線性遞迴函數之程式合成 | zh_TW |
| dc.title | Genetic Programming-based Program Synthesis with the Linear Recursive Function under the Pure Functional Programming Paradigm | en |
| dc.type | Thesis | - |
| dc.date.schoolyear | 112-2 | - |
| dc.description.degree | 碩士 | - |
| dc.contributor.oralexamcommittee | 陳和麟;林澤 | zh_TW |
| dc.contributor.oralexamcommittee | Ho-Lin Chen;Che Lin | en |
| dc.subject.keyword | 程式合成,遺傳程式設計, | zh_TW |
| dc.subject.keyword | Program synthesis,Genetic programming, | en |
| dc.relation.page | 72 | - |
| dc.identifier.doi | 10.6342/NTU202402589 | - |
| dc.rights.note | 同意授權(限校園內公開) | - |
| dc.date.accepted | 2024-08-13 | - |
| dc.contributor.author-college | 電機資訊學院 | - |
| dc.contributor.author-dept | 電機工程學系 | - |
| 顯示於系所單位: | 電機工程學系 | |
文件中的檔案:
| 檔案 | 大小 | 格式 | |
|---|---|---|---|
| ntu-112-2.pdf 授權僅限NTU校內IP使用(校園外請利用VPN校外連線服務) | 1.14 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。
