Zastosowania algorytmów heurystycznych do sterowania systemami autonomicznymi

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

Download "Zastosowania algorytmów heurystycznych do sterowania systemami autonomicznymi"

Transkrypt

1 Wrocław, Zastosowania algorytmów heurystycznych do sterowania systemami autonomicznymi Opracował: Janusz Taterka

2 1. Wstęp W systemach autonomicznych spotykamy się z zadaniami planowania działań. Rozwiązanie polega na wyborze najlepszego (według zadanego kryterium) ze wszystkich moŝliwych rozwiązań. Istotną rolę w procesie rozwiązywania problemu ma wybór sposobu postępowania prowadzącego do uzyskania określonych wyników. Wśród róŝnych technik postępowania tzw. metoda przeszukiwania jest jedną z częściej stosowanych podczas procesu rozwiązywania zadań. Spośród czynników decydujących o zastosowaniu metody przeszukiwania następujące dwa wydają się najwaŝniejsze: dla większości problemów trudno jest z góry określić ciąg czynności prowadzących do rozwiązania. Muszą one być określone przez systematyczne analizowanie kolejnych alternatyw; zaletą metod przeszukiwania jest łatwość formułowania zadań. Wymagane jest jedynie określenie zbioru stanów rozwiązywanego problemu, zbioru operatorów przekształcających te stany, stanu początkowego i zbioru stanów końcowych. Rozwiązanie polega na określeniu ciągu operatorów przekształcających stan początkowy w stan końcowy. Algorytmiczne realizacje metod przeszukiwania nazywane są strategiami przeszukiwania. Zbiór strategii przeszukiwania zawiera metody niewykorzystujące informacji o dziedzinie rozwiązywanego problemu - nazywane strategiami ślepymi oraz metody ściśle dopasowane do danego problemu, wykorzystujące informacje heurystyczne - strategie heurystyczne. W potocznym znaczeniu terminem heurystyka (z greckiego heuriskein - znaleźć, odkryć) określa się praktyczną, opartą na doświadczeniu, regułę postępowania, która moŝe znacznie uprościć lub skrócić proces rozwiązywania problemu, gdy metoda rozwiązania nie jest znana lub jest zawiła i czasochłonna. W algorytmice heurystyką nazywa się algorytm, który umoŝliwia znalezienie w akceptowalnym czasie przynajmniej "dostatecznie dobrego" przybliŝonego rozwiązania problemu, choć nie gwarantuje tego we wszystkich przypadkach. Metody heurystyczne naleŝą do podstawowych narzędzi sztucznej inteligencji, często uŝywane są teŝ w róŝnych działach badań operacyjnych Idea strategii heurystycznych wywodzi się z obserwacji, Ŝe dla większości problemów przestrzeń stanów zawiera dodatkowe informacje. Koszt wyznaczenia tych informacji jest niewielki, a pozwalają one dodatkowo klasyfikować stany i łatwiej wybierać najlepsze kierunki przeszukiwania. Strategie przeszukiwania przestrzeni stanów "w głąb" i "wszerz" działają "na oślep". Główne strategie heurystyczne to A * i "najpierw najlepszy". 2. Reprezentacja głównych elementów zadania Czynności wykonywane podczas rozwiązywania zadań moŝemy uwaŝać za pewnego rodzaju poszukiwania lub konstruowanie obiektów o danej charakterystyce. Rozwiązanie zadania jest często wyznaczane przez przeszukiwanie zbioru wszystkich moŝliwych stanów, zwanego przestrzenią przeszukiwania. Kompletne przebadanie takiej przestrzeni jest jednak mało efektywne, moŝliwe jedynie w przypadku małych przestrzeni. W odniesieniu do przykładu opisu agenta przeszukującego sklepy prezentowanego na wykładzie, wysoce nieefektywne lub wręcz niemoŝliwe (z punktu widzenia ograniczeń czasowych) byłoby zapoznanie się z ofertą wszystkich dostępnych sklepów internetowych lub tradycyjnych. Efektywną metodą rozwiązywania duŝych zadań jest generowanie stanów za pomocą operatorów według określonych zasad i badanie ich właściwości.

3 Ze względu na opis zadania istotne są trzy podstawowe wymagania: a. sposób reprezentacji kaŝdego ze stanów przestrzeni przeszukiwania, tzw. kod; b. metody obliczeniowe umoŝliwiające wygenerowanie kodu kolejnego stanu na podstawie kodu danego stanu, czyli operatory; c. metody wyboru operatorów spośród zestawu moŝliwych do zastosowania, czyli strategie sterowania. Wśród najbardziej poŝądanych cech kodu stanów naleŝy wymienić jednoznaczność i uwzględnienie struktury zadania. Sposób reprezentacji powinien umoŝliwiać efektywne przekształcenia zbioru za pomocą operacji rozszczepiania. Polega ona na podziale problemu reprezentowanego przez dany stan na podproblemy, odrzucaniu części stanów i badaniu jedynie najbardziej obiecujących. Kolejne rozszczepienia mogą sprowadzić problem początkowy do problemu łatwego do rozwiązania. Zaprezentowany sposób rozwiązywania zadań jest nazywany metodą rozszczepiania i odrzucania (split-and-prune). W dziedzinie sztucznej inteligencji z powodu duŝych rozmiarów zadań, są stosowane analogiczne reguły postępowania, nazywane metodą generowania i testowania (generateand-test). Zamiast odrzucania stanów z pewnego zbioru, generuje się nowe stany i tylko część z nich wykorzystuje do dalszego badania. 3. Strategie przeszukiwania grafów Zadaniem strategii przeszukiwania jest wybór operatorów, określających gałęzie grafu przestrzeni stanów moŝliwe do wyboru podczas rozwiązywania danego problemu. Większość wyników teoretycznych dotyczących strategii przeszukiwania uzyskano dla drzew, a więc szczególnego typu grafów. Parametrami charakteryzującymi przeszukiwane grafy są: głębokość węzła, stopień rozgałęzienia węzła, stopień rozgałęzienia gałęzi. Dla zadań polegających na wyznaczeniu drogi lub drzewa rozwiązania najbardziej popularne są strategie iteracyjne. Konstruowanie takich strategii ma na celu w jak największym stopniu zmniejszyć liczbę badanych węzłów oraz zoptymalizować obszar pamięci przeznaczony na zapamiętanie stanów przejściowych. NajwaŜniejszymi kryteriami przy porównywaniu strategii są: jakość wyznaczonego rozwiązania, koszt obliczeniowy i obszar pamięci wymagany przez strategię. RozróŜniamy dwie grupy strategii przeszukiwania: ślepe oraz skierowane, czyli tzw. heurystyczne. W pierwszej grupie strategii nie wykorzystuje się informacji o zadaniu, dzięki czemu mają one charakter uniwersalny. W drugiej grupie uwzględnia się informację o przestrzeni stanów, operatorach i kryteriach celu. W strategiach ślepych porządek przeszukiwania zaleŝy wyłącznie od informacji dostarczanych przez juŝ zbadane węzły grafu i sam proces przeszukiwania. Z kolei strategie heurystyczne umoŝliwiają w pewnej mierze uwzględnianie informacji o nie zbadanej jeszcze części grafu. W szczególności przy wyborze najbardziej obiecujących kierunków moŝe być przydatna wiedza o dziedzinie danego problemu oraz charakterystyce poszukiwanych węzłów celu Strategia A* Podstawowym algorytmem przeszukiwania przestrzeni stanów wykorzystującym heurystyki jest algorytm A*. W algorytmie tym zakłada się, Ŝe dla danego problemu dana jest pewna dodatkowa funkcja heurystyczna h działająca na zbiorze węzłów (stanów). Wartość h(n) stanowi oszacowanie odległości węzła n do węzła docelowego, przy czym oszacowanie to jest optymistyczne, tzn. faktyczna odległość węzła n do węzła docelowego nie moŝe być mniejsza od h(n). Ponadto funkcja h(n) powinna być łatwa do wyliczenia.

4 Przyjmijmy następujące oznaczenia: - S - zbiór węzłów (stanów), - g(n) - odległość węzła n od węzła startowego (przez odległość rozumiemy sumę kosztów łuków), - h(n) - funkcja heurystyczna, - h*(n) - faktyczna odległość węzła n do węzła docelowego, - f(n) = g(n)+h(n) - szacowana długość najkrótszej ścieŝki rozwiązania przechodzącej przez węzeł n. Zgodnie z załoŝeniem, h(n) <= h*(n) (ta waŝna własność nosi nazwę "dopuszczalności", ang. admissibility). Działanie algorytmu A* Pojedynczy krok polega na rozwinięciu wybranego węzła przestrzeni stanów. W kaŝdym kroku zbiór węzłów S dzieli się na trzy rozłączne podzbiory: zbiór węzłów juŝ rozwiniętych - E, zbiór węzłów przeznaczonych do rozwinięcia ("kontur") - C, pozostałe, jeszcze "nieodwiedzone" węzły. KaŜdy krok składa się z następujących czynności: a) niech v będzie węzłem konturu (zbioru C), dla którego wartość g(n)+h(n) jest najmniejsza, b) jeśli v jest węzłem docelowym, zakończ działanie, c) przenieś v ze zbioru C do zbioru E, d) do zbioru C dodaj te wszystkie następniki węzła v, które albo nie naleŝą do E, albo naleŝą do E, ale ścieŝka przechodząca przez v jest krótsza niŝ wcześniej znaleziona ścieŝka (w drugim przypadku usuń taki węzeł ze zbioru E). Funkcja heurystyczna f(w) w strategii A* jest sumą dwóch składników: F(w)=h(w)+g(w) WyraŜenie to oznacza, Ŝe dla danego węzła w jest wyznaczana najpierw w sposób heurystyczny estymacja h(w) kosztu drogi łączącej węzeł w z węzłem celu. Następnie wyznacza się dla węzła w koszt drogi łączącej węzeł początkowy p z węzłem w, co reprezentuje składnik g(w). Pomocą w przeszukiwaniu drzewa stanów jest równieŝ funkcja heurystyczna, określająca jakość aktualnego węzła. Funkcja heurystyczna powinna w tym przypadku uwzględnić w swej ocenie zarówno przybliŝoną odległość od węzła celu, koszt drogi od węzła początkowego do węzła aktualnego, jak i złoŝoność procesu obliczeniowego. Dla tego konkretnego algorytmu najwaŝniejsze są długość drogi w grafie oraz przybliŝona odległość od celu. Algorytm A* z iteracyjnym pogłębianiem słuŝy do znajdowania najlepszego istniejącego rozwiązania. Algorytm A* z iteracyjnym pogłębianiem realizuje schemat algorytmu w głąb dla kolejnych iteracji z przyjętą wartością progu, dotyczącego wartości funkcji heurystycznych. JeŜeli wartość funkcji heurystycznej badanego węzła jest większa od zadanego progu, to następuje powrót. W jednej iteracji są badane wszystkie węzły z wartością funkcji heurystycznej mniejszą od zadanego progu; w kolejnych iteracjach algorytmu próg ten jest zwiększany. Zaletą algorytmu A* z iteracyjnym pogłębianiem w porównaniu z tradycyjnym algorytmem A* jest zmniejszenie wymagań dotyczących pamięci komputera.

5 3.2. Najpierw najlepszy Strategia najpierw najlepszy (best-first) wykorzystuje pewną informacje heurystyczną związaną z rozwiązywaniem problemem do zminimalizowania kosztów przeszukiwania. W tym celu stosuje się pewną funkcję heurystyczną, która wyraŝa ocenę węzła ze względu na następujące kryteria: 1. zbieŝność, czyli osiągnięcia celu; 2. najmniejszego kosztu drogi wyznaczonej od węzła początkowego, przez węzeł w, do węzła końcowego; 3. najmniejszej złoŝoności obliczeniowej procesu przeszukiwania. Do dalszego rozszerzania wybieramy najlepszy węzeł spośród wszystkich węzłów rozpatrywanych do tej pory, nie zaleŝnie od ich połoŝenia w grafie. Przyjmujemy, Ŝe węzeł najbardziej obiecujący ma najmniejsza wartość funkcji heurystycznej. Działanie strategii najpierw najlepszy moŝna przedstawić na podstawie przykładu tzw. pięciu hetmanów. Zadanie to polega na odpowiednim ustawieniu np. pięciu hetmanów na szachownicy o wymiarach 5x5, przy czym Ŝaden z hetmanów nie moŝe atakować innego. Graf w przestrzeni stanów jest generowany zaczynając od stanu początkowego, który odpowiada pustej szachownicy. Hetmani są umieszczani w kolejnych wierszach o numerach od 1 do 5. Węzły na kaŝdym poziomie drzewa reprezentują moŝliwe pozycje hetmanów w kolejnych wierszach. Do oceny aktualnej pozycji jest wykorzystywana funkcja heurystyczna f. Jej wartość moŝe być wyznaczona w róŝny sposób, np. jest to minimalna liczba nie atakowanych pól w wolnych wierszach (pozycja jest bardziej obiecująca, gdy liczba ta jest większa). NajwaŜniejszą operacją, odróŝniającą strategię najpierw najlepszy od wcześniej omawianych algorytmów, jest uporządkowanie listy (zawierającej węzły grafu przestrzeni stanów z niewykorzystanymi krawędziami) według wartości funkcji heurystycznej. Rozszerzenie węzłów jest dokonywane, podobnie jak w strategii w głąb, przez ekspansję, czyli generowanie wszystkich potomków. 4. Wyznaczanie funkcji heurystycznych Aby proces przeszukiwania heurystycznego mógł być efektywnie przeprowadzony przez komputer, naleŝy opracować prostą metodę wyznaczenia funkcji heurystycznej. Jeśli problem moŝna formalnie zapisać w postaci zadania przeszukiwania, to istnieje prosta metoda generowania funkcji heurystycznych. Metoda polega na uproszczeniu zadania (np. dodanie lub eliminacja operatorów) tak, by w powstałym zadaniu koszt wyznaczenia rozwiązania był niewielki. Następnie dla zadań częściowych wykonywany jest algorytm rozwiązujący zadanie uproszczone. Koszt wykonania algorytmu dla zadania uproszczonego jest szukanym oszacowaniem heurystycznym. Sposób wyznaczania funkcji heurystycznej zilustrujemy przykładem układanki gra w ósemkę. Zasady tej układanki są następujące: dany jest 9-polowy kwadrat z ośmioma płytkami; płytki moŝna przesuwać na wolne pole (z pól sąsiednich w pionie i w poziomie); celem jest ustawienie płytek w Ŝądanej kolejności. Formalnie taką układankę moŝna opisać za pomocą notacji rachunku predykatów. Wystarczą trzy następujące predykaty: Miejsce(x,y)-płytka x na miejscu y Puste(y)- miejsce y puste Sd(y,x)- y jest sąsiadem x

6 Opis aktualnego stanu układanki uzyskamy podając odpowiednie warunki dla wszystkich płytek. Zasada przesunięcia płytki x z miejsca y na miejsce z składa się z trzech części: a. warunki zastosowania: miejsce (x,y) puste (y) sd(y,z) b. stan do dodania: miejsce (x,z) puste (y) c. stan do usunięcia: miejsce (x,y) puste (z) JeŜeli z warunków wstępnych usuniemy predykaty puste oraz sd, to otrzymamy układankę, w której płytki mogą być zamienione miejscami bez Ŝadnych ograniczeń. Z kolei jeŝeli z warunków wstępnych usuniemy predykat puste, to otrzymamy układankę, w której płytki mogą być zamieniane miejscami. W przypadku usunięcia predykatu sd otrzymamy układankę, w której płytki mogą być przesuwne na wolne pole z dowolnego połoŝenia. Rozwiązanie tych uproszczonych zadań moŝe posłuŝyć do wyznaczenia estymacji heurystycznej stanów oryginalnej gry w ósemkę. Zadanie bez predykatów puste i sd wyznacza funkcję heurystyczną, której wartością jest liczba płytek w połoŝeniu róŝnym od docelowego. Zadanie bez predykatu puste generuje funkcje heurystyczną, której wartością jest suma odległości w pionie i w poziomie płytek od ich docelowego połoŝenia. Zadanie bez predykatu sd określa funkcję heurystyczną, której wartością jest suma poprzednio opisanych odległości oraz odległości skośnej płytek od ich docelowego połoŝenia. Przykład rozwiązywania 8-ki metodą A* źródło: f(n) = g(n) + h(n) g(n) - odległość od startu do stanu n. h(n) - liczba elementów na złym miejscu.

7 Zadania rozwiązywane przez strategie przeszukiwania Praktyczne problemy rozwiązywane przez strategie przeszukiwania moŝna podzielić na trzy grupy: wyznaczanie drogi lub drzewa w grafie, gry dwuosobowe, problemy spełniające zadane ograniczenia. Wyznaczanie drogi lub drzewa rozwiązania Jednym z podstawowych sposobów reprezentacji problemów praktycznych jest skonstruowanie przestrzeni rozwiązania jako grafu. Węzły grafu reprezentują stany. Krawędzie oznaczają operatory odwzorowujące jedne stany przestrzeni stanów na inne stany tej przestrzeni. JeŜeli zadanie polega na znalezieniu ciągu operatorów przekształcających jeden wyróŝniony stan (stan początkowy) w inny z wyróŝnionych stanów (stan końcowy), to w odpowiadającym temu zadaniu grafie mamy do czynienia z problemem wyznaczania drogi z węzła początkowego do węzła celu. Zadaniem strategii przeszukiwania jest wybór operatorów krawędzi moŝliwych dla danego stanu węzła. Gry dwuosobowe Gry w dalszym ciągu stanowią doskonałą metodę badania róŝnych aspektów ludzkiej inteligencji. Przykładowo szachy charakteryzują się stosunkowo niewielką liczbą moŝliwych posunięć (w danym stanie gry), małym zbiorem dobrze zdefiniowanych reguł opisujących zasady gry, pełną informacją w kaŝdym stanie gry. PowyŜsze cechy dają moŝliwość znalezienia rozwiązania z wykorzystaniem heurystycznych strategii przeszukiwania. Problemy spełnienia ograniczeń Wiele problemów praktycznych moŝna modelować następująco: zdefiniowany jest zbiór zmiennych, zbiory wartości tych zmiennych oraz zbiory ograniczeń zmiennych. Proste ograniczenia określają podzbiór wszystkich moŝliwych wartości zmiennej. Ograniczenia binarne określają jakie pary wartości dwóch zmiennych są moŝliwe. Literatura: 1. Leonard Bolc, Jerzy Cytowski Metody przeszukiwania heurystycznego, Warszawa Wykład mgr Filipa Gralińskiego Sztuczna Inteligencja 3. Wykłady prof. Włodzisława Ducha: Szukanie heurystyczne I i II

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA SZTUCZNA INTELIGENCJA WYKŁAD 12. PRZESZUKIWANIE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska ROZWIĄZYWANIE PROBLEMÓW JAKO PRZESZUKIWANIE Istotną rolę podczas

Bardziej szczegółowo

Heurystyki. Strategie poszukiwań

Heurystyki. Strategie poszukiwań Sztuczna inteligencja Heurystyki. Strategie poszukiwań Jacek Bartman Zakład Elektrotechniki i Informatyki Instytut Techniki Uniwersytet Rzeszowski DLACZEGO METODY PRZESZUKIWANIA? Sztuczna Inteligencja

Bardziej szczegółowo

Heurystyczne metody przeszukiwania

Heurystyczne metody przeszukiwania Heurystyczne metody przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Pojęcie heurystyki Metody heurystyczne są jednym z ważniejszych narzędzi sztucznej inteligencji.

Bardziej szczegółowo

Rozwiązywanie problemów metodą przeszukiwania

Rozwiązywanie problemów metodą przeszukiwania Rozwiązywanie problemów metodą przeszukiwania Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Reprezentacja problemu w przestrzeni stanów Jedną z ważniejszych metod sztucznej

Bardziej szczegółowo

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, w głąb. Spis treści: 1. Wprowadzenie 3. str. 1.1 Krótki Wstęp

Bardziej szczegółowo

Metody przeszukiwania

Metody przeszukiwania Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania

Bardziej szczegółowo

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 9 PRZESZUKIWANIE GRAFÓW Z

Bardziej szczegółowo

Wstęp do Sztucznej Inteligencji

Wstęp do Sztucznej Inteligencji Wstęp do Sztucznej Inteligencji Rozwiązywanie problemów-i Joanna Kołodziej Politechnika Krakowska Wydział Fizyki, Matematyki i Informatyki Rozwiązywanie problemów Podstawowe fazy: Sformułowanie celu -

Bardziej szczegółowo

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe

ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE ĆWICZENIE 1: Przeszukiwanie grafów cz. 1 strategie ślepe opracował:

Bardziej szczegółowo

Znajdowanie wyjścia z labiryntu

Znajdowanie wyjścia z labiryntu Znajdowanie wyjścia z labiryntu Zadanie to wraz z problemem pakowania najcenniejszego plecaka należy do problemów optymalizacji, które dotyczą znajdowania najlepszego rozwiązania wśród wielu możliwych

Bardziej szczegółowo

Planowanie drogi robota, algorytm A*

Planowanie drogi robota, algorytm A* Planowanie drogi robota, algorytm A* Karol Sydor 13 maja 2008 Założenia Uproszczenie przestrzeni Założenia Problem planowania trasy jest bardzo złożony i trudny. W celu uproszczenia problemu przyjmujemy

Bardziej szczegółowo

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: Rekurencje Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: T(n) = Θ(1) (dla n = 1) T(n) = 2 T(n/2) + Θ(n) (dla n

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie

Bardziej szczegółowo

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących

Bardziej szczegółowo

LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne

LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne

Bardziej szczegółowo

Podstawy Sztucznej Inteligencji (PSZT)

Podstawy Sztucznej Inteligencji (PSZT) Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Przeszukiwanie Przeszukiwanie przestrzeni stanów Motywacja Rozwiązywanie problemów: poszukiwanie sekwencji operacji prowadzącej do celu poszukiwanie

Bardziej szczegółowo

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany. Przedstawiamy algorytmy porządkowania dowolnej liczby elementów, którymi mogą być liczby, jak również elementy o bardziej złożonej postaci (takie jak słowa i daty). Porządkowanie, nazywane również często

Bardziej szczegółowo

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ. Gramatyki grafowe Def. Nieskierowany NL-graf (etykietowane wierzchołki) jest czwórką g = (V, E, Σ, ϕ), gdzie: V niepusty zbiór wierzchołków, E V V zbiór krawędzi, Σ - skończony, niepusty alfabet etykiet

Bardziej szczegółowo

Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, wgłąb

Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, wgłąb POLITECHNIKA WROCŁAWSKA WYDZIAŁ ELEKTRONIKI INFORMATYKA SYSTEMÓW AUTONOMICZNYCH Przeszukiwanie przestrzeni rozwiązań, szukanie na ślepo, wszerz, wgłąb AUTOR: Krzysztof Górski Indeks: 133247 e-mail: 133247@student.pwr.wroc.pl

Bardziej szczegółowo

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ). Algorytm A* Opracowanie: Joanna Raczyńska 1.Wstęp Algorytm A* jest heurystycznym algorytmem służącym do znajdowania najkrótszej ścieżki w grafie. Jest to algorytm zupełny i optymalny, co oznacza, że zawsze

Bardziej szczegółowo

Wprowadzenie do Sztucznej Inteligencji

Wprowadzenie do Sztucznej Inteligencji Wprowadzenie do Sztucznej Inteligencji Wykład Informatyka Studia InŜynierskie Przeszukiwanie przestrzeni stanów Przestrzeń stanów jest to czwórka uporządkowana [N,[, S, GD], gdzie: N jest zbiorem wierzchołków

Bardziej szczegółowo

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69

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

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First

Bardziej szczegółowo

Wyznaczanie strategii w grach

Wyznaczanie strategii w grach Wyznaczanie strategii w grach Dariusz Banasiak Katedra Informatyki Technicznej W4/K9 Politechnika Wrocławska Definicja gry Teoria gier i konstruowane na jej podstawie programy stanowią jeden z głównych

Bardziej szczegółowo

ANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania:

ANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania: ANALIZA ALGORYTMÓW Analiza algorytmów polega między innymi na odpowiedzi na pytania: 1) Czy problem może być rozwiązany na komputerze w dostępnym czasie i pamięci? 2) Który ze znanych algorytmów należy

Bardziej szczegółowo

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD V: Agent wciąż szuka rozwiązania (choć już nie na ślepo)

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD V: Agent wciąż szuka rozwiązania (choć już nie na ślepo) Elementy kognitywistyki II: Sztuczna inteligencja WYKŁAD V: Agent wciąż szuka rozwiązania (choć już nie na ślepo) Poprzednio: węzeł reprezentowany jest jako piątka: stan odpowiadający węzłowi rodzic węzła

Bardziej szczegółowo

Definicja pochodnej cząstkowej

Definicja pochodnej cząstkowej 1 z 8 gdzie punkt wewnętrzny Definicja pochodnej cząstkowej JeŜeli iloraz ma granicę dla to granicę tę nazywamy pochodną cząstkową funkcji względem w punkcie. Oznaczenia: Pochodną cząstkową funkcji względem

Bardziej szczegółowo

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, wprowadzenie Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu, w przepisie tym podaje się opis czynności, które trzeba wykonać, oraz dane, dla których algorytm będzie określony.

Bardziej szczegółowo

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Algorytmy wyznaczania centralności w sieci Szymon Szylko Algorytmy wyznaczania centralności w sieci Szymon Szylko Zakład systemów Informacyjnych Wrocław 10.01.2008 Agenda prezentacji Cechy sieci Algorytmy grafowe Badanie centralności Algorytmy wyznaczania centralności

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie

Bardziej szczegółowo

Wprowadzenie do Sztucznej Inteligencji

Wprowadzenie do Sztucznej Inteligencji Wprowadzenie do Sztucznej Inteligencji Wykład Informatyka Studia InŜynierskie Przeszukiwanie przestrzeni stanów Przestrzeń stanów jest to czwórka uporządkowana [N,, S, GD], gdzie: N jest zbiorem wierzchołków

Bardziej szczegółowo

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

Algorytmy mrówkowe. H. Bednarz. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne Algorytmy mrówkowe H. Bednarz Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne 13 kwietnia 2015 1 2 3 4 Przestrzeń poszukiwań Ograniczenia

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i struktury danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 5: Algorytmy

Bardziej szczegółowo

Luty 2001 Algorytmy (4) 2000/2001

Luty 2001 Algorytmy (4) 2000/2001 Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest

Bardziej szczegółowo

PODSTAWY SZTUCZNEJ INTELIGENCJI

PODSTAWY SZTUCZNEJ INTELIGENCJI Katedra Informatyki Stosowanej Politechnika Łódzka PODSTAWY SZTUCZNEJ INTELIGENCJI Laboratorium PROGRAMOWANIE SYSTEMÓW EKSPERTOWYCH Opracowanie: Dr hab. inŝ. Jacek Kucharski Dr inŝ. Piotr Urbanek Cel ćwiczenia

Bardziej szczegółowo

Układy równań liniowych. Ax = b (1)

Układy równań liniowych. Ax = b (1) Układy równań liniowych Dany jest układ m równań z n niewiadomymi. Liczba równań m nie musi być równa liczbie niewiadomych n, tj. mn. a a... a b n n a a... a b n n... a a... a b m m mn n m

Bardziej szczegółowo

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ Opis działania raportów w ClearQuest Historia zmian Data Wersja Opis Autor 2008.08.26 1.0 Utworzenie dokumentu. Wersja bazowa dokumentu. 2009.12.11 1.1

Bardziej szczegółowo

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska DRZEWO REGRESYJNE Sposób konstrukcji i przycinania

Bardziej szczegółowo

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI POLITECHNIKA WARSZAWSKA WYDZIAŁ MECHANICZNY ENERGETYKI I LOTNICTWA MEL WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI NS 586 Dr inż. Franciszek Dul 5. ROZWIĄZYWANIE PROBLEMÓW Z OGRANICZENIAMI Problemy z ograniczeniami

Bardziej szczegółowo

Podstawy sztucznej inteligencji

Podstawy sztucznej inteligencji wykład 2 Strategie przeszukiwania - ślepe i heurystyczne 27 październik 2011 Plan wykładu 1 Strategie czyli jak znaleźć rozwiązanie problemu Jak wykonać przeszukiwanie Przeszukiwanie przestrzeni stanów

Bardziej szczegółowo

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,

Bardziej szczegółowo

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne

ĆWICZENIE 1: Przeszukiwanie grafów strategie heurystyczne Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny, Politechnika Śląska www.imio.polsl.pl METODY HEURYSTYCZNE studia niestacjonarne ĆWICZENIE 1: Przeszukiwanie grafów strategie

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 03/0 Przeszukiwanie w głąb i wszerz I Przeszukiwanie metodą

Bardziej szczegółowo

a) 7 b) 19 c) 21 d) 34

a) 7 b) 19 c) 21 d) 34 Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie

Bardziej szczegółowo

Podstawy sztucznej inteligencji

Podstawy sztucznej inteligencji wykład II Problem solving 03 październik 2012 Jakie problemy możemy rozwiązywać? Cel: Zbudować inteligentnego agenta planującego, rozwiązującego problem. Szachy Kostka rubika Krzyżówka Labirynt Wybór trasy

Bardziej szczegółowo

Efektywność algorytmów

Efektywność algorytmów Efektywność algorytmów Algorytmika Algorytmika to dział informatyki zajmujący się poszukiwaniem, konstruowaniem i badaniem własności algorytmów, w kontekście ich przydatności do rozwiązywania problemów

Bardziej szczegółowo

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości. elacja chemat relacji chemat relacji jest to zbiór = {A 1,..., A n }, gdzie A 1,..., A n są artybutami (nazwami kolumn) np. Loty = {Numer, kąd, Dokąd, Odlot, Przylot} KaŜdemu atrybutowi A przyporządkowana

Bardziej szczegółowo

INWENTARYZACJA W PROGRAMIE INTEGRA

INWENTARYZACJA W PROGRAMIE INTEGRA INWENTARYZACJA W PROGRAMIE INTEGRA Niniejszy dokument przedstawia zasady przeprowadzania Inwentaryzacji w programie Integra. Przydatną funkcją jest moŝliwość tworzenia arkuszy inwentaryzacyjnych wykorzystywanych

Bardziej szczegółowo

Efektywna metoda sortowania sortowanie przez scalanie

Efektywna metoda sortowania sortowanie przez scalanie Efektywna metoda sortowania sortowanie przez scalanie Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Metoda dziel i zwycięŝaj Dzielimy

Bardziej szczegółowo

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem

Bardziej szczegółowo

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je. Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 4a: Rozwiązywanie rekurencji http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Czas działania programu Dla konkretnych

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

Algorytmy sztucznej inteligencji

Algorytmy sztucznej inteligencji www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego

Bardziej szczegółowo

Suma dwóch grafów. Zespolenie dwóch grafów

Suma dwóch grafów. Zespolenie dwóch grafów Suma dwóch grafów G 1 = ((G 1 ), E(G 1 )) G 2 = ((G 2 ), E(G 2 )) (G 1 ) i (G 2 ) rozłączne Suma G 1 G 2 graf ze zbiorem wierzchołków (G 1 ) (G 2 ) i rodziną krawędzi E(G 1 ) E(G 2 ) G 1 G 2 G 1 G 2 Zespolenie

Bardziej szczegółowo

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles). Wykład 1 1-1 Informatyka nauka zajmująca się zbieraniem, przechowywaniem i przetwarzaniem informacji. Informacja obiekt abstrakcyjny, który w postaci zakodowanej moŝe być przechowywany, przesyłany, przetwarzany

Bardziej szczegółowo

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb.

1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. 1. Algorytmy przeszukiwania. Przeszukiwanie wszerz i w głąb. Algorytmy przeszukiwania w głąb i wszerz są najczęściej stosowanymi algorytmami przeszukiwania. Wykorzystuje się je do zbadania istnienia połączenie

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. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy

Bardziej szczegółowo

Programowanie deklaratywne

Programowanie deklaratywne Programowanie deklaratywne Artur Michalski Informatyka II rok Plan wykładu Wprowadzenie do języka Prolog Budowa składniowa i interpretacja programów prologowych Listy, operatory i operacje arytmetyczne

Bardziej szczegółowo

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A

Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Ćwiczenie 1 Planowanie trasy robota mobilnego w siatce kwadratów pól - Algorytm A Zadanie do wykonania 1) Utwórz na pulpicie katalog w formacie Imię nazwisko, w którym umieść wszystkie pliki związane z

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa

Bardziej szczegółowo

Program do obsługi ubezpieczeń minifort

Program do obsługi ubezpieczeń minifort Program do obsługi ubezpieczeń minifort Dokumentacja uŝytkownika Rozliczanie z TU Kraków, grudzień 2008r. Rozliczanie z TU Pod pojęciem Rozliczenie z Towarzystwem Ubezpieczeniowym będziemy rozumieć ogół

Bardziej szczegółowo

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1 Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1 G. Wybrane elementy teorii grafów W matematyce teorię grafów klasyfikuje się jako gałąź topologii. Jest ona jednak ściśle związana z algebrą i

Bardziej szczegółowo

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 Wykład 8 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279 sformułowanie problemu przegląd drzewa poszukiwań przykłady problemów wybrane narzędzia programistyczne J. Cichoń, P. Kobylański

Bardziej szczegółowo

Programowanie dynamiczne i algorytmy zachłanne

Programowanie dynamiczne i algorytmy zachłanne Programowanie dynamiczne i algorytmy zachłanne Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii

Bardziej szczegółowo

Ogólne wiadomości o grafach

Ogólne wiadomości o grafach Ogólne wiadomości o grafach Algorytmy i struktury danych Wykład 5. Rok akademicki: / Pojęcie grafu Graf zbiór wierzchołków połączonych za pomocą krawędzi. Podstawowe rodzaje grafów: grafy nieskierowane,

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

Bardziej szczegółowo

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY ERIAŁY DO WYKŁADU GRAFY Graf nieskierowany Grafem nieskierowanym nazywamy parę G = (V, E), gdzie V jest pewnym zbiorem skończonym (zwanym zbiorem wierzchołków grafu G), natomiast E jest zbiorem nieuporządkowanych

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

Matematyka dyskretna dla informatyków

Matematyka dyskretna dla informatyków Matematyka dyskretna dla informatyków Część I: Elementy kombinatoryki Jerzy Jaworski Zbigniew Palka Jerzy Szymański Uniwersytet im. Adama Mickiewicza Poznań 2007 4 Zależności rekurencyjne Wiele zależności

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

Schemat programowania dynamicznego (ang. dynamic programming)

Schemat programowania dynamicznego (ang. dynamic programming) Schemat programowania dynamicznego (ang. dynamic programming) Jest jedną z metod rozwiązywania problemów optymalizacyjnych. Jej twórcą (1957) był amerykański matematyk Richard Ernest Bellman. Schemat ten

Bardziej szczegółowo

Wybrane podstawowe rodzaje algorytmów

Wybrane podstawowe rodzaje algorytmów Wybrane podstawowe rodzaje algorytmów Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych

Bardziej szczegółowo

Zaawansowane programowanie

Zaawansowane programowanie Zaawansowane programowanie wykład 3: inne heurystyki prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Heurystyką nazywamy algorytm (metodę) zwracający rozwiązanie przybliżone.

Bardziej szczegółowo

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych. Grafy Graf Graf (ang. graph) to zbiór wierzchołków (ang. vertices), które mogą być połączone krawędziami (ang. edges) w taki sposób, że każda krawędź kończy się i zaczyna w którymś z wierzchołków. Graf

Bardziej szczegółowo

Elementy modelowania matematycznego

Elementy modelowania matematycznego Elementy modelowania matematycznego Modelowanie algorytmów klasyfikujących. Podejście probabilistyczne. Naiwny klasyfikator bayesowski. Modelowanie danych metodą najbliższych sąsiadów. Jakub Wróblewski

Bardziej szczegółowo

SZTUCZNA INTELIGENCJA

SZTUCZNA INTELIGENCJA Instytut Automatyki, Robotyki i Informatyki Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis Literatura SZTUCZNA INTELIGENCJA Modelowanie problemów za

Bardziej szczegółowo

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 (12p.)Niech n 3k > 0. Zbadać jaka jest najmniejsza możliwa liczba krawędzi w grafie, który ma dokładnie n wierzchołków oraz dokładnie k składowych, z których

Bardziej szczegółowo

Technologia informacyjna Algorytm Janusz Uriasz

Technologia informacyjna Algorytm Janusz Uriasz Technologia informacyjna Algorytm Janusz Uriasz Algorytm Algorytm - (łac. algorithmus); ścisły przepis realizacji działań w określonym porządku, system operacji, reguła komponowania operacji, sposób postępowania.

Bardziej szczegółowo

10. Wstęp do Teorii Gier

10. Wstęp do Teorii Gier 10. Wstęp do Teorii Gier Definicja Gry Matematycznej Gra matematyczna spełnia następujące warunki: a) Jest co najmniej dwóch racjonalnych graczy. b) Zbiór możliwych dezycji każdego gracza zawiera co najmniej

Bardziej szczegółowo

Spis treści. I. Czym jest Indeks Haseł 3 II. Wyszukiwanie hasła 4. 1) Alfabetyczna lista haseł 4 2) Wyszukiwarka haseł 4 3) Grupy haseł 6

Spis treści. I. Czym jest Indeks Haseł 3 II. Wyszukiwanie hasła 4. 1) Alfabetyczna lista haseł 4 2) Wyszukiwarka haseł 4 3) Grupy haseł 6 Spis treści I. Czym jest Indeks Haseł 3 II. Wyszukiwanie hasła 4 1) Alfabetyczna lista haseł 4 2) Wyszukiwarka haseł 4 3) Grupy haseł 6 III. Dokumenty powiązane z wybranym hasłem 7 IV. Moje hasła 10 1)

Bardziej szczegółowo

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach

Bardziej szczegółowo

P r a w d o p o d o b i eństwo Lekcja 1 Temat: Lekcja organizacyjna. Program. Kontrakt.

P r a w d o p o d o b i eństwo Lekcja 1 Temat: Lekcja organizacyjna. Program. Kontrakt. P r a w d o p o d o b i eństwo Lekcja 1 Temat: Lekcja organizacyjna. Program. Kontrakt. Lekcja 2 Temat: Podstawowe pojęcia związane z prawdopodobieństwem. Str. 10-21 1. Doświadczenie losowe jest to doświadczenie,

Bardziej szczegółowo

Metody numeryczne Wykład 4

Metody numeryczne Wykład 4 Metody numeryczne Wykład 4 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Metody skończone rozwiązywania

Bardziej szczegółowo

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów.

Rekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów. Rekurencja Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów. Zgodnie ze znaczeniem informatycznym algorytm rekurencyjny to taki który korzysta z samego

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 2 2 Problemy algorytmiczne Klasy problemów algorytmicznych Liczby Fibonacciego Przeszukiwanie tablic Największy

Bardziej szczegółowo

TEORIA GRAFÓW I SIECI

TEORIA GRAFÓW I SIECI TEORIA GRAFÓW I SIECI Temat nr : Grafy Berge a dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 6-83-95-0, p.5/00 Zakład Badań Operacyjnych i

Bardziej szczegółowo

Rachunek prawdopodobieństwa projekt Ilustracja metody Monte Carlo obliczania całek oznaczonych

Rachunek prawdopodobieństwa projekt Ilustracja metody Monte Carlo obliczania całek oznaczonych Rachunek prawdopodobieństwa projekt Ilustracja metody Monte Carlo obliczania całek oznaczonych Autorzy: Marta Rotkiel, Anna Konik, Bartłomiej Parowicz, Robert Rudak, Piotr Otręba Spis treści: Wstęp Cel

Bardziej szczegółowo

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV Algorytmy grafowe Wykład 1 Podstawy teorii grafów Reprezentacje grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów

Bardziej szczegółowo

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD III: Problemy agenta Elementy kognitywistyki II: Sztuczna inteligencja WYKŁAD III: Problemy agenta To już było: AI to dziedzina zajmująca się projektowaniem agentów Określenie agenta i agenta racjonalnego Charakterystyka PAGE

Bardziej szczegółowo

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Bazy danych Wykład 3: Model związków encji. dr inż. Magdalena Krakowiak makrakowiak@wi.zut.edu.pl Co to jest model związków encji? Model związków

Bardziej szczegółowo

Metody numeryczne w przykładach

Metody numeryczne w przykładach Metody numeryczne w przykładach Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń Regionalne Koło Matematyczne 8 kwietnia 2010 r. Bartosz Ziemkiewicz (WMiI UMK) Metody numeryczne w przykładach

Bardziej szczegółowo

Zadanie 1: Piętnastka

Zadanie 1: Piętnastka Informatyka, studia dzienne, inż. I st. semestr VI Sztuczna Inteligencja i Systemy Ekspertowe 2010/2011 Prowadzący: mgr Michał Pryczek piątek, 12:00 Data oddania: Ocena: Grzegorz Graczyk 150875 Marek Rogalski

Bardziej szczegółowo

OPTYMALIZACJA W LOGISTYCE

OPTYMALIZACJA W LOGISTYCE OPTYMALIZACJA W LOGISTYCE Optymalizacja zadań bazy transportowej ( część 1 ) Opracowano na podstawie : Stanisław Krawczyk, Metody ilościowe w logistyce ( przedsiębiorstwa ), Wydawnictwo C. H. Beck, Warszawa

Bardziej szczegółowo

PRZEDMIOTOWE ZASADY OCENIANIA I WYMAGANIA EDUKACYJNE Z MATEMATYKI Klasa 3

PRZEDMIOTOWE ZASADY OCENIANIA I WYMAGANIA EDUKACYJNE Z MATEMATYKI Klasa 3 PRZEDMIOTOWE ZASADY OCENIANIA I WYMAGANIA EDUKACYJNE Z MATEMATYKI Klasa 3 I. FUNKCJE grupuje elementy w zbiory ze względu na wspólne cechy wymienia elementy zbioru rozpoznaje funkcje wśród przyporządkowań

Bardziej szczegółowo

3. MINIMAX. Rysunek 1: Drzewo obrazujące przebieg gry.

3. MINIMAX. Rysunek 1: Drzewo obrazujące przebieg gry. 3. MINIMAX. Bardzo wygodną strukturą danych pozwalającą reprezentować stan i przebieg gry (szczególnie gier dwuosobowych) jest drzewo. Węzły drzewa reprezentują stan gry po wykonaniu ruchu przez jednego

Bardziej szczegółowo

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny

Bardziej szczegółowo

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4 KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:

Bardziej szczegółowo

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH Transport, studia I stopnia Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym

Bardziej szczegółowo