Теорія автоматів: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
м шаблон
Рядок 1: Рядок 1:
{{без джерел|дата=травень 2018}}
'''Тео́рія автома́тів''' — логіко-математична теорія, об'єктом дослідження якої є [[абстрактні автомати|абстрактні]] [[дискретні автомати]] — покрокові перетворювачі [[інформація|інформації]]; розділ [[теоретична кібернетика|теоретичної кібернетики]].
'''Тео́рія автома́тів''' — логіко-математична теорія, об'єктом дослідження якої є [[абстрактні автомати|абстрактні]] [[дискретні автомати]] — покрокові перетворювачі [[інформація|інформації]]; розділ [[теоретична кібернетика|теоретичної кібернетики]].


== Виникнення ==
== Виникнення ==


Виникнення й розвиток теорії автоматів пов'язані зі створенням технічних засобів [[автоматичне керування|автоматичного керування]], [[проектуванням]] складних [[дискретна обчислювальна система|дискретних]] [[обчислювальна система|обчислювальних систем]] з [[програмне керування|програмним керуванням]], розробкою [[математична модель|математичних моделей]] процесів переробки інформації в складних [[динамічна система|динамічних системах]] тощо.
Виникнення й розвиток теорії автоматів пов'язані зі створенням технічних засобів [[автоматичне керування|автоматичного керування]], [[проектуванням]] складних [[дискретна обчислювальна система|дискретних]] [[обчислювальна система|обчислювальних систем]] з [[програмне керування|програмним керуванням]], розробкою [[математична модель|математичних моделей]] процесів переробки інформації в складних [[динамічна система|динамічних системах]] тощо.


Як цілісна конструктивна структурна [[теорія]] теорія автоматів склалася на початку 50-х рр. XX сторіччя.
Як цілісна конструктивна структурна [[теорія]] теорія автоматів склалася на початку 50-х рр. XX сторіччя.


=== Завдання, що вирішує теорія автоматів ===
=== Завдання, що вирішує теорія автоматів ===


Коло проблем, що розв'язуються теорією автоматів, досить широке: від проблем «геделівського типу» ([[Теорема Геделя про повноту|повнота]], розв'язність тощо) до проблем [[самовдосконалення]], [[самоорганізація|самоорганізації]], [[самопроектування]] [[ЕЦОМ]] включно.
Коло проблем, що розв'язуються теорією автоматів, досить широке: від проблем «геделівського типу» ([[Теорема Геделя про повноту|повнота]], розв'язність тощо) до проблем [[самовдосконалення]], [[самоорганізація|самоорганізації]], [[самопроектування]] [[ЕЦОМ]] включно.


У [[дискретна математика|дискретній математиці]], [[інформатика|інформатиці]], '''теорія автоматів''' вивчає абстрактні машини у вигляді математичних моделей, і проблеми, які вони можуть вирішувати.
У [[дискретна математика|дискретній математиці]], [[інформатика|інформатиці]], '''теорія автоматів''' вивчає абстрактні машини у вигляді математичних моделей, і проблеми, які вони можуть вирішувати.
Рядок 15: Рядок 16:
== Способи задання автоматів ==
== Способи задання автоматів ==


=== 1. Табличний спосіб ===
=== 1. Табличний спосіб ===
При табличному способі завдання автомат Мілі описується двома таблицями: таблицею переходів і таблицею виходів. 
При табличному способі завдання автомат Мілі описується двома таблицями: таблицею переходів і таблицею виходів. 


''Таблиця переходів''
''Таблиця переходів''
Рядок 22: Рядок 23:
!x <sub>j</sub> \ a <sub>i</sub>  
!x <sub>j</sub> \ a <sub>i</sub>  
!a <sub>0</sub> 
!a <sub>0</sub> 
!...
!
!a <sub>n</sub> 
!a <sub>n</sub> 
|-
|-
|x <sub>1</sub> 
|x <sub>1</sub> 
|d (a <sub>0,</sub> x <sub>1)</sub> 
|d (a <sub>0,</sub> x <sub>1)</sub> 
|...
|
|d (a <sub>n,</sub> x <sub>1)</sub>
|d (a <sub>n,</sub> x <sub>1)</sub>
|-
|-
|...
|
|...
|
|...
|
|...
|
|-
|-
|x <sub>m</sub> 
|x <sub>m</sub> 
|d (a <sub>0,</sub> x <sub>m)</sub>
|d (a <sub>0,</sub> x <sub>m)</sub>
|...
|
|d (a <sub>n,</sub> x <sub>m)</sub>
|d (a <sub>n,</sub> x <sub>m)</sub>
|}
|}
Рядок 45: Рядок 46:
!x <sub>j</sub> \ a <sub>i</sub> 
!x <sub>j</sub> \ a <sub>i</sub> 
!a <sub>0</sub> 
!a <sub>0</sub> 
!...
!
!a <sub>n</sub> 
!a <sub>n</sub> 
|-
|-
|x <sub>1</sub> 
|x <sub>1</sub> 
|(a <sub>0,</sub> x <sub>1)</sub>
|(a <sub>0,</sub> x <sub>1)</sub>
|...
|
|(a <sub>n,</sub> x <sub>1)</sub> 
|(a <sub>n,</sub> x <sub>1)</sub> 
|-
|-
|...
|
|...
|
|...
|
|...
|
|-
|-
|x <sub>m</sub> 
|x <sub>m</sub> 
|(a <sub>0,</sub> x <sub>m)</sub> 
|(a <sub>0,</sub> x <sub>m)</sub> 
|...
|
|(a <sub>n,</sub> x <sub>m)</sub>
|(a <sub>n,</sub> x <sub>m)</sub>
|}
|}


 Рядки цих таблиць відповідають вхідним сигналам '''x (t),''' а стовпці - станам. На перетині стовпця a <sub>i</sub> і рядки '''x''' <sub>j</sub> в таблиці переходів ставиться стан '''a''' <sub>s</sub> = '''d [a''' <sub>i,</sub> '''x''' <sub>j],</sub> в які автомат перейде зі стану '''a''' <sub>i</sub> під впливом сигналу '''x''' <sub>j;</sub> а в таблиці виходів - відповідний цьому переходу вихідний сигнал '''y''' <sub>g</sub> = '''l [a''' <sub>i,</sub> '''x''' <sub>j].</sub> Іноді автомат Мілі задають суміщеною таблицею переходів і виходів, вона в деяких випадках більш зручна. 
 Рядки цих таблиць відповідають вхідним сигналам '''x (t),''' а стовпці&nbsp;— станам. На перетині стовпця a <sub>i</sub> і рядки '''x''' <sub>j</sub> в таблиці переходів ставиться стан '''a''' <sub>s</sub> = '''d [a''' <sub>i,</sub> '''x''' <sub>j],</sub> в які автомат перейде зі стану '''a''' <sub>i</sub> під впливом сигналу '''x''' <sub>j;</sub> а в таблиці виходів&nbsp;— відповідний цьому переходу вихідний сигнал '''y''' <sub>g</sub> = '''l [a''' <sub>i,</sub> '''x''' <sub>j].</sub> Іноді автомат Мілі задають суміщеною таблицею переходів і виходів, вона в деяких випадках більш зручна. 


''Суміщена таблиця переходів і виходів автомата Мілі.''
''Суміщена таблиця переходів і виходів автомата Мілі.''
Рядок 74: Рядок 75:
|a <sub>0</sub> 
|a <sub>0</sub> 
|}
|}
!...
!
!a <sub>n</sub> 
!a <sub>n</sub> 
|-
|-
|x <sub>1</sub> 
|x <sub>1</sub> 
|d (a <sub>0,</sub> x <sub>1)</sub> \<br>
|d (a <sub>0,</sub> x <sub>1)</sub> \<br/>
<br>
<br/>
(a <sub>0,</sub> x <sub>1)</sub> 
(a <sub>0,</sub> x <sub>1)</sub> 
|...
|
|d (a <sub>n,</sub> x <sub>1)</sub> \ <br>
|d (a <sub>n,</sub> x <sub>1)</sub> \ <br/>
<br>
<br/>
(a <sub>n,</sub> x <sub>1)</sub> 
(a <sub>n,</sub> x <sub>1)</sub> 
|-
|-
|...
|
|...
|
|...
|
|,..
|,..
|-
|-
|x <sub>m</sub> 
|x <sub>m</sub> 
|d (a <sub>0,</sub> x <sub>m)</sub> \ <br>
|d (a <sub>0,</sub> x <sub>m)</sub> \ <br/>
<br>
<br/>
(a <sub>0,</sub> x <sub>m)</sub> 
(a <sub>0,</sub> x <sub>m)</sub> 
|...
|
|d (a <sub>n,</sub> x <sub>m)</sub> \ <br>
|d (a <sub>n,</sub> x <sub>m)</sub> \ <br/>
<br>
<br/>
(a <sub>n,</sub> x <sub>m)</sub> 
(a <sub>n,</sub> x <sub>m)</sub> 
|}            
|}            


<br>   Завдання таблиць переходів і виходів повністю описує роботу кінцевого автомата, оскільки задаються не тільки самі функції переходів і виходів, але також і всі три алфавіту: вхідний, вихідний і алфавіт станів. Так як в автоматі Мура вихідний сигнал однозначно визначається станом автомата, то для його завдання потрібно тільки одна таблиця, яка називається зазначеної таблицею переходів автомата Мура. 
<br/>   Завдання таблиць переходів і виходів повністю описує роботу кінцевого автомата, оскільки задаються не тільки самі функції переходів і виходів, але також і всі три алфавіту: вхідний, вихідний і алфавіт станів. Так як в автоматі Мура вихідний сигнал однозначно визначається станом автомата, то для його завдання потрібно тільки одна таблиця, яка називається зазначеної таблицею переходів автомата Мура. 


Зазначена таблиця переходів ''автомата Мура ''
Зазначена таблиця переходів ''автомата Мура ''
Рядок 108: Рядок 109:
!y <sub>g</sub> 
!y <sub>g</sub> 
!l (a <sub>0)</sub> 
!l (a <sub>0)</sub> 
!...
!
!l (a <sub>n)</sub> 
!l (a <sub>n)</sub> 
|-
|-
|x <sub>j</sub> \ a <sub>c</sub> 
|x <sub>j</sub> \ a <sub>c</sub> 
|a <sub>0</sub> 
|a <sub>0</sub> 
|...
|
|a <sub>n</sub> 
|a <sub>n</sub> 
|-
|-
|x <sub>1</sub> 
|x <sub>1</sub> 
|d (a <sub>0,</sub> x<sub>1)</sub> 
|d (a <sub>0,</sub> x<sub>1)</sub> 
|...
|
|...
|
|-
|-
|x <sub>m</sub> 
|x <sub>m</sub> 
|d (a <sub>0,</sub> x<sub>m)</sub> 
|d (a <sub>0,</sub> x<sub>m)</sub> 
|...
|
|d (a <sub>n,</sub> x<sub>m)</sub> 
|d (a <sub>n,</sub> x<sub>m)</sub> 
|}
|}
Рядок 185: Рядок 186:


=== 2. Графічний спосіб ===
=== 2. Графічний спосіб ===
[[File:Граф для для автомата Мура.png|thumb|Граф для для автомата Мура|left]]
[[Файл:Граф для для автомата Мура.png|thumb|Граф для для автомата Мура|left]]
[[File:Автомат Мура й еквівалентний йому автомат Мілі.jpg|thumb|Автомат Мілі є еквівалентним автомату Мура|right]]
[[Файл:Автомат Мура й еквівалентний йому автомат Мілі.jpg|thumb|Автомат Мілі є еквівалентним автомату Мура|right]]
При графічному способі завдання автомата здійснюється за допомогою графа. Цей спосіб заснований на використанні орієнтованих зв'язкових графів. Вершини графів відповідають станам автомата, а дуги - переходам між ними. Дві вершини графа '''a''' <sub>i</sub> і '''a''' <sub>s</sub> з'єднуються дугою, спрямованої від '''a''' <sub>i</sub> до '''a''' <sub>s,</sub> якщо в автоматі є перехід з '''a''' <sub>i</sub> в '''a''' <sub>s,</sub>тобто '''a''' <sub>s</sub> = '''d (a''' <sub>i,</sub> '''x''' <sub>j).</sub> В автоматі Мілі дуга відзначається вхідним сигналом '''x''' <sub>j,</sub> що викликав перехід, і вихідним сигналом '''y''' <sub>g,</sub> який виникає при переході. Усередині кружечка, що позначає вершину графа, записується стан. 
При графічному способі завдання автомата здійснюється за допомогою графа. Цей спосіб заснований на використанні орієнтованих зв'язкових графів. Вершини графів відповідають станам автомата, а дуги&nbsp;— переходам між ними. Дві вершини графа '''a''' <sub>i</sub> і '''a''' <sub>s</sub> з'єднуються дугою, спрямованої від '''a''' <sub>i</sub> до '''a''' <sub>s,</sub> якщо в автоматі є перехід з '''a''' <sub>i</sub> в '''a''' <sub>s,</sub>тобто '''a''' <sub>s</sub> = '''d (a''' <sub>i,</sub> '''x''' <sub>j).</sub> В автоматі Мілі дуга відзначається вхідним сигналом '''x''' <sub>j,</sub> що викликав перехід, і вихідним сигналом '''y''' <sub>g,</sub> який виникає при переході. Усередині кружечка, що позначає вершину графа, записується стан. 




Рядок 197: Рядок 198:
У синтезі автоматів формують систему з елементарних автоматів, еквівалентну заданому [[автомат абстрактний|абстрактному автомату]]. Такий автомат називається [[автомат структурний|структурним]].
У синтезі автоматів формують систему з елементарних автоматів, еквівалентну заданому [[автомат абстрактний|абстрактному автомату]]. Такий автомат називається [[автомат структурний|структурним]].


Проектування ЕЦОМ залишається основною сферою практичного застосування теорії автоматів. Завдяки успішному розв'язанню проблеми спряження етапів [[абстрактний синтез|абстрактного]] й [[структурний синтез|структурного синтезів]], досягненням теорії надійного і блокового синтезу стало можливим викласти [[теорія синтезу цифрових автоматів|теорію синтезу цифрових автоматів]] як єдину [[математична теорія|математичну теорію]], яка в перспективі повинна охопити як єдине ціле усі ЕЦОМ з будь-яким числом їхніх станів.
Проектування ЕЦОМ залишається основною сферою практичного застосування теорії автоматів. Завдяки успішному розв'язанню проблеми спряження етапів [[абстрактний синтез|абстрактного]] й [[структурний синтез|структурного синтезів]], досягненням теорії надійного і блокового синтезу стало можливим викласти [[теорія синтезу цифрових автоматів|теорію синтезу цифрових автоматів]] як єдину [[математична теорія|математичну теорію]], яка в перспективі повинна охопити як єдине ціле усі ЕЦОМ з будь-яким числом їхніх станів.


== Тенденції ==
== Тенденції ==


Сучасній теорії автоматів властива тенденція до інтенсивного розвитку насамперед тих її розділів, які виникли скоріше у зв'язку з внутрішньою необхідністю розробки апарату самої теорії, ніж завдяки практичним потребам. У широкому розумінні теорія автоматів охоплює не лише теорію дискретних, а й теорії неперервних (аналогових) і гібридних автоматів.
Сучасній теорії автоматів властива тенденція до інтенсивного розвитку насамперед тих її розділів, які виникли скоріше у зв'язку з внутрішньою необхідністю розробки апарату самої теорії, ніж завдяки практичним потребам. У широкому розумінні теорія автоматів охоплює не лише теорію дискретних, а й теорії неперервних (аналогових) і гібридних автоматів.


== Література ==
== Література ==

Версія за 22:03, 28 травня 2018

Тео́рія автома́тів — логіко-математична теорія, об'єктом дослідження якої є абстрактні дискретні автомати — покрокові перетворювачі інформації; розділ теоретичної кібернетики.

Виникнення

Виникнення й розвиток теорії автоматів пов'язані зі створенням технічних засобів автоматичного керування, проектуванням складних дискретних обчислювальних систем з програмним керуванням, розробкою математичних моделей процесів переробки інформації в складних динамічних системах тощо.

Як цілісна конструктивна структурна теорія теорія автоматів склалася на початку 50-х рр. XX сторіччя.

Завдання, що вирішує теорія автоматів

Коло проблем, що розв'язуються теорією автоматів, досить широке: від проблем «геделівського типу» (повнота, розв'язність тощо) до проблем самовдосконалення, самоорганізації, самопроектування ЕЦОМ включно.

У дискретній математиці, інформатиці, теорія автоматів вивчає абстрактні машини у вигляді математичних моделей, і проблеми, які вони можуть вирішувати.

Способи задання автоматів

1. Табличний спосіб

При табличному способі завдання автомат Мілі описується двома таблицями: таблицею переходів і таблицею виходів. 

Таблиця переходів

j \ a i   0  n 
1  d (a 0, x 1)  d (a n, x 1)
m  d (a 0, x m) d (a n, x m)

Таблиця виходів:

j \ a i  0  n 
1  (a 0, x 1) (a n, x 1) 
m  (a 0, x m)  (a n, x m)

 Рядки цих таблиць відповідають вхідним сигналам x (t), а стовпці — станам. На перетині стовпця a i і рядки x j в таблиці переходів ставиться стан a s = d [a i, x j], в які автомат перейде зі стану a i під впливом сигналу x j; а в таблиці виходів — відповідний цьому переходу вихідний сигнал y g = l [a i, x j]. Іноді автомат Мілі задають суміщеною таблицею переходів і виходів, вона в деяких випадках більш зручна. 

Суміщена таблиця переходів і виходів автомата Мілі.

j \ a i
0 
n 
1  d (a 0, x 1) \


(a 0, x 1) 

d (a n, x 1) \ 


(a n, x 1) 

,..
m  d (a 0, x m) \ 


(a 0, x m) 

d (a n, x m) \ 


(a n, x m) 

            


   Завдання таблиць переходів і виходів повністю описує роботу кінцевого автомата, оскільки задаються не тільки самі функції переходів і виходів, але також і всі три алфавіту: вхідний, вихідний і алфавіт станів. Так як в автоматі Мура вихідний сигнал однозначно визначається станом автомата, то для його завдання потрібно тільки одна таблиця, яка називається зазначеної таблицею переходів автомата Мура. 

Зазначена таблиця переходів автомата Мура 

g  l (a 0)  l (a n) 
j \ a c  0  n 
1  d (a 0, x1) 
m  d (a 0, xm)  d (a n, xm) 

  У цій таблиці кожному стовпцю приписаний, крім стану a i, ще й вихідний сигнал y (t) = l (a (t)), що відповідає цьому стану. Таблиця переходів автомата Мура називається зазначеної тому, що кожний стаан відзначено вихідним сигналом. Приклади табличного завдання автоматів Мілі і Мура. 

Автомат Мура: 

yg  2 1 3 3  2 
j \ x j  0 1  2 3  4 
1  2  1  3  4 2 
2  3  4  4 0 1 

Автомат Мілі:  

j \ a i 0  1  2  3 
1  1 / y 1 2 / y3 3 / y2  0 / y1 
2  0 / y 2  0 / y1  3 / y1  2 / y3

      

По цим таблицям можна знайти реакцію автомата на будь яке вхідне слово.   

2. Графічний спосіб

Файл:Граф для для автомата Мура.png
Граф для для автомата Мура
Файл:Автомат Мура й еквівалентний йому автомат Мілі.jpg
Автомат Мілі є еквівалентним автомату Мура

При графічному способі завдання автомата здійснюється за допомогою графа. Цей спосіб заснований на використанні орієнтованих зв'язкових графів. Вершини графів відповідають станам автомата, а дуги — переходам між ними. Дві вершини графа a i і a s з'єднуються дугою, спрямованої від a i до a s, якщо в автоматі є перехід з a i в a s,тобто a s = d (a i, x j). В автоматі Мілі дуга відзначається вхідним сигналом x j, що викликав перехід, і вихідним сигналом y g, який виникає при переході. Усередині кружечка, що позначає вершину графа, записується стан. 


Синтез автоматів

Докладніше: Синтез автоматів

У синтезі автоматів формують систему з елементарних автоматів, еквівалентну заданому абстрактному автомату. Такий автомат називається структурним.

Проектування ЕЦОМ залишається основною сферою практичного застосування теорії автоматів. Завдяки успішному розв'язанню проблеми спряження етапів абстрактного й структурного синтезів, досягненням теорії надійного і блокового синтезу стало можливим викласти теорію синтезу цифрових автоматів як єдину математичну теорію, яка в перспективі повинна охопити як єдине ціле усі ЕЦОМ з будь-яким числом їхніх станів.

Тенденції

Сучасній теорії автоматів властива тенденція до інтенсивного розвитку насамперед тих її розділів, які виникли скоріше у зв'язку з внутрішньою необхідністю розробки апарату самої теорії, ніж завдяки практичним потребам. У широкому розумінні теорія автоматів охоплює не лише теорію дискретних, а й теорії неперервних (аналогових) і гібридних автоматів.

Література

Див. також