运行进化算法实验的工具

natural-selection的Python项目详细描述


自然选择

      ,(*                                         
           @@                                     
*@       @@% *@                                   
*@     @@   %@ @                                  
 @@/ @@   @@   @@                                 
   @@@(,@(   @/ @@@@@@@&@@@@@                     
                 @ @&  @@  /@@@#                  
                 /@  @@  ,@@   @@                 
                  ,@@   @@   @@  @                
                    %@@@   @@    @@@@@@@@@@@@@    
                          ,,      @  @@  @@  &@@@ 
                                  %@@  @@  &@@  @@
                                   @%@@  &@@     @
                                    ,@,%@@        
                                       @@@@@@     
             _                   _ 
 _ __   __ _| |_ _   _ _ __ __ _| |
| '_ \ / _` | __| | | | '__/ _` | |
| | | | (_| | |_| |_| | | | (_| | |
|_| |_|\__,_|\__|\__,_|_|  \__,_|_|                                   
          _           _   _             
 ___  ___| | ___  ___| |_(_) ___  _ __  
/ __|/ _ \ |/ _ \/ __| __| |/ _ \| '_ \ 
\__ \  __/ |  __/ (__| |_| | (_) | | | |
|___/\___|_|\___|\___|\__|_|\___/|_| |_|
                                        
by Zipfian Science                               

Zipfian Science创建和运行进化算法(EA)实验的Python工具。在

有关文档,请参阅docs。在

源位于GitHub。在

安装

^{pr2}$

和使用

importrandomfromnatural_selection.gaimportGene,Genome,Individual,Island# Create a geneg_1=Gene(name="test_int",value=3,gene_max=10,gene_min=1,rand_type_func=random.randint)g_2=Gene(name="test_real",value=0.5,gene_max=1.0,gene_min=0.1,rand_type_func=random.random)# Add a list of genes to a genomegen=Genome([g_1,g_2])# Next, create an individual to carry these genes and evaluate themfitness_function=lambdagen,x,y:gen[0].value*x+yadam=Individual(fitness_function,name="Adam",genome=gen)# Now we can create an island for running the evolutionary process# Notice the fitness function parameters are given here.params=dict()params['x']=0.5params['y']=0.2isolated_island=Island(function_params=params)# Using a single individual, we can create a new populationisolated_island.create(adam,population_size=5)# And finally, we let the randomness of life do its thing: optimisebest_individual=isolated_island.evolve_generational(n_generations=5)# After running for a few generations, we have an individual with the highest fitnessfitness=best_individual.fitnessgenes=best_individual.genomeforgeneingenes:print(gene.name,gene.value)

释放

  • 日期:2020-12-07
  • 版本:0.1.1

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像