简体   繁体   English

最小化有限自动机有什么好处?

[英]What is the benefit of minimizing a finite automata?

Minimizing a discrete finite automata is astandard problem in computer science.最小化离散有限自动机是计算机科学中的标准问题 What are the benefits of minimizing a finite automata?最小化有限自动机有什么好处? Is it just an academic problem?只是学术问题吗?

The principal reason to minimize a finite automaton is to save the implementation cost. 最小化有限自动机的主要原因是节省实施成本。 When finite automata were being studied, it was with respect to the machines that implemented the function being studied. 在研究有限自动机时,是针对实现了所研究功能的机器而言的。 When an inverter or gate or memory component consisted of one or more vacuum tubes, http://en.wikipedia.org/wiki/Vacuum_tube - devices that cost money, consumed power and took up considerable space, you really, really wanted to reduce the number of tubes and the connections between them. 当逆变器,门或内存组件由一个或多个真空管组成时, http://en.wikipedia.org/wiki/Vacuum_tube-既要花钱,消耗功率又要占用相当大空间的设备,您确实真的想减少管的数量及其之间的连接。

Even with the move to solid state implementations, real estate was often a concern. 即使采用固态设备,房地产仍然是一个问题。 If a particular finite automaton was reused frequently in a system, optimizing the FA paid big dividends in chip yields. 如果特定的有限自动机经常在系统中重复使用,则优化FA会大大提高芯片产量。

最小化自动机总是可取的:(1)高效(如果在最小化自动上应用相同的算法)(2a)需要较少的元素来实现(2b)较小的尺寸(2c)便宜(3)有时很明显可以回答(冗余状态可能是原因不必要的复杂性)

Minimization of a finite automata helps in reducing the compile time, as it removes identical operations.有限自动机的最小化有助于减少编译时间,因为它删除了相同的操作。

When we minimize an expression,we tend to remove the unused states or we merge two or more states into a single equivalent state which are likely to produce same output.当我们最小化一个表达式时,我们倾向于删除未使用的状态,或者我们将两个或多个状态合并到一个等效的 state 中,这可能会产生相同的 output。 Merging states like this should produce a smaller automaton that accomplishes exactly the same task as our original one.像这样合并状态应该产生一个更小的自动机,它完成与我们原来的任务完全相同的任务。 (Here the unreachable states are removed and the states are checked whether they are distinguishable or not. If undistinguishable the states are merged else the states are uniquely represented). (这里不可达状态被删除,并检查状态是否可区分。如果不可区分,则合并状态,否则状态被唯一表示)。

As it reduces the compilation time,results in increasing the processing speed of the program.由于它减少了编译时间,从而提高了程序的处理速度。 Running a program which can run a second or two faster than other programs, can vastly increase the scope of the program.运行一个比其他程序快一两秒的程序,可以大大增加程序的 scope。 Therefore minimization is very essential in the process.因此,最小化在此过程中非常重要。

First of all, minimization of a finite automata is very useful in making the compilers execute faster, as it removes identical operations.首先,有限自动机的最小化对于使编译器执行得更快非常有用,因为它消除了相同的操作。

When we minimize an expression, we merge two or more states into a single equivalent state.当我们最小化一个表达式时,我们将两个或多个状态合并为一个等效的 state。

Merging states like this should produce a smaller automaton that accomplishes exactly the same task as our original one.像这样合并状态应该产生一个更小的自动机,它完成与我们原来的任务完全相同的任务。

This is very much required to reduce the whole total compilation time and eventually increase the processing speed of the program.这对于减少整个编译时间并最终提高程序的处理速度是非常必要的。

Running a program which can run a second or two faster than other programs, can vastly increase the scope of the program.运行一个比其他程序快一两秒的程序,可以大大增加程序的 scope。

Therefore minimization is very essential in the process.因此,最小化在此过程中非常重要。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM