用Python实现简单的遗传算法

用Python实现简单的遗传算法

这几天一直在用Python写一个简单的遗传算法,好自己拿来实验。断断续续的折腾了几天,今天下午终于写了一个简单的出来。整个代码还是仿照《游戏编程中的人工智能技术》中的代码来写的。如果想简单的学习一下遗传算法以及简单应用《游戏编程中的人工智能技术》是不错的选择。

代码如下(点击这里下载):

# -*- coding:utf-8 -*-
# file: GA.py
#   by: bluebanboom                 0(0
# mail: bluebanboom@gmail.com       ~
# date: 2008-10-22
# note:
import random
class genome:
def __init__(self, length = 0):
self.fitness = 0
self.bits = []
for i in range(length):
self.bits.append(random.randint(0, 1))
class ga:
"""
simple Genetic Algorithms by bluebanboom
reference:
AI Techniques for Game Programming
"""
def __init__(self,
pop_size,
 

相关文档:

Python 字典

字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。

注意,你只能使用不可变的对象(比如字符串)来作为字典的键,但是你可以不可变或可变的对象作为字典� ......

Python 元组

元组和列表十分类似,只不过元组和字符串一样是 不可变的 即你不能修改元组。元组通过圆括号中用逗号分割的项目定义。元组通常用在使语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。

使用元组

例9.2 使用元组

#!/usr/bin/python

# Filename: using_tuple.py

zoo = ('wo ......

不多说了,直接看代码吧!

import os
path = 'e:/Download/'
kzm = []
kzmTemp = set()
kzmTemp2 = []
dict = {}
for root,dirs,files in os.walk(path):
for file in files:
ext = os.path.splitext(file)[1][1:]
  ......

先给出一个四人团对

Decorator mode

的定义:

动态地

给一个

对象

添加一些

额外的职责

再来说说这个模式的好处:认证,权限检查,记日志,检查参数,加锁,等等等等,这些功能和系统业务无关,但又是系统所必须的,说的更明白一点,就是面向方面的编程(

AOP

)。

AOP

把与业务无关的代码十分干净 ......

列表方法:

方法

说明

append( item )

在列表末尾插入(item )

count( element )

返回element在列表中出现的次数

extend( newlist )

将newlist的元素插入列表末尾

index( element )

返回element在列表中的索引,如果不存在,则引发ValueError异常

insert( index , item )

在index ......