YucongDuan的个人博客分享 http://blog.sciencenet.cn/u/YucongDuan

博文

KMP字符串匹配算法的DIKWP分析及教学

已有 521 次阅读 2023-12-13 10:34 |系统分类:论文交流

KMP字符串匹配算法的DIKWP分析及教学

 

段玉聪(Yucong Duan)

DIKWP-AC人工意识实验室

AGI-AIGC-GPT评测DIKWP(全球)实验室

DIKWP research group, 海南大学


引言

KMP算法,通过特定的预处理过程,优化字符串匹配的效率,避免不必要的重复计算。通过DIKWP模型的框架,可以深入理解KMP算法的工作原理,并强调算法设计中的效率和优化思想。

数据层(D)分析

  • 目标:分析字符串B(主串)和模式串A。

  • 过程

    • 确定主串B和模式串A的字符组成。

    • 分析主串和模式串的长度,以及可能的字符集。

  • 示例:在文本搜索应用中,主串B为书籍内容,模式串A为用户搜索的关键词。

信息层(I)分析

  • 目标:识别模式串在主串中的匹配规律。

  • 过程

    • 分析模式串的重复模式和潜在匹配位置。

    • 理解模式串和主串之间的关系,如重复模式的存在。

  • 示例:模式串“AABA”中,“AA”是一个重复模式,有助于在匹配失败时快速调整匹配位置。

知识层(K)分析

  • 目标:掌握字符串匹配理论和KMP算法原理。

  • 过程

    • 学习字符串匹配的基础知识。

    • 理解KMP算法中的前缀函数和失败函数的概念。

  • 示例:解释KMP算法中“部分匹配表”的构建过程,及其在搜索中的作用。

智慧层(W)分析

  • 目标:理解KMP算法中避免重复计算的智慧。

  • 过程

    • 分析KMP算法如何减少无效的字符比较。

    • 探讨算法中提高效率的创新点。

  • 示例:当模式串中发现重复模式时,KMP算法能够跳过已知不匹配的部分,提高搜索效率。

意图层(P)分析

  • 目标:提高字符串匹配的效率。

  • 过程

    • 设定提高匹配速度和减少重复比较的目标。

    • 优化算法设计,以实现这些目标。

  • 示例:设计KMP算法时的主要目标是减少字符串搜索中的回溯步骤。

哲学思维在算法设计中的应用

  • 效率和优化:KMP算法体现了算法设计中追求效率和优化的原则。

  • 创新和逻辑:通过创新的前缀函数,算法展示了逻辑推理在解决实际问题中的重要性。

  • 深度理解:通过深入分析模式串和主串的关系,KMP算法展现了深度理解问题的重要性。

结论

KMP算法的DIKWP分析不仅帮助学生理解算法的技术细节,还揭示了算法设计中的深层哲学思维。这种全面的分析方法能够促进学生的深入理解和创新思维,为解决复杂问题提供了强大的工具。通过这种方法,我们可以有效地教授复杂的算法概念,同时培养学生的批判性思维和创新能力。


段玉聪,海南大学计算机科学与技术学院教授,博士生导师, 第一批入选海南省南海名家计划、海南省领军人才,2006年毕业于中国科学院软件研究所,先后在清华大学、首都医科大学、韩国浦项工科大学、法国国家科学院、捷克布拉格查理大学、意大利米兰比克卡大学、美国密苏里州立大学等工作与访学。现任海南大学计算机科学与技术学院学术委员会委员、海南大学数据、信息、知识、智慧、意图DIKWP创新团队负责人、兼北京信用学会高级顾问、重庆警察学院特聘研究员、海南省委双百人才团队负责人、海南省发明协会副会长、海南省知识产权协会副会长、海南省低碳经济发展促进会副会长、海南省农产品加工企业协会副会长、海南省人工智能学会高级顾问、美国中密西根大学客座研究员及意大利摩德纳大学的博士指导委员会委员等职务。自2012年作为D类人才引进海南大学以来,累计发表论文260余篇,SCI收录120余次,ESI高被引11篇,引用统计超过4300次。面向多行业、多领域设计了241件(含15件PCT发明专利)系列化中国国家及国际发明专利,已获授权第1发明人中国国家发明专利及国际发明专利共85件。2020年获吴文俊人工智能技术发明三等奖;2021年作为程序委员会主席独立发起首届国际数据、信息、知识与智慧大会-IEEE DIKW 2021;2022年担任IEEE DIKW 2022大会指导委员会主席;2023年担任IEEE DIKW 2023大会主席;2022年获评海南省最美科技工作者(并被推全国);2022年与2023年连续入选美国斯坦福大学发布的全球前2%顶尖科学家的“终身科学影响力排行榜”榜单。参与研制IEEE金融知识图谱国际标准2项、行业知识图谱标准4项。2023年发起并共同举办首届世界人工意识大会(Artificial Consciousness 2023, AC2023)。

 

 

数据(Data)可视为我们认知中相同语义的具体表现形式。通常,数据代表着具体的事实或观察结果的存在语义确认,并通过与认知主体已有认知对象的存在性包含的某些相同语义对应而确认为相同的对象或概念。在处理数据时,我们常常寻求并提取标定该数据的特定相同语义,进而依据对应的相同语义将它们统一视为一个相同概念。例如,当我们看到一群羊时,虽然每只羊可能在体型、颜色、性别等方面略有不同,但我们会将它们归入“羊”的概念,因为它们共享了我们对“羊”这个概念的语义理解。相同语义可以是具体的如识别手臂时可以根据一个硅胶手臂与人的手臂的手指数量的相同、颜色的相同、手臂外形的相同等相同语义进行确认硅胶手臂为手臂,也可以通过硅胶手臂不具有真实手臂的可以旋转对应的由“可以旋转”定义的相同语义,而判定其不是手臂。

 

信息(Information)则对应认知中不同语义的表达。通常情况下,信息指的是通过特定意图将认知DIKWP对象与认知主体已经认知的数据、信息、知识、智慧或意图联系起来,产生新的语义关联。在处理信息时,我们会根据输入的数据、信息、知识、智慧或意图,找出它们被认知的DIKWP对象的不同之处,对应不同的语义,并进行信息分类。例如,在停车场中,尽管所有的汽车都可以归入“汽车”这一概念,但每辆车的停车位置、停车时间、磨损程度、所有者、功能、缴费记录和经历都代表着信息中不同的语义。信息对应的不同语义经常存在于认知主体的认知中,常常未被显式表达出来,例如抑郁症患者可能用自己情绪“低落”来表达自己当前的情绪相对自己以往的情绪的下降,但这个“低落”对应的信息因为其对比状态不被听众了解而不能被听众客观感受到,从而成为该患者自己主观的认知信息。

 

知识(Knowledge)对应于认知中的完整语义。知识是通过观察和学习获得的对世界的理解和解释。在处理知识时,我们通过观察和学习抽象出至少一个完整语义对应的概念或模式。例如,通过观察我们得知所有的天鹅都是白色,这是我们通过收集大量信息后对“天鹅都是白色”这一概念的完整认知。

 

智慧(Wisdom)对应伦理、社会道德、人性等方面的信息,是一种来自文化、人类社会群体的相对于当前时代固定的极端价值观或者个体的认知价值观。在处理智慧时,我们会整合这些数据、信息、知识、智慧,并运用它们来指导决策。例如,在面临决策问题时,我们会综合考虑伦理、道德、可行性等各个方面的因素,而不仅仅是技术或效率。

 

意图(Purpose)可以看作是一个二元组(输入,输出),其中输入和输出都是数据、信息、知识、智慧或意图的内容。意图代表了我们对某一现象或问题的理解(输入),以及我们希望通过处理和解决该现象或问题来实现的目标(输出)。在处理意图时,人工智能系统会根据其预设的目标(输出),处理输入的内容,通过学习和适应,使输出逐渐接近预设的目标。






https://blog.sciencenet.cn/blog-3429562-1413657.html

上一篇:百元买百鸡或鸡兔同笼问题的DIKWP分析
下一篇:百元买百鸡或鸡兔同笼问题的简化DIKWP分析(面向小学生)
收藏 IP: 59.50.85.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-29 16:31

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部