Таблиця переходів — це в основному табличне представлення функції переходу. Він приймає два аргументи (стан і символ) і повертає стан («наступний стан»).
Таблиця переходів представлена такими речами:
- Стовпці відповідають символам введення.
- Рядки відповідають державам.
- Записи відповідають наступному стану.
- Початковий стан позначається стрілкою без джерела.
- Стан прийняття позначається зірочкою.
приклад 1:
рішення:
Таблиця переходів даного DFA виглядає наступним чином:
Сучасний стан | Наступний стан для входу 0 | Наступний стан введення 1 |
---|---|---|
→q0 | q1 | q2 |
q1 | q0 | q2 |
*q2 | q2 | q2 |
Пояснення:
- У наведеній вище таблиці перший стовпець вказує на всі поточні стани. У стовпцях 0 і 1 показані наступні стани.
- Перший рядок таблиці переходів можна прочитати так: коли поточний стан дорівнює q0, на вході 0 наступним станом буде q1, а на вході 1 наступним станом буде q2.
- У другому рядку, коли поточний стан дорівнює q1, на вході 0 наступним станом буде q0, а на вході 1 наступним станом буде q2.
- У третьому рядку, коли поточний стан q2 на вході 0, наступним станом буде q2, а на вході 1 наступним станом буде q2.
- Стрілка, позначена q0, вказує, що це початковий стан, а коло, позначене q2, вказує, що це кінцевий стан.
приклад 2:
рішення:
java hashmap
Перехідна таблиця даного NFA виглядає наступним чином:
Сучасний стан | Наступний стан для входу 0 | Наступний стан введення 1 |
---|---|---|
→q0 | q0 | q1 |
q1 | q1, q2 | q2 |
q2 | q1 | q3 |
*q3 | q2 | q2 |
Пояснення:
- Перший рядок таблиці переходів можна прочитати так: коли поточний стан дорівнює q0, на вході 0 наступним станом буде q0, а на вході 1 наступним станом буде q1.
- У другому рядку, коли поточний стан дорівнює q1, на вході 0 наступним станом буде q1 або q2, а на вході 1 наступним станом буде q2.
- У третьому рядку, коли поточний стан q2 на вході 0, наступним станом буде q1, а на вході 1 наступним станом буде q3.
- У четвертому рядку, коли на вході 0 поточний стан q3, наступним станом буде q2, а на вході 1 наступним станом буде q2.