论文标题
算法工程探索:建模算法
Exploration in Algorithm Engineering: Modeling Algorithms
论文作者
论文摘要
根据一些算法学家的说法,算法传统上使用算法理论,源自数学。对创新算法的需求日益增长,导致理论与实践之间的差距增加。最初,这促进了算法工程的开发,该工程被视为与软件工程相关的实验技术。目前,算法工程是一种算法研究的方法,它将理论与实施和实验相结合,以便产生具有很高实际影响的更好算法。尽管如此,研究人员还是质疑是否可以完全生成的方式定义算法的概念,并讨论了实际上是什么样的实体算法。他们还努力保持一种观点,该观点在适应更应用的视图时数学制定算法(例如,图灵机和有限状态机器[FSMS])。回答哪些算法在软件规格中具有实际应用的问题,本文提出了基于名为Thinging Machine(TM)的新建模机的算法的示意图定义。该机器具有五个动作(例如,创建,过程,发布,传输和接收),可以形成机器网络。本文探讨了定义在图灵机和FSM中的应用。结果表明,提出的定义可以用作算法的中间地面表示,这是正式规范和常用的非正式定义(例如指令集)之间的定义。
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).