Hennig86

简介

Hennig86 于 1988 由 James S. Farris 编写并发布,是第一个能在 MS-DOS IBM-PC 及其兼容性机器上运行良好的简约法软件。最初售价 50 美元,目前已经不再分发并且已经被 TNT 取代,但是他的文件风格以及部分命令已经被众多软件吸取。

注意!Hennig86 不是 TNT 的前身!

分析基础

你需要安装 DOSBox 软件,并且具备很少的 DOS 命令基础,比如 MOUNT TYPE 等。

文件基础

示例文件如下,跟 TNT 完全兼容。

xread
'Data saved from TNT' 
10 15 
OUTGROUP         1011110011 
TAX1             0101100000 
TAX2             1011000111 
TAX3             1000111010 
TAX4             1111010010 
TAX5             1010010001 
TAX6             1101010111 
TAX7             0101010010 
TAX8             1000001101 
TAX9             0000100001 
TAX10            1000111010 
TAX11            0010011101 
TAX12            0111111111 
TAX13            1011010110 
TAX14            0101110001 
; 
proc/;

分析流程

基础 log

display* 让也在终端显示。

log hennig.log;
display*;

基础 help

quote This function help send comments to log file;
quote Here are functions;
assist;

打开文件

view 查看文件。

quote Open data file and view it;
view CZ.SS;
procedure CZ.SS;

设置外群

/num 设置多个外群中相对外的 prime outgroup0.2 中的 . 代表范围

quote Set outgroups and prime outgroup (0-2 are outgroups and 0 is prime outgroup);
outgroup = 0.2 /0;
outgroup;

查看 character weighting

ckeepcget 用于快速保存、选择某一套 character weighting 以及 additive (ccode+.;) 和 non-additive (ccode-.;)。 ccode; 查看状态。

quote Check character weighting realted settings and store them in internal file 1;
ccode-.;
ckeep 1;
ccode;
quote Set them as additive character and save as internal file 2;
ccode+.;
ccode;
ckeep 2;
quote Check eveything as additive, now run cget to obtain previous config;
cget 1;
ccode;

基础搜索树

hennig bb 都是对单个树计算, keep 对树进行划归组保存为内部树文件。

quote Start an example on how to search tree;
hennig;
bb;
quote Here to disable ascii and have a look;
txascii-;
tplot;
tlist;
quote Store it into internal tree file 0;
keep 1;

查看树的信息

xsteps主要用于查看树的信息。

quote Output Tree Length based on tree number, same with xsteps;
xsteps l;
quote Output characters' steps RI CI;
xsteps c;
quote Display max/min steps for per character;
steps;

进阶搜索树

hennig bbm 前缀是多个树的意思,* 后缀是指树的数量要不要做限制。这个搜索保存到内部树文件 2。watch 查看每个命令耗费的时间。

quote Check current memory; 
bytes;
quote Start watch time;
watch;
quote Start search heavily and swap trees;
mhennig*;
bb*;
quote Store them into internal tree file 1;
keep 2;

基础合意树

合意树保存到内部树文件 3。

quote Generate strict consensus tree, all trees will be removed from memory;
nelsen;
quote Store it into internal tree file 3;
keep 3;

successive weighting

ccodeweighting 搜索保存到内部树文件 4。

quote Successive Weighting can be enabled;
xsteps w;
ccode;
mhennig*;
bb*;
quote Store them into internal tree file 4;
keep 4;

合意树保存到内部树文件 5。

quote Generate strict consensus tree, all trees will be removed from memory;
nelsen;
quote Store it into internal tree file 5;
keep 5;

穷举法

ie*; 使用穷举法,保存到内部树文件 6。

quote Search all the trees;
ie*;
quote Store them into internal tree file 6;
keep 6;

合意树保存到内部树文件 7。

quote Generate strict consensus tree, all trees will be removed from memory;
nelsen;
quote Store it into internal tree file 7;
keep 7;

时间测试

watch-; 停止测试时间

quote Stop watch time;
watch-;

查看树

get 切换不同的内部树文件, tlist 查看文件。

quote Test internal tree files via get;
files;
get 3;
tlist;
get 5;
tlist;
tsave con.tre;

编辑内部树文件

erase 删除内部树文件, files 查看内部树文件有哪些。

quote Delete internal tree file;
erase 1;
files;

退出

log/; 停止记录,yama 退出 Hennig86。

quote Stop log and quit;
log/;
yama;

查看编辑树

xx 查看树。

xx
\
/
;