用Python实现简单的遗传算法
用Python实现简单的遗传算法
2010-02-15 14:00
这几天一直在用Python写一个简单的遗传算法,好自己拿来实验。断断续续的折腾了几天,今天下午终于写了一个简单的出来。整个代码还是仿照《游戏编程中的人工智能技术》中的代码来写的。如果想简单的学习一下遗传算法以及简单应用《游戏编程中的人工智能技术》是不错的选择。电子版及源代码可以参照找个网址:http://download.csdn.net/source/337118
代码如下(点击这里下载):
# -*- 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,
 
相关文档:
列表
list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列
的项目。假想你有一个购物列表,上面记载着你要买的东西,你就容易理解列表了。只不过在你的购物表上,可能每样东西都独自占有一行,而在Python中,
你在每个项目之间用逗号分割。
列表中的项目应该包括在方括号中,这样Python就知道你是 ......
我知道的一种在
python
中
Singleton mode
的实现如下:
class Foo: pass
def
instance():
global inst
try:
inst
except:
inst =
Foo
()
&n ......
先给出一个四人团对
Decorator mode
的定义:
动态地
给一个
对象
添加一些
额外的职责
。
再来说说这个模式的好处:认证,权限检查,记日志,检查参数,加锁,等等等等,这些功能和系统业务无关,但又是系统所必须的,说的更明白一点,就是面向方面的编程(
AOP
)。
AOP
把与业务无关的代码十分干净 ......
列表方法:
方法
说明
append( item )
在列表末尾插入(item )
count( element )
返回element在列表中出现的次数
extend( newlist )
将newlist的元素插入列表末尾
index( element )
返回element在列表中的索引,如果不存在,则引发ValueError异常
insert( index , item )
在index ......