基于Web的算法可视化系统

2021-10-13 08:14任芹乐司冰丁浩然彭德坤马晓强
科技信息·学术版 2021年11期
关键词:测验图谱可视化

任芹乐 司冰 丁浩然 彭德坤 马晓强

摘要:算法是解决特定问题求解决步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作,像我们想要掌握深层次的计算机学习,我们就必须要了解与学习算法,但是我们只是通过代码的展示,并不能直观形象的体现算法的作用与效果,因此开发设计一款算法可视化[1]的系统是相当重要的。基于以上的背景,我们设计并实现了一个基于 Web 端的算法可视化系统,该系统主要实现了算法的动态可视化功能,其次为了提升用户对算法的理解和掌握程度,设计并实现了算法自适应测验功能以及算法图谱的学习导航功能,以此来实现人们对算法学习的目的。

关键词:计算机图形学[2];可视化教程;辅助教学系统[3];算法

1 引言

在今天的社会越来越多的人接触计算机,特别是对于众多的计算机专业的人员,大家都在学习算法,我们为什么要去学习算法,因为算法是我们从底层掌握计算机的基本方法,但是算法是抽象的,是计算机与基本数学的结合,我们要不断地去改进算法学习算法,才能理解明白计算机地处理方式。具完全有效统计,全世界计算机专业的人员超过了一亿人,但是学好算法的人,却不到十分之一,不是因为没人去学习算法,而是因为大家觉得学习算法太过于困难与抽象,所以设计一款可视化的算法学习系统是很重要的。

目前大家对算法的理解可能主要有两类,一类是传统的数据结构与算法,另一类是现在很热门的机器学习算法。对于数据结构和算法,套用计算机里面一句话:程序=数据结构+算法。写程序就像开一辆车,当你不懂太多数据结构跟算法的时候,凭借丰富的实践经验你也可以将这辆车开好;但是,当有一天这辆车出问题跑不起来的时候呢?你不懂它内部的运行机制,你要怎么排除和解决问题?这些都是在告诉我们学习算法的重要性。

对于机器学习算法,机器学习的作用相信很多人都有了解一些,比如你经常用的淘宝购物猜你喜欢,网易云音乐推荐你感兴趣的歌曲,今日头条推送你感兴趣的新闻,人脸识别,语音识别,阿尔法狗与人下棋等等。还有现在火热的人工智能算法,这些无一不是对算法学习的结果,足以说明算法学习的重要性。

2 系统设计

2.1 需求分析

算法可视化系统主要针对算法学习中常见的算法进行辅助学习,让学生更加明白与理解如何去学习算法,系统主要包括算法的动态可视化教学模块,算法自适应测验模块以及算法图谱学习导航模块三大功能模块。

Data Visualization即数据可视化,属于对数据的视觉表达方式的一种科学技术的研究。其中提到的数据的视觉表现形式指的是,一种由与之相对应的不同信息单位的属性与变量构成的信息,其主要是经由概要的方式提取获得的。而三维可视化技术方向的研究经过长时间的研究、积累,已经开发了许多丰富的、有实用价值的可视化的工具。因为可视化要求数据在图形的硬件驱动程序和应用程序之间进行交互,所以第一个需要想到的是它们其中的中间件,也就是用户需要通过一个中介实现向底层驱动程序发送指令,同时回馈数据的操作,这样通过相对简单的API就可以实现不同参数的定义,进而使用户和中介进行交互。目前存在两个流行的技术标准,一个是表现十分优异,便于操作并且功能齐全的GL,也就是三维图形库,由SGI公司提出。大量专业的技术人员偏爱GL,由GL进行研制的三维应用软件,涵盖包括流体力学、产品设计、地球科学等众多重要领域。OpenGL是由GL演变而来,现在主流公司图形采用的标准都是OpenGL,它成为一种交互模式的视景处理与高性能图形的行业标杆。

2.2系统功能及模块设计

该系统主要由算法可视化教学、自适应测试、算法图谱学习组成,该系统采用以数学物理学习为主的动态可视化绘图,根据学习者的自适应程度,推荐不同等级的算法学习模型,用精美的图形将算法的过程呈现出来,以供学习理解。系统功能模块图如图2-1。

3 系统设计实现

算法动态可视化教学模块目的在于实现算法原理的动态可视化展示,作为可视化教学系统,想要实现可视化模型,我们必须要解决算法的执行过程的可视化问题,系统的交互性,以及必要的代码演示及理论的讲解性。

当用户完成算法可视化教学模块中的算法学习后,此时用户尚未对已学习的知识形成深刻的记忆。所以我们推出给用户的一整套的代码练习,结合图像来巩固用户的学习。因此设计自适应测验模块,可以让用户通过自适应测验模块来进行算法测验,以此来加深对算法的理解。

新型领域庞大,涉及的算法知识繁杂,用户在学习知识体系过程中往往会因此产生畏惧、厌学心理,从根本上去排斥该算法的学习,从而失去学习动力。为了建立用户对新型领域常见算法的整体认识并理解算法与算法之间的关系,我们必须去建立算法知识图谱,并将图谱可视化的展示给用户,通过直观的方式,呈现给用户。另外我们可以根据之前用户的学习,实现基于算法知识图谱的学习资源推荐导航功能。

4 结语

算法可视化学习系统从算法可视化教学、自适应测验以及算法图谱学习推荐导航三个方面来实现算法学习的功能。系统针对算法传统教學中面临的困难,用算法可视化的方式来进行对算法的学习,从根本上降低了算法的学习难度,自适应测验模块可以根据用户的学习情况进行有目的性地学习来提升自己的算法认识能力,知识图谱学习模块以可视化的方式直观帮助用户建立对新型领域算法的整体认识,并且算法图谱可以对用户进行学习资源推荐和导航。系统还具有可扩展性,可以根据实际教学要求设计其他的算法进行可视化教学。

参考文献

[1].https://blog.csdn.net/booirror/article/details/50834915

[2].王宏.大数据经典算法可视化研究.西安石油大学,2021.

[3].武照云.算法可视化辅助教学系统研究及其应用.河南工业大学,2013.

基金项目:西北民族大学中央高校基本科研业务费资助本科生科研能力项目训练项目(项目编号:XBMU21197)

作者简介:任芹乐(1999— ),男,西北民族大学数学与计算机科学学院本科生,研究方向:软件工程。

猜你喜欢
测验图谱可视化
数据可视化设计在美妆类APP中的应用
基于CiteSpace的我国文化“走出去”研究的知识图谱分析(2001-2020)
思维可视化
复变函数级数展开的可视化实验教学
复变函数级数展开的可视化实验教学
复变函数共形映射的可视化实验教学
复变函数共形映射的可视化实验教学
图表
两个处理t测验与F测验的数学关系
最精确人类大脑图谱出炉