arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2012.01908cs.SE
收藏

算法工程探索:算法建模

Exploration in Algorithm Engineering: Modeling Algorithms

Sabah Al-Fedaghi

摘要:

根据一些算法学家的说法,算法科学传统上使用源于数学的算法理论。对创新算法的需求日益增长,导致理论与实践之间的差距越来越大。最初,这激发了算法工程的发展,算法工程被视为与软件工程相关的实验技术。目前,算法工程是一种算法研究方法,将理论与实现和实验相结合,以产生具有高实际影响的更好算法。尽管如此,研究人员仍然质疑算法的概念是否可以以完全可生成的方式定义,并讨论了算法实际上是什么类型的实体。他们也一直在努力维护一种以数学方式制定算法的观点(例如,图灵机和有限状态机[FSM]),同时采用更实用的观点。特别是在软件规格说明中,什么算法有实际应用的问题,本文提出了一个基于一个新的建模机器称为thinging机(TM)的算法的数学定义。机器有五个动作(例如,创建、处理、发布、传输和接收),这些操作可以形成机器网络。本文探讨了该定义在图灵机和有限状态机中的应用。结果表明,所提出的定义可以作为算法的中间立场表示,一个介于正式规范和常用的非正式定义(例如,指令集)。

英文摘要:

According to some algorithmicists, algorithmics traditionally uses algorithm theory, which stems from mathematics. The growing need for innovative algorithms has caused increasing gaps between theory and practice. Originally, this motivated the development of algorithm engineering, which is viewed as experimental techniques related to software engineering. Currently, algorithm engineering is a methodology for algorithmic research that combines theory with implementation and experimentation in order to produce better algorithms with high practical impact. Still, researchers have questioned whether the notion of algorithms can be defined in a fully generable way and discussed what kinds of entities algorithms actually are. They have also struggled to maintain a view that formulates algorithms mathematically (e.g., Turing machines and finite-state machines [FSMs]) while adapting a more applied view. Answering the question of what algorithms have practical applications in software specifications in particular, this paper proposes a diagrammatical definition of an algorithm based on a new modeling machine called a thinging machine (TM). The machine has five actions (e.g., create, process, release, transfer, and receive) that can form a network of machines. The paper explores the application of the definition in Turing machines and FSMs. The results point to the fact that the proposed definition can serve as a middle-ground representation of algorithms, a definition which is between formal specification and the commonly used informal definition (e.g., set of instructions).

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑