Download Nabywaniec SZTUCZNA INTELIGENCJA BRAMKI LOGICZNE laborki

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Akademia Humanistyczno-Ekonomiczna
PRZEDMIOT: ADMINISTRACJA SYSTEMÓW WINDOWS
Labolarorium nr: 1
Temat: Sztuczna inteligencja na bramkach logicznych
student: Jarosław_id 140654
studia: niestacjonarne, INFORMATYKA / semestr V
STUDENT: Jarosław
Prowadzący laboratorium: dr inż. Edward
Data WYKŁADÓW nr 4: 16.01.2022
CO TO JEST SZTUCZNA INTELIGENCJA ?
Ludzka inteligencja zachwyca naukowców od wielu lat. Szukają odpowiedzi na pytania: Jak zbieramy
informacje z otoczenia?; Jak to się dzieje, że je zapamiętujemy?; Jak budujemy z nich naszą wiedzę?;
Jak je wykorzystujemy do działania i rozwiązywania problemów?; Jak podejmujemy decyzje?
Poznanie odpowiedzi na te pytania pozwala zbudować maszynę, która działa podobnie do człowieka.
„Mądre” maszyny mogą pomagać ludziom w codziennych pracach, czynić nasze życie łatwiejszym.
Pozwalają oszczędzać czas i pieniądze. Te „mądre” maszyny to właśnie SZTUCZNA INTELIGENCJA
(w skrócie SI).
Podstawowe pojęcia:
Układ kombinacyjny – zbiór wzajemnie połaczonych bramek, którego stan wyjść w dowolnej chwili jest
wyłącznie funkcją stanu wejść w tej samej chwili. Po ustaleniu stanu na wejściu prawie natychmiast
pojawia się sygnał na wyjściu, przy czym występują tylko opóźnienia bramkowe. Układ kombinacyjny
może być zdefiniowany przez podanie:
1. tablicy prawdy
2. symbolu graficznego – schematu połączeń
3. r-a Boolea
Poniższe bramki pozwalają zaprojektować każdy układ kombinacyjny:
0
2. Dowolna funkcja Boole'a może być zrealizowana za pomocą wyłącznie bramek pochodzących z
takiego zbioru. Następujące zbiory są funkcjonalnie pełne:
o
o
o
o
o
AND, OR, NOT
AND, NOT
OR, NOT
NAND
NOR
Na ogół jest możliwe wyprowadzenie prostszego wyrażenia Boole'a na podstawie tablicy prawdy. Przy
prostszym wyrażeniu Boole’a do realizacji funkcji będzie potrzebnych mniej bramek.W celu
uproszczenia mogą być stosowane następujące metody:
o upraszczanie algebraiczne
o mapy Karnaugh
o tablice Quine'a-McKluskeya.
Upraszczanie algebraiczne polega na stosowaniu tożsamości – praw algebry Boole’a poznanych juz na
zajęciach. Wracając do r-a A-1, upraszczając je możemy otrzymać następujące postacie:
lub
Realizacja układowa to:
Mapa Karnaugha jest wygodną metodą upraszczania funkcji Boole'a o niewielkiej liczbie zmiennych
(4+6). Mapa jest tablicą złożoną z 2n kwadratów reprezentujących możliwe kombinacje wartości n
zmiennych binarnych.
Projektowanie układu cyfrowego realizującego zadaną funkcję:
Zamiennik: NAND
Zamiennik: NOR
Spróbujmy zatem zamienić wszystkie bramki naszej funkcji...
...na odpowiadające im konfiguracje bramek NAND.
Przyjrzyjmy się teraz zaznaczonym bramkom. Czy ma to jakiś sens, kiedy jeden NAND jest po
drugim? To tak, jakby ustawić dwa NOT obok siebie. Co to oznacza? Można je pominąć! W
ostateczności, nasz układ wygląda tak.
Tym sposobem, zamiast trzech chipów jest jeden, używamy o jedną bramkę mniej, niż w normalnej
budowie funkcji i nieużyta pozostaje tylko jedna bramka, zamiast dziesięciu! W masowej produkcji
urządzeń cyfrowych taka oszczędność jest bardzo znacząca, zwłaszcza, że bramki NAND są najtańsze.
Być może gorzej się czyta takową funkcję i jest to nieporęczne, ale dla maszyny nie ma to żadnego
znaczenia.
Tablica prawdy
Tablica prawdy dla funkcji opisanej wyrażeniem lub słownie jest tablicą pokazującą, jakie wartości
funkcji odpowiadają wejściowym sygnałom.
Przykład: Przedstawić tablicę prawdy dla funkcji:
Wypisujemy po lewej stronie sygnały wejściowe i wartości, które mogą przyjmować:
Wartosc dwójkowo
0
1
2
3
4
5
6
7
abc
000
001
010
011
100
101
110
111
f
0
1
0
1
1
1
0
1
Wtedy funkcję f można także zapisać w postaci sumacyjnej lub iloczynowej:
PRAKTYCZNY I PROSTY PRZYKŁAD ZASTOSOWANIA BRAMKI OR
Przykłady pisania prostej logiki za pomocą bramek w programie drabinkowym
(maszynowym)
NOT - negacja
Na wyjściu Q 0.0 stan "1" pojawi się w momencie gdy na wejściu I 0.0 będzie sygnał "0"
AND - koniunkcja
Na wyjściu Q 0.0 pojawi się sygnał "1" gdy na obu wejściach jednocześnie pojawi się sygnał "1"
NAND - zanegowana koniunkcja
Na wyjściu Q 0.0 pojawi się sygnał "1" gdy na którymkolwiek wejściu pojawi się sygnał "0" również
gdy na obu naraz będzie sygnał "0".
OR- alternatywa
Na wyjściu Q 0.0 pojawi się sygnał "1" gdy na którymkolwiek wejściu pojawi się sygnał "1" - również
gdy na obu naraz będzie sygnał "1"
NOR
Na wyjściu Q 0.0 pojawi się sygnał "1" gdy na obu wejściach jednocześnie pojawi się sygnał "0"
XOR - alternatywa rozłączna
Na wyjściu Q 0.0 pojawi się sygnał "1" gdy na wejściach jednocześnie pojawią się różne sygnały (
obojętnie 1 czy 0 )
Teraz postaram się pokazać prosty i praktyczny przykład w jezyku programowania
drabinkowego czyli LADER. Można to przyjąc jako programowanie prostej
sztuczne inteligencji – JEST TO MASZYNA KTÓRĄ BYDOWAŁEM I
PROGRAMOWAŁEM W MOJEJ PRACY
AUTOMATYCZNA DOKRETARKA ŚRUB
A) Jak było przed wprowadzeniem prostej sztucznej inteligencji
1) człowiek sam decydował, typował rodzaj skrzyni czyli wybierał program na
kontrolerze (w kontrolerze były zaszyte dane ile ma dokręcić śrub np. 5 lub 6)
2) człowiek wkręcał śrubki w otwory z gwintami a nastepnie dokręcał je kluczem
elektrycznym z momentem 12-24Nm
B) W czym pomogła sztuczna inteligencja stworzona na bramkach logicznych
1) powstał robot kartezjański czyli maszyna sterowana w 3 osiach XYZ za
pomocą silników krokowych
2) został napisany program w LADERZE czyli logika w drabinkach do
automatycznego dokręcania śrub
3) operator wrzuca skrzynie z lekko wkręconymi śrubami na 1,5 gwinta i załącza
start cyklu
4) maszyna sama rozpoznaje za pomocą jednego czujnika jaki to typ skrzyni i na
tej podstawie automatycznie wywołuje program w kontrolerze ( 5 lub 6 śrub do
dokręcenia)
KONTROLER Z
PARAMETRAMI
KRECENIA
ROBOT KARTEZJANSKI DO AUTOMATYCZNEGO
DOKRECANIA SRUB
TYP SKRZYNI EC60 Z ILOSCIĄ SRUB DO DOKRECENIA 6
TYP SKRZYNI 715K Z ILOSCIĄ SRUB DO DOKRECENIA 5
PARAMETR KTÓRY OKRESLA ILE SRUB TRZEBA DOKRECIC
DO CYKLU OK
POCZATEK PROGRAMU DO ROBOTA I DOKRETARKI
OPERATOR WKŁADA SKRZYNIE DO MASZYNY I
TYLE
KAMERA WYKRYWA ILE WIDZI SRUB I OKRESLA JAKI TO
TYP SKRZYNI EC60 czy 715k
JEŚLI KAMERA WIDZI 6 SRUB
WYSTAWIA X14.1 I W PROG. ZA
POMOCA MARKERA WYSTAWIA M140
SA TU
WYKORZYSTANE
bramki NOT oraz
AND
JEŚLI KAMERA WIDZI 5 SRUB
WYSTAWIA X14.0 I W PROG. ZA
POMOCA MARKERA WYSTAWIA M141
JEŚLI KAMERA WIDZI
NIEPRAWIDŁOWO 2 TYPY NA RAZ
LUB NIE WIDZI ŻADNEGO WTEDY W
PROGRAMIE POMAGAJĄ bramki NAND
oraz NOR i prog. wystawia błąd M23A
PRAWIDŁOWO WIDZIANE ŚRUBY
WYWOŁUJA ODPOWIEDNI PROGRAM
W KONTROLERZE np. WYJSCIEM Y032
I JEŚLI KLUCZ ODPOWIADA X07A
WTEDY POWSTAJE MARKER M12B
KTÓRY MA ZA ZADANIE
PODEJMOWAC W PROGRAMIE
DECYZJE
JEŚLI NIE JEST WYWOŁANY
PROGRAM DLA 5 SRUB ROBOT
DOKRECI WSZYSTKIE 6 SRUB (widać
że robot kończy śrube nr 3 i jedzie do nr 4)
ALE JEŚLI JEST WYWOŁANY
PROGRAM 715F ROBOT OMINIE
ŚRUBĘ NR 3 I DOKRECI TYLKO 5
SRUB (zakończy srubę nr 2 i wywoła nr 4)
TAK WŁAŚNIE MOŻNA WYKOŻYSTAĆ RÓŻNEGO RODZAJU BRAMKI LOGICZNE
DO BUDOWANIA PROSTEJ SZTUCZNEJ INTELIGENCJI KTÓRA POMAGA W
PODEJMOWANIU DECYZJI (PRZEDSTAWIŁEM TU TYLKO NIEWIELKI WYCINKI
PROGRAMU KTÓRY SAM PISAŁEM W MOJEJ PRACY
Related documents