Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017....

22
Podstawy Automatyki Wyklad 11 - Podstawy matematyczne automatyki procesów dyskretnych dr inż. Jakub Możaryn Instytut Automatyki i Robotyki Warszawa, 2017 dr inż. Jakub Możaryn Podstawy Automatyki

Transcript of Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017....

Page 1: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Podstawy Automatyki

Wykład 11 - Podstawy matematyczne automatyki procesówdyskretnych

dr inż. Jakub Możaryn

Instytut Automatyki i Robotyki

Warszawa, 2017

dr inż. Jakub Możaryn Podstawy Automatyki

Page 2: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Kody liczb całkowitych nieujemnych

Kody liczbowe dzielimy na

analityczne

nieanalityczne (symboliczne)

Kody analityczne są umownym zapisem algebraicznego wyrażeniareprezentującego dana liczbę.

Każdą liczbę całkowitą można wyrazić w postaci

0∑i=n

ai10i = an10n + an−110n−1 + ...+ a0100 (1)

przykładowo

1989 = 1 · 103 + 9 · 102 + 8 · 101 + 9 · 100 (2)

dr inż. Jakub Możaryn Podstawy Automatyki

Page 3: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Kody liczb całkowitych nieujemnych

Mówi się, że zapis ’1989’ jest zapisem w kodzie dziesiętnym liczby

1 · 103 + 9 · 102 + 8 · 101 + 9 · 100 (3)

A więc, umownym zapisem liczby

L =0∑

i=n

ai10i = an10n + an−110n−1 + ...+ a0100 (4)

w kodzie dziesiętnym jest L10 = anan−1...a1a0Współczynniki an, ..., a0 (zwane także zmiennymi kodowymi) mogąprzybierać wartości od 0 do 9.

Znaczenie poszczególnych zmiennych zależy od zajmowanej pozycjiw zapisie kodowym; mówi się, że kod dziesiętny jest kodempozycyjnym. Stosuje się następujące oznaczenia:

i – numer pozycji,

10i – waga pozycji i ,

10 – podstawa kodu pozycyjnego (podstawa rozwinięcia).dr inż. Jakub Możaryn Podstawy Automatyki

Page 4: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Kody liczb całkowitych nieujemnych

Analogicznie można tworzyć kody analityczne o innych podstawach

L =0∑

i=n

aiPi = anP

n + an−1Pn−1 + ...+ a0P

0 (5)

Jeżeli podstawą kodu analitycznego jest liczba P (może to być liczbacałkowita ­ 2), to zmienne kodowe ai mogą przyjmować wartości od 0do P–1.

Szczególnie ważnym kodem jest tzw. naturalny kod dwójkowy opodstawie P = 2, w którym zmienne kodowe mogą przyjmować tylkodwie wartości: 0 i 1.

Wyrażona w naturalnym kodzie dwójkowym liczba L2 = anan−1...a1a0jest umownym zapisem liczby

L2 =0∑

i=n

ai2i = an2n + an−12n−1 + ...+ a020 (6)

dr inż. Jakub Możaryn Podstawy Automatyki

Page 5: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Kody liczb całkowitych nieujemnychL10 a3 a2 a1 a00 0 0 0 01 0 0 0 12 0 0 1 03 0 0 1 14 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 18 1 0 0 09 1 0 0 1

10 1 0 1 011 1 0 1 112 1 1 0 013 1 1 0 114 1 1 1 015 1 1 1 1

Tablica: Liczby od 0 do 15 wnaturalnym kodzie dwójkowym

Wadą naturalnego kodudwójkowego jest występowaniezmian kilku zmiennych kodowych(mówi się: kilku bitów) przyprzechodzeniu do sąsiedniejwartości liczbowej, np. przyprzejściu od liczby 7 do 8 zmieniająsię wszystkie zmienne.

dr inż. Jakub Możaryn Podstawy Automatyki

Page 6: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Kody liczb całkowitych nieujemnych

W urządzeniach technicznych informacje o wartościach poszczególnychzmiennych kodowych przekazywane są za pomocą sygnałów binarnych.Ponieważ nie jest możliwe wymuszenie dokładnie jednoczesnej zmianykilku sygnałów, podczas zmian przekazywanych wartości liczbowychpojawiają się błędne informacje.

Rysunek: Ilustracja tzw. niejednoznaczności odczytu

dr inż. Jakub Możaryn Podstawy Automatyki

Page 7: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Kody liczb całkowitych nieujemnych

Niejednoznaczność odczytu nie występuje w przypadku tzw. kodów zestałym odstępem, w których zawsze zmiana wartości liczbowej o 1 jestzwiązana ze zmiana wartości jednego tylko bitu.

Podstawowymi kodami ze stałym odstępem są:

kod Graya,

kod Graya +3,

kody pseudopierścieniowe (Johnsona).

Kody ze stałym odstępem są kodami nieanalitycznymi (symbolicznymi)- zapis liczby w takim kodzie nie jest umownym zapisem jednejformuły matematycznej wyrażającej zakodowaną liczbę.

Do odczytania liczby zakodowanej w kodzie nieanalitycznym służytablica kodowa lub określona reguła.

dr inż. Jakub Możaryn Podstawy Automatyki

Page 8: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Kody liczb całkowitych nieujemnych

Liczby od 0 do 15 w kodzie Graya

W tablicy kodowej kodu Grayawystępują charakterystyczne osiesymetrii (linie niebieskie); stądnazwy kodów mających tęwłaściwość – kody refleksyjne,kody lustrzane

dr inż. Jakub Możaryn Podstawy Automatyki

Page 9: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Kody liczb całkowitych nieujemnych

Liczby od 0 do 15 w kodzie Graya ikodzie Graya+3

A) Tablica kodu GrayaB) Tablica kodu Graya+3

dr inż. Jakub Możaryn Podstawy Automatyki

Page 10: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Kody liczb całkowitych nieujemnych

Alternatywna postać tablicy kodu GrayaKod Graya a1, a0

a3, a2 00 01 11 1000 0 1 2 301 7 6 5 411 8 9 10 1110 15 14 13 12

Rysunek: Graficzne przedstawienie kodu Graya

dr inż. Jakub Możaryn Podstawy Automatyki

Page 11: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Kody liczb całkowitych nieujemnych

Dekodowanie kodu Graya

Do wyznaczania liczby zakodowanej w kodzie Graya można posłużyć sięwzorem określającym wartość bezwzględną wagi Wk k-tej pozycji:

|Wk | =k∑

i=0

2i = 2k+1 − 1 (7)

W liczbie zapisanej w kodzie Graya wagi jedynek nieparzystych, licząc odlewej strony, są dodatnie, wagi jedynek parzystych są ujemne.Przykładowo:

(1101)g = (24–1)–(23–1)− (21–1) = 15–7 + 1 = 9 (8)

Przekształcanie naturalnego kodu dwójkowego w kod Graya: należyzmienić na przeciwne wartości tych pozycji, dla których pozycja wyższa(w kodzie dwójkowym) ma wartość 1.np.:

(1000110)2 = (1100101)g (9)

dr inż. Jakub Możaryn Podstawy Automatyki

Page 12: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Kody pseudopierścieniowe (Johnsona)

Kody pseudopierścieniowe umożliwiają kodowanie parzystych zbiorówliczbowych. Do zakodowania zbioru zawierającego n liczb potrzeba n/2bitów.np.:

L.dzi. Kod- a3 a2 a1 a00 0 0 0 01 0 0 0 12 0 0 1 13 0 1 1 14 1 1 1 15 1 1 1 06 1 1 0 07 1 0 0 0

dr inż. Jakub Możaryn Podstawy Automatyki

Page 13: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Kody typu ’1 z n’

Kody typu ’1 z n’ umożliwiają kodowanie dowolnego zbioru liczb (n –oznacza liczbę kodowanych elementów). Do zakodowania n elementówwykorzystuje się n zmiennych binarnych. W każdym zapisie liczby jednazmienna ma wartość 1.

L.dzi. Kod- a5 a4 a3 a2 a1 a00 0 0 0 0 0 11 0 0 0 0 1 02 0 0 0 1 0 03 0 0 1 0 0 04 0 1 0 0 0 05 1 0 0 0 0 0

Kody pseudopierścieniowy i kody ’1 z n’ są kodami nieminimalnymi –wymagają użycia większej liczby zmiennych (bitów) niż naturalny koddwójkowy lub kod Graya.

dr inż. Jakub Możaryn Podstawy Automatyki

Page 14: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Funkcje logiczne dwuwartościowe

Funkcje logiczne

Logicznymi nazywają się funkcje, których zmienne niezależne i zmiennazależna mogą przyjmować skończoną liczbę wartości.

Funkcje logiczne dwuwartościowe

Funkcje logiczne, których zmienne niezależne i zmienna zależna mogąprzyjmować tylko dwie wartości nazywają się funkcjami logicznymidwuwartościowymi.

Do opisu działania dyskretnych układów sterowania wykorzystuje sięfunkcje logiczne dwuwartościowe.

Różnych dwuwartościowych funkcji logicznych o liczbie argumentów njest 22

n

. Zatem istnieją 4 tylko dwuwartościowe funkcje logicznejednoargumentowe, 16 funkcji dwuargumentowych, 256 funkcjitrójargumentowych, itd.

dr inż. Jakub Możaryn Podstawy Automatyki

Page 15: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Funkcje logiczne jednoargumentowe

Podstawowymi formami zapisu funkcji logicznych są:

postacie tabelaryczne,

zapis algebraiczny.

Funkcje logiczne jednoargumentowe y = f (x)

x y0 01 0

Funkcja stałazerowa

y = 0 (10)

x y0 01 1

Funkcjapotwórzenie

y = x (11)

x y0 11 0

Funkcjanegacja

y = x (12)

x y0 11 1

Funkcja stałajedynka

y = 1 (13)

dr inż. Jakub Możaryn Podstawy Automatyki

Page 16: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Funkcje logiczne dwuargumentowe

Funkcje logiczne dwuargumentowe y = f (x1, x2)x1 x2 y0 y1 y2 y3 y4 y50 0 0 0 0 0 0 00 1 0 0 0 0 1 11 0 0 0 1 1 0 01 1 0 1 0 1 0 1

Funkcja stała zerowa: y0 = 0

Koniunkcja, iloczyn logiczny, mnożenie logiczne : y1 = x1 · x2Zakaz przez x2, negacja implikacji : y2 = x1∆x2 = x1 → x2 = x1 · x2Powtórzenie x1: y3 = x1

Zakaz przez x1, negacja implikacji odwrotnej:y4 = x2∆x1 = x2 → x1 = x1 · x2Powtórzenie x2: y5 = x2

dr inż. Jakub Możaryn Podstawy Automatyki

Page 17: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Funkcje logiczne dwuargumentowe

Funkcje logiczne dwuargumentowe y = f (x1, x2)x1 x2 y6 y7 y8 y9 y100 0 0 0 1 1 10 1 1 1 0 0 01 0 1 1 0 0 11 1 0 1 0 1 0

Alternatywa wyłączająca, dodawanie modulo dwa,nierównoważność : y6 = x1 ⊕ x2 = x1x2 + x1x2

Alternatywa, dodawanie logiczne, suma logiczna : y7 = x1 + x2

Funkcja Peirce’a, nagacja alternatywy, funkcja NOR :y8 = x1 ↓ x2 = x1 + x2 = x1 · x2Równoważność: y9 = x1 ≡ x2 = x1 · x2 + x1 · x2Negacja x2 : y10 = x2

dr inż. Jakub Możaryn Podstawy Automatyki

Page 18: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Funkcje logiczne dwuargumentowe

Funkcje logiczne dwuargumentowe y = f (x1, x2)x1 x2 y11 y12 y13 y14 y150 0 1 1 1 1 10 1 0 1 1 1 11 0 1 0 0 1 11 1 1 0 1 0 1

Implikacja odwrotna: y11 = x2 → x2 = x1 + x2

Negacja x1: y12 = x1

Implikacja: y13 = x1 → x2 = x1 + x2

Funkcja Sheffera, negacja koniunkcji, funkcja NAND:y14 = x1/x2 = x1 · x2 = x1 + x2

Funkcja stała jedynkowa: y15 = 1

dr inż. Jakub Możaryn Podstawy Automatyki

Page 19: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Algebra Boole’a

Algebra Boole’a zajmuje się zależnościami zachodzącymi pomiędzyfunkcjami: alternatywą, koniunkcją i negacją.

Funkcje alternatywa, koniunkcja i negacja tworzą tzw. podstawowysystem funkcjonalnie pełny.

System funkcjonalnie pełny

System funkcjonalnie pełny jest to zbiór (zestaw) funkcji logicznychumożliwiający tworzenie zapisów algebraicznych dowolnie złożonychfunkcji logicznych.

Tworzenie zapisu algebraicznego funkcji logicznej zdefiniowanej np. wpostaci opisu słownego, w postaci tabelarycznej lub w inny sposób,nazywa się syntezą tej funkcji, do czego niezbędna jest znajomośćalgebry Boole’a.

Zależności zachodzące pomiędzy funkcjami: alternatywą, koniunkcją inegacją wyraża zestaw twierdzeń (praw) zwanych aksjomatami algebryBoole’a.

dr inż. Jakub Możaryn Podstawy Automatyki

Page 20: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Algebra Boole’a

Aksjomaty algebry Boole’a

koniunkcja0 = 1 (14)

x · 0 = 0 (15)

x · 1 = x (16)

x · x = x (17)

x · x = 0 (18)

alternatywa1 = 0 (19)

x + 0 = x (20)

x + 1 = 1 (21)

x + x = x (22)

x + x = 1 (23)

Prawo przemiennościx1 · x2 = x2 · x1 (24) x1 + x2 = x2 + x1 (25)

Prawo łączności

x1 · (x2 · x3) = (x2 · x1) · x3 (26) x1+ (x2+ x3) = (x2+ x1) + x3 (27)

dr inż. Jakub Możaryn Podstawy Automatyki

Page 21: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Algebra Boole’a

Prawo rozdzielności mnożenia logicznego względem dodawanialogicznego

(x1 + x2) · x3 = x1 · x3 + x2 · x3 (28)

Prawo rozdzielności dodawania logicznego względem mnożenialogicznego

(x1 · x2) + x3 = (x1 + x3) · (x2 + x3) (29)

Prawa de Morganax1 · x2 = x1 + x2 (30)

x1 + x2 = x1 · x2 (31)

Prawo podwójnej negacji (podwójnego przeczenia)

x = x (32)

Na podstawie powyższych twierdzeń można tworzyć szereg innychzależności przydatnych przy przekształcaniu funkcji logicznych. Symbolex0, x1, x2, x3 w tych twierdzeniach mogą reprezentować zarównopojedynczy argument jak i dowolnie złożoną funkcję logiczną.

dr inż. Jakub Możaryn Podstawy Automatyki

Page 22: Podstawy Automatyki - Wyk ad 11 - Podstawy matematyczne automatyki procesów dyskretnych · 2017. 5. 14. · analityczne nieanalityczne (symboliczne) Kody analityczne są umownym

Podstawy Automatyki

Wykład 11 - Podstawy matematyczne automatyki procesówdyskretnych

dr inż. Jakub Możaryn

Instytut Automatyki i Robotyki

Warszawa, 2017

dr inż. Jakub Możaryn Podstawy Automatyki