1 / 49

Wybrane algorytmy wykorzystujące pojęcia z matematyki wyższej

Koło Naukowe Matematyków Uniwersytet Rzeszowski. Wybrane algorytmy wykorzystujące pojęcia z matematyki wyższej. Krzysztof Gąsior. „Matematyka często przeplata się z informatyka i wiele problemów rozwiązywanych za pomocą komputerów to problemy matematyczne” (2). Wprowadzenie.

lars-sharp
Download Presentation

Wybrane algorytmy wykorzystujące pojęcia z matematyki wyższej

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Koło Naukowe MatematykówUniwersytet Rzeszowski Wybrane algorytmy wykorzystujące pojęcia z matematyki wyższej Krzysztof Gąsior

  2. „Matematyka często przeplata się z informatyka i wiele problemów rozwiązywanych za pomocą komputerów to problemy matematyczne”(2)

  3. Wprowadzenie • Czy zastanawialiście się kiedyś: • jak działają programy wykorzystujące pojęcia matematyczne? • dlaczego różne implementacje tej samej metody teoretycznej dają niekiedy różne wyniki lub z różną dokładnością? • jak dokładnie program został zaimplementowany? • algorytm Euklidesa • sito Erastotelesa • algorytm Fermata

  4. Algorytm jest przepisem na rozwiązanie postawionego zadania, będącym określonym układem elementarnych instrukcji wraz z porządkiem ich wykonania. Przypomnienie • Sposoby zapisu algorytmu: • opisu słownego • listy kroków • schematu blokowego lub innego grafu • programu komputerowego

  5. Przypomnienie c.d. • Cechy każdego algorytmu: • Skończonośćco oznacza, że realizowany ciąg operacji powinien mieć swój koniec • Określonośćco oznacza, że zarówno operacje, jak i porządek ich wykonywania powinny być ściśle określone, nie zostawiając miejsca na dowolną interpretację użytkownika • Ogólnośćalgorytm nie ogranicza się do szczegółowego przypadku, ale odnosi się do pewnej klasy zadań • Efektywnośćalgorytm prowadzi do rozwiązania możliwie najprostszą drogą

  6. W matematyce algorytm jest pojęciem służącym do formułowania rozwiązań i badania rozstrzygalności problemów Do czego służą algorytmy w matematyce?

  7. Obliczenie wartości logarytmu naturalnego Zadanie Oblicz wartość ln 4; Rozwiązanie: Wartość ln 4 możemy wyznaczyć przy pomocy: • kalkulatora; • gotowych programów np.: Excela, Matematica, Matlab; • skonstruować własny programu;

  8. Jak można napisać własny program? Z analizy matematycznej wiadomo, że: Powyższą całkę możemy policzyć za pomocą algorytmów numerycznych: • metoda prostokątów • metoda trapezów • metoda parabol (Simpsona) • metoda Romberga • metoda Monte Carlo

  9. Metoda Monte Carlo Metoda Monte - Carlo jest prostą metodą, którą stosuje się w metodach numerycznych. Metoda ta służy do modelowania procesów złożonych, które nie mogą być modelowane za pomocą bardziej wyrafinowanych metod (tzn. o większej złożoności obliczeniowej).

  10. Przykład zastosowania Monte Carlo – obliczanie całki - początek przedziału całkowania - koniec przedziału całkowania - funkcja podcałkowa - punkty losowo wybierane z przedziału - ilość losowanych punktów

  11. Metoda Monte Carlo

  12. s ( ) = - s a 1 ; n Schemat Blokowy Start Czytaj (a, n); s = 0; i = 1; NIE Pisz (s); Stop i++;

  13. Obliczanie wyznacznika macierzy Zadanie Oblicz wyznacznik macierzy:

  14. =WYZNACZNIK.MACIERZY(B2:F6)

  15. Jak można stworzyć własny program? Twierdzenie (o rozwinięciu Laplace’a). Niech będzie dana macierz gdzie n > 1. Wówczas jest rozwinięciem Laplace’a względem j - tej kolumny.

  16. Wzór rekurencyjny n – stopień macierzy

  17. Wzór rekurencyjny Definicja Podwyznacznikiem (minor) macierzy A nazywamy wyznacznik macierzy powstałej przez skreśleniu i− tego wiersza i j− tej kolumny tej macierzy i jest oznaczany przez

  18. Tworzenie programu Aby uniknąć zbędnego kopiowania elementów w programie wyliczającym wyznacznik macierzy, będziemy przekazywali tylko obraz minora w postaci wektora wiersza, a jego wymiar będzie oznaczał rozważaną kolumnę.

  19. Tworzenie programu cd. - wektor wiersza numer kolumny = 2

  20. Problem maksymalizacji zysku produkcji Zakład produkuje dwa wyroby, zużywając do tego celu pewną ilość środków produkcji, z których cztery: energia elektryczna, stal, drewno oraz praca są limitowane. W produkcji są zużywane w ilościach:

  21. Problem maksymalizacji zysku produkcji Zasoby tych środków wynoszą: energia – 1200 jednostek, stal – 600 jednostek, drewno – 420 jednostek, praca – 900 jednostek. Ile poszczególnych wyrobów powinien produkować zakład, aby zysk jego był maksymalny, jeżeli jednostkowy wynosi: z produkcji wyrobu I – 10 zł, wyrobu II – 20 zł. Zakładamy przy tym, że siła robocza musi być wykorzystana w takiej ilości jaką dysponuje.

  22. Schemat rozwiązania • Określenie danych wejściowych i celu, czyli wyniku • Stworzenie modelu matematycznego • Znaleźnie metody rozwiązania, czyli algorytmu • Stworzenie własnego programu lub skorzystanie z już istniejącego • Analiza poprawności rozwiązania

  23. Programowanie liniowe Programowanie linowejest działem matematyki poświęconym teorii i praktycznym algorytmom wyznaczania ekstremum funkcji wielu zmiennych przy ograniczeniach na obszar ich zmienności.

  24. Programowanie liniowe Zagadnie programowania linowego formułuje się w następujący sposób: min (max) warunki ograniczające funkcja celu (funkcja ekonomiczna)

  25. Wspomniany wcześniej problem jest klasycznym przykładem zagadnienia programowania linowego. Programowanie liniowe Funkcja celu - zmienne decyzyjne Warunki ograniczające bilans energii bilans stali bilans drewna bilans pracy warunki nieujemności

  26. Metoda graficzna Twierdzenie. Jeżeli istnieje rozwiązanie optymalne zadania programowania liniowego, to istnieje wierzchołek zbioru dopuszczalnego będący rozwiązaniem optymalnym. Rozwiązaniem zadania jest x1= 60 i x2 = 30 w którym funkcja celu osiąga wartość f(60, 30) = 1200 A(30, 60) Obszar spełniający wszystkie warunki – obszar dopuszczalny

  27. Z równości w warunkach ograniczających możemy wyeliminować drugą zmienną i ograniczyć obszar poszukiwań: Metoda eliminacji zmiennej funkcja celu Warunki ograniczające

  28. Za pomocą metody kolejnych iteracji przeszukujemy obszar możliwych rozwiązań w poszukiwaniu maksimum funkcji celu.

  29. Warunki ograniczające: =B3*$B$7+C3*$C$7 =B4*$B$7+C4*$C$7 =B5*$B$7+C5*$C$7 =B6*$B$7+C6*$C$7 Komórki zmieniane Komórka celu: =10*B7+20*C7

  30. Zaznaczenie tego pole przyśpieszy poszukiwanie rozwiązania w przypadku, gdy chcemy rozwiązać problem optymalizacji liniowej.

  31. Sprawia, że dla wszystkich komórek zmienianych, dla których nie ustawiono dolnej granicy przyjmuje się dolną granicę równą 0.

  32. Maksymalny zysk

  33. Literatura S. Krawczyk „Programowanie Matematyczne, zbiór zadań”, PWE, Warszawa 1987 A. Kierzkowski „Turbo Pascal. Ćwiczenia praktyczne”, Helion, Gliwice 2006 M Sysło, „Elementy Informatyki”, PWN, Warszawa 1993 B. Gleichgewicht, „Algebra, Podręcznik dla kierunków nauczycielskich studiów matematycznych”, PWN, Warszawa 1983

  34. Literatura Z. Suraj, T. Rumak „Algorytmiczne rozwiązywanie zadań i problemów”, Fosze, Rzeszów 1995 A. Sebyła „Algorytmy matematyczne języku Basic i Turbo Pascal”, PLJ, Warszawa1993

  35. Internet • Materiały dydaktyczne prof. Zbigniewa Łuckiego, „Matematyczne techniki zarządzania” • Strony dydaktyczne, mgr Jerzy Wałaszek • Algorytmy i struktury danych • Nowe cechy języka Java w wersji 1.5

  36. Metoda graficzna

  37. Metoda graficzna

  38. Metoda graficzna

More Related