文档库 最新最全的文档下载
当前位置:文档库 › EA帮助文档(中文)

EA帮助文档(中文)

EA帮助文档(中文)
EA帮助文档(中文)

##

Enterprise Architect帮助文档

帮助文档翻译

目录

简介 (2)

从此处开始 (2)

使用EA (2)

用EA建模 (2)

模型管理 (2)

项目管理 (2)

编码工程 (2)

调试和配置文档 (2)

数据建模 (2)

一张数据表格 (2)

创建一个表格 (3)

设置表格属性 (4)

创建字段 (9)

创建Oracle包 (11)

主键 (11)

外键 (12)

存储过程 (17)

视图 (21)

索引,触发器和检查约束 (23)

生成DDL (25)

把一个包生成DDL (25)

进程的数据类型转换 (26)

包的数据类型转换 (27)

数据库管理系统数据类型 (28)

从开放式数据库中导入数据库模式 (29)

转化MDA (33)

XML技术 (33)

生成文档 (33)

EA扩展 (33)

UML字典 (33)

项目角色和EA (33)

授权管理 (33)

术语 (33)

简介

从此处开始

使用EA

用EA建模

模型管理

项目管理

编码工程

调试和配置文档

数据建模

一张数据表格

下面展示了一个数据模型表,上面有三个表格,相互之间用主外键连接起来。上面同样展示了主外键的操作。你也可以添加其他操作:检验,触发器,约束性,索引。

一个数据模型表在EA中表现为一个类表,创建方法和其他类型的表一样。

创建一个表格

什么是表

关系模型数据库中,最基础的模型结构就是“表”。一个表代表了具有相同结构的一系列记录。UML数据模型配置文件中的表表现为一个衍型类,这就是说,一个带着衍型的类元素作用于它之上。一个表的图标表示在图表的右上方。

创建一个表

通过以下步骤创建一个表:

1、选择一个表;

2、选择工具条选项中的更多工具|扩展|数据模型菜单;

3、点击元素列中的表格元素,然后点击表。一个表格就展示在表上了;

4、如果类:表n属性对话框没有显示,双击表来显示它;

5、在名称一栏,键入一个合适的名称,根据需要键入其他的属性。

6、点击OK按钮。

设置表格属性

一旦你创建了一个表,你可以设置它的属性。下面描述的大部分表的属性都可以在属性对话框里设置,一小部分通过键入标签值来实现,比如说,设置表所属人的值,或者,为了和MySQL兼容,需要设置表选项。

选择数据库类型

最重要的是正确的为一个表设置它的数据库类型。这定义了一系列的数据类型,可以用于定义字段,也可以声明生成的是哪一种的DDL语言。EA支持如下的数据库:DB2;Informix;Ingres;InterBase;MS Access;MySQL;Oracle 9i和10i;PostgreSQL;SQL Server2000和2005;SQL Server7;Sybase Adaptive Server Anywhere(Sybase ASA);Sybase Adaptive Server Enterprise(Sybase ASE)。

通过以下步骤设置数据库类型:

1、双击表中的数据元素,来打开属性对话框;

2、选择常规选项;

3、在数据库一栏,点击下拉框,选择数据库类型;

4、点击OK按钮保存设置。

点击表细节,你可以进入字段对话框和操作对话框,或者你可以选择生产这个表的DDL。

设置表所属

通过以下步骤来定义表的拥有人:

1、选择视图|标签值按钮来选择或者是按键[Ctrl]+[Shift]+[6]。标签值对话框出现。

2、在属性窗口上点击表视图上的表格。则会显示所选表格的标签值。

3、点击新标签按钮。标签值对话框如下图所示:

4、在标签值一栏,键入标签名字拥有人。在值一栏,键入拥有人。

5、点击OK按钮来确定操作,生产的DDL脚本语言里包含表格的拥有人。

设置MySQL选项

在mySQL中,为了使用外键,你必须设置表的类型是InnoDB。通过以下步骤来设置:

1、选择视图|标签值菜单选项或者按下[Ctrl]+[Shift]+[6]。显示标签值设置对话框。

2、点击表中的表格,或者点击项目浏览器中的表格。标签值窗口会显示选择的表格;

3、点击新建标签按钮。标签值对话框如下图所示:

4、在标签一栏,输入标签名Type。在值一栏,输入InnoDB;

5、点击OK按钮确定操作,生成的SQL脚本中的DDL包含表格类型。

6、为了兼容最新版本的MySQL,额外的表格选择可以以同样的方法添加:

设置Oracle表格属性

对于Oracle 9i或者10i,你可以使用表格标签值来设置表格属性。步骤如下:

1、选择视图|标签值菜单选项或者按下[Ctrl]+[Shift]+[6]。显示标签值设置对

话框。

2、点击表中的表格,或者点击项目浏览器中的表格。标签值窗口会显示选择的表

格;

3、点击新建标签按钮。

4、定义如下图所示的标签值:

5、点击OK按钮来保存标签值。

所有的Oracle表的有效属性如下图所示。

说明:索引器和约束可以用同样的方法添加。醒目索引或者约束,把属性作为标签值来添加。

对于一个给定的表的属性可以表示在标签值的窗口里,如下面典型的标签值说明的那样:

创建字段

什么是字段

在一个关系表中,最基本的组织元素就是字段。每个数据的个别项目输入到一个关系数据库中,表示为一个表中的一行的一个字段。字段在UML数据建模中表现为一个衍型的属性,这就是说,是一个有着字段衍型的属性。

创建字段

说明:对于MySQL,在创建一个字段之前,先添加ENUM和SET数据类型。选择设置|数据库数据类型菜单,然后,在数据库数据类型对话框中,在产品名称一栏选择MySQL。添加数据类型ENUM和SET。

通过以下步骤来创建字段:

1、右击表中的表格,打开选项菜单,选择属性菜单按钮。

2、显示一个表属性对话框;

3、打开之后,键入名称和数据类型,然后点击保存按钮。

贴士:如果数据类型的下拉列是空的,那就意味着你没有为这个表选择一个目标数据库。关闭字段对话框,从新打开表属性对话框,设置一个数据库类型,然后再继续。为了防止这种情况的发生,请设置默认数据库类型。

4、下面各选项是可选的。

主键;非空;唯一性;缺省值;开放性;别名;注释。

说明:一些数据类型,比如说Oracle的NUMBER类型,需要一个精确度和一个范围。这些在需要设置的地方就可以设置。例如,对于Oracle:

说明:Oracle的VARCHAR2(15CHAR)和VARCHAR2(15BYTE)数据类型可以通过添加标签LengthType来实现,LengthType的值设为CHAR或者是BYTE。

说明:对于MySQL的ENUM和SET数据类型,在缺省域里面,键入一个以逗号为分割的列,(‘one’,‘two’,‘three’)。

改变一个字段的顺序

1、在字段对话框中,高亮显示一个字段的名字;

2、点击可以上移或者下移字段。

创建Oracle包

通过以下步骤来创建一个Oracle包:

1、打开项目浏览器中的项目,创建一个EA包(如果需要的话,创建一个类表);

2、添加一个类元素到这个包中,或者这个表中。

3、打开元素的属性对话框,在衍型一栏中,设置值为包

4、对于程序包规格说明,创建一个操作,这个操作的名字定义为规格说明,不设

任何返回类型。

5、打开规格说明操作的属性对话框,在行为制表里,在起始代码栏里输入整个包

的规格说明书。

6、对于包的主力,创建一个名为Body的操作,无返回值。

7、打开Body操作的属性对话框,在行为制表里,输入整个包的起始代码。

主键

什么是主键

键用来访问表,分为主键和外键。一个主键是唯一的,它定义一个表格中的一条记录。外键可以通过其他相关表格中的主键来访问数据。

定义一个简单主键

如果一个主键包含一个单一的字段,就比较好定义。

1、右键点击表中的表格,显示选项菜单。选择元素特征|属性菜单选项;

2、在属性对话框,选择想设为主键的字段。

3、选择主键复选框,然后点击保存按钮。

一个衍型操作可以自动的被创建。这个操作室用来定义表的主键的。如果想去除主键标示,值删除这个操作即可。

定义一个复杂的主键。

通常来说,一个主键包含多于一个字段。例如,一个字段LastName在一个表中,可能不是唯一的,所以,一个主键需要从LastName,FirstName和DataOfBirth字段中定义。通过以下的步骤设置复杂的主键:

1、继续设置单一主键的步骤,你选择哪个字段是没有影响的。

2、右键点击表上的表格来打开选项菜单。选择选择元素特征|属性菜单选项;

3、选择主键操作(他的名字以PK_开头),然后点击字段制表;

4、增加一个主键的字段,点击新建按钮,从字段名字中选择一个字段,然后点击

保存按钮。

5、如果需要的话,选择小手按钮可以改变主键字段的顺序。

定义一个主键名字模板

如下步骤可以定义一个主键模板:

1、选择工具|选项|源码工程|编码编辑器菜单选项,选项的DDL页面显示如下:

2、点击DDL名字模板按钮。DDL名字模板对话框如下图显示:

3、编辑或者是替换主键名字模板;

4、点击保存按钮。

SQL中没有聚集的主键

通过如下步骤定义一个主键为没有聚集的主键。

1、右键点击表中的表格,打开菜单选项;

2、选择元素特征|操作子菜单,显示表操作对话框;

3、高亮显示主键操作,然后选择扩展属性;

4、选择SQL Server Non Clustered Primay Key复选框。

5、选择保存关闭按钮。

外键

什么是外键

两种可以访问表的键:主键和外键。一个主键是唯一的,它定义一个表格中的一条记录。

外键可以通过其他相关表格中的主键来访问数据。

外键在EA的UML模型中是一个衍型操作。一个外间是一个字段(属性)的集合,同时,有一些操作意义(他们加强与另一个表的主键直接的关系)。一个外键模型化为一个衍型操作;这个操作参数成为一个键中的包含的字段。

说明:用定义外键的方法,通过另一个表格的主键来访问它并不是必须的。外键是一些数据库管理系统的特征,提供额外的,比如说完整参照性,来进行检查,这样可以以免一个表格的主键值存在于其他表的外键中。

创建一个外键

1、在表中或者是项目浏览器中打开一个需求表;

2、在EA的UML工具箱的类里选择一个相关的连接;

3、点击原表格至目标表格,画出之间的连接;

4、使用连接选项菜单来显示外键对话框;

5、如果需要的话,编辑外键的缺省名称;

6、高亮包含外键关系的字段;

7、点击保存按钮来自动生成外键操作;

你生成了外键,下面的例子显示了它在一个表中是怎样显示的:

复合外键

选择正确的字段,点击保存按钮。外键字段通过数据类型存储,并且通过数据类型来进行组合。如果需要的话,你可以通过上下两个小手的图标改变键字段的顺序。

这个表创造了复合外键,下面这个表表现了怎样在一个表中显示。

贴士:如果你定义一个MySQL数据库,想使用外键,你必须先设置表类型才可以。定义一个外键的名字模板

1、选择工具|选项|源码工程|代码编辑器菜单.DDL页面如下图所示:

2、点击DDL名字模板。DDL名字模板对话框打开,显示了缺省状态下的名字模板。

3、在外键名字模板一栏编辑或者替代名字模板。

4、点击保存按钮。

存储过程

什么是存储过程

一个存储过程是一个SQL语句的集合,定义一个逻辑单元来完成一个特殊的任务。存储过程用来封装一系列的操作或者在一个数据服务器上执行查询。你可以用不同的参数编译和执行存储过程,用来得到不同的结果。

EA模型在对一个类进行操作的过程中存储进程。同样,你也可以把存储过程作为一个独立的类。

说明:存储过程目前支持DB2;Informix;Ingres;InterBase; MySQL;Oracle 9i 和10i;PostgreSQL;SQL Server;Sybase Adaptive Server Anywhere(Sybase ASA);Sybase Adaptive Server Enterprise(Sybase ASE),Firebird。

创造一个存储过程作为一个容器类的操作

通过如下步骤创建存储过程:

1、选择设置|UML菜单选项。在衍型这一制表里,显示UML类型对话框。

2、在衍型框里,输入存储过程。

3、在基本类里,输入类。

4、点击保存按钮,然后关闭。

5、选择一个合适的表。

6、在EA的UML工具箱里选择更多工具|UML|类菜单选项。

7、在元素列里点击类元素,然后点击表。如果累属性对话框没有自动的打开,双击元素。

8、在名字这一栏,输入类名。一般来说,这是一个数据库名字。

9、在衍型栏,点击下拉列表,选择存储过程。

10、点击OK按钮,关闭对话框。你现在有了一个存储过程容器。

11、打开类属性对话框,在数据库栏点击下来箭头,选择模型的目标数据库。(如果已经被设置了,那么这一栏显示的是缺省的数据库)。

12、在属性对话框,选择进程细节,然后点击存储过程按钮。

13、在名字这栏,输入存储过程的名字。

14、在返回值栏,点击下拉箭头,选择返回类型(或者使用缺省值的结果设置)。

15、在衍型域,确定值是proc。

16、点击保存按钮。

17、为了增加参数,在操作面板点击进程名字,然后点击编辑参数按钮。

18、在名字域,输入参数名字,在类型域,点击下拉箭头,选择参数类型。如果参数是个长类型,就在参数类型后增加长类型。例如,从下拉列表中选择VARCHAR,就在它后面输入(5),作为它的长度。

19、点击保存按钮,然后点击关闭按钮。

20、点击行为制表,在起始编码这一栏,输入进程的名字。

注意:如果使用上面描述的参数特征,你只需要在AS原因中增加进程的语句即可。

如果你不习惯使用上面描述的特征,插入整个存储进程文本在初始代码里。

在其他的情况下,初始编码里必须以create procedures文本或者create or replacement procedures文本开头。

21、点击保存按钮,点击关闭按钮。

创建一个独立的存储进程

1、选择设置|UML菜单按钮。显示UML类型对话框

Revolve产品知识

产品名称BOSE SoundLink Revolve 产地墨西哥颜色灰/银 产品尺寸/重量 152×82×82mm/660g 续航时间 12小时 充电时间4小时 供电方式锂电池 音频接口 3.5mm/ USB接口(只限电脑音源)单元尺寸3英寸 NFC功能是 防水级别IPX4防水 通话功能是 语音提示是 APP 是 保修期一年(注册微信会员赠送延保6个月) 包装清单音箱本机x1 USB电源x1USB连接线 x1 交流电源适配器 x1 技术特点1360度全向发声:一个向下发声的全音域单元配合BOSE专利的声波导向技术,可以向四周发出均匀,无死角的声音 技术特点2独特优势:体积小巧 低音震撼 技术特点3优雅的设计:采用高品质阳极氧化铝金属材质配合全新的无缝连接一体成型工艺,是产品更为高雅,耐用 技术特点4蓝牙无线连接:方便,易用,可连接几乎是所有常规的智能手机,平板电脑的蓝牙设 备,可支持与蓝牙设备10米距离的无线连接。技术特点5内置锂电池:更好的便携性,4小时充满电可在正常音量下约12小时的使用时间。 技术特点6IPX4级防水:可以使您在室外环境中放心使用。技术特点7BOSE Connect APP :轻松实现“派对模式”与“立体声模式”的切换,可以满足您更多声音需求。技术特点8支持有线连接:3.5mm与USB接口可以满足你有线音源的连接,连接更多的设备。 技术特点9可选配充电底座:充电方便,同时为扬声器在家中使用时提供了一个放置的地方。 技术特点10 远程操作:可通过配对的蓝牙设备控制扬声器的各项功能(如音量等)不需要携带其他产品说明

音效表现 Feature令人惊艳的宏亮气势,超乎想象的小巧体积。Benefit体积小巧 低音震撼 Advantage 精巧的外壳下装载了众多技术,展现出扬声器超乎想象的的低音效能,让人深深的沉醉在饱满的动人音色中。 Evidence X先生经常会带着家中的小朋友到户外和同事们野餐,因为有小孩子每次外出都需要随身带很多东西。聚会时大家喜欢拿出手机播放孩子们喜欢的音乐增加气氛,偶尔路过门店体验到我们的产品,十分满意。不仅可以满足了他外出携带需要,还提供了完美的音质 360°音效 Feature 可以向四周发出均匀的,无死角的声音。实现零死角的环绕音效。 Benefit随意摆放,一样可以体验到全方位的声音。 Advantage 一个向下发声的全音域单元配合BOSE专利的声波导向器,营造出全方位,无死角的震撼 Evidence X女士三口之家,每天晚上喜欢在客厅给孩子放放音乐,孩子太小总是跑来跑去,之前的音响固定的放在一个位置声音太大影响邻居,声音太小孩子跑来跑去还听不见。选择了我们产品后放在家里中间的位置不管孩子 精致设计 Feature 一体成型的采用高品质阳极氧化铝金属材质配合全新的无缝连接一体成型工艺。 Benefit使产品更为高雅,耐用。 Advantage 精密的设计,一体成型的阳极氧化铝材质,可以提供全方位的音效,不留一丝缝隙,外 Evidence X小姐喜欢游泳,喜欢做SPA ,喜欢泡温泉,更喜欢听音乐。自从购买了产品,她可以随意带着音响到她喜欢的地方,再也没有任何的顾虑。无论什么环境,我们的产品都可以

python-ctypes模块中文帮助文档

内容: .加载动态链接库 .从已加载的dll中引用函数 .调用函数1 .基本的数据类型 .调用函数2 .用自己的数据类型调用函数 .确认需要的参数类型(函数原型) .返回值 .传递指针 .结构和联合 .结构或联合的对齐方式和字节的顺序 .结构和联合中的位 .数组 .指针 .类型转换 .未完成的类型 .回调函数 .访问dlls导出的值 .可变长度的数据类型 .bugs 将要做的和没有做的事情 注意:本文中的代码例子使用doctest确保他们能够实际工作。一些代码例子在linux和windows以及苹果机上执行有一定的差别 注意:一些代码引用了ctypes的c_int类型。它是c_long在32位机子上的别名,你不应该变得迷惑,如果你期望 的是c_int类型,实事上打印的是c_long,它们实事上是相同的类型。 加载动态链接库 ctypes加载动态链接库,导出cdll和在windows上同样也导出windll和oledll对象。 加载动态链接库后,你可以像使用对象的属性一样使用它们。cdll加载使用标准的cdecl调用约定的链接库, 而windll库使用stdcall调用约定,oledll也使用stdcall调用约定,同时确保函数返回一个windows HRESULT错误代码。这错误 代码自动的升为WindowsError Python exceptions,当这些函数调用失败时。 这有一些windows例子,msvcrt是微软的c标准库,包含大部分的标准c函数,同时使用cdecl调用约定。 注:cdecl和stdcall的区别请见https://www.wendangku.net/doc/4d16735459.html,/log-20.html >>> from ctypes import * >>> print windll.kernel32 # doctest: +WINDOWS

CAD和TSSD快捷键(含探索者中文键名)

AutoCAD 简化命令 3A, *3DARRAY 3DO, *3DORBIT 3F, *3DFACE 3P, *3DPOLY A, *ARRAY ,阵列ADC, *ADCENTER AD, *ID AE, *AREA AL, *ALIGN AP, *APERTURE ATP, *ATTDISP AT, *DDATTE -AT, *ATTEDIT ATT, *DDATTDEF -ATT, *ATTDEF AV, *DSVIEWER B, *BREAK H, *BHATCH BL, *BMAKE -BL, *BLOCK BO, *BOUNDARY -BO, *-BOUNDARY CO, *COPY CC, *CHAMFER CH, *DDCHPROP -CH, *CHANGE DDC, *DDCOLOR C, *CIRCLE D, *DIM DD, *DDEDIT DDV, *DDVPOINT DI, *DIST DIV, *DIVIDE DO, *DONUT DST, *DIMSTYLE DT, *DTEXT DV, *DVIEW DX, *DDIM DXI, *DXFIN DXO, *DXFOUT E, *ERASE EL, *ELEV ELL, *ELLIPSE EN, *END EP, *EXPLODE EX, *EXTEND F, *FILLET FF, *FILL FI, *FILTER G, *GROUP GR, *DDGRIPS -GR, *GRID HI, *HIDE HE, *HATCHEDIT HT, *HATCH I, *DDINSERT -I, *INSERT IM, *IMAGE -IM, *-IMAGE L, *LINE LA, *LAYER -LA, *-LAYER LE, *LEADER LEN, *LENGTHEN LI, *LIST LS, *LTSCALE LT, *LINETYPE -LT, *-LINETYPE LTS, *LTSCALE M, *MOVE MA, *MATCHPROP ME, *MEASURE MI, *MIRROR ML, *MLINE MO, *DDMODIFY MN, *MENU MS, *MSPACE MT, *MTEXT -MT, *-MTEXT MV, *MVIEW N, *NEW O, *OFFSET OP, *OPEN OS, *OSNAP

python-os模块中文帮助文档

注此模块中关于unix中的函数大部分都被略过,翻译主要针对WINDOWS,翻译速度很快,其中很多不足之处请多多包涵。 这个模块提供了一个轻便的方法使用要依赖操作系统的功能。如何你只是想读或写文件,请使用open() ,如果你想操作文件路径,请使用os.path模块,如果你想在命令行中,读入所有文件的所有行,请使用 fileinput模块。使用tempfile模块创建临时文件和文件夹,更高级的文件和文件夹处理,请使用shutil模块。 os.error 内建OSError exception的别名。 https://www.wendangku.net/doc/4d16735459.html, 导入依赖操作系统模块的名字。下面是目前被注册的名字:'posix', 'nt', 'mac', 'os2', 'ce', 'java', 'riscos'. 下面的function和data项是和当前的进程和用户有关 os.environ 一个mapping对象表示环境。例如,environ['HOME'] ,表示的你自己home文件夹的路径(某些平台支持,windows不支持) ,它与C中的getenv("HOME")一致。 这个mapping对象在os模块第一次导入时被创建,一般在python启动时,作为site.py处理过程的一部分。在这一次之后改变environment不 影响os.environ,除非直接修改os.environ. 注:putenv()不会直接改变os.environ,所以最好是修改os.environ 注:在一些平台上,包括FreeBSD和Mac OS X,修改environ会导致内存泄露。参考putenv()的系统文档。 如果没有提供putenv(),mapping的修改版本传递给合适的创建过程函数,将导致子过程使用一个修改的environment。 如果这个平台支持unsetenv()函数,你可以删除mapping中的项目。当从os.environ使用pop()或clear()删除一个项目时,unsetenv()会自动被调用(版本2.6)。 os.chdir(path) os.fchdir(fd) os.getcwd() 这些函数在Files和Directories中。

【资料】Airpak中文帮助文档(1.7部分)

Airpak中文帮助文档(1.7部分) 此文翻译来自Airpak帮助文档1.7部分 通过1.7部分,你将使用Airpak 建立一个问题、解决一个问题以及输出结果。这是 对Airpak 特点的基础介绍。 如有疑问可参考Airpak帮助文档的相关部分

1.7 示例 在下面的示例中,你将使用Airpak建立一个问题、解决一个问题以及输出结果。这是对Airpak特点的基础介绍。使用指南中的例子将提供更完整的程序特点。 1.7.1 问题描述 图1.7.1显示的所要解决的问题。房间中包含了一个开放的进风口、一个排气口和一个恒定温度的墙。房间的长是4.57 m,宽是 2.74 m,高是2.74m。房间外测量值是0.92 m ×0.46 m,同时引入一个冷空气射入房间使得空气流动。排气口的尺寸是0.91 m×0.45 m。惯性的力量、浮力的力量以及湍流混合的相互作用对所提供的空气的渗透及路径有着重要的影响。 1.7.2 主要的过程 图1.7.1显示的问题是一个稳定通风的情形。边界温度以及速度是被定义的。示例中的步骤简要如下: z打开和定义一项工作 z调整默认房间大小 z对于一个房间生成一个进风口(opening)、排气口(vent)以及墙 z生成网格 z计算

z检查结果 1.7.3 开始一个新工作 启动Airpak(1.5节)。图1.7.2.显示的是【Open job】面板。 在【Select the job to open】文本显示框中路径的最后将/sample写上。点击【Accept】打开一个新工作。Airpak将生成一个10 m×3 m×10 m默认房间,同时在图形窗口显示房间。 你可以使用鼠标左键围绕一个中心点旋转房间,或者使用鼠标中间键你可以将房间转移到屏幕的任意一点上。使用右键放大或缩小房间。为了将房间回复的默认方位,点击【Options】菜单下【Orient】,在下拉菜单中选择【Home】。 1.7.4 定义工作 通过定义房间的种类和设置环境温度来开始工作。这些参数在【Problem setup】面板中具体指明了。在【File】菜单中选择【Problem】可以打开【Problem setup】面板(如图1.7.3)。

pyevolve中文帮助文档

Pyevolve的用户手册中文版 1.1.6基本概念 Raw score:表示由适应度函数返回的还未进行比例换算的适应值。 Fitness score :对Raw score进行比例换算后的适应值,如果你使用线性的比例换算(Scaling.LinearScaling()),fitness score将会使用线性方法进行换算,fitness score代表个体与种群的相关程度。 Sample genome : 是所有genome进行复制的基础 1.2.3对pyevolve进行扩展 对pyevolve进行扩展首先要查看GenomeBase.GenomeBase类的源码。 扩展的基本步骤 1)创建染色体类 2)创建染色体的初始化函数 3)创建遗传算子:选择算子,交叉算子,和变异算子等。 1.3模块 1.3.2基本模块 a) Consts :常量模块 Pyevolve 提供了所有的默认遗传算子,这是为了帮助用户方便的使用API,在常量模块中,你可以找到这些默认的设置,最好的情况是查看常量模块,但是不改变常量模块中的内容。 b)Util :公用模块 公用模块中提供了一些公用的函数,比如列表项的交换,随机功能等。 list2DSwapElement(lst, indexa, indexb):交换矩阵中的元素项。 listSwapElement(lst, indexa, indexb):交换列表中的元素项。 c)FunctionSlot :函数分片模块 Pyevolve中广泛使用函数分片的概念;这个想法是很简单的,每个遗传操作或者说是任何遗传操作能够被分配到一个片,按照这种想法,我们能够添加不止一种的遗传操作,比如说同时进行两种或者更多的变异操作,或者两种或更多的计算操作等,函数分片模块是以FunctionSlot.FunctionSlot类来实现的。 例子: Def fit_fun(genome): …. Def fit_fun2(genome): …. Genome.evaluator.set(fit_fun) Genome.evaluator.add(fit_fun2) Print Genome.evaluator #the result is “slot [evaluator] (count:2)” Print Genome.evaluator[0] # the result is “function fit_fun at <....>” Print Genome.evaluator[1] # the result is “function fit_fun2 at <...>”

相关文档