Помощь в написании студенческих работ
Антистрессовый сервис

Автоматическое управление железнодорожными путями

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

По заданному абстрактному автомату Мили или Мура, А найти событие, которое представлено в автомате, А любым множеством выходных букв или состоянии автомата; Задачи абстрактного анализа и синтеза автоматов противоположны друг другу. Различают канонические и общие задачи абстрактного анализа и синтеза автоматов. По заданному автоматному множеству событий М найти абстрактный автомат Мили или Мура А… Читать ещё >

Автоматическое управление железнодорожными путями (реферат, курсовая, диплом, контрольная)

1. Задание

2. Введение

3. Рисунки автоматов

4. Блок схема

5. Листинг программы

6. Скриншоты с выполнением примера Заключение Список литературы

1. Задание

Едет поезд по основному пути. Подъезжает к разъезду с двумя путями. Если первый путь свободен, то он едет по первому. Если первый занят, а второй свободен, то он едет по второму. Если первый и второй заняты, то он едет по основному.

Построить автомат управления железнодорожными путями.

2.

Введение

Основными задачами теории автоматов являются задачи анализа и синтеза автоматов. Под анализом автомата понимают установление отображения, реализуемого схемой заданного автомата А, а под синтезом —построение схемы автомата, который индуцирует заданное отображение f.

В теории автоматов обычно выделяют несколько этапов (уровней), среди которых особое значение имеют абстрактный и структурный этапы.

На абстрактном уровне рассматриваются задачи, связанные с распознаванием эквивалентности, изоморфизма и изоморфного вложения автоматов, абстрактного анализа и синтеза автоматов, минимизации автоматов, изучаются вопросы алгебры автоматов и методы разложения автоматов по различным операциям, которые решают проблему последовательной, параллельной и общей декомпозиции абстрактных автоматов.

Если в абстрактной теории автоматов везде под автоматом подразумевается абстрактный автомат, заданный либо графоидом, либо матрицей соединений, то в структурной теории автоматов, говоря об автомате, имеют в виду структурную схему, состоящую из элементов некоторого стандартного комплекса, в который входят набор элементарных автоматов и функционально полный набор логических элементов. Поэтому на структурном уровне изучаются методы перехода от графоида или матрицы соединений автомата к структурной схеме автомата, приемы построения схем сложных автоматов из схем элементарных автоматов и логических элементов, рассматриваются способы кодирования состояний, входных и выходных сигналов автомата, различные варианты которых определяют, в конечном счете, сложность структурной схемы автомата при неизменном законе его функционирования.

В абстрактной теории автоматов важное значение имеют задачи анализа и синтеза автоматов, а на структурном уровне на первый план ставится проблема синтеза автоматов.

Задачи абстрактного анализа и синтеза автоматов противоположны друг другу. Различают канонические и общие задачи абстрактного анализа и синтеза автоматов.

Канонические задачи анализа и синтеза формулируются следующим образом:

1) по заданному абстрактному автомату Мили или Мура, А найти соответствующее ему каноническое множество событий М,

2) по заданному автоматному множеству событий М найти абстрактный автомат Мили или Мура А, каноническое множество событий которого совпадает с М.

Одно и то же событие допускает несколько эквивалентных форм регулярных выражений. Поэтому в результате анализа требуется отыскать регулярное выражение, имеющее минимальную циклическую глубину.

Каноническая задача синтеза автоматов по своему существу неоднозначна. Это объясняется тем, что абстрактный автомат не определяется однозначно соответствующим ему каноническим множеством событий, поскольку одно и то же автоматное отображение может индуцироваться различными абстрактными автоматами. Поэтому в результате решения канонической задачи синтеза находим один из возможных автоматов, а затем ставится задача минимизации абстрактных автоматов, которая заключается в отыскании автомата с минимальным числом состояний.

Общие задачи анализа и синтеза автоматов формулируются следующим образом:

1) по заданному абстрактному автомату Мили или Мура, А найти событие, которое представлено в автомате, А любым множеством выходных букв или состоянии автомата;

2) по любому конечному множеству событий построить абстрактный автомат Мили или Мура А. который представляет каждое событие этого множества некоторым множеством выходных букв или состояний.

Существует стандартный прием сведения обшей задачи синтеза автоматов к канонической задаче синтеза, которая всегда имеет решение, основанный на следующем утверждении.

3. Рисунки автоматов

S0

a/x

S1

b/y

S2

a/x

b/y

a/x

S3

a/x

S4

S0 — железнодорожный разъезд

S1 — первый путь

S2 — второй путь

S3 — третий путь

S4 — пункт назначения а/х — свободен, едем напрямую

b/y — занят, встаем на следующий путь Рисунок 1 — Автомат Милли

д

а

b

S0

S1

;

S1

S4

S2

S2

S4

S3

S3

S4

;

S4

;

;

л

а

b

S0

х

;

S1

х

у

S2

х

у

S3

х

;

S4

;

;

S0

a

S1/х

b

S2/у

a

b

a

S3/у

a

S4/х

S0 — железнодорожный разъезд

S1/х — первый путь

S2/у — второй путь

S3/у — третий путь

S4/х — пункт назначения, а — свободен, едем напрямую

b — занят, встаем на следующий путь Рисунок 2 — Автомат Мура

4. Блок схема Свободен Занят Свободен Занят

5. Листинг программы

Option Explicit

Dim w, h

Dim k, dl

Dim mass () As Single, i%, j%, sv%, sv1%, ti%, fl As Boolean

Function y1(x As Single) As Single

y1 = 0

End Function

Function y2(x As Single) As Single

y2 = (x — w / 2)

End Function

Function y3(x As Single) As Single

y3 = -(x — w / 2)

End Function

Private Sub Combo1_Click ()

k = Combo1

ReDim mass (1 To 2, 1 To k)

For j = 0 To 9

Line1(j).Visible = False

Next j

For j = 0 To k — 1

Line1(j).Visible = True

Next j

End Sub

Private Sub Combo2_Click ()

ti = Combo2. ListIndex + 1

End Sub

Private Sub Command2_Click ()

Timer1.Enabled = Not (Timer1.Enabled)

End Sub

Private Sub Form_Load ()

Picture1.AutoRedraw = True

Picture1.Width = 2 * Picture1. Height

Picture1.Scale (0, -500)-(1000, 500)

Picture1.DrawWidth = 4: Picture1. ForeColor = &HC0C0C0

w = Picture1. ScaleWidth: h = Picture1. ScaleHeight

Shape2.Width = w: Shape2. Height = h

Shape2.FillColor = Picture1. BackColor

Me.Width = Picture1. Width + 100

Me.Height = Picture1. Height + 1000

Timer1.Enabled = False

Timer1.Interval = 10

For i = 0 To 2

Shape1(i).Left = (Picture2.ScaleWidth — Shape1(i).Width) / 2

Shape1(i).Top = Shape1(i).Height / 2 + 1.5 * i * Shape1(i).Height

Shape1(i).BackStyle = 1

Shape1(i).BackColor = vbRed

Option2(i).BackColor = Me. BackColor

Option2(i).Visible = False

Next i

Picture2.Left = w / 2 + Picture2. Width

Picture2.Top = -Picture2.Height / 2

dl = 17

Picture1.Line (0, 0)-(w, 0)

Picture1.Line (w / 2, 0)-(w, h / 2)

Picture1.Line (w / 2, 0)-(w, -h / 2)

For i = 1 To 10

Combo1.AddItem i

Combo2.AddItem i * 10 + 40 & «km/u»

Next i

Combo1.ListIndex = 7

k = Combo1

ReDim mass (1 To 2, 1 To k)

For j = 0 To 9

Line1(j).Visible = False

Next j

For j = 1 To k

Line1(j — 1).Visible = True

Next j

Combo2.ListIndex = 4

ti = Combo2. ListIndex + 1

fl = False

End Sub

Private Sub Option1_Click (Index As Integer)

fl = Index

Option2(sv).Value = True

Shape3.Left = Option1(Index).Left

For i = 0 To 2

Option2(i).Visible = Index

Next i

End Sub

Private Sub Option2_Click (Index As Integer)

If fl = True Then sv1 = Index

End Sub

Private Sub Timer1_Timer ()

If mass (1, UBound (mass) — 1) > w * 1.1 Then

ReDim mass (1 To 2, 1 To k)

End If

mass (1, 1) = mass (1, 1) + ti

mass (2, 1) = mass (1, 1) — dl

For i = 2 To k

mass (1, i) = mass (1, 1) — (i — 1) * (dl + 10)

mass (2, i) = mass (1, i) — dl

Next i

If mass (1, 1) < w / 4 Then

If fl = False Then

Randomize: sv = Int (Rnd * 3)

Else

sv = sv1

End If

For i = 0 To 2

Shape1(i).BackColor = vbRed

Next i

Shape1(sv).BackColor = vbGreen

End If

For i = 1 To k

If mass (1, i) — dl / 2 <= w / 2 Then

Line1(i — 1).X1 = mass (1, i)

Line1(i — 1).X2 = mass (2, i)

Line1(i — 1).y1 = y1(mass (1, i))

Line1(i — 1).y2 = y1(mass (2, i))

Else

Select Case sv

Case 0

Line1(i — 1).X1 = mass (1, i)

Line1(i — 1).X2 = mass (2, i)

Line1(i — 1).y1 = y3(mass (1, i))

Line1(i — 1).y2 = y3(mass (2, i))

Case 1

Line1(i — 1).X1 = mass (1, i)

Line1(i — 1).X2 = mass (2, i)

Line1(i — 1).y1 = y1(mass (1, i))

Line1(i — 1).y2 = y1(mass (2, i))

Case 2

Line1(i — 1).X1 = mass (1, i)

Line1(i — 1).X2 = mass (2, i)

Line1(i — 1).y1 = y2(mass (1, i))

Line1(i — 1).y2 = y2(mass (2, i))

End Select

End If

Next i

End Sub

6. Скриншоты с выполнением примера

Заключение

Благодаря созданию автоматического управления железнодорожными путями можно легко перестраивать поезд на свободный путь.

алгоритм автоматическое управление листинг

1. В. Брауэр Введение в теорию конечных автоматов.- М.: Радио и связь, 1999

2. Хопкрофт Дж. Э., Мотвани Р., Ульман Дж. Д.

Введение

в теорию автоматов, языков и вычислений, 2-е изд. М.: Вильямс, 2002

3.Савельев А. Я. Прикладная теория цифровых автоматов, 1-е изд. М.: Высшая школа, 2001

4. Карпов Ю. Г. Теория автоматов: Учебник / Ю. Г. Карпов. — СПб.: Питер, 2003. — 208с.

Показать весь текст
Заполнить форму текущей работой