一种关于进化算法的实验教学方法和系统与流程

文档序号:19810722发布日期:2020-01-31 18:18阅读:207来源:国知局
一种关于进化算法的实验教学方法和系统与流程

技术领域:

本发明提供了一种关于进化算法的实验教学方法和系统,属于人工智能教学培训领域。



背景技术:

人工智能是现今一个最热门的科学技术领域,既是国家的一项重大科技发展战略方向,也是企业机构争相研发应用的技术,社会上也出现了学习人工智能技术的学习热潮。许多大学除了在传统专业院系开设的专业课级别的人工智能课程外,还面向全校所有专业的学生开设全校通识性人工智能选修课;社会上的商业培训机构也开始大量开设各种形式的人工智能培训课程。进化算法是一项重要的人工智能技术,一般是大学所开设的人工智能专业课和选修课都必须包括的内容。学习进化算法,除了理论知识技术的学习外,通常还需要一些实验教学,以便学生能够更好地理解和掌握所学习的理论知识技术。现有的关于进化算法的实验教学方法通常可以分为两大类。一类是让学生上机自己编写一个进化算法的小程序,另一类是让学生使用一些现有的进化算法软件包解决一个小问题。第一类实验教学方法对学生的相关专业知识和技能要求较高,一般只适用于人工智能专业课学生,难以适用于全校通识选修课学生。第二类实验教学方法只能让学生感受到进化算法软件包的外表功能,而难以体会和理解到进化算法内部的工作机理。事实上,既便是第一类实验教学方法,学生经常也只是将书本上描述的进化算法工作机理机械地转换为程序代码,一旦编好程序,程序运行时进化算法的工作机理到底是怎么运作怎样起作用的,学生也体会不到,因为程序在计算机上运行的内部过程对学生一般是不可见的,学生一般仍然只能看到程序运行的最终结果。虽然有一些进化算法软件也可以显示运行过程的中间步骤数据,一些好学生在编程时也会强制程序在运行过程中输出中间步骤数据,但是,这些中间步骤数据只能看,不能改。即,进化算法软件也好,学生编的程序也好,一旦在计算机上运行起来,其中间步骤的运算过程就不再受学生控制;学生对于一个正在运行的进化算法程序,只是一个旁观者,而不是一个参与者。设想一下,如果学生能够成为一个正在运行的进化算法程序的过程参与者,即如果进化算法运行过程中的某一个步骤该怎么往下发展进行,是可以由学生根据进化算法工作机理来人为选择决定的话,那实验过后,学生就能对进化算法工作机理有非常深刻的体会和理解,而不仅仅是看见了一堆无需自己参与就出现在屏幕上的数据。目前的两大类关于进化算法的实验教学方法都无法带给学生上述的深度参与感。目前的两大类关于进化算法的实验教学方法的另外一个弊端就是:不论是使用现成的进化算法软件,还是学生自己动手编写程序,通常都是学生各自做各自的实验,所有学生的实验彼此之间没有联系,认真的学生可能会把实验做得很好,而不认真的学生可能就是混个出勤,实验只是问问抄抄他人的数据而已;由于带实验的老师人数精力有限,很难监督到每个学生;尤其是全校通识性选修课,由于人工智能的热度,选课学生可以达数百人,现有的两大类关于进化算法的实验教学方法很难监督到每个学生的实验质量。设想一下,如果能让所有学生同做一个实验,任何一个学生不作为实验就无法进行,那么就可以有效避免学生实验课混出勤的情况。

本发明提出一种关于进化算法的实验教学方法和系统,就是要让所有学生共同一起做一个进化算法实验,并且要让学生深度参与到进化算法运行过程的中间步骤决策当中,从而既能有效避免学生实验课混出勤的情况,又能加深学生对进化算法工作机理的体会和理解。



技术实现要素:

本发明的目的是要提供一种关于进化算法的实验教学方法和系统,以实现让所有学生共同一起做一个进化算法实验,而不是彼此独立地各做各的进化算法实验;并且还要实现让学生深度参与到进化算法运行过程的中间步骤决策当中,而不是只做进化算法运行过程的旁观者和进化算法输出数据的记录者。为实现上述目的,本发明的技术和系统利用实验教学app,即实验教学应用程序,包括老师app和学生app两部分。

众所周知,进化算法是模仿各种生物界群体进化行为的多智体自组织随机搜索算法,利用计算机技术模拟智体群中智体基于特定自组织机理的彼此交互行为并不断进化智体群,从而找到待求解问题的高质量解。本发明的方法和系统利用实验教学app让上实验课的所有学生扮演进化算法中的智体群,每个学生通过自己的app扮演智体群中的一个智体;学生扮演的智体可以按进化算法的工作机理由学生在app上进行自主的决策行为。而老师在自己app上负责待求解问题选择和设置、进化算法参数设置、算法运行进度控制、以及app系统参数调整设置。

当老师在app上完成相关实验设置后,就控制进化算法实验开始进入第一代智体群,然后学生所扮演的智体就可以根据进化算法的随机规则由学生在app上自主进行各自的第一次决策行为。当所有智体完成各自的决策行为后,所有智体各自的决策信息会上传汇总到老师的app上。老师的app会根据上传汇总的所有智体各自的决策信息,再根据进化算法对智体的评分规则自动计算所有智体各自的得分,并且根据所有智体各自的得分情况,按照进化算法的进化规则为每个智体定制化下一次决策行为的约束条件;请注意,这些都是老师的app自动完成的,不需要老师采取任何操作。然后老师在app上人工控制算法运行进入下一代智体群;学生又在新一代智体群中扮演智体并通过app进行自主决策行为。从第二代智体群开始,app会约束大多数智体不再按简单的随机规则进行各自的决策行为,而是要根据特定的进化算法工作机理来进行各自的决策行为,以便主要靠进化算法工作机理而非随机规则生成新一代智体群。如此反复,所有学生所扮演的智体群就能不停地进化,直到进化算法的停止运行条件得到满足。当进化算法停止运行后,当前智体群,即最后一代智体群中的得分最高的智体就是老师所选择和设置的待求解问题的高质量解;这个高质量解作为进化算法实验最终输出结果是所有学生共同深度参与同一个进化算法运行过程的中间步骤决策的结果。

需要强调的是,根据目前的其他关于进化算法的实验教学方法,在一次进化算法实验的运行过程中,当智体群向下一代进化时,决定进化效果的智体决策行为是完全由计算机自动完成的,参加实验的学生只能看,而没有任何干预手段。而在本发明的方法和系统中,决定进化算法中智体群的进化效果的智体决策行为是由扮演智体的学生在app上人为自主完成的,与计算机无关。因此,本发明的方法和系统可以使学生深度参与到进化算法实验的运行过程中,从而对进化算法的工作机理有深刻的体会和理解。

当进化算法运行过程中需要从当前一代智体群向下一代智体群进化时,只要当前一代智体群中有一个扮演智体的学生没有完成决策行为,进化算法的运行过程就会停滞而无法继续,即,一次进化算法实验需要所有学生的共同参与才能完成,任何一个学生的不作为都会导致所有学生共同参与的进化算法实验不能顺利完成。这与目前的其他关于进化算法的实验教学方法有着本质的不同,在目前的其他关于进化算法的实验教学方法中,各个学生所进行的进化算法实验是彼此独立互不相关的,即,一个学生的不作为只会导致该学生自己的进化算法实验不能顺利完成,而其他学生只要认真实验,仍然可以顺利完成其自己的实验。在本发明的方法和系统中,没有完成决策行为的学生信息会显示在老师的app上,从而老师可以采取必要的协助和督促措施以帮助该学生完成其所扮演的智体的决策行为,以便进化算法的当前一代智体群能够继续向下一代智体群进化。参与进化算法实验的学生需要事先以诸如自己的学号和姓名的身份信息注册并登陆自己的app,所以老师在进化算法运行过程中可以准确定位没有及时完成决策行为的学生。

对进化算法中最具代表性的三种算法,遗传算法,即geneticalgorithm,蚁群算法,即antcolonyoptimization,和粒子群算法,即particleswarmoptimization,在本发明的方法和系统中,从第一代智体群往后,老师的app会按照相应算法的进化规则为每个智体定制化下一次决策行为的约束条件,扮演智体的学生则在app上根据自己智体所需满足的约束条件按相应算法的进化规则进行自主决策行为。

如果进化算法实验是关于遗传算法的,则当老师的app在根据上传汇总的所有智体各自的决策信息而自动算出所有智体各自的得分后,需要按照进化算法的进化规则为每个智体定制化下一次决策行为的约束条件时,老师的app会按老师在实验开始前所设定的算法参数之一的变异概率自动选定一些智体,扮演这些智体的学生在下一次决策时只能对自己app上的智体染色体进行变异操作,即,学生自主选择自己所扮演智体的染色体中的一个基因,然后学生在由待求解问题所给定的相关值域中自主选择一个数值以替换该基因的当前数值;老师的app还会按老师在实验开始前所设定的算法参数之一的交叉概率自动选定一些智体,扮演这些智体的学生在下一次决策时只能对自己app上的智体染色体进行交叉操作,即,老师的app会自动成对选取智体,选出一对智体后,老师的app还会自动从中选出一个智体作为主导交叉操作的智体,另一个智体则为被动交叉智体,扮演被选中那对智体的学生在各自的app上都能看见对方智体,扮演主导交叉操作的智体的学生在两个智体染色体中自主选择一个交叉基因位,然后在所选交叉基因位对两个智体染色体进行交叉操作,生成两个新的智体染色体,扮演主导交叉操作的智体的学生选择其中一个作为自己的新智体染色体,扮演被动交叉智体的学生则无需做任何决策,而是直接接受另一个新的智体染色体。

如果进化算法实验是关于蚁群算法的,则当老师的app在根据上传汇总的所有智体各自的决策信息而自动算出所有智体各自的得分后,需要按照进化算法的进化规则为每个智体定制化下一次决策行为的约束条件时,老师的app会根据老师在实验开始前所设定的蚂蚁荷尔蒙信息素分泌函数,基于当前智体群中所有智体蚂蚁在待求解问题的解空间中所爬行过的路径,自动计算出所有可以供蚂蚁选择的路径步骤上由当前智体群中所有智体蚂蚁所分泌留下的荷尔蒙信息素浓度,并与每个可选路径步骤上的现有荷尔蒙信息素浓度各自相叠加;当下一代智体群中的每个智体蚂蚁重新在待求解问题的解空间中搜寻路径时,将参照各个可选路径步骤上的荷尔蒙信息素浓度决定选择哪些路径步骤以构成一条新的路径,即,扮演下一代智体群中的智体蚂蚁的学生需要在自己的app上参照各个可选路径步骤上的荷尔蒙信息素浓度自主选择一条新的路径;当下一代智体群中的所有智体蚂蚁都选好了新的路径后,老师的app会根据老师在实验开始前所设定的荷尔蒙信息素挥发函数自动对所有可选路径步骤上的荷尔蒙信息素浓度进行衰减处理。

如果进化算法实验是关于粒子群算法的,则当老师的app在根据上传汇总的所有智体各自的决策信息而自动算出所有智体各自的得分后,需要按照进化算法的进化规则为每个智体定制化下一次决策行为的约束条件时,老师的app会根据老师在实验开始前所设定的各种智体学习行为的概率,自动选出一些智体分别进行自我学习、邻域学习、全域学习、以及混合学习;对于扮演需要自我学习的智体的学生,老师的app会将该学生所扮演的智体在进化历史上曾找到过的所有解的信息发送到该学生的app上,然后该学生可参照这些解而自主决定怎么生成一个新解;对于扮演需要邻域学习的智体的学生,老师的app会将该学生所处邻域内所有其他智体的当前解的信息发送到该学生的app上,然后该学生可参照这些解而自主决定怎么生成一个新解;对于扮演需要全域学习的智体的学生,老师的app会将当前智体群中所有智体的当前解的信息发送到该学生的app上,然后该学生可参照这些解而自主决定怎么生成一个新解;对于扮演需要混合学习的智体的学生,老师的app会将混合学习所需要的信息发送到该学生的app上,然后该学生可参照这些信息而自主决定怎么生成一个新解。

当老师的app在根据上传汇总的所有智体各自的决策信息而自动算出所有智体各自的得分后,需要按照进化算法的进化规则为每个智体定制化下一次决策行为的约束条件时,可以对一小部分当前得分最高的智体采取精英策略,即该部分智体在下一代智体群中可以保持不变,扮演该部分智体的学生不用做新的决策;而对一小部分当前得分最低的智体采取淘汰策略,即在下一代智体群中扮演该部分智体的学生按随机规则进行决策;精英策略和淘汰策略的比例都是进化算法的参数,可以在实验开始前由老师在老师的app上调整设置。

本发明的方法和系统原则上是让所有上实验课的学生同时共同参与到同一个进化算法实验的运行过程中,不过当有学生不得不在该实验运行过程的中途退出时,以及当有迟到的学生需要在该实验运行过程的中途参与进来时,老师可以在老师app上进行必要的灵活管理如下:如果在进化算法运行过程中,当一个扮演的智体的学生因为诸如发病这样的突发情况而不能继续参与实验时,则老师可以在老师app上关闭该学生所扮演的智体的决策行为,甚至可以从当前正在进行的进化算法实验的智体群中删除该学生所扮演的智体,从而确保实验可以继续;如果在进化算法运行过程中,有迟到的学生需要中途参与实验,则老师可以从老师app上在当前正在进行的进化算法实验的智体群中增加一个智体由该学生通过学生自己的app扮演,该学生可以根据进化算法的随机规则做出自己的第一次决策,并与其他学生所扮演智体做出的当前决策一起上传汇总到老师的app上,从而确保迟到的学生也能参与到全班学生已经在开展进行的同一个实验中。

本发明的方法和系统也允许学生和机器共同扮演的智体群开展进化算法的实验。老师在设置一次进化算法实验时,可以从老师app上把智体群的规模,即智体群中所含智体的个数,设置成大于参加实验的学生的人数,超出学生人数的其他智体直接由老师app自动扮演并按进化算法的工作机理自动进行决策行为,从而形成由学生扮演的智体和由老师app扮演的智体共同组成的智体群开展进化算法的实验。因此,就算只有一个学生参与实验,进化算法实验也可以进行;甚至在没有学生参与实验时,app也可以自动扮演智体群中的所有智体以开展进化算法的实验。允许学生和机器共同扮演的智体群开展进化算法的实验,意味着进化算法的重要参数之一的智体群规模也可以在实验前由老师根据需要自主调整设置,而不受限于参与实验的学生人数;通过设置不同的智体群规模而开展多次进化算法的实验,可以让学生体会到智体群规模这一参数对进化算法性能的影响。另外,当没有学生参与实验时,本发明的方法和系统就是一个教学演示工具,可以用于课堂教学过程中的案例演示作用;也可以用于诸如算法参数调试这样的实验,即,实验的目的是让学生体会理解各种算法参数的作用,这通常需要学生不停地改变算法参数值而进行多次实验,并观察和记录各次实验的运行结果,因此在有限的实验课时间内,需要学生开展越多次实验越好,而耗时的学生深度参与算法运行过程的决策行为则没有必要。

本发明的一种关于进化算法的实验教学方法和系统可以采用各种恰当的硬件计算设备和软件编程技术来实现;所用的app可以是安装在手机、台式电脑、手提电脑和平板电脑上的进化算法实验教学应用程序。

本发明的一种关于进化算法的实验教学方法和系统具有以下有益效果:本发明的方法和系统可以让所有学生共同一起做同一个进化算法实验,而不是彼此独立地各做各的进化算法实验;并且还可以让学生深度参与到进化算法运行过程的中间步骤决策当中,而不是只做进化算法运行过程的旁观者和进化算法输出数据的记录者。所以,本发明的一种关于进化算法的实验教学方法和系统可以有效地促使所有学生认真做实验,因为一旦某个学生在实验中不作为,所有学生共同参与的实验就无法继续;而且本发明的方法和系统能够让参与实验的学生对进化算法的工作机理有深刻的体会和理解,因为进化算法实验的运行过程不是靠计算机的算力推动向前的,而是靠参与实验的学生根据进化算法的工作机理所做的人工决策而推动向前的。

附图说明:

附图给出本发明的一种关于进化算法的实验教学方法和系统的示意图:

图1:本发明的一种关于进化算法的实验教学方法和系统的流程图。

图2:本发明的一种关于进化算法的实验教学方法和系统中的app架构示例图。

具体实施方式:

下面结合附图,对本发明的一种关于进化算法的实验教学方法和系统做进一步说明。

图1给出了本发明的一种关于进化算法的实验教学方法和系统的流程图。图1中的虚线框是进化算法运行过程中的通用基本步骤,在学生自己编写进化算法程序的实验中,以及在学生运行现成进化算法软件的实验中,这些步骤,除了第一个虚线框中的相关参数设置,都是由计算机自动完成的,在这些步骤的运行过程中,做实验的人不会参与、不会干涉,其实也无法参与、无法干预这些步骤的执行细节,只能等着计算机自动运行完整个进化算法过程输出所找到的最优解。本发明的一种关于进化算法的实验教学方法和系统将图1中虚线框的通用基本步骤进一步分解成图1中一系列实线框步骤。这些实线框步骤流程所完成的总体功能与虚线框步骤所完成的总体功能是完全一样的,但是这些实线框步骤有些是由计算机自动完成的,有些是由老师通过app完成的,还有一些是由参与实验的学生通过app完成的。尤其是,参与实验的学生通过app要扮演进化算法中智体群中的智体而人为自主地进行决策行为,从而实现进化算法中智体群一代一代地往下进化,也就是,进化算法中最核心的步骤的细节,即,智体群的进化细节,是由参与实验的学生所人为决定的,是可以被参与实验的学生所干预的。图1也表明,进化算法中智体群的规模,即na,是可以大于参与实验的学生的人数ns,即na≥ns。当na≥ns时,进化算法中智体群有(na-ns)个智体是由app自动扮演的;由app自动扮演的(na-ns)个智体与由ns个学生所扮演的智体共同一起进行决策行为,从而实现进化算法中智体群一代一代地往下进化。

图2给出了本发明的一种关于进化算法的实验教学方法和系统中的app架构示例图。app架构包括四大功能部分。第一部分是进化算法实验教学app的人机交互界面,其中主要有待求解问题的设计、选择和设置模块,进化算法的选择和算法参数的设置模块,进化算法运行进度控制模块,学生数据交互及可视化模块,老师数据交互及可视化模块,用户账户管理模块,app系统参数调整设置模块。第二部分是进化算法实验教学app的数据库,其中主要有有待求解问题库,进化算法程序库,进化算法参数数据库,历史实验数据库,用户账户数据库,app系统参数数据库。第三部分是学生自主扮演智体进化功能,主要有三个模块,以便app能够处理正常参与实验的学生、中途退出实验的学生和中途参与实验的学生这三种情况。因为扮演智体的学生会自主决定所扮演智体的行为,所以由学生扮演的智体的进化过程不需要app提供任何行为模块,只要有学生数据交互及可视化模块就可以了。由app自动扮演的智体与由学生自主扮演的智体不同,由app自动扮演的智体的进化过程需要app提供相应的行为模块。所以,第四部分app自动扮演智体进化功能主要有按进化算法的随机规则生成智体的模块,按进化算法工作机理的智体决策行为模块,以及app自动扮演智体的数据交换与通信模块。第一部分、第二部分都可以与所有其他功能部分通信交换数据;第三部分、第四部分彼此之间不直接通信交换数据,而是只能与第一部分和第二部分通信交换数据。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1