# artificial life with the help of large AI model **Repository Path**: waterruby/artificial-life-large-ai-model ## Basic Information - **Project Name**: artificial life with the help of large AI model - **Description**: 基于AI大模型的人工生命进化 a artificial life with the help of large AI model written by perl. - **Primary Language**: Perl - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-04 - **Last Updated**: 2026-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🧬 Perl进化算法模拟器 - 说明文档 ## 项目概述 这是一个基于Perl编写的AI增强型进化算法模拟器,结合了遗传算法、人工生命模拟和大语言模型(DeepSeek)优化。程序模拟了一个微型生态系统中生命的进化过程,展现了个体适应、自然选择和基因优化的完整演化史。 ## 🌟 核心特性 ### 1. **完整进化系统** - 12个可进化基因参数(新陈代谢率、视野范围、食物效率等) - 基于适应度的自然选择机制 - 基因交叉和变异 - 动态环境(资源生成、障碍物) ### 2. **AI增强优化** - 集成DeepSeek API进行智能分析 - 每3代自动提供基因优化建议 - AI建议自动解析和应用 - 优化建议缓存机制 ### 3. **可视化界面** - ASCII字符地图显示 - 实时统计信息 - 基因多样性分析 - 适应度进化趋势图 ### 4. **社会学模拟** - 种群动态和代际更替 - 繁殖网络和伴侣关系 - 社会分层和流动性 - 集体行为模式 ## 📋 系统要求 ### 硬件要求 - **内存**: 最少512MB RAM - **存储**: 10MB可用空间 - **处理器**: 任意现代CPU ### 软件要求 - **操作系统**: Linux、macOS、Windows(WSL) - **Perl版本**: 5.20或更高 - **网络连接**: 需要访问DeepSeek API ## 🚀 安装步骤 ### 步骤1:安装Perl(如未安装) #### Linux (Ubuntu/Debian) ```bash sudo apt-get update sudo apt-get install perl ``` #### Linux (Fedora/RHEL) ```bash sudo dnf install perl ``` #### macOS ```bash # 使用Homebrew brew install perl ``` #### Windows 1. 下载并安装[Strawberry Perl](https://strawberryperl.com/) 2. 或使用WSL安装Linux版Perl ### 步骤2:安装必要的Perl模块 ```bash # 安装CPAN模块管理器(如未安装) sudo cpan App::cpanminus # 使用cpanm安装依赖 cpanm JSON::XS cpanm LWP::UserAgent cpanm HTTP::Request cpanm Digest::MD5 cpanm Encode ``` 如果cpanm不可用,使用传统CPAN: ```bash sudo cpan JSON::XS sudo cpan LWP::UserAgent sudo cpan HTTP::Request sudo cpan Digest::MD5 sudo cpan Encode ``` ### 步骤3:获取DeepSeek API密钥 1. 访问 [DeepSeek官网](https://www.deepseek.com/) 2. 注册账号并登录 3. 进入API密钥管理页面 4. 创建新的API密钥 5. 复制API密钥(格式:`sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`) ### 步骤4:配置程序 编辑程序文件,设置API密钥: ```perl # 在第30行附近找到: my $API_KEY = 'sk-11111111111111111111111'; # 替换为你的DeepSeek API密钥: my $API_KEY = '你的-DeepSeek-API-密钥'; ``` ### 步骤5:运行程序 ```bash # 1. 给脚本执行权限 chmod +x alife.pl # 2. 运行程序 ./alife.pl # 或直接使用perl运行 perl alife.pl ``` ## ⚙️ 配置选项 ### 主要配置参数(文件开头部分) ```perl # 进化参数 my $MAX_POPULATION = 15; # 最大种群数量 my $MAP_WIDTH = 25; # 地图宽度 my $MAP_HEIGHT = 15; # 地图高度 my $SIMULATION_DAYS = 30; # 模拟代数 my $MUTATION_RATE = 0.15; # 变异率 my $CROSSOVER_RATE = 0.7; # 交叉率 # API配置 my $API_KEY = '你的密钥'; # DeepSeek API密钥 my $API_URL = 'https://api.deepseek.com/v1/chat/completions'; ``` ### 基因参数范围(Genome.pm中) ```perl # 可以调整的初始基因范围: metabolic_rate => 0.7 + rand(0.6), # 新陈代谢率 vision_range => 2 + int(rand(4)), # 视野范围 speed => 0.8 + rand(0.4), # 移动速度 food_efficiency => 0.9 + rand(0.4), # 食物效率 ``` ## 🎮 使用指南 ### 基本运行 ```bash # 运行默认30代模拟 ./alife.pl # 运行指定代数(修改第34行) # 将 $SIMULATION_DAYS = 30; 改为需要的代数 ``` ### 输出解读 程序输出包含以下部分: #### 1. **地图显示** ``` =========================== |..##.W##F.W.........L....| |..##..##............G....| |.........................| =========================== 图例: A/B/C=生命体, F=食物, W=水, #=障碍物, .=空地 ``` #### 2. **个体状态** ``` Alpha : 位置( 4, 3), 能量 80, 年龄 1, 适应度1.8, 行动: patrol ``` #### 3. **进化统计** ``` 📊 进化统计: 当前种群: 5 个个体 平均适应度: 1.80 最高适应度: 1.80 平均寿命: 1.0 天 ``` #### 4. **基因多样性** ``` 🧬 基因多样性统计: metabolic_rate : 平均=0.924, 标准差=0.229 vision_range : 平均=4.833, 标准差=1.258 ``` #### 5. **AI优化建议** ``` 🤖 AI优化建议: - increase vision_range by 0.5 units - decrease move_cost by 0.1 ``` ### 进阶使用 #### 调整模拟参数 ```perl # 在EvolvedLife.pm中调整能量参数 sub update { my $self = shift; # 修改能量消耗(当前2.0) my $energy_cost = 1.5 * $self->{genome}->{metabolic_rate}; } ``` #### 修改死亡机制 ```perl # 在update方法中修改死亡概率 if ($self->{energy} < 8) { $death_chance = 0.3; # 降低死亡率 } ``` #### 调整繁殖条件 ```perl # 在reproduce方法中修改 return undef if $self->{energy} < 20 || $partner->{energy} < 20; # 降低门槛 ``` ## 🔧 故障排除 ### 常见问题 #### 1. **Perl模块安装失败** ``` 错误:Can't locate JSON/XS.pm ``` **解决方案**: ```bash # 确保使用正确权限 sudo cpan JSON::XS # 或使用包管理器 # Ubuntu/Debian sudo apt-get install libjson-xs-perl # Fedora sudo dnf install perl-JSON-XS ``` #### 2. **API密钥错误** ``` API调用失败: 401 Unauthorized ``` **解决方案**: 1. 检查API密钥是否正确 2. 确保密钥有余额 3. 验证网络连接 #### 3. **UTF-8编码问题** ``` Wide character in print ``` **解决方案**: 程序已内置UTF-8处理,如仍出现: ```perl # 在文件开头添加 use utf8; use open ':std', ':encoding(UTF-8)'; ``` #### 4. **内存不足** ``` Out of memory! ``` **解决方案**: - 减少最大种群数 `$MAX_POPULATION` - 减少模拟代数 `$SIMULATION_DAYS` - 减小地图尺寸 `$MAP_WIDTH` 和 `$MAP_HEIGHT` ### 调试模式 要启用详细调试信息,可以在程序中添加: ```perl # 在文件开头添加 my $DEBUG = 1; # 在需要的地方添加 if ($DEBUG) { say "调试信息: 种群大小 = " . scalar @population; } ``` ## 📊 数据分析 ### 输出文件 程序可以修改为输出CSV文件记录数据: ```perl # 添加日志功能 sub log_statistics { my ($self, $generation) = @_; open my $fh, '>>', "evolution_log.csv" or return; print $fh join(",", $generation, scalar @{$self->{population}}, sprintf("%.2f", $self->{statistics}{avg_fitness}), sprintf("%.2f", $self->{statistics}{max_fitness}), sprintf("%.1f", $self->{statistics}{avg_lifespan}) ) . "\n"; close $fh; } ``` ### 关键指标监控 | 指标 | 健康范围 | 说明 | |------|----------|------| | 种群大小 | 5-15个 | 低于3个可能灭绝 | | 平均适应度 | 持续增长 | 停滞可能达到局部最优 | | 基因标准差 | >0.1 | 过低说明基因趋同 | | 平均寿命 | 4-10天 | 反映生存压力平衡 | ## 🔄 扩展开发 ### 添加新基因 ```perl # 在Genome.pm的new方法中添加 my $self = { # 现有基因... new_gene => $args{new_gene} || rand(1.0), # 新基因 }; ``` ### 添加新行为 ```perl # 在EvolvedLife.pm的choose_action中添加 sub choose_action { my $self = shift; # 现有逻辑... # 添加新行为 if (rand() < $self->{genome}{cooperation}) { return "cooperate"; } } ``` ### 自定义AI提示 ```perl # 在ai_optimize_population中修改prompt my $prompt = sprintf(<<'END_PROMPT', 自定义分析提示... 重点关注:%s 当前问题:%s 请提供针对性建议... END_PROMPT $focus_area, $current_issue ); ``` ## 📚 学习资源 ### 相关概念 - **遗传算法**: 模拟自然选择的优化算法 - **人工生命**: 在计算机中模拟生命系统 - **进化计算**: 基于生物进化的计算方法 - **群体智能**: 分布式自组织系统的智能行为 ### 推荐阅读 1. 《遗传算法与工程优化》 2. 《人工生命:理论与实践》 3. 《复杂系统建模与仿真》 4. 《进化计算导论》 ## 📄 许可证 本项目仅供学习和研究使用。使用DeepSeek API需遵守其服务条款。 ## 🤝 贡献指南 欢迎提交Issue和Pull Request: 1. Fork项目 2. 创建功能分支 3. 提交更改 4. 推送到分支 5. 创建Pull Request ## 📞 支持与反馈 如遇到问题或有建议: 1. 检查本文档的故障排除部分 2. 提交Gitee Issue 3. 在相关论坛讨论 --- **祝您探索进化之美,发现生命算法的奥秘!** 🌱✨