首先: http://em>not? 在那里,这样做了。
Introductory explanation
我已把五百年制成一个试验基因改良的实验框架(这种声音是完全有预言的)。 如同大多数轮驱动游戏一样,通过给一切可能的行动分配一个分数,然后以最高分数进行移动,决定了最佳行动。 分配分到移动(广场)的职能类似:
如果广场已经破灭,则计分为0,因为把新标注放在广场是非法的。
每个广场最多可分成20个不同的胜行(5个横向、5个垂直、10个分校)。 广场的分数是每一行的分数。
输电的分数取决于已经row的友好和敌人。 实例:
- A row with four friendly tokens should have infinite score, because if you place a token there you win the game.
- The score for a row with four enemy tokens should be very high, since if you don t put a token there, the opponent will win on his next turn.
- A row with both friendly and enemy tokens will score 0, since this row can never be part of a winning row.
鉴于这一算法,我宣布了一种称为TBrain的类型:
type
TBrain = array[cFriendly..cEnemy , 0..4] of integer;
这些阵列的数值表明,一行的分数,既有Nair tokens,也有0的敌人的标志,也有0的友好的信号和N敌人的标志。 如果一行有5个标注,则该行没有记分,因为行满。
实际很容易决定哪一种价值应该存在于阵列。 脑[0,4](四个友好体)应是“无限的”,请打电话1,000。 vBrain[1,4]应当非常高,但不要太高,大脑宁愿阻挡好好好几张敌人的胜利,而不是赢得自己的胜利。
• 加入以下(可证明的)委员会:
0123456789
+----------
0|1...1...12
1|.1..1..1.2
2|..1.1.1..2
3|...111...2
4|1111.1111.
5|...111....
6|..1.1.1...
7|.1..1..1..
8|1...1...1.
2名运动员应在(9,4人)的比赛中获胜,not,(4,4人),即使他会阻止8名可能胜出的人。 1. Ergo, vBrain[1,4]应为(vBrain[0,4]/8)-1。 如同这项工作一样,我们可以找到“人才”的最佳价值,但这又是
我已经执行了这一框架,以便它能够产生完全的决定性。 这些分数没有随机值,如果几个平方的分数相同,则将选择顶点。
Actual problem
现在引人瞩目的部分(至少我要说)
我有两个“图书馆”,即Brain1和vBrain2。 如何使这些更好? mag:
- Initialize vBrain1 and vBrain2 with random values.
- Simulate a game between them.
- Assign the values from the winner to the loser, then randomly change one of them slightly.
似乎没有工作。 脑部没有穿透。 为什么?
计分方法是否为结果添加了一些小的随机值,这样,两种大脑之间的两种游戏会有所不同? 每种迭代的数值应多少变化? 如何启动“图书馆”? 具有不变的价值? 具有随机价值?
而且,这是否与AI或遗传算法有关?
PS:问题与罗的五大问题无关。 这只是我选择的,因为我可以宣布一个非常简单的“人才”来试验。