围棋吧 关注:335,379贴子:10,074,424

萌式三色围棋M3Go全局对弈探析

只看楼主收藏回复


我2013年就设计出了萌式三色围棋的第一版规则,2016年至2020年我断断续续地对萌式三色围棋规则构想进行了改进完善,萌式三色围棋2020年版规则是目前最新版规则。
人类棋手实际对弈萌式三色围棋时,当棋局中花棋串的上层属性发生变化时,但不做相应的变换和标识,以这样的直弈棋局模式对弈,对人类棋手而言有很大难度,人类棋手需要花费很多脑力用于花棋串上层属性的记忆和重复思考判断上,人类棋手很容易心疲眼花脑迷糊,观众看棋也累,需要自己判断花棋串的上层属性。但是人类棋手以三合棋局模式(花棋串上层属性进行相应标识)对弈萌式三色围棋则有了可行性。虽然萌式三色围棋比围棋难度有所增加,但是随着萌式三色围棋相关知识经验(如新定式、新手筋……等)的积累和掌握,以三合棋局模式对弈萌式三色围棋也会由初期的陌生而困难变得相对熟悉而容易。
2010年代初期以来,围棋人工智能程序(AI)凭持“蒙特卡洛树搜索和深度学习(带残差块的深度卷积神经网络)”两大技术,使其在棋力上取得了很大提高,目前已经远超人类顶级高手(大约可以让人类高手2子)。深度卷积神经网络是根据较深层、较复杂的棋形(模式)和棋形(模式)相互组合和影响的统计规律,给出落子点概率和落子点的胜率从而做出下棋选择。蒙特卡洛树搜索其实也是基于概率统计的。而人类智能有两大方法:归纳法和演绎法,两者互为补充。目前围棋AI则长于依凭大数据的统计规律(归纳法),表现得远超人类,其泛化功能与人类的演绎法也有较大区别。
Michael Nielsen著的《神经网络和深度学习》中,关于“神经网络可以计算任何函数”的说法有两个提醒:
第一点,这句话不是说一个网络可以被用来准确地计算任何函数。而是说,我们可以获得尽可能好的一个近似。比如可以通过增加隐藏层的数量,提升近似的精度。
第二点,就是可以按照上面的方式近似的函数类其实是连续函数。如果函数不是连续的,也就是会有突然、极陡的跳跃,那么一般来说无法使用一个神经网络进行近似。这并不意外,因为神经网络计算的就是输入的连续函数。然而,即使那些我们真的想要计算的函数是不连续的,一般来说连续的近似其实也足够的好了。如果这样的话,我们就可以用神经网络来近似了。实践中,这通常不是一个严重的限制。
---------------------------------------------
神经网络训练所采用的反向传播算法(BP)需要根据损失函数和链式求导法则,反向逐层计算损失函数对权重的导数。 如果将萌式三色围棋中落子情况(输入)和花棋串的上层属性变化(振荡)引起的地域点数出入情况(输出)抽象为函数,这些函数就是存在有突然、极陡跳跃的非连续函数,其对应的损失函数也是存在有突然、极陡跳跃的非连续函数。而在非连续函数突变和跳跃处是不能求导的,但是否有相应的连续函数来近似它们?并且深度卷积神经网络来计算它们也会表现得足够好呢?
微软亚洲研究院资深研究员杨懋、主管研究员秦涛所写的《AI研究和实用化,为何从棋牌开始?》一文中有如下文字:AI算法在研究棋艺的过程中不断精进和提升,会带来更多设计上的创新,从而在根本上提升人工智能算法的能力和适用范围。…棋类也很适合作为新的AI算法的标杆(Benchmark)。…棋牌类AI的成功和突破能够启发AI在其他方面的研究和应用,…推动人工智能去攻克一个又一个技术和应用的“高地”。
机缘巧合,萌式三色围棋站在了“围棋巨人(人类曾经的智慧堡垒)”的肩上。在新的萌式三色围棋领域,萌式三色围棋人工智能程序与人类棋手同台竞技、共同演进,其各自棋力递增情况又会如何呢?萌式三色围棋应该还是可以去尝试做一做人工智能算法的新的陪练和测试棋种吧!
这也是我对萌式三色围棋所希望和推动的主要方向吧!


IP属地:重庆1楼2022-02-02 00:01回复
    萌式三色围棋规则与传统围棋规则大部分相同,下面主要选摘部分萌式三色围棋规则与传统围棋规则相异的地方。
    萌式三色围棋规则(2020版)选摘一:
    序言
    象棋(含国际象棋、中国象棋、日本将棋)的本质是模拟两个国家间的战争。
    萌式三色围棋的本质则是模拟两个帝国(黑子帝国、白子帝国)及中立国家联盟(灰子/花子联盟)间对生存资源的争夺和占有。人类的生存资源通常附着于土地,因此,争夺生存资源可以抽象为争夺土地,争夺土地可以主要表现为争夺战略要冲(或资源富集区)。
    ………………
    萌式三色围棋是蕴涵三分思维模式(方法论/哲学思想)的益智棋类游戏。萌式三色围棋就是在围棋基础上增加总体上中性、分化上三变(黑棋串属性/白棋串属性/中性分隔串属性)的花棋配角,黑棋主角和白棋主角再“争地争花决胜”。
    棋盘点即土地上的战略要冲,棋子围占棋盘点的多少,约定等同于围占土地的大小。棋盘上,空点(空)是地,棋子(子)不是地,棋子(子)脚下占有的棋盘点是地,因此棋盘上的棋子(子)可以间接表示地。终局时,棋盘上某方活棋子(子)的数量加上围占空点的数量,可以等同于某方占据土地的大小,因此从这个角度,萌式三色围棋第一公设可以简省地说成“子空表(间接或直接表示)地,地多为胜”。传统中国围棋也有子可以作为子点(棋子所占棋盘点)的简称,子也可以直接表示地,空可以作为空点的简称,第一公设也可以说成“子空皆地,地多为胜”。萌式三色围棋比赛规则的构建和下棋两方输赢的判定都是以此第一公设为基石,“目”概念可以由第一公设和两方平权的交替下子规则推出。
    萌式三色围棋的下法:
    1、 对局为A、B二人,A(黑方)执黑子兼执花子,B(白方)执白子兼执花子。
    2、 空枰开局。
    3、A先下子,B后下子:
    第1手:A下一黑子,第2手:B下一白子;
    第3手:A下一黑子,第4手:B下一白子;
    第5手:A下一黑子,第6手:B下一白子;
    第7手:A下一黑子,第8手:B下一白子;
    第9手:A下一花子,第10手:B下一花子。
    第11手:A下一黑子,第12手:B下一白子;
    第13手:A下一黑子,第14手:B下一白子;
    第15手:A下一黑子,第16手:B下一白子;
    第17手:A下一黑子,第18手:B下一白子;
    第19手:A下一花子,第20手:B下一花子。
    ……………… ………………
    如此循环直至终局。

    萌式三色围棋M3Go2.3版(2020版规则)界面及下子次序演示图


    IP属地:重庆2楼2022-02-02 00:04
    回复
      萌式三色围棋规则(2020版)选摘二:
      3、在棋盘上,一个棋子直线紧邻的点上或连续紧邻的点上,如果都有同色棋子存在,那么这些棋子就相互连接成一个不可分割的整体,这样的整体称为棋串。棋串根据不同颜色又具体分为黑棋串、白棋串和花(灰)棋串。棋串也可简称为串。与其它同色棋子分离开的单独的一个棋子是一个特殊的棋串。棋串的气是棋串中所有棋子的气的总和。在萌式三色围棋中,棋串是一个精确概念,也是一个基础性的核心概念。
      4、两个棋串要紧邻,则这两个棋串必需是异色棋串,而且此两个棋串必需至少有 1 对棋子(每个棋串 1 个棋子)处于两子紧邻状态。
      5、在棋盘上,一个空点直线紧邻的点上或连续紧邻的点上,如果都没有棋子存在,那么这些空点就相互连接成一个整体,这样的整体称为空点串。与其它空点分离开的单独的一个空点是一个特殊的空点串。
      萌式三色围棋的私眼判断是人类棋手也包括编程实现的难点,下面对萌式三色围棋私眼进行说明:
      萌式三色围棋中,由一个黑棋串独享或者说规则(理论)上可以独享的眼(封闭区域和内气),也即是这个黑棋串的私眼。前述规则(理论)是:
      1、黑棋串私眼内至少有一个空点串与这个黑棋串紧邻,而且此空点串不与其它黑棋串紧邻,黑棋串私眼内也不能具有其它黑棋串;
      2、黑棋串私眼内可以具有其它白色棋串和中性花棋串(中性花棋串视同边界外区域),但是这些白色棋串不能具有1气及1气以上的眼,或者模拟推演:在此封闭区域内连续补充白色棋子(补充白色棋子的过程中不能提子)也无法做出一个1气眼。(备注:眼含真眼和假眼)
      白棋串私眼判断规则(理论)与上述黑棋串私眼判断规则(理论)类同,具体描述文字略。
      特别注意:判断一个棋串A有无私眼时,采用底层棋局和底层逻辑,也即与棋串A关联的花棋串皆视同为边界外区域。下面举例说明判断一个黑棋串A有无私眼的规则和方法:

      如图1,黑棋串八九*与上边界外区域形成一个封闭区域R——空点串六九*(2个空点)。封闭区域R内没有其它棋串,只有空点串,所以封闭区域R是黑棋串五九*的私眼。
      如图2,黑棋串八九*与上边界外区域和花棋串五九*(视同边界外区域)形成一个封闭区域R——空点串六九*(2个空点)。封闭区域R内没有其它棋串,只有空点串,所以封闭区域R是黑棋串八九*的私眼。
      如图3,黑棋串六九*和黑棋串八九*及花棋串六七*(视同边界外区域)形成一个封闭区域R——空点串七九*(2个空点)。但是,封闭区域R是两个黑棋串共同形成,空点串七九*与两个黑棋串紧邻,因此封闭区域R不是两个黑棋串中任意一个的私眼。

      如图4,黑棋串五九*与上边界外区域形成一个封闭区域R——空点串六九*(5个空点)+黑棋串七九。封闭区域R内有其它同色棋串——黑棋串七九,而且空点串六九*与两个黑棋串紧邻,所以封闭区域R不是黑棋串五九*的私眼,也不是黑棋串七九的私眼。
      如图5,黑棋串五九*与上边界外区域和花棋串七九(视同边界外区域)形成一个封闭区域R——空点串六九*(5个空点)。封闭区域R内没有其它棋串,只有空点串,所以封闭区域R是黑棋串五九*的私眼。
      如图6,黑棋串五九*与上边界外区域形成一个封闭区域R——空点串六九*(5个空点)+白棋串七九。封闭区域R内虽然有异色棋串——白棋串七九,但是白棋串七九不具有1气及1气以上的眼,而且(模拟推演)在封闭区域R内连续补充白子,也无法做一个1气眼,所以封闭区域R是黑棋串五九*的私眼。

      如图7,黑棋串七九*与边界外区域形成一个封闭区域R——空点串九九*(5个空点)+白棋串九八。封闭区域R内具有异色棋串——白棋串九八,虽然白棋串九八不具有1气及1气以上的眼,但是(模拟推演)在封闭区域R内连续补充白子,可以做出一个1气眼,模拟推演如图8,空点九九即为模拟推演的白棋串九八和白棋串八九形成的一个1气眼,所以封闭区域R不是黑棋串七九*的私眼。
      一个棋串形成的封闭区域及私眼判断示例,如下图:

      白棋串六九*与边界外区域(花棋串八八*视同边界外区域)形成了3个封闭区域R、S、T:
      1、封闭区域R——空点串七九*(含3个空点),此封闭区域R是白棋串六九*的一个私眼;
      2、封闭区域S——黑棋串七七* + 黑棋串九七 + 空点串八七 + 空点串九六,因为黑棋串七七*和黑棋串九七与花棋串八八*(视同边界外区域)形成了一个1气眼(空点串八七),所以封闭区域S不是白棋串六九*的私眼。
      3、封闭区域T——黑棋串五九*及空点串四九*,也即白棋串六九*左边和下边广大区域,因为白棋串六九*在此封闭区域内没有紧邻至少一个空点串,而且(模拟推演)黑棋方在封闭区域T内连续补充黑子,也很容易做出一个1气眼,所以封闭区域T不是白棋串六九*的私眼。


      IP属地:重庆4楼2022-02-02 10:35
      回复
        萌式三色围棋规则(2020版)选摘三:
        棋串属性:
        黑棋串和白棋串的属性同传统两色围棋,但是,花棋串具有底层属性和上层属性等两层属性。或者说萌式三色围棋中的花棋串根据不同情况,适用底层逻辑和上层逻辑等两个不同的逻辑规则。
        花棋串的底层属性就是中性分隔串属性(类同棋盘边界外区域)。也即在底层逻辑中,不用考虑花棋串的属性变化,因为它们只具有一种不会发生变化的单一属性——中性分隔串属性(类同棋盘边界外区域)。
        花棋串的上层属性就是根据花棋串上层属性变化规则,导致的这些花棋串上层属性变化情况的最终结果,此最终结果中的花棋串可能分化为三种上层属性:黑棋串属性、白棋串属性、中性分隔串属性(类同棋盘边界外区域)。
        花棋串的上层属性变化规则
        设花棋串A的紧邻有私眼黑棋串数量为Hs、紧邻无私眼黑棋串数量为Hw、紧邻有私眼白棋串数量为Bs、紧邻无私眼白棋串数量为Bw。(Hs、Hw、Bs、Bw属于自然数)
        1、当Hs+Bs=0,则花棋串A的上层属性为“中性分隔串属性”;
        2、当Hs+Bs≥1:
        a、当Hs>Bs,则花棋串A的上层属性为“黑棋串属性”;
        b、当Hs<Bs,则花棋串A的上层属性为“白棋串属性”;
        c、当Hs=Bs(Hs、Bs≥1):
        c1、当Hw>Bw,则花棋串A的上层属性为“黑棋串属性”;
        c2、当Hw<Bw,则花棋串A的上层属性为“白棋串属性”;
        c3、当Hw=Bw,则花棋串A的上层属性为“中性分隔串属性”。)
        由上可知,花棋串紧邻棋串的私眼是花棋串上层属性由中性分隔串属性向黑棋串属性或白棋串属性变化的开关和上层属性变化的重要参数。
        花棋串上层属性的变化振荡,其实主要就是黑棋和白棋对花棋(花棋所占棋盘点和关联利益)的争夺,此现象和过程可以简称为争花。
        花棋串上层属性根据不同情况可以分化为黑棋串属性、白棋串属性、中性分隔串属性等三种属性,但总体而言花棋串还是相对于黑棋串和白棋串的第三元中间势力。
        为了方便人类棋手对花棋串及其关联棋形的思考判断(也避免重复思考判断),当某花棋串由中性分隔串属性变为黑棋串属性或白棋串属性时,可将某花棋串的一个紧邻黑子或紧邻白子翻转(需要可区分正反面的围棋子,如下平上凸围棋子),以后某花棋串上层属性再次进行变化时,还需要再次进行前述的相应翻转操作。在电脑上进行萌式三色围棋对弈时,某花棋串上层属性进行变化时,则只需要将某花棋串的每个花子中心加上相应的黑星(黑色圆点)、白星(白色圆点)或恢复花子原状即可,此棋局也称为三合棋局,三合棋局可以看成是直弈棋局、底层棋局和上层棋局的合成。
        棋串的死活
        1、一个处于“中性分隔串”状态的花棋串无气(即气数 = 0 )仍可存活,也即此花棋串不会被提吃。
        2、当花棋串上层属性变为黑棋串属性或白棋串属性时,其生死则按照黑棋串或白棋串判断、处理。
        其它同围棋。


        IP属地:重庆5楼2022-02-02 10:54
        回复
          萌式三色围棋规则(2020版)选摘四:
          花子的特别禁着(禁着点)有如下三种:
          1、花子“提吃点”禁着:提吃黑棋或白棋的提吃点是花子的禁着点,也即花子不具有提吃功能。
          2、花子“一气眼”禁着:黑棋或白棋的“一气眼”是花子的禁着点。
          3、花子“虎口”禁着:黑棋或白棋的虎口是花子的禁着点。
          萌式三色围棋的禁着点判断在上层棋局中进行,也即判断禁着点时的关联花棋串皆采用上层属性。
          示例图(一)如下:

          1、t位(点一九)是花子“提吃点”禁着点。
          2、s位(点三七)是花子“一气眼”禁着点。
          3、a位(点九九),b位(点八八),c位(点九七),d位(点八六),e位(点七九),f位(点七七),g位(点六九),h位(点五七)是花子“虎口”禁着点。
          4、k位(点六四)是“一气封闭区域”,不是“一气眼”,不是花子的禁着点,花子可以下在k位。
          5、 i位(点六七)、j位(点九八),是花子的可着点。
          在萌式三色围棋中,虎口的定义为:
          单个白子下在与黑棋串紧邻的X位上,这个白子形成一个一子白棋串,而且这个一子白棋串只具有一口气,紧接着黑棋方就可以下一个黑子提吃这个一子白棋串,那么这个X位即是黑棋的虎口。
          白棋的虎口定义与上述黑棋的虎口定义同理,具体的描述文字略。


          IP属地:重庆6楼2022-02-02 11:13
          收起回复
            萌式三色围棋规则(2020版)选摘五:
            计算胜负
            着子完毕的棋局,采用数子法(数点法)计算胜负。这与中国传统两色围棋的“数子法”计算胜负形式相同。
            双活状态下的黑棋串和白棋串之间的空点串,双方各得一半。
            黑棋串或白棋串与保持中性分隔串状态的花棋串之间的空点串,全归黑棋串或白棋串所有。
            处于中性分隔串状态的花棋串围住的封闭区域空点串或非长活黑棋串/白棋串视同花子。
            将黑、白两方逻辑死子清理出棋盘后,对两方的黑、白活棋串(变性花棋串归并入相应黑棋串或白棋串)围占的点分别进行计数,扣除贴子方的子数(点数)后,子数(点数)多的一方为胜方,子数(点数)相同则为和棋。


            IP属地:重庆7楼2022-02-02 16:30
            回复
              目前萌式三色围棋全局实战及其棋谱缺乏,为此我借用了围棋棋谱,采用机械式(傻瓜式)排局来研究萌式三色围棋全局对弈,以便发现萌式三色围棋规则是否还有逻辑缺陷和其对弈特点。所谓借用围棋棋谱机械式(傻瓜式)排局,也就是:将围棋棋谱中的全部下子点坐标序列或前面部分下子点坐标序列,按照萌式三色围棋规则次序和棋子颜色,重新摆放一遍。如果某手棋为萌式三色围棋规则下新产生的禁着点,那么这手棋就用虚着(Pass)代替,其它下子点则无论其好坏程度(包括可能产生新的提吃),一律按原手数和坐标摆放。
              例如:将“柯洁 Vs AlphaGo第一局”棋谱,按照萌式三色围棋规则机械式排局到288手,形成的直弈棋局局面如下图(右面):

              柯洁 Vs AlphaGo第一局GIF动画


              IP属地:重庆8楼2022-02-02 16:45
              收起回复
                太复杂了,愣是没看懂。


                IP属地:陕西9楼2022-02-02 16:58
                收起回复
                  如上述将“柯洁 Vs AlphaGo第一局”棋谱机械式排局后的初始局面中,白棋串AD*有私眼BD,所以,中性花棋串AC*和OE*皆变为白性花棋串(指其上层属性变为白棋串属性,以下同理),其花子中心皆加上白星。其它花棋串的紧邻黑白棋串皆无私眼,所以其它花棋串仍保持中性。此时其三合棋局初始局面如下图:


                  IP属地:重庆10楼2022-02-02 16:59
                  回复
                    然后我按照萌式三色围棋规则尝试性地接着下。
                    华289.H九,花290.六三叫吃黑棋串;
                    黑291.七A提吃白棋串六A*,白292.A二提吃黑棋串A三*。
                    此时其三合棋局局面图如下:


                    IP属地:重庆11楼2022-02-02 17:16
                    回复
                      黑293.八A,白294.O七提吃黑棋串O六*,并为白棋串A七*做出私眼O六*,其紧邻的中性花棋串一七/二六/OO/B三皆变为白性花棋串,其中心皆加上白星。
                      黑295.HH,为黑棋串GG*做出私眼GH,其紧邻的中性花棋串FG*变为黑性花棋串,其中心皆加上黑星;白296.G八提吃黑棋串G七*。此时其三合棋局局面图如下:


                      IP属地:重庆12楼2022-02-02 17:20
                      回复
                        黑297.D八,为黑棋串E九*做出私眼D九,中性花棋串F九*/C九/C七/D六*皆变为黑性花棋串,其中心加上黑星。 白298.G六,为白棋串F六*做出私眼G七和私眼I七*,中性花棋串G五*变为白性花棋串,其中心加上白星;黑性花棋串F九*则变为中性花棋串,删除其中心的黑星;
                        华299.BO,叫吃白棋串CO*。 花300.IB,为白棋串HB*做出私眼IA,中性花棋串IB/IO/GO*/GD*皆变为白性花棋串,其中心加上白星。此时其三合棋局局面图如下:


                        IP属地:重庆13楼2022-02-02 17:28
                        回复
                          黑301.DO,提吃白棋串CO*和EO,并为黑棋串DA*做出私眼CO*,中性花棋串EA/CA皆变为黑性花棋串,其中心加上黑星。白性花棋串B三变性为中性花棋串,删除其中心的白星。白302.四D,为白棋串四C*做出私眼三D,中性花棋串四E*/六D*/三A/DC皆变为白性花棋串,其中心加上白星;黑性花棋串CA则变为中性花棋串,删除其中心的黑星。
                          黑303.I一。 白304.FA提吃黑棋串GA。
                          黑305.EO,白性花棋串GO*变为中性花棋串,删除其中心的白星。白306.六E,提吃黑棋串七E。此时其三合棋局局面图如下:


                          IP属地:重庆14楼2022-02-02 17:31
                          回复
                            将“柯洁 Vs AlphaGo第一局”棋谱,按照萌式三色围棋规则机械式排局到288手,然后我尝试性地按照萌式三色围棋规则接着下18手棋的GIF动画:


                            IP属地:重庆15楼2022-02-02 17:41
                            回复