71838

Разработка алгоритма управления подвижной четырехколесной платформой

Курсовая

Экономическая теория и математическое моделирование

Простое логическое выражение состоит из одного высказывания и не содержит логические операции. Результатом операции НЕ является следующее: если исходное выражение истинно то результат его отрицания будет ложным; если исходное выражение ложно то результат его отрицания будет истинным.

Русский

2014-11-13

138 KB

3 чел.

ГОУВПО «Воронежский государственный технический университет»        Факультет энергетики и систем управления                                                         Кафедра высшей математики и физико-математического моделирования

Курсовая работа

по дисциплине дискретная математика на тему:

« Разработка алгоритма управления подвижной

четырехколесной платформой »

Выполнил: студент гр. АТР-131                                                                                                Жученко Е.А

Принял: доц. Купцов В. С.

Воронеж 2013 г.

Содержание

Условие задачи…………………………………………………………………………….3

Теоретическое введение…………………………………………………………………..4

Решение…………………………………………………………………………………....8

Заключение……………………………………………………………………………….11

Список литературы………………………………………………………………………12


Условие задачи

 Разработать схему управления подвижной платформы с четырьмя независимыми ведущими электродвигателями-колёсами. Органы управления: кнопки – «Вперёд», «По часовой», «Против часовой».

 

Теоретическое введение

Алгебра логики

 Алгебра логики (алгебра высказываний) — раздел математической логики, в котором изучаются логические операции над высказываниями. Чаще всего предполагается, что высказывания могут быть только истинными или ложными.

 Простое логическое выражение состоит из одного высказывания и не содержит логические операции. В простом логическом выражении возможно только два результата — либо «истина», либо «ложь».

 Сложное логическое выражение содержит высказывания, объединенные логическими операциями. По аналогии с понятием функции в алгебре сложное логическое выражение содержит аргументы, которыми являются высказывания.

 В качестве основных логических операций в сложных логических выражениях используются следующие:

 отрицание;

 конъюнкция;

 дизъюнкция;

а также константы — логический ноль 0 и логическая единица 1.

 Отрицание (НЕ) — логическая операция над суждениями, результатом которой является суждение противоположное» исходному. Результатом операции НЕ является следующее:

• если исходное выражение истинно, то результат его отрицания будет ложным;

• если исходное выражение ложно, то результат его отрицания будет истинным.

 Для операции отрицания НЕ приняты следующие условные обозначения:

Не А, Ā, not A, ¬А.

 Результат операции отрицания НЕ определяется следующей таблицей истинности:

A

не А

0

1

1

0

 Результат операции отрицания истинен, когда исходное высказывание ложно, и наоборот.

 Дизъюнкция (ИЛИ) — логическая операция, по своему применению максимально приближённая к союзу «или» в смысле «или то, или это, или оба сразу».

 Результатом операции ИЛИ является выражение, которое будет истинным тогда и только тогда, когда истинно будет хотя бы одно из исходных выражений.

 Применяемые обозначения: А или В,    А V В,    A or B.

 Результат операции ИЛИ определяется следующей таблицей истинности:

A

B

А или B

0

0

0

0

1

1

1

0

1

1

1

1

 Результат операции ИЛИ истинен, когда истинно А, либо истинно В, либо истинно и А и В одновременно, и ложен тогда, когда аргументы А и В — ложны.

 Конъюнкция (И) — логическая операция, по своему применению максимально приближенная к союзу «и». Результатом операции И является выражение, которое будет истинным тогда и только тогда, когда истинны оба исходных выражения.

 Применяемые обозначения: А и В, А Λ В, A  & B, A and B.

 Результат  операции  И  определяется  следующей таблицей истинности:

A

B

А и B

0

0

0

0

1

0

1

0

0

1

1

1

 Результат операции И истинен тогда и только тогда, когда истинны одновременно высказывания А и В, и ложен во всех остальных случаях.

 Импликация (ЕСЛИ-ТО) —  логическая связка, по своему применению приближенная к союзам «еслито…». Эта операция связывает два простых логических выражения, из которых первое является условием, а второе — следствием из этого условия.

 Применяемые обозначения:

если А, то В; А влечет В; if A then В; А→ В.

 Таблица истинности:

A

B

А → B

0

0

1

0

1

1

1

0

0

1

1

1

 Результат операции следования (импликации) ложен только тогда, когда предпосылка А истинна, а заключение В (следствие) ложно.

Булева алгебра

Булевой алгеброй называется непустое множество A с двумя бинарными операциями  (аналог конъюнкции),  (аналог дизъюнкции), унарной операцией  (аналог отрицания) и двумя выделенными элементами: 0 (или Ложь) и 1 (или Истина).

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

  1.  x y = y x
  2.  Ú y = y Ú x
  3.  Å y = y Å x
  4.  x  (y z) = (x y)  z
  5.  Ú (Ú z) = (Ú yÚ z
  6.  Å (Å z) = (Å yÅ z
  7.  Ú (y z) = (Ú y) (Ú z)
  8.  x  (Ú z) = (x yÚ (x z)
  9.  ¬¬x = x
  10.  ¬(x y) = ¬x Ú ¬y
  11.  ¬(Ú y) = ¬x ¬y
  12.  x x = x
  13.  x ¬x = 0
  14.  x  0 = 0
  15.  x  1 = x
  16.  Ú x = x
  17.  Ú ¬x = 1
  18.  Ú 0 = x
  19.  Ú 1 = 1
  20.  Å y = (x ¬yÚ (¬x y)
  21.  É y = ¬x Ú y
  22.  º y = (x yÚ (¬x ¬y)

Булева функция

Булева функция  от n аргументов — в дискретной математике — отображение Bn  B, где B = {0,1} — булево множество.

Булева функция задаётся конечным набором значений, что позволяет представить её в виде таблицы истинности, например:

x1

x2

xn-1

xn

f(x1,x2,…,xn)

0

0

0

0

0

0

0

0

1

0

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

1

1

0

1

0

1

1

1

0

0

1

1

1

1

0

Конъюнкти́вная норма́льная фо́рма (КНФ) в булевой логике — нормальная форма, в которой булева формула имеет вид конъюнкции дизъюнкций литералов.

Совершенная конъюнктивная нормальная форма (СКНФ) — это такая КНФ, которая удовлетворяет трём условиям:

  •  в ней нет одинаковых элементарных дизъюнкций
  •  в каждой дизъюнкции нет одинаковых пропозициональных переменных
  •  каждая элементарная дизъюнкция содержит каждую пропозициональную букву из входящих в данную КНФ пропозициональных букв.

Дизъюнктивная нормальная форма (ДНФ) в булевой логике  нормальная форма, в которой булева формула имеет вид дизъюнкции конъюнкций литералов.  

Совершенная дизъюнктивная нормальная форма (СДНФ) — это такая ДНФ, которая удовлетворяет трём условиям:

  •  в ней нет одинаковых элементарных конъюнкций
  •  в каждой конъюнкции нет одинаковых пропозициональных букв
  •  каждая элементарная конъюнкция содержит каждую пропозициональную букву из входящих в данную ДНФ пропозициональных букв, причём в одинаковом порядке.

Для любой функции алгебры логики существует своя СДНФ, причём единственная.


Решение

 

 Пусть:

Х1 – кнопка «Вперед»;

Х2 – кнопка «По часовой стрелке»;

Х3 – кнопка «Против часовой стрелки».

 Для упрощения объединим левую пару колес в одну переменную, а правую – в другую.

 Пусть:

Y1 – Левая пара колес, движение вперед;

Y2 – Левая пара колес, движение назад;

Y3 – Правая пара колес, движение вперед;

Y4 – Правая пара колес, движение назад;

 Составим таблицу истинности:

Х1

Х2

Х3

Y1

Y2

Y3

Y4

0

0

0

0

0

0

0

0

0

1

0

1

1

0

0

1

0

1

0

0

1

0

1

1

0

0

0

0

1

0

0

1

0

1

0

1

0

1

0

0

0

0

1

1

0

0

0

0

0

1

1

1

0

0

0

0

 Используя метод СДНФ, и, выбирая «1»,  получим:

Х1

Х2

Х3

Y1

Y2

Y3

Y4

0

0

1

0

1

1

0

0

1

0

1

0

0

1

1

0

0

1

0

1

0

Для каждой операции получим следующие выражения: ¬ Ú

Y1 = X1  ¬ X2 ¬ X3 Ú ¬ X1  X2 ¬ X3 = ¬ X3 (X1  ¬ X2 Ú ¬ X1  X2) =

= ¬ X3 (X1X2);

Х1

Х2

Х3

¬X3

X1X2

¬ X3 (X1X2)

0

1

0

1

1

1

1

0

0

1

1

1

Y2 = ¬X1 ¬X2 X3;

Х1

Х2

Х3

¬X1

¬X2

¬X1 ¬X2

¬X1 ¬X2 X3

0

0

1

1

1

1

1

Y3 = X1 ¬X2 ¬X3 Ú ¬X1 ¬X2 X3 = ¬X2 (XX3 Ú ¬X1 X3) = =

=¬X2  (X1X3);

Х1

Х2

Х3

¬X2

X1X3

¬X2  (X1X3)

0

0

1

1

1

1

1

0

0

1

1

1

Y4 = ¬X1 X2 ¬X3;

Х1

Х2

Х3

¬X1

¬X3

¬X1 X2

¬X1 X2 ¬X3

0

1

0

1

1

1

1


Заключение

 В ходе курсовой работы я освоил метод построения алгоритма управления подвижной платформы способом формирования логических функций. Составив таблицу истинности для моей задачи, используя её для построения СДНФ и минимизировав полученные операции, привел к ПФ и в итоге для каждой команды получил следующие уравнения:

Y1 = ¬ X3 (X1X2);

Y2 = ¬X1 ¬X2 X3;

Y3 = ¬X2 (X1X3);

Y4 = ¬X1 X2 ¬X3;


Список литературы

  •  Гаврилов Г. П., Сапоженко А. А. Сборник задач по дискретной математике. — М.: Наука, 1969.
  •  Кузнецов О. П., Адельсон-Вельский Г. М. Дискретная математика для инженера. — М.: Энергия, 1980
  •  Владимиров Д. А. Булевы алгебры. — М.: «Наука», 1969
  •  Ю.И. Галушкина, А.Н. Марьямов: Конспект лекций по дискретной математике - 2-е изд., испр. - М.: Айрис-пресс, 2008.


 

А также другие работы, которые могут Вас заинтересовать

69090. ТЕХНОЛОГІЯ ADO .NET. ПРИЄДНАНІ ОБ’ЄКТИ 59.66 KB
  В лекції 8 розглядалася модель об’єктів ADO .NET (ActiveX Data Objects .NET), в якій є дві групи класів, що виконують чітко визначені задачі при роботі з базою даних: класи приєднаних об’єктів забезпечують встановлення з’єднання з базою даних і управління базою даних збоку застосування.
69094. Кросплатформне програмування. Створення DLL-бібліотеки 53.28 KB
  Запустимо Visual Studio 2008, із стартової сторінки перейдемо до створення проекту, виберемо тип проекту «Class Library». У вікні створення DLL всі поля заповнені значеннями за замовчанням. Як правило, їх слід перевизначити, задаючи власну інформацію. У полі Name задати ім’я DLL – MyLib.
69095. Створення компонентів Windows Forms 83.5 KB
  Запустіть Visual Studio 2008, із стартової сторінки перейдіть до створення проекту, виберіть шаблон проекту Windows Forms Application. У вікні Solution Name введіть ім’я Рішення Lab2. Вкажіть шлях до розміщення рішення в папці К-81. У вікні дизайнера змініть ім’я класу форми.
69096. Елементи керування: перемикачі і прапорці 54.5 KB
  Написати програму розрахунку вартості замовлення друку фотографій. Написати програму розрахунку вартості автомобіля в залежності від комплектації. Написати програму обчислення поточного дня з початку року вашого дня народження.
69097. Елементи керування: Списки 60 KB
  Для цього у вікні коду проекту виділимо ім’я змінної об’єкту, потім в головному меню виберемо пункт Refactor і підпункт Rename. У вікні, що відкрилося, вкажемо нове ім’я. Тоді будуть показані всі місця, що вимагають перейменування об’єкту, як це видно з рисунку. Натисніть кнопку Apply.