设为首页收藏本站

塞爱维(CIV)文明联盟

 找回密码
 注册
查看: 17653|回复: 21

[原创] AI科技研究路线的选择(BTS3.17)

[复制链接]
发表于 2009-5-15 15:44:12 | 显示全部楼层 |阅读模式
文明4中一个AI玩家是通过CvPlayerAI::AI_chooseResearch这个方法来选择当前所研究的科技, 而AI_chooseResearch在绝大多数情形下是通过CvPlayerAI::AI_bestTech来得出研究目标的. 本文就集中介绍AI_bestTech.

以下讨论中, 若主语省略, 省略的均是此AI玩家

为了便于讨论, 先给出以下名词的解释
有可能研究: canEverResearch
非模组游戏下所有的科技都有可能研究

首都孤立: AI_isCapitalAreaAlone() == true
指首都所在大陆没有组队以外的非野蛮人城市.

财政困难: AI_isFinancialTrouble() == true
指财政净余百分比低于一安全线, 普通情况下安全线是40%, 如果有战争计划则是28%.

潜在的外国通商城市:
一个城市不属于本组队,且能通商,即已经开边或全世界自由通商,则是一个潜在的外国通商城市.

统治百分比:
大致等于 100 * 本组队相对世界的人口比例 / (世界第2人口大国所占人口比例 + 统治胜利所需领先人口百分比)
如果统治胜利未开启, 则等于0.

科技搜索深度: 也称科技距离
简单的讲, 等于你要获得此科技所需要研究的科技的数量的最小值.

AI_bestTech执行中, 此AI将遍历所有科技, 对于每一科技,如果
a. 未拥有;
b. 有可能研究;
c. 此科技的时代数 <= 此AI的时代数+1;
d. 科技距离小于等于3

将成为候选科技.
然后AI将比较所有候选科技的研究价值, 最大的将成为其当前研究目标.

注1: 如果AI在执行'文化3'策略, 搜索深度将只有1.
注2: AI不能研究候选科技研究目标时, 将寻求最短路线来研究.

[ 本帖最后由 Khyron 于 2009-5-15 16:09 编辑 ]
 楼主| 发表于 2009-5-15 15:44:36 | 显示全部楼层

科技的AI研究价值计算方法

对于一科技, AI眼中, 其研究价值V初始为1, 然后还要

+ [0,2000)中一随机数
+ 所属组队在此科技上积累的进度,即瓶子数


如果此科技有效果: 增加水面视野
    如果有滨海城市
        + 100;
    如果首都孤立
        + 400;

如果此科技有效果: 使地图居中
    + 100;

如果此科技有效果: 显示地图
    + 100;
    如果首都孤立
        + 400;

如果此科技有效果: 开启地图交易
    + 100;
    如果首都孤立
        + 400;

如果此科技有效果: 开启科技交易; 且游戏没有禁止科技交易
    + 500;
    + 500 * 已相遇的组队数量;

如果此科技有效果: 开启金钱交易
    + 200;
    如果遇到过其它组队
        + 400;

如果此科技有效果: 开启边境交易
    如果遇到过其它组队
        + 500;
        如果有滨海城市
            + 400;

如果此科技有效果: 开启共同防御交易
    + 400;

如果此科技有效果: 开启永久同盟交易
    + 200;

如果此科技有效果: 开启附庸交易   
    + 200;

如果此科技有效果: 造桥   
    + 200;

如果此科技有效果: 灌溉   
    + 400;

如果此科技有效果: 无需灌溉即可种田   
    + 500;

如果此科技有效果: 开启水面工作
    + 600 * 滨海城市数量;

+ 此科技对地貌生产修正系数 * 2 (例如,数学由于对砍树的加成有50%, + 50*2)
+ 此科技对工人工作速度修正系数 * 4
+ 此科技增加商路数量 * max(城市数量 + 2, 潜在的外国通商城市数量) * 100(如果有财政困难则乘以200)


如果统治百分比小于90
    + 此科技带来的额外健康 * 200;
否则
    + 此科技带来的额外健康 * 350;

遍历所有道路(Route)类型,对每一种道路
    - 此科技对这种道路的移动修正 * 100; (例如: 工程学的普通道路的修正是-10)

遍历所有领域(Domain)类型,对每一种领域
    + 此科技对此领域产生的额外移动力 * 200;

遍历所有商业(Commerce)类型,对每一种商业 (指科技,金钱,文化,谍报)
    如果此科技有效果: 能够条件此类型商业的百分比
        + 100;
        如果这种商业是文化, 且在执行'文化2'策略
            + 1000;

遍历所有地形(Terrain)类型,对每一种地形
    如果此科技有效果: 开启这种地形下的商路连接 (例如: 天文对海洋)
        如果这种地形是水域
            如果有首都
                + 潜在的的异大陆的外国通商城市数量 * 100;
            如果有滨海城市
                + 350(如果首都孤立则+950);
            + 50;
        否则
            + 1000;

如果此科技有效果: 开启河流商路连接
    + 1000;

遍历所有设施(Improvement)类型,对每一种设施J
    遍历所有产出(Yield), 对每一种产出K
        + 此科技对设施J的产出K的改变值 * 拥有的设施J的数量 * 50 * 此玩家AI对产出K的权重 / 100;

遍历所有工人建造(Build)类型, 对每一种工作类型
    + 工人建造数值 (计算方法见附录);

遍历所有地貌(Feature)类型,对每一种地貌
    如果科技有效果: 移除此地貌
        + 100;
        如果此地貌总体作用是负面的
            + 25 * 城市范围内的此种地貌数量;

遍历所有资源(Bonus)类型,对每一种资源
    如果此科技有效果: 揭示这种资源
        + 150 * (100 + 某系数 * min(3, 城市数量) / 3) / 100;

遍历所有单位级别(UnitClass)类型,对每一种单位级别
    如果本文明对应于此单位级别的单位存在
        如果此科技是这个单位的前提科技
            + 单位价值; (此价值基础值为200, 如果单位是UU, 则再加600, 详细计算方法见附录, 总之单位价值这项可以很高,有时可达数千)

如果此科技是未完成的世界单位的前提科技, 且搜索深度小于等于1, 总人口大于5
    + [0,400)中一随机数;
    如果首都孤立
        + 200;

遍历所有建筑级别(BuildingClass)类型,对每一种建筑级别
    如果本文明对应于此建筑级别的建筑存在
        如果此科技是这个建筑的前提科技
            + 建筑价值; (此价值基础值为100, 如果建筑是UB, 则再加600, 粮仓有额外加成, 详细计算方法见附录)

如果在上述遍历中至少有一个建筑, 满足此科技是这个建筑的前提科技
    + 上述建筑价值中的最大的;
   
如果此科技是某能产生文化的建筑的前提科技, 且当前能建造的产生文化的非奇迹建筑数量小于2
    如果城市不能自动产生文化
        如果城市数量大于1
            + 150 * max(1, 3 - 2 * 当前能建造的产生文化的非奇迹建筑数量) * (城市数量 - 1);

如果此科技是某个未完成的奇迹的前提科技
    + 500;
    + [0, 800)中一随机数 / 1 (除以5, 如果处于高级开局为完成中);

遍历所有工程(Project)类型,对每一种工程
    如果此科技是这个工程的前提科技

如果此科技是未完成的世界工程的前提科技, 且搜索深度小于等于1, 总人口大于5
    + 200 + [0, 200)中一随机数;
    如果首都孤立
        + 100;

遍历所有产能转化(Process)类型,对每一种产能转化  (例如: 造瓶子,造金币)
    如果此科技是这种产能转化的前提科技
        + 100;
        + 产能转化系数 * 4 * 此玩家AI对相应转化产出的权重 / 100 * 1(如果在执行'文化1'策略, 且产出是文化时乘以3);
        

如果有财政困难, 且此科技是科技或金钱产能转化的前提科技
    如果当前既不能将产能转化科技也不能转化为金钱
        + 1500;

遍历所有内政法令(Civic)类型,对每一种内政法令
    如果此科技是这种内政法令的前提科技
        + 200;
        如果AI对这种内政法令的价值判断大于当前使用的内政法令的价值大
            + min(2400, 2400 * (这种内政法令的价值 - 当前使用的内政法令的价值) / max(1, 当前使用的内政法令的价值));
        如果这种内政法令是领袖对应的性格的最爱
            + 600;

如果搜索深度小于等于2
    如果此科技还未被发现
        如果此科技是某未创立的宗教的前提科技
            + 宗教价值; (详细计算方法略)
   
        遍历所有公司(Corporation)类型,对每一种公司
            如果此科技是这一公司的前提科技
                如果这个公司还未创立
                    + 100 + [0, 2400)中的一个随机数;
        
        如果此科技首发赠送单位级别存在
            如果本文明对应于这个单位级别的单位存在
                + 200 + [0, 3200)中一随机数;
                如果首都孤立
                    + 400;

        如果此科技首发赠送科技
            + 200 + [0, 3200)中一随机数
            如果首都孤立
                + 400;

+ 此科技的AI权重 (非模组游戏下全为0);

如果不是人类玩家
    遍历所有偏好(Flavor)类型, 对每一种偏好
        + 领袖对此偏好的程度 * 此科技对此偏好的数值 * 20;


到目前为止, 计算的全是此科技研究价值的基础值,以下将处理修正乘子.

如果此科技可以重复研究
    V = V / 10;

如果此科技的研究价值大于0
    先计算研究剩余回合数, 调节系数
    百倍研究剩余回合数大约等于完成此科技所需回合数(保留小数点后2位)乘以100
    调节系数等于对应于当前游戏速度下的研究百分比,标准速度下是100, 马拉松下是300
   
    然后从[0,5)中选取一随机数
    如果这个随机数等于0,并且百倍研究剩余回合数 < 2 * 调节系数
        V = V * 100000 / (百倍研究剩余回合数 + 1);

    否则
        V = V * 100000 / (百倍研究剩余回合数 + 5 * 调节系数);

如果游戏没有禁止科技交易
    如果此科技开启科技交易, 或者所属组队可以进行科技交易
        然后从[0,100)中选取一随机数, 如果这个随机数 < 10 (如果开启了禁止科技倒卖,则是20)
            如果对于所有已相遇的组队, 都未掌握此科技
                如果已相遇的组队数量大于2
                    V = V * (100 + min(150, 25 * (已相遇的组队 - 2))) / 100;

如果AI在执行'文化3'策略
    V = V * (此科技的文化胜利价值 + 10) / 100 (如果此科技的文化胜利价值 < 100, 则处于400);

最后
V = max(1,V)
即此科技相对于这个AI玩家的研究价值.

[ 本帖最后由 Khyron 于 2009-5-15 16:14 编辑 ]
 楼主| 发表于 2009-5-15 15:45:11 | 显示全部楼层

附录

领袖性格对科技研究价值的主要影响在于: 领袖对此偏好的程度 * 此科技对此偏好的数值 * 20
所以简单统计了领袖性格和科技对应于各种偏好的数值

领袖偏好(Flavor)统计
MILITARY Type
2 AUGUSTUS, CATHERINE, JOAO, JUSTINIAN, LOUIS_XIV, SULEIMAN, TOKUGAWA
5 ALEXANDER, BOUDICA, BRENNUS, CHARLEMAGNE, CHURCHILL, CYRUS, GILGAMESH, HANNIBAL, JULIUS_CAESAR, KUBLAI_KHAN, MEHMED, MONTEZUMA, NAPOLEON, SALADIN, SITTING_BULL, STALIN, WASHINGTON
10 BISMARCK, GENGHIS_KHAN, RAGNAR, SHAKA


RELIGION Type
2 BRENNUS, CHARLEMAGNE, HATSHEPSUT, MANSA_MUSA, MONTEZUMA, SALADIN, ZARA_YAQOB
5 ASOKA, JUSTINIAN
10 ISABELLA


PRODUCTION Type
2 HUAYNA_CAPAC, JULIUS_CAESAR, CHINESE_LEADER, RAMESSES, STALIN
5 AUGUSTUS, DE_GAULLE, PERICLES, QIN_SHI_HUANG, FRANKLIN_ROOSEVELT
10 FREDERICK


GOLD Type
2 CHURCHILL, HANNIBAL, NAPOLEON, FRANKLIN_ROOSEVELT
5 DARIUS, ELIZABETH, HUAYNA_CAPAC, MANSA_MUSA, SURYAVARMAN, VICTORIA, WANGKON, WILLEM_VAN_ORANJE


SCIENCE Type
2 ASOKA, PERICLES, WANGKON, WILLEM_VAN_ORANJE
5 JOAO, LINCOLN, PETER, TOKUGAWA


CULTURE Type
2 ELIZABETH, GILGAMESH, KUBLAI_KHAN, MEHMED, SURYAVARMAN
5 CATHERINE, HATSHEPSUT, LOUIS_XIV, PACAL, RAMESSES, SULEIMAN
10 GANDHI, HAMMURABI


GROWTH Type
2 ALEXANDER, BOUDICA, CYRUS, DARIUS, DE_GAULLE, LINCOLN, PACAL, PETER, QIN_SHI_HUANG, SITTING_BULL, VICTORIA, WASHINGTON
5 CHINESE_LEADER, ZARA_YAQOB


科技偏好(Flavor)统计
MILITARY Type
1 MUSIC, SAILING, MATHEMATICS, PHYSICS, MEDICINE, ELECTRICITY, FISSION, ROBOTICS, FUTURE_TECH
2 CODE_OF_LAWS, GUILDS, THE_WHEEL, PLASTICS, COMPASS, CONSTRUCTION, ENGINEERING, RAILROAD, INDUSTRIALISM
3 MONARCHY, LITERATURE, CIVIL_SERVICE, NATIONALISM, CORPORATION, MASONRY, ANIMAL_HUSBANDRY, OPTICS, ASSEMBLY_LINE, SATELLITES
4 FASCISM, FLIGHT, STEAM_POWER
5 FEUDALISM, ADVANCED_FLIGHT, REPLACEABLE_PARTS, RADIO, COMPUTERS, LASER
6 HUNTING, BRONZE_WORKING, MACHINERY, STEEL
7 IRON_WORKING, METAL_CASTING
8 COMPOSITES, STEALTH, HORSEBACK_RIDING, ROCKETRY
9 GUNPOWDER
10 MILITARY_TRADITION, ARCHERY, MILITARY_SCIENCE, RIFLING, ARTILLERY


RELIGION Type
1 LIBERALISM, CALENDAR, ANIMAL_HUSBANDRY, CONSTRUCTION, FUTURE_TECH
2 DRAMA, AESTHETICS, ALPHABET, PAPER, EDUCATION
3 MUSIC, WRITING, PHILOSOPHY, PRINTING_PRESS
4 MONARCHY, LITERATURE
6 CIVIL_SERVICE
7 CODE_OF_LAWS
8 MASONRY [/td][/tr
9 MYSTICISM
10 MEDITATION, POLYTHEISM, PRIESTHOOD, MONOTHEISM, THEOLOGY, DIVINE_RIGHT


PRODUCTION Type
1 DIVINE_RIGHT, FISHING, MATHEMATICS, FLIGHT, FIBER_OPTICS, HUNTING, HORSEBACK_RIDING, RIFLING, FUTURE_TECH
2 CIVIL_SERVICE, NATIONALISM, UTOPIA, ECOLOGY, POTTERY, CALENDAR, CURRENCY, BANKING, SCIENTIFIC_METHOD, PHYSICS, MEDICINE, REFRIGERATION, SUPERCONDUCTORS, COMPUTERS
3 PRIESTHOOD, MONARCHY, CODE_OF_LAWS, CONSTITUTION, AGRICULTURE, ECONOMICS, CHEMISTRY, FISSION, GENETICS, FUSION, OPTICS
4 CORPORATION, ELECTRICITY, ANIMAL_HUSBANDRY, GUNPOWDER
5 GUILDS, BRONZE_WORKING
6 FEUDALISM, FASCISM, THE_WHEEL, PLASTICS, MASONRY, CONSTRUCTION
7 RAILROAD
8 MINING, IRON_WORKING, ENGINEERING, REPLACEABLE_PARTS, STEAM_POWER, STEEL, ROBOTICS
9 COMBUSTION, METAL_CASTING
10 MACHINERY, ASSEMBLY_LINE, INDUSTRIALISM


GOLD Type
1 MYSTICISM, PRIESTHOOD, DIVINE_RIGHT, NATIONALISM, CALENDAR, SCIENTIFIC_METHOD, MEDICINE, HORSEBACK_RIDING, COMPASS, STEAM_POWER, FUTURE_TECH
2 MONARCHY, CIVIL_SERVICE, GUILDS, FASCISM, MASS_MEDIA, AGRICULTURE, WRITING, MATHEMATICS, PRINTING_PRESS, FLIGHT, MACHINERY, REPLACEABLE_PARTS, SATELLITES
3 POTTERY, SAILING, PAPER, RAILROAD, INDUSTRIALISM
4 CONSTITUTION, THE_WHEEL, ALPHABET
5 CODE_OF_LAWS, MINING
6 METAL_CASTING
8 CORPORATION
10 CURRENCY, BANKING, ECONOMICS


SCIENCE Type
1 MONOTHEISM, MASS_MEDIA, HORSEBACK_RIDING, REPLACEABLE_PARTS, RIFLING, ARTILLERY, FUTURE_TECH
2 MEDITATION, DRAMA, THEOLOGY, MUSIC, CIVIL_SERVICE, DEMOCRACY, CORPORATION, UTOPIA, ECONOMICS, HUNTING, ARCHERY, ANIMAL_HUSBANDRY, CONSTRUCTION, ROBOTICS
3 FISHING, COMBUSTION, PLASTICS, COMPOSITES, STEALTH, MINING, MILITARY_SCIENCE, RADIO
4 LIBERALISM, AGRICULTURE, MASONRY, BRONZE_WORKING, MACHINERY, GUNPOWDER, REFRIGERATION, SUPERCONDUCTORS, ROCKETRY
5 ECOLOGY, ADVANCED_FLIGHT, IRON_WORKING, METAL_CASTING, ENGINEERING, STEAM_POWER
6 AESTHETICS, SAILING, CALENDAR, MEDICINE
7 PAPER, ASTRONOMY, BIOLOGY, ELECTRICITY, FLIGHT, GENETICS, COMPASS, SATELLITES
8 THE_WHEEL, ALPHABET, PHILOSOPHY, CHEMISTRY, FISSION, FUSION, OPTICS
9 EDUCATION, PRINTING_PRESS, FIBER_OPTICS, COMPUTERS, LASER
10 WRITING, MATHEMATICS, SCIENTIFIC_METHOD, PHYSICS


CULTURE Type
1 CIVIL_SERVICE, GUILDS, FASCISM, HUNTING, ANIMAL_HUSBANDRY, BRONZE_WORKING, CONSTRUCTION, RAILROAD, ROBOTICS, FUTURE_TECH
2 FEUDALISM, CONSTITUTION, FISHING, SAILING, PAPER, BIOLOGY, ARCHERY, MASONRY, METAL_CASTING
3 MILITARY_TRADITION, UTOPIA, ASTRONOMY, COMPUTERS
4 DEMOCRACY, EDUCATION
5 LIBERALISM, POTTERY, HORSEBACK_RIDING
6 PRIESTHOOD, THEOLOGY, NATIONALISM, WRITING, PHILOSOPHY, PRINTING_PRESS
7 MEDITATION
8 MYSTICISM, MONOTHEISM, DIVINE_RIGHT, AESTHETICS
9 POLYTHEISM, MONARCHY, MASS_MEDIA, RADIO
10 LITERATURE, DRAMA, MUSIC


GROWTH Type
1 MILITARY_TRADITION, UTOPIA, MASS_MEDIA, ECOLOGY, CALENDAR
2 MYSTICISM, CONSTITUTION, FASCISM, ELECTRICITY, COMBUSTION, CONSTRUCTION, OPTICS, STEEL
3 NATIONALISM, THE_WHEEL, CURRENCY, ECONOMICS, FLIGHT, STEAM_POWER, ASSEMBLY_LINE
4 CODE_OF_LAWS, DRAMA, CIVIL_SERVICE, SAILING, COMPASS, RAILROAD, INDUSTRIALISM
5 ASTRONOMY
6 BIOLOGY, IRON_WORKING
7 HUNTING, ENGINEERING, REFRIGERATION
8 FISHING, MEDICINE
9 POTTERY, ANIMAL_HUSBANDRY
10 AGRICULTURE, GENETICS


[ 本帖最后由 Khyron 于 2009-5-15 16:13 编辑 ]
 楼主| 发表于 2009-5-15 15:45:56 | 显示全部楼层
工人建造价值
 楼主| 发表于 2009-5-15 15:46:21 | 显示全部楼层
单位价值
 楼主| 发表于 2009-5-15 15:46:51 | 显示全部楼层
建筑价值
发表于 2009-5-15 16:02:02 | 显示全部楼层
支持
领袖偏好(Flavor)统计里面的2\5\10中什么意思?

[ 本帖最后由 hhxxcc 于 2009-5-15 16:07 编辑 ]
发表于 2009-5-15 16:04:27 | 显示全部楼层
又见K大发技术贴了,支持支持!
发表于 2009-5-15 16:06:00 | 显示全部楼层
好复杂啊..........
发表于 2009-5-15 16:08:18 | 显示全部楼层
fighting
发表于 2009-5-15 16:14:54 | 显示全部楼层
数据男满赛
发表于 2009-5-15 19:59:54 | 显示全部楼层
原帖由 hhxxcc 于 2009-5-15 16:02 发表
支持
领袖偏好(Flavor)统计里面的2\5\10中什么意思?

原文:领袖性格对科技研究价值的主要影响在于: 领袖对此偏好的程度 * 此科技对此偏好的数值 * 20
           所以简单统计了领袖性格和科技对应于各种偏好的数值

2/5/10即领袖的偏好程度
发表于 2009-5-15 20:42:56 | 显示全部楼层
数据神又出马了
相当有用,不过最期待的还是结论
发表于 2009-5-15 21:01:17 | 显示全部楼层
看不懂 玩个游戏有必要搞这么复杂 这么专业吗
AI就是AI  也就是电脑机器  管他AI研究什么哪  都收做小弟叫他研究什么他就要研究什么
发表于 2009-5-16 00:31:05 | 显示全部楼层
支持~
有空慢慢研究
发表于 2009-5-16 00:33:16 | 显示全部楼层
原帖由 lqx114 于 2009-5-15 21:01 发表
看不懂 玩个游戏有必要搞这么复杂 这么专业吗
AI就是AI  也就是电脑机器  管他AI研究什么哪  都收做小弟叫他研究什么他就要研究什么

各人有各人的玩法,阁下不欣赏的话大可不看嘛~又没人强迫你进这个帖子来
发表于 2009-5-16 00:38:33 | 显示全部楼层
话说……秒科技的顺序原来是按照这个优先度来排的啊……怪不得看上去很诡异
大科是SCIENCE,大商是gold,大艺是culture,大仙是region

[ 本帖最后由 marsstrong 于 2009-5-16 00:40 编辑 ]
发表于 2009-5-16 01:34:48 | 显示全部楼层
又见k大数据流~~~
发表于 2009-5-16 17:37:53 | 显示全部楼层
顶~~专业贴
发表于 2009-5-16 19:12:13 | 显示全部楼层
好东西啊!!!!!!!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|塞爱维(CIV)文明联盟    

GMT+8, 2024-4-29 03:37

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表