• 大小: 4KB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-01-27
  • 语言: Python
  • 标签: python  

资源简介

用python语言,通过遗传算法,解决八皇后问题,,遗传算法(Genetic algorithm)属于演化计算( evolutionary computing),是随着人工智能领域发展而来的一种智能算法。正如它的名字所示,遗传算法是受达尔文进化论启发。简单来说,它是一种通过模拟自然进化过程搜索最优解的方法

资源截图

代码片段和文件信息

import genetic random

class EightQueens:
    def test(self size = 8 mutation_prob = 0.001 population_size=10):
        geneSet = [i for i in range(size)]

        def fnGetFitness(genes):
            return get_fitness(genes size)

        optimalFitness = 0
        genetic.get_best(fnGetFitness geneSet optimalFitness 1000000 0.001)

def get_fitness(genes size):
    fitness = 0
    for i in range(len(genes)):
        fitness += genes.count(genes[i]) - 1
        for j in range(len(genes)):
            if (i != j):
                dx = abs(i -j)
                dy = abs(genes[i] - genes[j])
                if (dx == dy):
                    fitness += 1
    return fitness

if __name__ == ‘__main__‘:
    solver = EightQueens()
    
    print “Solution to the eight queens problem using genetic algorithms“
    print “Mutation proability = 0.1 %“
    print “Maximum iterations = 1000000“
    
    solver.test()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-23 07:55  EightQueens-master\
     文件        1157  2017-11-23 07:55  EightQueens-master\.gitignore
     文件         927  2017-11-23 07:55  EightQueens-master\EightQueens.py
     文件         806  2017-11-23 07:55  EightQueens-master\README.md
     文件        5342  2017-11-23 07:55  EightQueens-master\genetic.py

评论

共有 条评论