A Python']Python-Based Design-by-Contract Evolutionary Algorithm Framework with Augmented Diagnostic Capabilities

被引:0
|
作者
Panchapakesan, Ashwin [1 ]
Abielmona, Rami
Petriu, Emil [1 ]
机构
[1] Univ Ottawa, Sch EECS, Ottawa, ON, Canada
关键词
evolutionary algorithm; design-by-contract; !text type='python']python[!/text] programming language;
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Evolutionary algorithms are a class of algorithms that try to mimic natural, biological evolution a la Darwinian natural selection, to compute solutions to a given problem. They are especially useful when no well known strategies for computing solutions to such a problem exist. Evolutionary algorithms begin by creating a collection (population) of candidate solutions to the problem at hand; and through repeated application of genetic operators such as crossover and mutation, they iterate over multiple generations of this population, until they eventually converge onto an attractive solution. One important problem facing code implementing Evolutionary Algorithms is that due to the dynamic nature of the individual chromosomes in a population, simple coding errors lead to complex bugs that are difficult to both diagnose and debug. This problem is only exacerbated when attempting to develop the algorithms in a dynamically typed language such as Python. This paper presents a novel Evolutionary Algorithm framework for the Python programming language that implements design-by-contract, a paradigm in which each function and class must follow a contractual set of pre-conditions and post-conditions. Failure to follow the contract causes an error condition identifying the violated clause, thereby catching bugs earlier in the development process and in a more descriptive manner.
引用
收藏
页码:2517 / 2524
页数:8
相关论文
共 50 条
  • [1] QuaPy: A Python']Python-Based Framework for Quantification
    Moreo, Alejandro
    Esuli, Andrea
    Sebastiani, Fabrizio
    PROCEEDINGS OF THE 30TH ACM INTERNATIONAL CONFERENCE ON INFORMATION & KNOWLEDGE MANAGEMENT, CIKM 2021, 2021, : 4534 - 4543
  • [2] Simulating Evolutionary Games: A Python']Python-Based Introduction
    Isaac, Alan G.
    JASSS-THE JOURNAL OF ARTIFICIAL SOCIETIES AND SOCIAL SIMULATION, 2008, 11 (03):
  • [3] PYSCF: the Python']Python-based simulations of chemistry framework
    Sun, Qiming
    Berkelbach, Timothy C.
    Blunt, Nick S.
    Booth, George H.
    Guo, Sheng
    Li, Zhendong
    Liu, Junzi
    McClain, James D.
    Sayfutyarova, Elvira R.
    Sharma, Sandeep
    Wouters, Sebastian
    Chan, Garnet Kin-Lic
    WILEY INTERDISCIPLINARY REVIEWS-COMPUTATIONAL MOLECULAR SCIENCE, 2018, 8 (01)
  • [4] mango: A modular python']python-based agent simulation framework
    Schrage, Rico
    Sager, Jens
    Hoerding, Jan Philipp
    Holly, Stefanie
    SOFTWAREX, 2024, 27
  • [5] PySPH: A Python']Python-based Framework for Smoothed Particle Hydrodynamics
    Ramachandran, Prabhu
    Bhosale, Aditya
    Puri, Kunal
    Negi, Pawan
    Muta, Abhinav
    Dinesh, A.
    Menon, Dileep
    Govind, Rahul
    Sanka, Suraj
    Sebastian, Amal S.
    Sen, Ananyo
    Kaushik, Rohan
    Kumar, Anshuman
    Kurapati, Vikas
    Patil, Mrinalgouda
    Tavker, Deep
    Pandey, Pankaj
    Kaushik, Chandrashekhar
    Dutt, Arkopal
    Agarwal, Arpit
    ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2021, 47 (04):
  • [6] automan: A Python']Python-Based Automation Framework for Numerical Computing
    Ramachandran, Prabhu
    COMPUTING IN SCIENCE & ENGINEERING, 2018, 20 (05) : 81 - 97
  • [7] Introducing GPU Acceleration into the Python']Python-Based Simulations of Chemistry Framework
    Li, Rui
    Sun, Qiming
    Zhang, Xing
    Chan, Garnet Kin-Lic
    JOURNAL OF PHYSICAL CHEMISTRY A, 2025, 129 (05): : 1459 - 1468
  • [8] SnapperML: A python']python-based framework to improve machine learning operations
    Molner, Antonio
    Carrillo-Perez, Francisco
    Guillen, Alberto
    SOFTWAREX, 2024, 26
  • [9] ERAsim: A Flexible Python']Python-based Architectural Modeling and Simulation Framework
    Wasly, Saud
    2020 8TH INTERNATIONAL CONFERENCE ON INTELLIGENT AND ADVANCED SYSTEMS (ICIAS), 2021,
  • [10] Analysing the Performance of Python']Python-Based Web Services with the VyPR Framework
    Dawes, Joshua Heneage
    Han, Marta
    Javed, Omar
    Reger, Giles
    Franzoni, Giovanni
    Pfeiffer, Andreas
    RUNTIME VERIFICATION (RV 2020), 2020, 12399 : 67 - 86