围棋与育种
最近因为娃子报名了围棋课,我本着交一次课学两个人的态度,入门围棋,买了些书,听了些课,有所得。学了两个多月,现在6级水平,了解了基本的攻杀技巧,会判断输赢。
下面截图是今天的一盘棋,执黑胜利27子。
围棋作为最后被计算机攻克的棋牌类游戏,它的复杂度相对于其它游戏遥遥领先,之前没有接触过,一直感觉到高深莫测,也没有机会学习,这次入门围棋让我想到了很多,写篇博客介绍一下吧。
主要的想法:
- 1,资源是有限的
- 2,模块化的学习的必要性
- 3,站在巨人的肩膀上
- 4,自己的风格
- 5,未来的育种
- 6,勤而行之
1. 资源是有限的
下围棋,是你走一步,对手走一步,所以要发挥出每一步的价值,围棋,是围地盘,地盘大的赢。要确保自己能围很多地盘,还要能守住,才是目的。所谓:“金角银边草肚皮”,就是说,角落最好围,因为可以利用两边的线,边是齐次,中间最难围,所以下围棋是先占角,然后拆边,最后中腹作战。围棋中的三个阶段:布局,中盘,官子。
经济学中讲,人的资源是有限的,人的欲望是无限的,如何把有限的资源更大效率的利用,满足更多的欲望,这是一个学问。下围棋也是这样,利用效率的高低,也分为不同的级别,古人分为九品,其中一品等级最高。
- 一品入神
- 二品坐照
- 三品具体
- 四品通幽
- 五品用智
- 六品小巧
- 七品斗力
- 八品若愚
- 九品守拙
育种中也是这样,资源总是有限的,资金有限,人员有限,土地有限,种质有限,时间有限,要怎么搭配如何选择才能效率最高效果最好,这确实需要好好思考规划。
体会到资源是有限的,才会不断把目标记于心中,在行动中认识到意义,就像每个细胞可以克隆为一个整体,每个工作也能体会对整体的意义,每个棋子彼此的配合,一花一世界,一叶一菩提。
个人的时间分配也是这样,时间是有限的,注意力是有限的,或者享受生活,或者努力工作,切勿浑浑噩噩,不知所措。下棋少走俗手,多走本手,走妙手。尼采有云:力的过剩就是力的证明。
2. 模块化的学习的必要性
做育种时,数量遗传学是基础,配合力、育种值、类群划分这些概念不是可有可无的东西,这是基础模块。围棋也有各种模块化的学习,比如各种定式以及定式的常见变化,就像搭积木一样,有些招式是连接在一起的,这有点像GWAS中的LD概念,高度连锁,如果下棋时对方走无理手,后面会吃亏。
围棋发展到现在,经过多少前辈总结淘汰,保留的都是可行度很高的定式,所以学习围棋,学习定式,就是学习一个一个的模块。育种也是这样,有很多模块化的东西,比如同质选配、异质选配有很多规则,选择强度与群体变异情况,包括类群内和类群间的组配模式,有很多模块。模块可以用于组合,也可以打破创建新的模块,但是创造性的模块要建立在掌握的基础上,围棋不是一堆散落的棋子随意组合,育种也不是一些种质随意的组配,都有一定的定式和模块。
关于定式和模块的学习,围棋中有棋谱和死活题,育种中有推广品种的育成历史,这些就像围棋比赛九段棋手的棋谱,可以模仿,可以研究理解,可以修改创新。
关于编程学习,模块化的包,比如R包,python包,在此基础上可以自己编写函数和包去满足自己的需求,这些模块化的东西比从头开始制造轮子要更高效。
3. 站在巨人的肩膀上
柯洁被问到今天的棋手强还是古代的棋手强,柯洁说:现在的棋手计算力要强于古人,我觉得整体而言,现在的棋手要高于古人,当然顶尖的国手计算力还是可以和如今的九段一决高下的,毕竟人类的智力没有多少进化,对于离群点的国手,今人古人应该差异不大。
关于计算力,围棋中计算力的高低,每个人不一样,有些人算得快算得远,但这个东西更多的是可以训练的,特别是大量死活题的训练,对于计算力的提升帮助很大。围棋老师说:一万道题,入段轻轻松松,就是说的这种情况。
同理,现在的育种水平整体高于过去,就像现在的品种普遍吊打过去的品种,不是过去的品种退化了,而是现在的品种变强了。育种利用的是育种值,遗传进展不停止,育种就一直往前进。
对于育种家,这个“家”也称为高手,到“家”的过程中,也要像围棋算力提升一样,不断地做死活题,思考–操作–复盘总结,组配–观测–分析–总结,把这个过程不断地输入自己的大脑,然后大脑建立一个模型,建立一个反射弧,然后成为育种专家,成为育种家。
4. 自己的风格
下围棋可以感受到不同人的风格,有些棋手喜欢战斗,有些擅长防守,有些重视实地,有些更偏外势,风格各异,比如“宇宙流”,“中国流”,“清源流”等。
育种家也有自己的风格,有些高产,有些稳产,有些局部优势大,有的抗性特别好。具体原因,有种质资源的原因,更多的是育种家的选择。因为育种有很多目标,选择不同,自然结果也不同。就像每个棋手,棋子都是一样的,下法不同,自然风格也不一样。
人工智能AlphaGo战胜人类,目前普遍使用的腾讯的人工智能软件“绝艺”,人类完全不是对手,人工智能成为棋手下棋中的评分器,这一手胜率降低了30%,这一手胜率提升了40%,人工智能以一种数学的角度去判断落子的效率,AI风格席卷棋届。育种中也有这种趋势。
5. 未来的育种
就像围棋有了AI风格,育种中的商业化育种也降低了个人风格的影响,数据决策,测产、测试、分析等流程搭建和维护成为了主要,育种家依赖数据做决策,从围棋发展的角度上看,未来的育种应该也是这个趋势。
6. 勤而行之
最初,人类根本不相信计算机能下过人类,象棋90年代都已经被破解,而2015年之前的计算机的围棋最高水平也不过是三段,对于九段棋手计算机连陪玩的资格都不够,随着AlphaGo的出现,人工智能以一种飞速的发展打破了人类的认知,AlphaGo1.0李世石还可以赢一局,AlphaGo2.0对柯洁三比零胜利,后面人类就再也没有赢过一局。这就是数据模型的力量,
现在的围棋比赛,人工智能成为了落子效率的标准,而人工智能之前的比赛成为了神仙打架,很多招式人类也很难看懂,匪夷所思。
未来的育种,包括很多决策,估计都会像这个方向走。
老子有云:“上士闻道,勤而行之;中士闻道,若存若亡;下士闻道,大笑之。不笑不足以为道。”,现在围棋中很多AI定式,比如点三三,几乎每局比赛都会出现,很多棋手也找人工智能陪练。对于育种,也应该有所启示,勤而行之。
好消息是,育种的评价维度很多,不像围棋有胜负清晰,而且每人只能一步一步走。人工智能在育种选择的应用,也只能是环节化的应用,比如基因组选择……
但是,要看到,未来的趋势,就像现在围棋比赛中大家都有AI定式,一些新的方法必将改变育种的流程和育种家的选择,比如DH+GS,比如基因编辑等,工具的应用不但可以提升效率,更重要的是他会有先行者的奖励,数据积累越多模型迭代越好预测准确性越高,庄周骑着大鱼说:“这就是蝴蝶效应”,因为效果可以叠加……
王者荣耀游戏中,庄周梦中蝴蝶扇起翅膀,对身边的敌人造成法术伤害,并增加范围内友军移动速度持续5秒,5秒内的连续命中会增加对敌人造成的伤害和叠加移动速度,最多5层;被动:每隔6秒,庄周会自动释放一次蝴蝶效应。
相关文章:

围棋与育种
最近因为娃子报名了围棋课,我本着交一次课学两个人的态度,入门围棋,买了些书,听了些课,有所得。学了两个多月,现在6级水平,了解了基本的攻杀技巧,会判断输赢。 下面截图是今天的一盘…...

Python第三方库纵览
Python第三方库纵览 知识点 更广泛的Python计算生态,只要求了解第三方库的名称,不限于以下领域: 网络爬虫、数据分析、文本处理、数据可视化、用户图形界面、机器学习、Web开发、游戏开发等 知识导图 1、网络爬虫方向 网络爬虫是自动进行HTTP访问并捕…...

测试.net开源音频库NAudio
微信公众号“dotNET跨平台”看到一篇文章《【.NET】使用NAudio实现录音功能》介绍基于NAudio实现录音功能(参考文献1)。NAudio是开源.net音频库,其支持播放多种格式的音频(WAV、AIFF、MP3、WMA等)、音频格式转换、录音…...

三方接口调用设计方案
在为第三方系统提供接口的时候,肯定要考虑接口数据的安全问题,比如数据是否被篡改,数据是否已经过时,数据是否可以重复提交等问题 在设计三方接口调用的方案时,需要考虑到安全性和可用性。以下是一种设计方案的概述&a…...

OLED透明屏全贴合技术:未来显示技术的突破性创新
在现代科技发展的浪潮中,OLED透明屏全贴合技术以其独特的优势和无限的应用前景引起了广泛的关注。 在这篇文章中,尼伽将深入探索OLED透明屏全贴合技术,介绍其优势和特点,并展望其在不同领域的应用前景。 一、OLED透明屏全贴合技术…...

map、sync.map、concurrent-map适用场景与源码解析
最近一直加班,无论工作日还是周末,虽然每天很忙但总感觉空空的,很少有时间停下来思考与总结。项目中各种甩锅,最后最苦逼的还是落到了研发的头上,文档编写、环境部署、问题排查虐得一遍又一遍。事情杂乱,研…...
分布式事物实现方案及优缺点
实现分布式事务是一个复杂的任务,涉及到许多技术和概念。在Java开发中,你可以借助一些框架和工具来实现分布式事务,以下是一些常见的方法: 1.两阶段提交(2PC) 这是一种经典的分布式事务处理方法。它涉及到…...
java使用@interface和反射来动态生成excel
1、对象类上搞注解 public class ReportExecuteDetailDto { // 项目信息 private String regionCode; // 大区编号 ExcelColumn(order 0, title "大区") private String regionName; // 大区名称 ExcelColumn(order 14, tit…...

【微服务】04-Polly实现失败重试和限流熔断
文章目录 1. Polly实现失败重试1.1 Polly组件包1.2 Polly的能力1.3 Polly使用步骤1.4 适合失败重试的场景1.5 最佳实践 2.Polly实现熔断限流避免雪崩效应2.1 策略类型2.2 组合策略 1. Polly实现失败重试 1.1 Polly组件包 PollyPolly.Extensions.HttpMicrosoft.Extensions.Htt…...

如何使用HTML5新增的标签来构建语义化的页面结构?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ <header>:⭐ <nav>:⭐ <main>:⭐ <section>:⭐ <article>:⭐ <aside>:⭐ <footer>:⭐ <figure> 和 &l…...

Vmware 虚拟机挂起恢复后发现无法 Ping 通,无法连接到主机
解决办法 进入对应主机中,切换到 root 账户,重启网络服务。 systemctl stop NetworkManager systemctl restart network在网上还找到了另一种解决方法: 在网卡配置文件中增加参数 NM_CONTROLLED"no"。 在 Centos 7 中修改如下所…...

Web自动化测试之图文验证码的解决方案
对于web应用程序来讲,处于安全性考虑,在登录的时候,都会设置验证码, 验证码的类型种类繁多,有图片中辨别数字字母的,有点击图片中指定的文字的,也有算术计算结果的,再复杂一点就是滑…...
软考高级系统架构设计师系列论文九十:论分布式数据库的设计与实现
软考高级系统架构设计师系列论文九十:论分布式数据库的设计与实现 一、分布式数据库相关知识点二、摘要三、正文四、总结一、分布式数据库相关知识点 软考高级系统架构设计师系列之:分布式存储技术...
Day 84:网络结构与参数
单层数据 package dl;/*** One layer, support all four layer types. The code mainly initializes, gets,* and sets variables. Essentially no algorithm is implemented.*/ public class CnnLayer {/*** The type of the layer.*/LayerTypeEnum type;/*** The number of …...

vue2.6及以下版本导入 TDesign UI组件库
TDesign 官方文档:https://tdesign.tencent.com/vue/components/button 我们先打开一个普通的vue项目 然后 如果你是 vue 2.6 或者 低于 2.6 在终端执行 npm i tdesign-vue如果你是 2.7 或者更高 执行 npm i tdesign-vuenaruto这里 我们 以 2.6为例 因为大部分人 用vue2 都是…...

VR/AR/眼镜投屏充电方案(LDR6020)
VR眼镜即VR头显,也称虚拟现实头戴式显示设备,随着元宇宙概念的传播,VR眼镜的热度一直只增不减,但是头戴设备的续航一直被人诟病,如果增大电池就会让头显变得笨重影响体验,所以目前最佳的解决方案还是使用VR…...

区分什么是Java内存模型(JMM)和 JVM运行时数据区
文章目录 一、概念区分1、什么是内存模型?什么是(内存区域)运行时数据区?2、为什么要有Java内存模型?2.1、硬件的效率与一致性2.2、 CPU和缓存的一致性2.2.1、为什么需要CPU cache?2.2.2、三级缓存…...

Flask狼书笔记 | 04_表单
文章目录 4 表单4.1 HTML表单4.2 使用Flask-WTF4.3 处理表单数据4.4 表单进阶实践小记 4 表单 表单是和用户交互最常见的方式之一,本章涉及的Python包由WTForms、Flask-WTF、Flask-CKEditor。(p104) 4.1 HTML表单 通过<form>标签创建…...

RabbitMQ+springboot用延迟插件实现延迟消息的发送
延迟队列:其实就是死信队列中消息过期的特殊情况 延迟队列应用场景: 可以用死信队列来实现,不过死信队列要等上一个消息消费成功,才会进行下一个消息的消费,这时候就需要用到延迟插件了,不过要线在docker上…...

多线程和并发(1)—等待/通知模型
一、进程通信和进程同步 1.进程通信的方法 同一台计算机的进程通信称为IPC(Inter-process communication),不同计 算机之间的进程通信被称为 RPC(Romote process communication),需要通过网络,并遵守共同的协议。**进…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...
【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权
摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题:安全。文章将详细阐述认证(Authentication) 与授权(Authorization的核心概念,对比传统 Session-Cookie 与现代 JWT(JS…...

快速排序算法改进:随机快排-荷兰国旗划分详解
随机快速排序-荷兰国旗划分算法详解 一、基础知识回顾1.1 快速排序简介1.2 荷兰国旗问题 二、随机快排 - 荷兰国旗划分原理2.1 随机化枢轴选择2.2 荷兰国旗划分过程2.3 结合随机快排与荷兰国旗划分 三、代码实现3.1 Python实现3.2 Java实现3.3 C实现 四、性能分析4.1 时间复杂度…...
用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章
用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章 摘要: 操作系统内核的安全性、稳定性至关重要。传统 Linux 内核模块开发长期依赖于 C 语言,受限于 C 语言本身的内存安全和并发安全问题,开发复杂模块极易引入难以…...

EasyRTC音视频实时通话功能在WebRTC与智能硬件整合中的应用与优势
一、WebRTC与智能硬件整合趋势 随着物联网和实时通信需求的爆发式增长,WebRTC作为开源实时通信技术,为浏览器与移动应用提供免插件的音视频通信能力,在智能硬件领域的融合应用已成必然趋势。智能硬件不再局限于单一功能,对实时…...