运行进化算法实验的工具

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如何将HashMap<String,Object>从一个活动传递到另一个活动   java如何手动加密socket连接的流量?   java正则表达式生成一个不正确的结果   Java方法引用具有泛型参数的方法   java app setBackground()错误:不兼容的类型:int无法转换为Drawable   java是启动Spring引导而不是SpringApplication的其他方法。跑   无法打开java类路径资源[org/quartz/impl/jdbcjobstore/tables_h2.sql],因为它不存在   spring使用Java,如何确定来自tomcat Web服务器的出站服务调用?   java获取多个同名的XML元素JAXB   java使用Ant从同一代码库构建Swing和Android应用程序   JComponent的java重绘方法不起作用   java目标不可访问,标识符“beanName”解析为null   smtp是否有支持esmtp管道的java api?   java如何在Spring中自动连接业务对象   java在Hibernate中没有其他保存实体的方法吗?   针对两个客户机的SpringJavaWeb应用程序项目开发   使用split的java标记化输入