• Nie Znaleziono Wyników

PODSTAWY INFORMATYKI

N/A
N/A
Protected

Academic year: 2021

Share "PODSTAWY INFORMATYKI"

Copied!
87
0
0

Pełen tekst

(1)

PODSTAWY INFORMATYKI

WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień

1

21/10/2018

Prof. dr hab. Elżbieta Richter-Wąs

(2)

Wykład 3a: Problemy algorytmiczne

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

2

Problemy algorytmiczne

Klasy problemów algorytmicznych

Liczby Fibonacciego

Przeszukiwanie tablic

Największy wspólny podzielnik

Algorytmy zachłanne

Materiał w oparciu o wykład: D. Kane, Univ. San Diego, USA

„Data Structures and Algorithms, Algorithmic Toolbox”

(3)

Klasy problemów → typy algorytmów

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

3

 Mogą być prosto zaimplementowane w dowolnym języku programowania

 Proste (naturalne) rozwiązanie jest efektywne.

(4)

Prosty problem: liniowy scan

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

4

 Znajdź słowo w tekście.

 Przeszukujemy tekst liniowo

 Prosty algorytm działa dobrze

 Nie można/ nie ma powodu aby go poprawiać.

(5)

Algorytmiczny problem:

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

5

 Znajdź najkrótszą drogę pomiędzy dwoma

punktami.

(6)

Algorytmiczny problem:

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

6

 Znajdź najlepsze przyporządkowanie studentów do

pokoi w akademiku.

(7)

Algorytmiczny problem:

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

7

 Zdefiniuj miarę podobieństwa dwóch dokumentów.

(8)

Algorytmiczny problem:

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

8

 Nie jest oczywiste jak rozwiązać.

 Proste pomysły są zbyt wolne.

 Można optymalizować rozwiązanie.

(9)

Problemy ze sztucznej inteligencji

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

9

 Rozumienie wypowiadanych słów

 Rozpoznawanie obrazów

 Gra w gry planszowe lub inne

 Itd…

(10)

Liczby Fibonacciego

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

10

 Definicja

(11)

Liczby Fibonacciego

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

11

 Przykład: studiowanie populacji królików

(12)

Liczby Fibonacciego

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

12

 Bardzo szybko rosną

 Dowód indukcyjny

(13)

Liczby Fibonacciego

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

13

 Przykład

(14)

Naiwny algorytm: rekurencyjny

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

14

 Czas wykonania: T(n) oznacza liczbę linii kodu które są wykonywane dla danej wartości n.

 Funkcja rekurencyjna (pseudokod)

(15)

Naiwny algorytm: rekurencyjny

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

15

(16)

Naiwny algorytm: rekurencyjny

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

16

(17)

Naiwny algorytm: rekurencyjny

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

17

 Czas wykonania algorytmu: złożoność obliczeniowa

(18)

Naiwny algorytm: rekurencyjny

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

18

 Dlaczego tak czasochłonny?

(19)

Naiwny algorytm: rekurencyjny

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

19

 Dlaczego tak czasochłonny?

(20)

Efektywny algorytm: iteracja

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

20

 Spróbujmy ręcznie policzyć

Definicja

(21)

Efektywny algorytm: iteracja

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

21

 Funkcja: iteracyjne wypełnianie tablicy (pseudokod)

(22)

Liczby Fibonaciego

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

22

 Naiwny algorytm ( z definicji ): prosty, elegancki, nieakceptowalnie wolny

 Iteracyjny algorytm: bardzo szybki

Zastosowanie ulepszonego (iteracyjnego) algorytmu

umożliwia wykonanie obliczeń.

(23)

Przeszukiwanie: obrazu, tablicy

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

23

(24)

Metoda: „dziel i zwyciężaj”

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

24

 Podziel na problemy tego same typu, obszary nie

mogą się pokrywać.

(25)

Metoda: „dziel i zwyciężaj”

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

25

 Podziel na problemy tego same typu, obszary nie mogą się pokrywać.

Nie są tego samego typu Nie są rozłączne

(26)

Metoda: „dziel i zwyciężaj”

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

26

 Dziel na mniejsze problemy:

(27)

Metoda: „dziel i zwyciężaj”

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

27

 Zwyciężaj: rozwiąż mniejsze problemy:

(28)

Metoda: „dziel i zwyciężaj”

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

28

 Połącz z powrotem:

(29)

Przykład: liniowe przeszukiwanie tablicy

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

29

 Tłumaczenie słów: w danym wierszu słowa mają to

samo znaczenie.

(30)

Przykład: liniowe przeszukiwanie tablicy

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

30

 Rozwiązanie rekurencyjne

(31)

Przykład: liniowe przeszukiwanie tablicy

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

31

 Rozwiązanie rekurencyjne

Ilość operacji

(32)

Przykład: liniowe przeszukiwanie tablicy

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

32

 Rozwiązanie iteracyjne

(33)

Przykład: posortowana tablica

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

33

 Przeszukiwanie posortowanej tablicy: ilość operacji

(34)

Przykład: przeszukiwanie binarne

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

34

 Przeszukiwanie binarne posortowanej tablicy:

(35)

Przykład: przeszukiwanie binarne

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

35

 Przeszukiwanie binarne: szukamy liczby „50”

(36)

Przykład: przeszukiwanie binarne

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

36

 Przeszukiwanie binarne: szukamy liczby „50”

(37)

Przykład: przeszukiwanie binarne

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

37

 Przeszukiwanie binarne: szukamy liczby „50”

(38)

Metoda: „dziel i zwyciężaj”

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

38

 Dzielimy rekurencyjnie na rozłączne (dla danego etapu podziału) mniejsze problemy tego samego typu.

 Rozwiązujemy mniejsze problemy

 Scalamy rozwiązania

(39)

Metoda: „dziel i zwyciężaj”

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

39

 Wersja rekurencyjna: przeszukiwanie binarne

(40)

Metoda: „dziel i zwyciężaj”

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

40

 Wersja rekurencyjna: złożoność obliczeniowa

Ilość operacji

(41)

Metoda: „dziel i zwyciężaj”

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

41

 Wersja iteracyjna: przeszukiwanie binarne

(42)

Metoda: „dziel i zwyciężaj”

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

42

Tłumaczenie słów: w każdej kolumnie posortowane wg.

kolejności liter słowa w danym języku. W danym wierszu

słowa nie maja tego samego znaczenia.

(43)

Metoda: „dziel i zwyciężaj”

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

43

Tłumaczenie słów: w każdej kolumnie posortowane wg. kolejności liter słowa w danym języku. W danym wierszu słowa nie maja

tego samego znaczenia.

Zorganizuj jako przeszukiwanie binarne: pomocnicze tabele.

(44)

Największy wspólny podzielnik (NWP)

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

44

Definicja

Dla pary liczb całkowitych a,b, ich największy wspólny podzielnik d = NWP(a,b) to największa liczba całkowita d taka ze dzieli bez reszty a, b.

Kryptografia

Teoria liczb Funkcje specjalne

(45)

Największy wspólny podzielnik (NWP)

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

45

Definicja

Dla pary liczb całkowitych a,b, ich największy wspólny podzielnik d = NWP(a,b) to największa liczba całkowita d taka ze dzieli bez reszty a, b.

gcd –

greatest common divisor

(46)

Naiwny algorytm znajdowania NWP

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

46

 Ilość operacji w przybliżeniu równa min(a,b)

 Bardzo wolny już dla liczb 20-to cyfrowych

min(a,b):

(47)

Algorytm Euklidesa

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

47

Lemat:

Jeżeli a’ = reszta z dzielenia a/b to gcd(a,b)=gcd(a’,b) = gcd(b,a’)

Dowod (szkic)

a = a’ + b*q

d dzieli a i b wtedy i tylko wtedy jeżeli d dzieli a’ i b.

(48)

Algorytm Euklidesa

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

48

Funkcja rekurencyjna, wprost zastosowanie lematu.

(49)

Algorytm Euklidesa

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

49

Przykład

Ilość operacji: każdy krok redukuje liczby o czynnik 2.

Ilość kroków to log(a*b).

Jeżeli liczba 100-cyfrowa,

potrzebne około 600 kroków.

Każdy krok to pojedyncze

dzielenie.

(50)

Efektywny algorytm

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

50

 Naiwny algorytm jest zbyt wolny.

 Algorytm Euklidesa dużo efektywniejszy.

 Wymyślenie efektywnego algorytmu wymagało

wiedzy na temat problemu, w tym przypadku z

dziedziny teorii liczb..

(51)

Algorytm zachłanny

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

51

 Jaka jest największa liczba która możesz zbudować maja do dyspozycji podane cyfry.

????

(52)

Algorytm zachłanny

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

52

 Jaka jest największa liczba która możesz zbudować używając wszystkie podane cyfry.

Poprawna odpowiedz

(53)

Strategia zachłanna: największa liczba

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

53

Znajdź największą cyfrę

Dołącz do liczby

Usuń cyfrę z listy cyfr

Powtarzaj dopóki lista cyfr nie jest pusta

(54)

Strategia zachłanna: tankowanie benzyny

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

54

Pełny bak benzyny wystarcz na przejechanie 400km. Na których stancjach tankować paliwo aby ilość tankowan potrzebna do przejechania 950 km była minimalna.

Tylko dwa tankowania

(55)

Wybór strategii

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

55

Jakie są możliwości

Zatankuj na każdej stacji po drodze

Zatankuj na najdalszej stacji do której możesz dojechać

Jedz aż do pustego baku.

Strategia zachłanna

1) Wystartuj w punkcie A

2) Dojedz do najdalszej możliwie stacji benzynowej

3) Zatankuj i potraktuj ten punkt jako nowy punkt A

Powtarzaj (1-3) dopóki nie zajdzie A=B

(56)

Podproblem

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

56

 Podproblem jest taki sam jak oryginalny problem.

(57)

Algorytm zachłanny: liniowa zależność od ilości stacji benzynowych.

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

57

(58)

Jak podzielić na grupy

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

58

 Chcemy podzielić na grupy gdzie wiek dziecka nie różni się więcej niż o 1 rok i tak aby było jak

najmniej grup.

(59)

Jak efektywnie podzielić na grupy

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

59

 Naiwny algorytm

Ilość operacji:

co najmniej 2

n

dla n elementów które

należy pogrupować.

(60)

Jak efektywnie podzielić na grupy

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

60

Naiwny algorytm

Rozważmy podział na 2 grupy: C = G1 + G2

Każdy element i może być zaakceptowany do grupy G1 albo odrzucony i wtedy jest w grupie G2.

W ten sposób można utworzyć 2 n różnych grup G1

Ilość operacji co najmniej 2 n

(61)

Jak efektywnie podzielić na grupy

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

61

Posortujmy najpierw elementy (punkty): n log(n)

Zdefiniujmy problem jako poszukiwanie

najmniejszej ilości odcinków które pokryją wszystkie punkty. Długość odcinka nie większa niż 1 jednostka.

Jak to zrobić: zacznij od najbardziej lewego punktu i

wyznacz odcinek o długości co najwyżej 1. Punkty

leżące na odcinku tworzą jedna grupę.

(62)

Jak efektywnie podzielić na grupy

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

62

 Posortujmy najpierw elementy (punkty): n log(n)

 Zdefiniujmy problem jako poszukiwanie najmniejszej ilości odcinków które pokryją wszystkie punkty.

Długość odcinka nie większa niż 1 jednostka.

(63)

Jak efektywnie podzielić na grupy

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

63

Ilość operacji proporcjonalna do n

Sortowanie:

Ilość operacji

proporcjonalna

do n log(n)

(64)

Jak efektywnie podzielić na grupy

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

64

Naiwny algorytm: ilość operacji ~ 2 n

Bardzo wolny już dla n=50

Sortowanie + algorytm zachłanny

Sortowanie ~ n log()

Algorytm zachłanny ~ n

Całość efektywna nawet dla n=10 000 000

(65)

Algorytm zachłanny: pakowanie plecaka

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

65

 Jak najlepiej zapakować plecak

(66)

Algorytm zachłanny: pakowanie plecaka

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

66

 Jak najlepiej zapakować plecak

(67)

Algorytm zachłanny: pakowanie plecaka

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

67

 Jak najlepiej zapakować plecak

(68)

Algorytm zachłanny: pakowanie plecaka

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

68

 Jak najlepiej zapakować plecak

(69)

Algorytm zachłanny: pakowanie plecaka

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

69

 Jak najlepiej zapakować plecak

(70)

Algorytm zachłanny: pakowanie plecaka

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

70

 Jak najlepiej zapakować plecak

(71)

Algorytm zachłanny: pakowanie plecaka

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

71

Jak najlepiej zapakować plecak

1) Dopóki plecak nie jest pełny, wybierz grupę i o największym vi/wi.

2) Jeżeli przedmioty mieszczą się w plecaku umieść wszystkie. Jeżeli nie, to tyle aby zapełnić plecak.

3) Jeżeli jeszcze jest miejsce w plecaku, wybierz nową grupę i, kolejną o największym vi/wi.

Powtarzaj (1)-(3) do momentu zapełnienia plecaka

lub aż nie będzie więcej przedmiotów które się w

nim mieszczą.

(72)

Algorytm zachłanny: pakowanie plecaka

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

72

(73)

Algorytm zachłanny: pakowanie plecaka

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

73

 Czy można efektywniej?

Ilość operacji które były wykonywane: n 2

Wybieranie kolejnego i – maksymalnie n-razy

Wkładanie przedmiotów – maksymalnie n-razy

Gdybyśmy najpierw posortowali wg. malejącego vi/wi to ilość operacji byłaby: n log(n) + n + n

Sortowanie: n log(n) operacji

Wybranie kolejnego i – 1operacja

Wkładanie do plecaka – n operacji

(74)

Algorytm zachłanny: pakowanie plecaka

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

74

 Posortowaliśmy:

(75)

Wykład 3b: Poprawność obliczeń

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

75

Poprawność obliczeń

Błędy numeryczne

Błędy danych wejściowych

Błędy reprezentacji

Błędy obcięcia

Błędy zaokrągleń

Niestabilność numeryczna

Kumulacja błędów

Uwarunkowanie zadania

Materiał w oparciu o wykład: A. Horzyk, WEAIiIB AGH

„Wstęp do Informatyki”

(76)

Poprawność numeryczna

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

76

Obliczenia prowadzone przy pomocy komputerów, mogą być bardzo dokładne i poprawne, ale wymaga to wiedzy o procesach

obliczeniowych, arytmetyce komputerowej, zaokrąglaniu itp., aby obliczenia projektować i wykonywać w sposób poprawny

numerycznie.

Możliwe źródła błędów:

Ograniczona dokładność danych wejściowych

Ograniczona ilość bitów na reprezentację danych

Konwersja pomiędzy systemami liczbowymi

Zaokrągleń spowodowanych reprezentacją danych

Obcięciami i uproszczeniami obliczeń wynikające z nieskończonych sum

Trudnością wykonywania operacji na bardzo małych i dużych liczbach.

Brak wiedzy na ten temat może prowadzić do błędnego budowania

algorytmów i powstawania błędów numerycznych podczas obliczeń.

(77)

Błędy numeryczne

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

77

Błędy numeryczne możemy podzielić na cztery podstawowe kategorie.

Błędy danych wejściowych – występują wówczas gdy dane liczbowe wprowadzane do pamięci i rejestrów maszyny cyfrowej odbiegają od ich dokładnych wartości (np. fizycznych, biometrycznych) ze względu na

ograniczona dokładność urządzeń pomiarowych (np. ciężar, odległość).

Błędy reprezentacji – powstają, gdy wstępuje konieczność reprezentacji liczby w maszynie z wykorzystaniem skończonej ilości słów binarnych (ciągu bitów) co wymusza zaokrąglanie. Do błędów reprezentacji dochodzi również na skutek konwersji wielu liczb rzeczywistych z systemu źródłowego (zwykle dziesiętnego) na system dwójkowy stosowany w technice komputerowej. Np.

liczba 0.45 nie ma swojego dokładnego odpowiednika (0.45)[10] = (0.01(1100))[2]!

Błędy obcięcia – związane z koniecznością zmniejszenia ilości działań, np.

podczas obliczania ciągów/szeregów/sum nieskończonych. Lub przybliżonego wyznaczania całek oznaczonych.

Błędy zaokrągleń - pojawiają się w trakcie zaokrąglania obliczonych

wartości z powodu ograniczonej długości słów binarnych.

(78)

Błędy danych wejściowych

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

78

Urządzenia pomiarowe zawsze charakteryzują się ograniczona

dokładnością wykonywanych pomiarów fizycznych. Różne stosowane w przemyśle normy określają dopuszczalną wielkość odchyleń urządzeń pomiarowych od rzeczywistych wartości które powinny wskazywać.

Stąd wynikają błędy danych wejściowych.

(79)

Błędy reprezentacji

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

79

Błędy reprezentacji najczęściej powstają w trakcie konwersji liczb pomiędzy systemami liczbowymi.

My (ludzie) najczęściej stosujemy system dziesiętny, komputery system dwójkowy. Nie każde rozwiniecie jest skończone. Np. dla 0.45 nie istnieje skończone rozwinięcie w systemie dwójkowym.

W systemie dziesiętnym nie istnieją takie dla np. √2, p, e.

(80)

Błędy obcięcia

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

80

Błędy obcięcia często związane są z przybliżaniem obliczeń nieskończonych, gdy występuje konieczność pominięcia najmniej istotnych wyrazów wyrażenia.

Błędy obcięcia charakterystyczne są też w sytuacjach gdy decydujemy się na uproszczenie obliczeń, pomijamy

szczegóły lub upraszczamy dokładność przybliżeń, np. przy

wyznaczaniu wartości całek oznaczonych.

(81)

Błędy zaokrągleń

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

81

Słowa binarne służące do zapisu liczb w technice cyfrowej dysponują ograniczoną ilością bitów możliwych do

wykorzystania w celu zapamiętania określonej liczby. Można tego dokonać ze skończoną dokładnością. Jeśli zabraknie bitów na reprezentację liczby, nieuniknione jest jej zaokrąglenie.

Przykład w systemie dziesiętnym, w systemie dwójkowym jest

podobnie. Wtedy dochodzi do błędów zaokrągleń.

(82)

Błędy zaokrągleń

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

82

Jeżeli mamy możliwość przechowywań tylko 10 cyfr znaczących, to wynik dodawania nie będzie taki

jakiego byśmy się spodziewali.

Dokładny:

Albo pętla która dodaje dużą liczbę do malej, może

nigdy nie zakończyć działania.

(83)

Niestabilność numeryczna

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

83

Z niestabilnością numeryczną mamy do czynienia wtedy gdy małe błędy danych lub popełniane w trakcie obliczeń rzną

szybko e trakcie dalszych obliczeń powodując istotne/duże błędy/zniekształcenia wyników obliczeń.

Przykład obliczanie całek oznaczonych, wprowadzając zależność rekurencyjna umożliwiającą wyznaczenie

następnego elementu korzystając z poprzedniego.

(84)

Przykład niestabilności numerycznej

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

84

Obliczamy więc zerowy element zerowy ciągu całek wg wzoru, dokonujemy zaokrąglenia wyniku do 3 cyfr znaczących i następnie próbujemy wyznaczyć kolejne elementy ciągu całek na podstawie poprzednich z wyznaczonej wcześniej zależności.

Całka oznaczona reprezentuje pole pod funkcją która jest dodatnio określona,

musi być dodatnia. Każdy następny wyraz w ciągu potencjalnie mnoży

błąd przez 5.

(85)

Przykład stabilności numerycznej

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

85

Czy możemy ciąg całek obliczyć poprawnie?

Możemy podjąć próbę wyznaczenia

poprzedniego wyrazu ciągu znając następny.

Mimo potencjalnie dużego błędu początkowego, otrzymany zerowy wyraz

tego ciągu został wyliczony poprawnie gdyż błąd w każdym następnym

kroku był dzielony przez 5.

(86)

Kumulacja błędów numerycznych

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

86

W trakcie różnych operacji arytmetycznych może dochodzić do kumulacji błędów, np. jeśli dwie liczby obarczone są pewnymi znanymi błędami danych wejściowych, to w wyniku wykonanie operacji na tych liczbach błędy również zostaną poddane tej operacji, powodując kumulację możliwych błędów.

Przykład:

(87)

Uwarunkowanie zadania

21/10/2018 Prof. dr hab. Elżbieta Richter-Wąs

87

Zadanie jest źle uwarunkowane, jeśli względnie małe błędy danych początkowych powodują duże błędy wyników obliczeń.

Zadanie źle uwarunkowane obarczone jest dużymi bledami wyników niezależnie od zastosowanej metody lub algorytmu obliczania

Uwarunkowanie zadania numerycznego to wrażliwość jego rozwiązania na poprawność danych początkowych.

Przykład: Proste równoległe w przestrzeni.

Jeżeli współrzędne punktów definiujące proste równolegle zostaną obarczone

bledami, przestana być równolegle i będzie możliwe wyznaczenie punktu

przecięcia prostych.

Cytaty

Powiązane dokumenty

W tym celu każdy osobnik danej populacji poddawany jest ocenie za pomocą funkcji przystosowania... Metody selekcji stosowane w

2. Trzech studentów przygotowywało się niezależnie do egzaminu z rachunku prawdopodobieństwa. Rzucamy n razy kostką do gry. Obliczyć prawdopodobieństwo tego, że: a) szóstka

2. Trzech studentów przygotowywało się niezależnie do egzaminu z rachunku prawdopodobieństwa. Rzucono 10 razy kostką. Rzucono 10 razy symetryczną kostką. Jakie

Dane pochodzące z licznych przeprowadzonych w czasie wielu lat badań wskazują, że masa ciała do- datnio koreluje z gęstością mineralną kości (BMD, bone mineral density), a

Tytuł: REHABILITACJA

Kryterium preferuje wnioskodawców korzystających z doradztwa Biura LGD w zakresie przygotowania wniosku o przyznanie pomocy.  3 pkt – wnioskodawca korzystał z doradztwa LGD

„x”) jednego celu ogólnego, szczegółowego i przedsięwzięcia oraz wypełnienie przez członka Rady uzasadnienia zgodności lub niezgodności operacji z celami

Ostatnim z kont niezbędnym dla ewidencji według układu rodzajowego jest konto 409, na którym ujmuje się wszystkie Pozostałe koszty, których nie można