Modele algorytmiczne Maszyny proste, obwody logiczne. Spis treści. Plan wykładu spotkania tydzień po tygodniu

Wielkość: px
Rozpocząć pokaz od strony:

Download "Modele algorytmiczne Maszyny proste, obwody logiczne. Spis treści. Plan wykładu spotkania tydzień po tygodniu"

Transkrypt

1 , obwody logiczne, obwody logiczne soba prowadząca wykład i ćwiczenia: dr inż. Marek Sawerwain Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski M.Sawerwain@issi.uz.zgora.pl tel. (praca) : , pok. 328a -2, ul. prof. Z.Szafrana 2, Zielona Góra statnia zmiana: 8 listopada 2012 V1.1 1/ 55, obwody logiczne Spis treści Wprowadzenie Plan wykładu iologiczny model obliczeniowy Model obliczeń biologicznych/molekularnych Najważniejsze rezultaty Filtrujący model równoległy Maszyna licznikowa gdy trzeba coś policzyć co ma przecinek Złożoność obliczeniowa RM Już za tydzień na wykładzie V1.1 2/ 55 Wprowadzenie Plan wykładu Plan wykładu spotkania tydzień po tygodniu (1) Informacje o wykładzie, poprawność algorytmów (2) Poprawność algorytmów logika Hoarego (3) naliza złożoności kodu wysokiego i niskiego poziomu (4) maszyny proste, obwody logiczne (5) maszyna Turinga oraz rachunek lambda (6) utomaty deterministyczne (7) utomaty niedeterministyczne (8) Gramatyki regularne i bezkontekstowe V1.1 3/ 55 Wprowadzenie Plan wykładu Plan wykładu spotkania tydzień po tygodniu (9) Gramatyki i automaty ze stosem (10) lgorytmy równoległe (11) Klasy złożoności obliczeniowej (12) Pamięć logarytmiczna i wielomianowa (13) Problemy NP-zupełne (14) Wstęp do obliczeń kwantowych (15) Wybrane algorytmy kwantowe V1.1 4/ 55

2 , obwody logiczne Wprowadzenie Plan wykładu Plan wykładu 1. Model obliczeniowy 1.1 Przykłady modeli obliczeniowych 1.2 Hipoteza hurcha-turinga 2. iologiczny model obliczeń 2.1 na czym bazuje model biologiczny, 2.2 przykładowe modele, 2.3 permutacje i ścieżka Hamiltona. 3. bwody obliczeniowe: 3.1 bramki logiczne, 3.2 obwody logiczne, 3.3 uniwersalny zestaw bramek, 3.4 odwracalne obwody logiczne. 4. : 4.1 Maszyna licznikowa, 4.2, 4.3 Złożoność obliczeniowa. V1.1 5/ 55, obwody logiczne Wprowadzenie Plan wykładu Przydatne materiały Materiały wykorzystane podczas tworzenia tego wykładu, a także przydatne do dalszych studiów: 1. jak zwykle smerf Ważniak, służy pomocą: 2. Harel D., Rzecz o istocie informatyki, WNT, 2000, 3. symulator maszyny RM: 4. książka obejmująca zagadnienia biologicznego modelu obliczeniowego: Martyn mos, Theoretical and Experimental DN omputation, Springer-Verlag erlin Heidelberg, 2005, 5. a model kwantowy będzie omawiany na ostatnich wykładach. V1.1 6/ 55, obwody logiczne Przykładowe modele obliczeniowe: 1. maszyna Turinga (.Turing), 2. rachunek lambda (.hurch), 3. funkcje rekurencyjne (S.Kleene) 4. automaty, 5. obwody logiczne, 6. model biologiczny, 7. model kwantowy. ktualnie uważa się iż wszystkie modele są tak samo silne, w sensie rozwiązywania problemów, tzn. nie istnieje problem, który można rozwiązać w modelu ale nie można w pozostałych modelach. W przypadku modeli kwantowego i biologicznego, istnieją przykłady problemów, które można rozwiązać szybciej niż w pozostałych modelach. V1.1 7/ 55, obwody logiczne przykłady Trzy ważne modele obliczeń: Deterministyczny automat skończony jest opisany przez skończoną liczbę stanów i skończoną liczbę dopuszczalnych przejść pomiędzy podanymi stanami. Niektóre ze stanów oznacza się jako tzw. stany akceptujące. Wejściowy ciąg symboli jest odczytywany kolejno symbol po symbolu, oraz po odczytaniu każdego (I) symbolu wykonywane jest przejście do innego stanu. Po odczytaniu ostatniego symbolu, jeśli maszyna przejdzie do stanu akceptującego, to uważa się iż ciąg symboli został poprawnie rozpoznany. utomat ze stosem analogiczny jak poprzednio, jednakże nowym elementem jest dodanym stos, na którym można zapisać dowolną ilość symboli. W każdym (II) przejściu dodatkowo należy określić, czy nowy symbol powinien zostać zapisany na stosie bądź też odczytany z wierzchołka stosu. Maszyna Turinga idea podobna do automatu skończonego, jednakże dodano (III) nieskończoną taśmę, na której maszyna może zapisywać i odczytywać symbole, przemieszczając się po niej w lewą bądź w prawą stronę. V1.1 8/ 55

3 , obwody logiczne Hipoteza hurcha-turinga nim przejdziemy do przykładów modeli hoć istnieje wiele modeli obliczeniowych, to wszystkie mają pewną wspólną cechę: Hipoteza hurcha-turinga Każdy problem algorytmiczny, dla którego można znaleźć algorytm, i podać implementację tego algorytmu w dowolnym języku (modelu obliczeniowym), i realizować jego wykonanie na dowolnym komputerze przy nieograniczonych zasobach czasu oraz pamięci jest także rozwiązywalny przez maszynę Turinga. Powyższą hipotezę, można też podać w krótszej wersji: Hipoteza hurcha-turinga Każdy problem, który może być intuicyjnie uznany za obliczalny, jest rozwiązywalny przez maszynę Turinga. V1.1 9/ 55 iologiczny model obliczeniowy iologiczny model obliczeniowy materiał dodatkowy V1.1 10/ 55 iologiczny model obliczeniowy Łańcuch DN Łańcuch DN jest zbudowany z czterech zasad azotowych, adeniny i guaniny G (zasady purynowe) oraz cytozyny i tyminy T (zasady pirymidynowe), w przypadku niektórych wirusów zamiast tyminy występuje uracyl U. Zasady tworzą następujące pary: Struktura chemiczna DN: -T (-U) G- T- (U-) -G peracje wykonywane na łańcuchach DN to: synteza, rozplatanie, splatanie, łączenie łańcuchów. V1.1 11/ 55 Model obliczeń biologicznych/molekularnych Przykłady modeli obliczeń molekularnych ztery podstawowe (naturalne) modele obliczeń molekularnych: model filtrujący (filtering model), model łączący (splicing model), model konstruktywny (constructive model), model membranowy (membrane model), model p-systemów (odmiana modelu membranowego). V1.1 12/ 55

4 Najważniejsze rezultaty Najważniejsze rezultaty Problem io kroki Nitki DN Directed Hamiltonian path (n) n! ontact network satisfiability (s) 2 n ircuit satisfiability (s) 2 n MX-ircuit-Satisfiability (s) 2 n Regular-ircuit-Satisfiability (s) 2 n 1-tape NTM (t) 2 N ircuit satisfiability via 1-NTM Θ(s 2 ) 2 n ellular utomata 1 t S PSPE (S) 2 2S Polynomial Hierarchy (s) 2 n znaczenia: n liczba wierzchołków, zmiennych, s liczba bramek, t czas, N liczba bitów niedeterministycznych, S wielkość przestrzeni, V1.1 13/ 55 Filtrujący model równoległy Filtrujący model równoległy Podstawowe równoległe operacje w modelu filtrującym: remove(u, {S i }) operacja usuwa ze zbioru U dowolny łańcuch znaków zawierający co najmniej jedno wystąpienie podciągu S i, union({u i }, U) operacja tworzy zbiór U będący sumą wszystkich zbiorów U i, copy(u, {U i }) operacja powiela zbiór U na U i kopii, select(u) operacja losowo wybiera element ze zbioru U, jeśli zbiór U jest pusty, to zwrócony zostanie pusty element. V1.1 14/ 55 Filtrujący model równoległy, obwody logiczne Generowanie permutacji Utworzenie zbioru P n zawierającego wszystkie permutacje liczb całkowitych {1, 2,..., n}. Wejście: Zbiór U zawierający wszystkie łańcuchy o postaci p 1 i 1 p 2 i 2... p n i n, gdzie j, p j jednoznacznie określa pozycję j dla każdego i j w 1, 2,..., n. znacza to że każdy ciąg znaków składa się z n liczb całkowitych z wieloma wystąpieniami tej samej liczby całkowitej. 1: for j = 1 to n - 1 do do 2: copy(u, {U 1, U 2,..., U n }) 3: for i = 1, 2,..., n and all k > j do in parallel 4: remove(u i, {p j i, p k i}) 5: end for 6: union({u 1, U 2,..., U n }, U) 7: end for 8: P n := U Złożoność: (n) dla czasu równoległego. V1.1 15/ 55 Filtrujący model równoległy Ścieżka Hamiltona Wejście: Zbiór wejściowy U oraz zbiór P n wszystkich permutacji liczb całkowitych od 1 do n podobnie jak w przypadku permutacji. Liczba i na pozycji p k w jednej z otrzymanych permutacji posiada następującą interpretację: łańcuch znaków reprezentuje jedno z rozwiązań, gdzie wierzchołek i jest odwiedzany w kroku k. 1: for 2 i n 1 and j, k such that (j, k) / E do in parallel 2: remove(u, {jp i k}) 3: end for 4: select(u) Złożoność: Stały czas równoległy w zależności od P n. V1.1 16/ 55

5 bwody obliczeniowe albo obwody logiczne V1.1 17/ 55 Istnieje alfabet = {0, 1}, dla którego obwody logiczne obliczają funkcje {0, 1} n {0, 1} m. Podstawowe elementy, czyli bramki logiczne jakie są używane w obwodach są reprezentowane przez następujące funkcje: 1. : 2, (bramka koniunkcji) zdefiniowana przez warunek (x 1, x 2 ) = 1 x 1 = x 2 = 1, 2. : 2, (bramka alternatywy) określona przez warunek (x 1, x 2 ) = 0 x 1 = x 2 = 0, 3. :, (bramka negacji) zdefiniowana przez relację x = 1 x. Uzupełnieniem może być bramka alternatywy wykluczającej (XR): 1. : 2, (bramka XR) zdefiniowana przez warunek (x 1, x 2 ) = 1 x 1 = 0, x 2 = 1 x 1 = 1, x 2 = 0. V1.1 18/ 55 ramki logiczne Przykłady symboli dla kilku bramek logicznych: R2 ND2 NT NR2 NND2 XR2 1 FNUT 2 V1.1 19/ 55 Podstawowe bramki logiczne Trzy podstawowe bramki logiczne do budowy obwodów logicznych: R2 ND2 NT R ND NT V1.1 20/ 55

6 bwód logiczny bwód logiczny jest reprezentowany przez skierowany graf acykliczny, gdzie węzły zawierają zmiennej wejściowe, zmienne wyjściowe oraz bramki logiczne. W dowolnym węźle wejściowym nie krawędzi przychodzących, i podobnie w dowolnym węźle wyjściowym nie ma krawędzi wychodzących. W przypadku obwodów logicznych krawędzie grafu są nazywane także połączeniami. Liczba węzłów w danym obwodzie determinuje także złożoność obwodu logicznego. bwód logiczny o n zmiennych wejściowych oznaczonych x 1, x 2,..., x n i m wyjściowych y 1, y 2,..., y n w określa funkcję n m, gdzie zarówno dane wejściowe oraz wyjściowe są kodowane za pomocą wartości zero oraz jedność, a każda funkcja podstawowa, jak funkcja koniunkcji, alternatywy oraz negacji jest obliczana przez odpowiednie bramki. V1.1 21/ 55 Półsumator jako funkcja 2 2 Półsumator można potraktować jako funkcję f : 2 2, określoną w następujący sposób: 1. f (0, 0) = (0, 0), 2. f (0, 1) = (0, 1), 3. f (1, 0) = (0, 1), 4. f (1, 1) = (1, 0). gólnie f (x 1, x 2 ) = (y 1, y 2 ) oraz y 1 = (x 1 + x 2 ) mod 2, a wartość y 2 reprezentuje bit przeniesienia, y 2 = (x 1 x 2 ). V1.1 22/ 55 Półsumator XR2 output carry ND2 Tabela prawdy dla półsumatora, oraz bity wejściowe, natomiast to wartość sumy natomiast oznacza bit przeniesienia V1.1 23/ 55 Jednobitowy pełny sumator output carry 1 DDR DDR R2 pis działania sumatora jednobitowego: = 1, = + ( ) 1 także tabela prawdy: V1.1 24/ 55

7 1/2 + 1 = "4 bits full adder" (0) (3:0) (3:0) (0) Full dder (3:0) (0) Pełny czterobitowy układ sumujący, zbudowanych pełnych sumatorów jednobitowych, oznacza przeniesienie, oraz to wartości bitowe, które są dodawane. (1) (1) (2) (2) Full dder Full dder (1) (2) (3) (3) Full dder (3) V1.1 25/ 55 Zestawy bramek uniwersalnych Tw. E.Posta o zupełnym zbiorze funkcji logicznych Dowolna funkcja n m może zostać obliczona za pomocą obwodu logicznego zbudowanego z bramek koniunkcji, alternatywy oraz negacji. Szkic dowodu: Zbiór bramek S nazywamy uniwersalnym, jeżeli wszystkie funkcje n m mogą być zrealizowane za pomocą bramek ze zbioru S. Należy pokazać że and, or, not jest uniwersalnym zestawem bramek. Po pierwsze wszystkie funkcje n m są obliczalne ponieważ można utworzyć m pomocniczych funkcji obliczających wartość pojedynczego bitu. Łatwo wykazać iż wartość funkcji a : x 1 x 2 x 3 wynosi 0 jeśli x 1 = x 2 = x 3 = 0, co można rozszerzyć na dowolną ilość zmiennych. nalogicznie funkcja b : x 1 x 2 x 3 przyjmuje 1, jeśli x 1 = x 2 = x 3 = 1. V1.1 26/ 55, obwody logiczne Zestawy bramek uniwersalnych Szkic dowodu cd: Dla każdego a = (a 1, a 2,..., a n ) n można określić funkcję M a taką, że M a (x 1, x 2,..., x n ) = φ 1 (x 1 ) φ 2 (x 2 )... φ n (x n ), gdzie φ i (x i ) = 1, jeśli a i = 0 oraz φ i (x i ) = x i, jeśli a i = 1. o oznacza iż funkcja M a może zostać skonstruowana za pomocą bramek and oraz not. Wiadomo też z poprzedniego przykładu M a (x 1, x 2,..., x n ) = 1 i ψ i (x i ) = 1. Ponieważ, { xi, jeśli a φ i (x i ) = i = 1, x i, jeśli a i = 0, a więc φ i (x i ) = 1 x i = a i. Pozwala to stwierdzić, że M a jest funkcją charakterystyczną zbioru {a} : M a (x) = 1 x = a. Stosując funkcje charakterystyczne M a łatwo skonstruować dowolną funkcję f : f = M a1 M a2... M ak, gdzie elementy a 1, a 2,..., a k ze zbioru n przyjmują wartość 1 dla danej f. V1.1 27/ 55, obwody logiczne ramki odwracalne ramki odwracalne realizują funkcje n n, liczba bitów wejściowych i wyjściowych jest taka sama. Istnieje (2 n )! bramek odwracalnych. Przykład bramki odwracalnej tzw. bramki Toffoliego T : 3 3, gdzie T (x 1, x 2, x 3 ) = (x 1, x 2, x 3 x 1 x 2 ). dwa pierwsze bity pozostawiane są bez mian, natomiast bit trzeci jest negowany, jeśli dwa pierwsze przyjmują wartość 1. X X X X Y Y Y Y Z X XY Z Z XY Z (a) (b) V1.1 28/ 55

8 bwody odwracalne bwód odwracalny, to obwód logiczny złożony z bramek odwracalnych, taki obwód także jest zdolny do realizacji funkcji logicznych, co więcej, także istnieją uniwersalne zbiory bramek, wiadomo także iż: 1. bramki negacji są odwracalne, 2. choć bramki koniunkcji nie są odwracalne, to można je za symulować za pomocą bramki T, w następujący sposób: T (x 1, x 2, 0) = (x 1, x 2, x 1 x 2 ) 3. korzystając z prawa x 1 x 2 = ( x 1 x 2 ), to bramkę alternatywy można zastąpić koniunkcją oraz negacją, 4. wyjście zwielokrotnione może być symulowane za pomocą NT : (x 1, x 2 ) = (x 1, x 1 x 2 2) w następujący sposób NT (x 1, 0) = (x 1, x 1 ). ramka Toffoliego jest uniwersalną bramką odwracalną. V1.1 29/ 55 bwody odwracalne przykłady Półsumator jako obwód odwracalny (zastosowano bramkę NT oraz X (bramka negacji)): a a b x NT(a b) Schemat obwodu, dla pełnego sumatora, gdzie nie następuje modyfikacja badanych stanów a i b: a a b X X b 0 c 0 d Wadą jest konieczność stosowania dodatkowego bitu który decyduje o przywróceniu poprawnej wartości dla bitu b. V1.1 30/ 55, obwody logiczne V1.1 31/ 55 Maszyna licznikowa Definicja maszyny licznikowej Maszyna licznikowa jest oparta o cztery typy instrukcji. Pierwsza to przypisanie zera do zmiennej: X 0 albo x:=0. Drugi typ instrukcji to zwiększenie wartości zmiennej o jedność i przypisanie wyniku do tej samej bądź innej zmiennej: X Y + 1 Dopełnieniem tego typu instrukcji jest zmniejszenie wartości o jedność: X Y 1 statnim typem instrukcji jest instrukcja skoku, jeśli zmienna jest równa zeru: jeśli X = 0 skocz-do ETY. Jeśli w programie nie ma etykiety o podanej nazwie, to program przerwie działanie. Koniec nastąpi również, gdy zostanie wykonana ostatnia instrukcja w programie. V1.1 32/ 55

9 Maszyna licznikowa Dodawanie liczb 1: Z := 0; 2: _liczymy_dalej: 3: if Y = 0 then goto _prawie_koniec; 4: X := X + 1; 5: Y := Y - 1; 6: if Z = 0 then goto _liczymy_dalej; 7: _prawie_koniec: 8: Z := X + 1; 9: Z := Z - 1; V1.1 33/ 55 Maszyna licznikowa dejmowanie liczb 1: Z := 0; 2: _liczymy_dalej: 3: if Y = 0 then goto _prawie_koniec; 4: X := X - 1; 5: Y := Y - 1; 6: if Z = 0 then goto _liczymy_dalej; 7: _prawie_koniec 8: Z := X + 1; 9: Z := Z - 1; V1.1 34/ 55 Maszyna licznikowa Mnożenie dwóch liczb 1: U := 0; 2: Z := 0; 3: _: 4: if X = 0 then goto _L; 5: X := X - 1; 6: V := Y + 1; 7: V := V - 1; 8: _: 9: if V = 0 then goto _; 10: V := V - 1; 11: Z := Z + 1; 12: if U = 0 then goto _; V1.1 35/ 55, obwody logiczne Maszynę o dostępie swobodnym (Random ccess Machine RM) została zaproponowana w połowie lat czterdziestych XX wieku przez Johna von Neumanna we współpracy z Johnem Williamem Mauchly i J. Presper Eckertem. powstała jako narzędzie edukacje a celem było zrozumieniu zasad działania pierwszych maszyn elektronowych tj. maszyn EDV oraz ENI. Główne elementy maszyny RM 1. taśma wejściowa (LI ), z której odczytywane są dane wejściowe, 2. taśma wyjściowej (L), gdzie umieszczane są wyniki, 3. pamięć o dostępie swobodnym, poszczególne komórki są adresowane przez i, i = 0, 1, 2,..., wartość z i-tej komórki to c i albo c(i). 4. lista n instrukcji stanowiąca program, umieszczone w odrębnej przestrzeni niż RM, Π = (π 1, π 2,..., π n. ) Istniej też licznik rozkazów, wskazujący aktualnie wykonywaną instrukcję. V1.1 36/ 55

10 Schemat maszyny RM Lista wejściowa... kumulator Licznik rozkazów Program Pamięć operacyjna Lista wyjściowa V1.1 37/ 55 Instrukcje maszyny RM W skład ciągu instrukcji programu Π wchodzą min. następujące operacje: LD op RED op STRE op WRITE op DD op SU op MULT op DIV op JUMP ety JFTZ ety JZER ety HLT gdzie op może przyjmować postać: 1. liczby całkowitej DD =3, 2. wartości adresującej pamięć RM MULT 3, 3. wartości adresującej pamięć RM pośrednio DIV *5. Natomiast instrukcja JUMP ety, oznacza przesunięcie licznika instrukcji do wskazanej etykiety. V1.1 38/ 55 Techniki adresowania dresowanie natychmiastowe 10 load =10 c0 c1 c2 c3 c4 c5 c6... dresowanie bezpośrednie load c0 c1 c2 c3 c4 c5 c6... dresowanie pośrednie load c0 c1 c2 c3 c4 c5 c6... V1.1 39/ 55, obwody logiczne Spis instrukcji maszyny RM LP. Instrukcja Znacznie 1 LD =a c(0) a LD n c(0) c(n) LD *n c(0) c(c(n)) 2 STRE n c(n) c(0) STRE *n c(c(n)) c(0) 3 DD =a c(0) c(0) + a DD n c(0) c(0) + c(n) DD *n c(0) c(0) + c(c(n)) 4 SU =a c(0) c(0) a 5 MULT =a c(0) c(0) a 6 DIV =a c(0) c(0) div a 7 RED n c(0) LI i RED *n c(c(n)) LI i 8 WRITE =a L i a WRITE n L i c(n) WRITE *n L i c(c(n)) 9 JUMP ety II ety 10 JFTZ ety if c(0) > 0 then II ety 11 JMPZ ety if c(0) = 0 then II ety 12 HLT zatrzymanie pracy maszyny V1.1 40/ 55

11 Największy wspólny dzielnik f u n c t i o n gcd ( a : i n t e g e r ; b : i n t e g e r ) : i n t e g e r ; v a r c : i n t e g e r ; b e g i n w h i l e b <> 0 do b e g i n i f a >= b then a := a b e l s e b e g i n c := b ; b := a ; a := c ; end ; end ; gcd := a ; end ; V1.1 41/ 55 Największy wspólny dzielnik początek. i n s i z e 20. o u t s i z e 20. r a m s i z e 20. i n l i s t 8,6,0,0. s t a r t read 1 read 2 4 : l o a d 2 jmpz 19 sub 1 j o t z 12 l o a d 1 sub 2 s t o r e 1 jump : l o a d 2 V1.1 42/ 55 Największy wspólny dzielnik koniec s t o r e 3 l o a d 1 s t o r e 2 l o a d 3 s t o r e 1 jump : w r i t e 1 h a l t. end V1.1 43/ 55 Wartość 5 n read 1 ; o d c z y t a n i e n l o a d 1 ; i z a p i s do akumulatora jmpz L2 ; j e ś l i n=0 i d z i e m y do L2 l o a d =5 ; podstawa L1 : s t o r e 2 ; wynik c z ę ś c i o w y l o a d 1 ; l i c z n i k p ę t l i sub =1 ; z m n i e j s z e n i e l i c z n i k a s t o r e 1 ; p ę t l i jmpz L3 l o a d 2 ; wynik c z ę ś c i o w y mult =5 ; j e s t mnożony p r z e z p i ę ć jump L1 ; skok na początek p ę t l i mnożącej L2 : w r i t e =1 ; wynik gdy wykładnik równy zero h a l t L3 : w r i t e 2 ; wynik gdy wykładnik większy od zera h a l t V1.1 44/ 55

12 , obwody logiczne Wartość n n z wykładu M.Szczuka/MIMUW/Model bliczeń Zadanie to obliczenie wartości funkcji (n) = n n, i jeśli n = 0 to f (0) = n. Program napisany w języku wysokiego poziomu przedstawia się następująco: c (1):= n ; i f ( n = 0) r e t u r n 0 ; e l s e b e g i n c (2):= c ( 1 ) ; c (3):= c ( 1 ) 1 ; while c ( 3 ) > 0 do b e g i n c ( 2 ) = c ( 2 ) c ( 1 ) ; c ( 3 ) = c ( 3 ) 1 ; end ; r e t u r n c ( 2 ) ; end ; V1.1 45/ 55, obwody logiczne Wartość n n Za wykładem M.Szczuka/MIMUW/Model bliczeń.. s i z e 20,20,20. i n l i s t 4,0,0,0. s t a r t read 1 ; wczytanie n do c ( 1 ) l o a d 1 ; w c z y t a n i e n do ; akumulatora j o t z pos ; i f ( c ( 1 ) = 0 ) w r i t e =0 ; then r e t u r n ( 0 ) jump e n d i f ; skok na koniec programu pos : l o a d 1 ; e l s e c ( 1 ) = n do ; akumulatora s t o r e 2 ; c ( 2 ) := c ( 1 ) sub =1 ; c ( 0 ) := c ( 0 ) 1 s t o r e 3 ; c ( 3 ) := c ( 1 ) 1 V1.1 46/ 55 Wartość n n w h i l e : l o a d 3 ; c ( 3 ) do akumulatora j o t z c o n t i n u e ; w h i l e c ( 3 ) > 0 jump endwhile ; gdy c ( 3 ) = 0 zakoncz continue : load 2 ; c ( 2 ) do akumulatora mult 1 ; c ( 0 ) := c ( 2 ) c ( 1 ) s t o r e 2 ; c ( 2 ) := c ( 2 ) c ( 1 ) l o a d 3 ; c ( 0 ) := c ( 2 ) sub =1 ; c ( 0 ) := c ( 0 ) 1 s t o r e 3 ; c ( 3 ) := c ( 3 ) 1 endwhile : w r i t e 2 ; r e t u r n ( r2 ) e n d i f : h a l t ; k o n i e c programu. end V1.1 47/ 55 Suma elementów na liście wejściowej początek. i n s i z e 20. o u t s i z e 20. r a m s i z e 20. i n l i s t 1 0, 1, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1 0. s t a r t read 1 read 2 read 3 read 4 l o a d 1 add 2 V1.1 48/ 55

13 Suma elementów na liście wejściowej i koniec p e t l a 1 : sub 2 s t o r e 1 jmpz k o n i e c read 3 l o a d 3 add 4 s t o r e 4 l o a d 1 jump p e t l a 1 koniec : w r i t e 4 h a l t. end V1.1 49/ 55 Silnia wg. maszyny RM Początek,. i n s i z e 20. o u t s i z e 20. r a m s i z e 20. i n l i s t 10,1,1,1. s t a r t read 1 read 2 read 3 read 4 l o a d 1 V1.1 50/ 55 Silnia wg. maszyny RM oraz główna część p e t l a 1 : s t o r e 1 jmpz k o n i e c l o a d 3 mult 4 s t o r e 4 l o a d 3 add 2 s t o r e 3 l o a d 1 sub 2 jump p e t l a 1 koniec : w r i t e 4 h a l t. end V1.1 51/ 55, obwody logiczne gdy trzeba coś policzyć co ma przecinek P = πr 2 Program do obliczania wartości pola koła dla maszyny RM:. i n s i z e 20. o u t s i z e 20. r a m s i z e 20. i n l i s t 5,314,100,0. s t a r t read 0 read 1 read 2 mult 0 mult 1 w r i t e 0 d i v 2 w r i t e 0 h a l t. end V1.1 52/ 55

14 Złożoność obliczeniowa RM Złożoność obliczeniowa RM Model maszyny RM jest dość nierealistyczny, gdyż należy podkreślić że posiadamy nieskończenie (ale przeliczalnie) wiele rejestrów, które są w stanie przechowywać dowolnie duże liczby całkowite, bez wskazywania dodatkowych kosztów dotyczących: odczytu, zapisu oraz realizacji przetwarzania. Dlatego bardziej realne oszacowanie złożoności obliczeniowej wymaga określenia kosztu wykonywania poszczególnych operacji. Koszty te są uzależnione od rozmiaru argumentu. Przyjmuje się, że koszt przetworzenia liczby całkowitej n jest równy jej długości w zapisie pozycyjnym i wynosi log n. Przykłady dla wybranych instrukcji RM: 1. add 2 2 log(c(0)) + log(c(1)) 2. mult =4 2 log(c(0)) + 2 bin=11 3. load *5 log(c(3)) + log(c(c(3))) 4. store 7 log(c(0)) + 3 bin=111 V1.1 53/ 55 Złożoność obliczeniowa RM Złożoność obliczeniową RM można łatwo określić jako sumę kosztów wszystkich wykonanych instrukcji w danym programie Π. Natomiast złożoność pamięciową, czyli jaki obszar pamięci RM został wykorzystany podczas pracy programu można zapisać w następujący sposób: max P log( c(i) ), i gdzie P to licznik instrukcji w maszynie RM. Przykładowo realizacja funkcji n n dla maszyny RM posiada następujące złożoności: 1. (n 2 log n) złożoność czasowa, 2. (n log n) złożoność pamięciowa. V1.1 54/ 55 Już za tydzień na wykładzie W następnym tygodniu między innymi: 1. Maszyna Turinga 2. Uniwersalność maszyny Turinga 3. Rachunek lambda 4. Logika i liczby w rachunku lambda 5. Rekurencja w rachunki lambda punkty stałe 6. Kombinatory Dziękuje za uwagę!!! V1.1 55/ 55

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 10: Maszyny Turinga Sławomir Lasota Uniwersytet Warszawski 29 kwietnia 2015 Plan Maszyny Turinga (Niedeterministyczna) maszyna Turinga M = (A, Q, q 0, F, T, B, δ) A

Bardziej szczegółowo

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW MASZYNY O DOSTEPIE SWOBODNYM (RAM) Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 INSTRUKCJE MASZYNY RAM Instrukcja Argument Znaczenie READ

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą Obliczenia inspirowane Naturą Wykład 01 Od maszyn Turinga do automatów komórkowych Jarosław Miszczak IITiS PAN Gliwice 03/03/2016 1 / 16 1 2 3 Krótka historia Znaczenie 2 / 16 Czego dowiedzieliśmy się

Bardziej szczegółowo

Architektura komputerów Wykład 2

Architektura komputerów Wykład 2 Architektura komputerów Wykład 2 Jan Kazimirski 1 Elementy techniki cyfrowej 2 Plan wykładu Algebra Boole'a Podstawowe układy cyfrowe bramki Układy kombinacyjne Układy sekwencyjne 3 Algebra Boole'a Stosowana

Bardziej szczegółowo

Arytmetyka liczb binarnych

Arytmetyka liczb binarnych Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1

Bardziej szczegółowo

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

Bardziej szczegółowo

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia Informacja w perspektywie obliczeniowej Informacje, liczby i obliczenia Cztery punkty odniesienia (dla pojęcia informacji) ŚWIAT ontologia fizyka UMYSŁ psychologia epistemologia JĘZYK lingwistyka nauki

Bardziej szczegółowo

Modele Obliczeń. Wykład 3 - Maszyny RAM i funkcje rekurencyjne. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Modele Obliczeń. Wykład 3 - Maszyny RAM i funkcje rekurencyjne. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski Modele Obliczeń Wykład 3 - Maszyny RAM i funkcje rekurencyjne Marcin Szczuka Instytut Matematyki, Uniwersytet Warszawski Wykład fakultatywny w semestrze zimowym 2008/2009 Marcin Szczuka (MIMUW) Modele

Bardziej szczegółowo

PROBLEMY NIEROZSTRZYGALNE

PROBLEMY NIEROZSTRZYGALNE PROBLEMY NIEROZSTRZYGALNE Zestaw 1: T Przykład - problem domina T Czy podanym zestawem kafelków można pokryć dowolny płaski obszar zachowując odpowiedniość kolorów na styku kafelków? (dysponujemy nieograniczoną

Bardziej szczegółowo

Architektura komputerów wer. 7

Architektura komputerów wer. 7 Architektura komputerów wer. 7 Wojciech Myszka 2013-10-29 19:47:07 +0100 Karty perforowane Kalkulator IBM 601, 1931 IBM 601 kalkulator Maszyna czytała dwie liczby z karty, mnożyła je przez siebie i wynik

Bardziej szczegółowo

Złożoność obliczeniowa zadania, zestaw 2

Złożoność obliczeniowa zadania, zestaw 2 Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze

Bardziej szczegółowo

Elementy Teorii Obliczeń

Elementy Teorii Obliczeń Wykład 2 Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 10 stycznia 2009 Maszyna Turinga uwagi wstępne Maszyna Turinga (1936 r.) to jedno z najpiękniejszych i najbardziej intrygujacych

Bardziej szczegółowo

Podstawy Informatyki Maszyna Turinga

Podstawy Informatyki Maszyna Turinga Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Czym jest Programowanie maszyny Turinga Teza Churcha-Turinga 2 3 4 Czym jest Programowanie maszyny Turinga Teza Churcha-Turinga,

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/

Bardziej szczegółowo

O ALGORYTMACH I MASZYNACH TURINGA

O ALGORYTMACH I MASZYNACH TURINGA O ALGORYTMACH I MASZYNACH TURINGA ALGORYTM (objaśnienie ogólne) Algorytm Pojęcie o rodowodzie matematycznym, oznaczające współcześnie precyzyjny schemat mechanicznej lub maszynowej realizacji zadań określonego

Bardziej szczegółowo

Architektura komputerów wer. 3

Architektura komputerów wer. 3 Architektura komputerów wer. 3 Wojciech Myszka, Maciej Panek listopad 2014 r. Karty perforowane Kalkulator IBM 601, 1931 IBM 601 kalkulator Maszyna czytała dwie liczby z karty, mnożyła je przez siebie

Bardziej szczegółowo

Maszyna Turinga (Algorytmy Część III)

Maszyna Turinga (Algorytmy Część III) Maszyna Turinga (Algorytmy Część III) wer. 9 z drobnymi modyfikacjami! Wojciech Myszka 2018-12-18 08:22:34 +0100 Upraszczanie danych Komputery są coraz szybsze i sprawniejsze. Na potrzeby rozważań naukowych

Bardziej szczegółowo

Matematyczne Podstawy Informatyki

Matematyczne Podstawy Informatyki Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Automat ze stosem Automat ze stosem to szóstka

Bardziej szczegółowo

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011 Układy arytmetyczne Joanna Ledzińska III rok EiT AGH 2011 Plan prezentacji Metody zapisu liczb ze znakiem Układy arytmetyczne: Układy dodające Półsumator Pełny sumator Półsubtraktor Pełny subtraktor Układy

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz

Bardziej szczegółowo

Topologia zbioru Cantora a obwody logiczne

Topologia zbioru Cantora a obwody logiczne Adam Radziwończyk-Syta Michał Skrzypczak Uniwersytet Warszawski 1 lipca 2009 http://students.mimuw.edu.pl/~mskrzypczak/dokumenty/ obwody.pdf Zbiór Cantora Topologia Definicja Przez zbiór Cantora K oznaczamy

Bardziej szczegółowo

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204 Opracował: prof. dr hab. inż. Jan Kazimierczak KATEDA INFOMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 204 Temat: Hardware'owa implementacja automatu skończonego pełniącego

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 9

Języki formalne i automaty Ćwiczenia 9 Języki formalne i automaty Ćwiczenia 9 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Maszyna Mealy'ego... 2 Maszyna Moore'a... 2 Automat ze stosem... 3 Konwersja gramatyki bezkontekstowej

Bardziej szczegółowo

Imię, nazwisko, nr indeksu

Imię, nazwisko, nr indeksu Imię, nazwisko, nr indeksu (kod) (9 punktów) Wybierz 9 z poniższych pytań i wybierz odpowiedź tak/nie (bez uzasadnienia). Za prawidłowe odpowiedzi dajemy +1 punkt, za złe -1 punkt. Punkty policzymy za

Bardziej szczegółowo

Teoria obliczeń i złożoność obliczeniowa

Teoria obliczeń i złożoność obliczeniowa Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy

Bardziej szczegółowo

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych Elementy logiki: Algebra Boole a i układy logiczne 1 Elementy logiki dla informatyków Wykład III Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych Elementy logiki: Algebra Boole a

Bardziej szczegółowo

Hierarchia Chomsky ego Maszyna Turinga

Hierarchia Chomsky ego Maszyna Turinga Hierarchia Chomsky ego Maszyna Turinga Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G = V skończony zbiór

Bardziej szczegółowo

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite. Plan wykładu rchitektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka sekwencyjna

Bardziej szczegółowo

1 Automaty niedeterministyczne

1 Automaty niedeterministyczne Szymon Toruńczyk 1 Automaty niedeterministyczne Automat niedeterministyczny A jest wyznaczony przez następujące składniki: Alfabet skończony A Zbiór stanów Q Zbiór stanów początkowych Q I Zbiór stanów

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki 1 Wykład cz. 2 dyżur: środa 9.00-10.00 czwartek 10.00-11.00 ul. Wieniawskiego 17/19, pok.10 e-mail: joanna.jozefowska@cs.put poznan.pl materiały do wykładów: http://www.cs.put.poznan.pl/jjozefowska/ hasło:

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane

Bardziej szczegółowo

Układy kombinacyjne 1

Układy kombinacyjne 1 Układy kombinacyjne 1 Układy kombinacyjne są to układy cyfrowe, których stany wyjść są zawsze jednoznacznie określone przez stany wejść. Oznacza to, że doprowadzając na wejścia tych układów określoną kombinację

Bardziej szczegółowo

Języki, automaty i obliczenia

Języki, automaty i obliczenia Języki, automaty i obliczenia Wykład 12: Gramatyki i inne modele równoważne maszynom Turinga. Wstęp do złożoności obliczeniowej Sławomir Lasota Uniwersytet Warszawski 20 maja 2015 Plan 1 Gramatyki 2 Języki

Bardziej szczegółowo

Architektura komputerów, Informatyka, sem.iii. Sumatory

Architektura komputerów, Informatyka, sem.iii. Sumatory Sumatory Architektury sumatorów (zarys) Sumatory 1-bitowe Sumatory z propagacją Przeniesień CPA (Carry Propagate Adders) Sumatory wieloargumentowe 3-argumentowe Half Adder HA Macierz sumatorów RCA Full

Bardziej szczegółowo

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3. (Aktualizacja z dnia 3 kwietnia 2013) MATEMATYKA DYSKRETNA - informatyka semestr 2 (lato 2012/2013) Zadania do omówienia na zajęciach w dniach 21 i 28 kwietnia 2013 ZESTAW NR 3/7 (przykłady zadań z rozwiązaniami)

Bardziej szczegółowo

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące Architektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Plan wykładu Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka

Bardziej szczegółowo

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936) Wstęp doinformatyki Architektura co to jest? Architektura Model komputera Dr inż Ignacy Pardyka Slajd 1 Slajd 2 Od układów logicznych do CPU Automat skończony Slajd 3 Slajd 4 Ile jest automatów skończonych?

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 5 Prof. dr hab. inż. Jan Magott DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych

Bardziej szczegółowo

ZADANIE 1. Rozwiązanie:

ZADANIE 1. Rozwiązanie: EUROELEKTR Ogólnopolska Olimpiada Wiedzy Elektrycznej i Elektronicznej Rok szkolny 200/20 Rozwiązania zadań dla grupy teleinformatycznej na zawody II. stopnia ZNIE ramka logiczna w technologii MOS składa

Bardziej szczegółowo

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 4

Języki formalne i automaty Ćwiczenia 4 Języki formalne i automaty Ćwiczenia 4 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Sposób tworzenia deterministycznego automatu skończonego... 4 Intuicyjne rozumienie konstrukcji

Bardziej szczegółowo

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji.

1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Temat: Technologia informacyjna a informatyka 1. Informatyka - dyscyplina naukowa i techniczna zajmująca się przetwarzaniem informacji. Technologia informacyjna (ang.) Information Technology, IT jedna

Bardziej szczegółowo

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane: Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem

Bardziej szczegółowo

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76 . p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować

Bardziej szczegółowo

UKŁADY MIKROPROGRAMOWALNE

UKŁADY MIKROPROGRAMOWALNE UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim

Bardziej szczegółowo

Naturalny kod binarny (NKB)

Naturalny kod binarny (NKB) SWB - Arytmetyka binarna - wykład 6 asz 1 Naturalny kod binarny (NKB) pozycja 7 6 5 4 3 2 1 0 wartość 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 wartość 128 64 32 16 8 4 2 1 bity b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 System

Bardziej szczegółowo

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski Modele Obliczeń Wykład 1 - Wprowadzenie Marcin Szczuka Instytut Matematyki, Uniwersytet Warszawski Wykład fakultatywny w semestrze zimowym 2014/2015 Marcin Szczuka (MIMUW) Modele Obliczeń 2014/2015 1 /

Bardziej szczegółowo

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11} Języki Ustalmy pewien skończony zbiór symboli Σ zwany alfabetem. Zbiór Σ zawiera wszystkie skończone ciagi symboli z Σ. Podzbiór L Σ nazywamy językiem a x L nazywamy słowem. Specjalne słowo puste oznaczamy

Bardziej szczegółowo

Arytmetyka binarna - wykład 6

Arytmetyka binarna - wykład 6 SWB - Arytmetyka binarna - wykład 6 asz 1 Arytmetyka binarna - wykład 6 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Arytmetyka binarna - wykład 6 asz 2 Naturalny kod binarny (NKB) pozycja 7 6 5 4 3 2

Bardziej szczegółowo

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW RELACJE MIEDZY KLASAMI ZŁOŻONOŚCI Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 KLASY ZŁOŻONOŚCI KLASE ZŁOŻONOŚCI OPISUJE SIE PODAJAC: Model

Bardziej szczegółowo

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch)

Inwerter logiczny. Ilustracja 1: Układ do symulacji inwertera (Inverter.sch) DSCH2 to program do edycji i symulacji układów logicznych. DSCH2 jest wykorzystywany do sprawdzenia architektury układu logicznego przed rozpoczęciem projektowania fizycznego. DSCH2 zapewnia ergonomiczne

Bardziej szczegółowo

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 13

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś   Wykład 13 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 13 Spis treści 19 Algorytmy kwantowe 3 19.1 Bit kwantowy kubit (qubit)........... 3 19. Twierdzenie

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Języki formalne i techniki translacji

Języki formalne i techniki translacji Języki formalne i techniki translacji Laboratorium - Projekt Termin oddania: ostatnie zajęcia przed 17 stycznia 2016 Wysłanie do wykładowcy: przed 23:59 28 stycznia 2016 Używając BISON-a i FLEX-a napisz

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu

Bardziej szczegółowo

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10). Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych

Bardziej szczegółowo

O ISTOTNYCH OGRANICZENIACH METODY

O ISTOTNYCH OGRANICZENIACH METODY O ISTOTNYCH OGRANICZENIACH METODY ALGORYTMICZNEJ Dwa pojęcia algorytmu (w informatyce) W sensie wąskim Algorytmem nazywa się każdy ogólny schemat procedury możliwej do wykonania przez uniwersalną maszynę

Bardziej szczegółowo

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania

Bardziej szczegółowo

Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT

Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd. Włodzimierz Bielecki WI ZUT Metody Kompilacji Wykład 8 Analiza Syntaktyczna cd Analiza Syntaktyczna Wstęp Parser dostaje na wejściu ciąg tokenów od analizatora leksykalnego i sprawdza: czy ciąg ten może być generowany przez gramatykę.

Bardziej szczegółowo

Maszyna Turinga języki

Maszyna Turinga języki Maszyna Turinga języki Teoria automatów i języków formalnych Dr inż. Janusz Majewski Katedra Informatyki Maszyna Turinga (1) b b b A B C B D A B C b b Q Zależnie od symbolu obserwowanego przez głowicę

Bardziej szczegółowo

Odwrotna Notacja Polska

Odwrotna Notacja Polska Odwrotna Notacja Polska Odwrotna Notacja Polska w skrócie ONP) jest sposobem zapisu wyrażeń arytmetycznych. Znak wykonywanej operacji umieszczany jest po operandach, argumentach tzw. zapis postfiksowy).

Bardziej szczegółowo

1 Wprowadzenie do algorytmiki

1 Wprowadzenie do algorytmiki Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności

Bardziej szczegółowo

Turing i jego maszyny

Turing i jego maszyny Turing Magdalena Lewandowska Politechnika Śląska, wydział MS, semestr VI 20 kwietnia 2016 1 Kim był Alan Turing? Biografia 2 3 Mrówka Langtona Bomba Turinga 4 Biografia Kim był Alan Turing? Biografia Alan

Bardziej szczegółowo

1. Operacje logiczne A B A OR B

1. Operacje logiczne A B A OR B 1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne

Bardziej szczegółowo

Odmiany maszyny Turinga. dr hab. inż. Joanna Józefowska, prof. PP 1

Odmiany maszyny Turinga. dr hab. inż. Joanna Józefowska, prof. PP 1 Odmiany maszyny Turinga 1 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem A k jest to maszyna definiująca funkcje: f U, n+1 = {((w(i 1, I 2,..., I n )),y) w - opis maszyny T za pomocą słowa,

Bardziej szczegółowo

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

Bardziej szczegółowo

Architektura typu Single-Cycle

Architektura typu Single-Cycle Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć

Bardziej szczegółowo

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Bramki logiczne Podstawowe składniki wszystkich układów logicznych Układy logiczne Bramki logiczne A B A B AND NAND A B A B OR NOR A NOT A B A B XOR NXOR A NOT A B AND NAND A B OR NOR A B XOR NXOR Podstawowe składniki wszystkich układów logicznych 2 Podstawowe tożsamości

Bardziej szczegółowo

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

Wprowadzenie do maszyny Turinga

Wprowadzenie do maszyny Turinga Wprowadzenie do maszyny Turinga Deterministyczna Maszyna Turinga (DTM) jest pewną klasą abstrakcyjnych modeli obliczeń. W tej instrukcji omówimy konkretną maszynę Turinga, którą będziemy zajmować się podczas

Bardziej szczegółowo

Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303

Obliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303 Wykład 9 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303 stos i operacje na stosie odwrotna notacja polska języki oparte na ONP przykłady programów J. Cichoń, P. Kobylański Wstęp

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2 Algorytmy i struktury danych Wykład 6 Tablice rozproszone cz. 2 Na poprzednim wykładzie Wiele problemów wymaga dynamicznych zbiorów danych, na których można wykonywać operacje: wstawiania (Insert) szukania

Bardziej szczegółowo

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca

Bardziej szczegółowo

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Oficjalna strona wykładu http://www.kaims.pl/

Bardziej szczegółowo

Wstęp do informatyki- wykład 2

Wstęp do informatyki- wykład 2 MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy

Bardziej szczegółowo

Projektowanie. Projektowanie mikroprocesorów

Projektowanie. Projektowanie mikroprocesorów WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia Poznanie zasad budowy działania komparatorów cyfrowych. Konstruowanie komparatorów

Bardziej szczegółowo

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 = Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,

Bardziej szczegółowo

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu Problem Hilberta: 9 Czy istnieje ogólna mechaniczna procedura, która w zasadzie pozwoliłaby nam po kolei rozwiązać wszystkie matematyczne problemy (należące do odpowiednio zdefiniowanej klasy)? 2 Przykłady

Bardziej szczegółowo

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW NIEDETERMINISTYCZNE MASZYNY TURINGA Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 NIEDETERMINISTYCZNE MASZYNY TURINGA DEFINICJA: NIEDETERMINISTYCZNA

Bardziej szczegółowo

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2 WSTĘP O liczbie elementów użytych do budowy jakiegoś urządzenia elektronicznego, a więc i o możliwości obniżenia jego ceny, decyduje dzisiaj liczba zastosowanych w nim układów scalonych. Najstarszą rodziną

Bardziej szczegółowo

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia: Operatory logiczne Komputery i ich logika AND - && Podstawy programowania w C++ Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com

Bardziej szczegółowo

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone

Bardziej szczegółowo

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor. Zadaniem centralnej jednostki przetwarzającej CPU (ang. Central Processing Unit), oprócz przetwarzania informacji jest sterowanie pracą pozostałych układów systemu. W skład CPU wchodzą mikroprocesor oraz

Bardziej szczegółowo

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie. Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy

Bardziej szczegółowo

Przykładowe pytania DSP 1

Przykładowe pytania DSP 1 Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..

Bardziej szczegółowo

Kod U2 Opracował: Andrzej Nowak

Kod U2 Opracował: Andrzej Nowak PODSTAWY TEORII UKŁADÓW CYFROWYCH Kod U2 Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ System zapisu liczb ze znakiem opisany w poprzednim

Bardziej szczegółowo

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne Załóżmy, że mamy źródło S, które generuje symbole ze zbioru S={x, x 2,..., x N } z prawdopodobieństwem P={p, p 2,..., p N }, symbolom tym odpowiadają kody P={c, c 2,..., c N }. fektywność danego sposobu

Bardziej szczegółowo

Podstawy Informatyki Systemy sterowane przepływem argumentów

Podstawy Informatyki Systemy sterowane przepływem argumentów Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Komputer i jego architektura Taksonomia Flynna 2 Komputer i jego architektura Taksonomia Flynna Komputer Komputer

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny ALGORYMY Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu

Bardziej szczegółowo

Efektywność Procedur Obliczeniowych. wykład 5

Efektywność Procedur Obliczeniowych. wykład 5 Efektywność Procedur Obliczeniowych wykład 5 Modele procesu obliczeń (8) Jedno-, wielotaśmowa MT oraz maszyna RAM są równoważne w przypadku, jeśli dany problem jest rozwiązywany przez jeden model w czasie

Bardziej szczegółowo