Máy trạng thái hữu hạn

**Máy trạng thái hữu hạn** (finite-state machine **FSM**) hoặc **Máy tự động trạng thái hữu hạn** (finite-state automaton **FSA**), hoặc là** máy tự động hữu hạn**, hoặc gọi đơn giản là **máy trạng thái**, là một mô hình tính toán toán học. Nó là một máy trừu tượng luôn có trạng thái nằm trong tổng hữu hạn các trạng thái tại bất kỳ thời điểm nào. Máy trạng thái hữu hạn có thể chuyển từ trạng thái này sang trạng thái khác để phù hợp với đầu vào; sự thay đổi này được gọi là *quá trình chuyển đổi*. Máy trạng thái hữu hạn được xác định bởi danh sách các trạng thái của nó, trạng thái khởi đầu, và các điều kiện cho từng sự chuyển đổi trạng thái.

Hành vi của máy trạng thái có thể được quan sát qua nhiều thiết bị hiện đại, đó là việc thực hiện một chuỗi các hành động định trước tùy vào chuỗi sự kiện mà chúng được lập trình.

Máy trạng thái hữu hạn có công suất tính toán thấp hơn một số mô hình tính toán khác như máy Turing. Sự khác biệt năng lực tính toán cũng có nghĩa là có những bài toán mà máy Turing có thể thực hiện, nhưng máy trạng thái thì không. Nguyên nhân là do bộ nhớ của máy trạng thái bị giới hạn bởi số trạng thái. Máy trạng thái được nghiên cứu trong lĩnh vực tổng quát hơn thuộc lý thuyết tự động.

## Ví dụ: Của quay hoạt động bằng tiền xu

## Khái niệm và thuật ngữ

## Cách mô tả

### Bảng trạng thái/sự kiện

### Máy trạng thái UML

### Máy trạng thái SDL

### Các dạng biểu đồ trạng thái khác

## Ứng dụng

## Phân loại

### Theo bộ chấp nhận và nhận dạng

### Bộ phân loại

### Bộ chuyển dịch

### Bộ phát sinh

### Bộ xác định

## Ý nghĩa tương tự

## Mô hình toán học

## Tối ưu hóa

## Cài đặt

### Ứng dụng phần cứng

### Ứng dụng phần mềm

### Máy và trình biên dịch trạng thái hữu hạn

## Xem thêm

## Tham khảo

## Đọc thêm

### Chung
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* Wagner, F., "Modeling Software with Finite State Machines: A Practical Approach", Auerbach Publications, 2006, .
* ITU-T, ''Recommendation Z.100 Specification and Description Language (SDL)''
* Samek, M., ''Practical Statecharts in C/C++'', CMP Books, 2002, .
* Samek, M., ''Practical UML Statecharts in C/C++, 2nd Edition'', Newnes, 2008, .
* Gardner, T., ''Advanced State Management'' , 2007
* Cassandras, C., Lafortune, S., "Introduction to Discrete Event Systems". Kluwer, 1999, .
* Timothy Kam, *Synthesis of Finite State Machines: Functional Optimization*. Kluwer Academic Publishers, Boston 1997, 
* Tiziano Villa, *Synthesis of Finite State Machines: Logic Optimization*. Kluwer Academic Publishers, Boston 1997, 
* Carroll, J., Long, D., *Theory of Finite Automata with an Introduction to Formal Languages*. Prentice Hall, Englewood Cliffs, 1989.
* Kohavi, Z., *Switching and Finite Automata Theory*. McGraw-Hill, 1978.
* Gill, A., *Introduction to the Theory of Finite-state Machines*. McGraw-Hill, 1962.
* Ginsburg, S., *An Introduction to Mathematical Machine Theory*. Addison-Wesley, 1962.

### Máy trạng thái hữu hạn trong Lý thuyết khoa học máy tính
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp)

### Máy trạng thái trừu tượng trong lý thuyết khoa học máy tính
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp)

### Học máy dựa trên thuật toán trạng thái hữu hạn
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp)

### Kỹ thuật phần cứng: tối thiểu trạng thái và sự tổ hợp mạch tuần tự
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp)

### Chuỗi quá trình Markov hữu hạn
:: "We may think of a Markov chain as a process that moves successively through a set of states *s<sub>1</sub>*, *s<sub>2</sub>*, …, *s<sub>r</sub>*. … if it is in state *s<sub>i</sub>* it moves on to the next stop to state *s<sub>j</sub>* with probability *p<sub>ij</sub>*. These probabilities can be exhibited in the form of a transition matrix" (Kemeny (1959), p. 384)
Finite Markov-chain processes are also known as subshifts of finite type.
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
* &#x7C;tựa đề= trống hay bị thiếu (trợ giúp) 
Chapter 6 "Finite Markov Chains".

## Liên kết ngoài
* 
* ''Modeling a Simple AI behavior using a Finite State Machine'' Example of usage in Video Games
*  description of Finite State Machines
* NIST Dictionary of Algorithms and Data Structures description of Finite State Machines
* Interactive FSM: Control Circuit , demonstrates the logic flow of the Finite State Machines.
* FSM simulator, simulates DFAs, NFAs and ε-NFAs, including generated by regular expression.
* A brief overview of state machine types, comparing theoretical aspects of Mealy, Moore, Harel & UML state machines.
* Turing Machine and FSM simulator  Tuple-based FSM and Turing Machine simulator with simulation of tape.