Artificial intelligence 遗传算法理论问题

Artificial intelligence 遗传算法理论问题,artificial-intelligence,machine-learning,genetic-algorithm,Artificial Intelligence,Machine Learning,Genetic Algorithm,我目前正在阅读《人工智能:现代方法》(Russell+Norvig)和《机器学习》(Mitchell)——并试图学习AINN的基础知识 为了了解一些基本情况,我有两个“新手”问题: 问题1:在遗传算法中,如果双亲a和B分别拥有染色体001110和101101,以下哪一个后代可能是单点交叉的结果 a:001101 b:001110 问题2:上述哪一个后代可能来自两点杂交?为什么 请告知。单点交叉是指当您从每个父节点进行一次连接时,两点交叉是指您进行两次连接时。i、 e.父母一方两人,另一方一人 请

我目前正在阅读《人工智能:现代方法》(Russell+Norvig)和《机器学习》(Mitchell)——并试图学习AINN的基础知识

为了了解一些基本情况,我有两个“新手”问题:

问题1:在遗传算法中,如果双亲a和B分别拥有染色体001110和101101,以下哪一个后代可能是单点交叉的结果

a:001101

b:001110

问题2:上述哪一个后代可能来自两点杂交?为什么


请告知。

单点交叉是指当您从每个父节点进行一次连接时,两点交叉是指您进行两次连接时。i、 e.父母一方两人,另一方一人

请参阅(维基百科)了解更多信息。

关于Q1,(a)可能是通过单点交叉产生的,从父级a获取位0-4,从父级B获取位5。(B)不能,除非交叉算法允许零贡献,即零权重的父级贡献。在这种情况下,亲本A可以贡献其完整的染色体(位0-5),亲本B将贡献零,产生(B)


关于第二季度,(a)和(b)都是可能的。有几个组合需要测试;写起来太枯燥了,但你可以用笔和纸来完成这项工作。:-)

如果您不知道反向交叉函数(因此AxB=>(a,b)和(任何a)=>(a,b))就不可能找到父项

通常,1点交叉功能为:

a = A1 + B2
b = B1 + A2
即使你知道a和b,你也不能解这个系统(由2个方程和4个变量组成的系统)

如果你知道任何A或B的任意两个部分,那么它可以求解(由两个变量的两个方程组成的系统)。这是您的问题的情况,因为您同时提供了A和B

通常交叉函数没有反函数,您只需要在逻辑上找到解决方案,或者,如果您知道父项,则执行交叉并进行比较

因此,要为您制作一个通用公式,我们应该知道两件事:

  • 交叉功能
  • 逆交叉函数
  • 第二个通常不用于天然气,因为它不是必需的


    现在,我只回答你们的问题

    问题1:在给定 两个父母A和B带着 染色体001110和101101, 分别是以下哪项 后代可能是由 单点交叉

    看a和b,我可以看到交叉点在这里:

        1    2
    A: 00 | 1110
    B: 10 | 1101
    
    通常使用以下公式进行交叉:

    a = A1 + B2
    b = B1 + A2
    
    因此,可能的儿童是:

    a: 00 | 1101
    b: 10 | 1110
    
    将选项b排除在问题之外。
    因此,Q1的答案是,假设给定的交叉函数,子项是:001101

    问题2:以上哪一个后代可以 是由两点引起的 改变为什么

    看看a和b,我可以看到交叉点可以在这里:

        1   2    3
    A: 00 | 11 | 10
    B: 10 | 11 | 01
    
    两点交叉的常用公式为:

    a = A1 + B2 + A3
    b = B1 + A2 + B3
    
    所以孩子们会:

    a = 00 | 11 | 10
    b = 10 | 11 | 01
    
    将它们与您询问的选项(小a和b)进行比较,我们可以得出以下答案:

    Q2。A:根据给定的交叉功能,A或b都不能与AxB进行两点交叉。


    同样地,不可能在不知道交叉功能的情况下回答您的问题


    我提供的函数在GA中很常见,但是你可以发明很多这样的函数来回答这个问题(见下面的评论):

    嗯,b不能由A1+B2+A3生成吗?00 11 10在我提供的定义中,它不能。我在回答中明确指出,并用黑体字表示。你定义了一个新的函数可以做到这一点。重要的是要理解,单点交叉和两点交叉并不是任何神奇的不同算法,只是两种不同的信息交换方式,在交换的内容中具有不同程度的一致性。许多遗传算法甚至不会使用像这样的比特流,因此深入挖掘正在传输的信息及其原因,而不是停留在实现细节上是很重要的。