Adam Meissner SZTUCZNA INTELIGANCJA
|
|
- Anatol Józef Górski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl SZTUCZNA INTELIGANCJA Podstawy programowania z ograniczeniami Literatura [1] Apt K.R., Principles of Constraint Programming, Cambridge Univ. Press, [2] Van Roy P., Haridi S., Concepts, Techniques, and Models of Computer Programming, The MIT Press, Cambridge, USA, [3] Mozart Consortium, materiały dotyczące programowania w języku Oz,
2 Wprowadzenie (1) w metodyce programowania z ograniczeniami (ang. constraint proramming, CP) program jest opisem rozpatrywanego problemu (tzw. problemu CSP, ang. constraint satisfaction problem), mającym postać zbioru formuł logicznych (tzw. ograniczeń lub więzów) zawierających zmienne rozwiązaniem problemu CSP jest dowolne wartościowanie zmiennych spełniające wszystkie ograniczenia Przykład 1 Dany jest zbiór ograniczeń P, składający się z następujących elementów: (a) X::2#8, (b) Y::7#9, (c) X Y <: 29, (d) 2 X + Y >: 13. Przykładowym rozwiązaniem problemu opisanego przez zbiór P jest wartościowanie zmiennych: X = 3, Y = 8. 2
3 Wprowadzenie (2) Metody rozwiązywania problemu CSP metody specyficzne dziedzinowo, np.: algorytmy rozwiązywania układu równań liniowych implementacja algebry Boola metody ogólnego przeznaczenia, wykorzystujące: propagację i dystrybucję ograniczeń, algorytmy konstruowania drzewa poszukiwań Obszary zastosowań metodyki CP projektowanie układów elektronicznych badania operacyjne (problemy optymalizacji) metody numeryczne biologia obliczeniowa (np. partycjonowanie DNA) ekonometria przetwarzanie języka naturalnego Dziedziny standardowe w systemach CP(.) FD - skończone zbiory nieujemnych liczb całkowitych FS - skończone zbiory, których elementami są dziedziny FD B - zbiór {0, 1} R - skończone zbiory liczb zmiennoprzecinkowych 3
4 Rozwiązywanie problemu CSP (1) Propagacja i dystrybucja ograniczeń rozwiązywanie problemu CSP tą metodą polega na naprzemiennym wykonywaniu na zbiorze ograniczeń dwóch działań, tj. propagacji oraz dystrybucji wykonywanie ww. operacji kończy się w przypadku znalezienia rozwiązania problemu lub uzyskania sprzecznego zbioru ograniczeń (tj. zbioru zawierającego formułę i jej negację) Własności propagacji operacja ta polega na sukcesywnym zawężaniu dziedzin zmiennych zgodnie z semantyką więzów w celu usunięcia elementów, z których nie można zbudować żadnego rozwiązania porządek kroków propagacji nie ma wpływu na wynik końcowy propagacja nie jest operacją wystarczającą do rozwiązania problemu CSP, zwiększa ona jednak efektywność procesu poszukiwania rozwiązania. Przykład 2 Na zbiorze ograniczeń z przykładu 1 można wykonać następujące kroki propagacji. 1. Ograniczyć dziedzinę zmiennej X do zbioru 2#4, gdyż liczby większe od 4 nie spełniają ograniczenia (c), nawet gdy zmienna Y przyjmuje możliwie najmniejszą wartość (tj. 7) 2. Ograniczyć dziedzinę zmiennej X do zbioru 3#4, gdyż liczba 2 nie spełnia ograniczenia (d), nawet gdy zmienna Y przyjmuje możliwie największą wartość (tj. 9) Żadne dalsze zawężanie dziedzin zmiennych nie jest możliwe. 4
5 Rozwiązywanie problemu CSP (2) Dystrybucja operacja ta polega na utworzeniu na podstawie danego zbioru więzów P nowych zbiorów więzów; najczęściej są to zbiory postaci P {F} oraz P { F} formuły F oraz F dzielą dziedzinę pewnej zmiennej na (dwa) rozłączne podzbiory, np. dla zmiennej X::2#8 rozpatrywane formuły mogą mieć postać X >:4 oraz X =<:4 strategia dystrybucji jest zbiorem reguł określających: którą ze zmiennych niezdeterminowanych (tj. zmiennych o dziedzinie liczniejszej niż 1) wybrać do dystrybucji w jaki sposób podzielić dziedzinę tej zmiennej na rozłączne podzbiory dystrybucja jest działaniem wystarczającym do rozwiązania problemu CSP, gdyż dziedzinę każdej zmiennej można stopniowo dzielić na coraz mniejsze podzbiory, aż w końcu zostaną wyznaczone wszystkie wartościowania zmiennych 5
6 Przestrzenie obliczeń w programowaniu z ograniczeniami (1) Pojęcia podstawowe ograniczenie podstawowe (ang. basic constraint) zmienna wraz z jej aktualną dziedziną (np. X::1#5), inne ograniczenia (o postaci formuł) to ograniczenia niepodstawowe skład więzów (ang. constraint store) zbiór ograniczeń podstawowych propagator agent odpowiadający danemu ograniczeniu niepodstawowemu, zadanie tego agenta polega na obserwowaniu składu więzów i wykonywaniu w odpowiednich okolicznościach propagacji stany propagatora: nadmiarowy (ang. entailed), gdy odpowiadające mu ograniczenie jest spełnione dla każdego wartościowania zmiennych z danego składu więzów, np. propagator odpowiadający ograniczeniu X <: 10 jest nadmiarowy, gdy skład więzów zawiera ograniczenie X::1#5 sprzeczny (ang. failed), gdy odpowiadające mu ograniczenie nie jest spełnione dla żadnego wartościowania zmiennych z danego składu więzów, np. propagator od-powiadający ograniczeniu X <: 10 jest sprzeczny, gdy skład więzów zawiera ograniczenie X::50#100 stabilny (ang. stable), gdy propagator jest sprzeczny lub gdy nie może ograniczyć dziedziny żadnej zmiennej, np. propagatory odpowiadające ograniczeniom (c) i (d) w przykładzie 2 stają się stabilne po wykonaniu drugiego kroku propagacji 6
7 Przestrzenie obliczeń w programowaniu z ograniczeniami (2) Pojęcia podstawowe przestrzeń obliczeń (ang. computation space) skład więzów wraz z przyporządkowanymi mu propagatorami dystrybutor (ang. distributor) agent, którego zadanie polega na obserwowaniu przestrzeni obliczeń i wykonywaniu w odpowiednich okolicznościach dystrybucji, wg. zadanej strategii stany przestrzeni obliczeń: rozwiązana (ang. solved), gdy każdy jej propagator jest nadmiarowy; wówczas dowolne wartościowanie zmiennych nad ich dziedzinami jest rozwiązaniem rozpatrywanego problemu sprzeczna, gdy co najmniej jeden z jej propagatorów jest sprzeczny stabilna, gdy jest niesprzeczna i gdy każdy jej propagator jest stabilny drzewo poszukiwań (ang. search tree) drzewo, którego wierzchołkami są przestrzenie obliczeń a dowolne dwa wierzchołki są połączone krawędzią wtw. gdy wierzchołek potomny powstaje w wyniku dystrybucji wykonanej w wierzchołku rodzicielskim. 7
8 Przestrzenie obliczeń w programowaniu z ograniczeniami (3) Drzewo poszukiwań, strategie dystrybucji drzewo poszukiwań jest modelem obliczeń prowadzonych w toku rozwiązywania problemu CSP metodą propagacji i dystrybucji struktura drzewa poszukiwań jest określona przez strategię dystrybucji w systemach programowania CP (np. w systemie Mozart) definiuje się standardowe strategie dystrybucji, takie jak: naive dziedzinę dowolnie wybranej zmiennej X dzieli się na podzbiory za pomocą formuł X =: l oraz X \=: l, gdzie l jest najmniejszym elementem aktualnej dziedziny zmiennej X ff (ang. first fail) do dystrybucji wybiera się zmienną o najmniejszej dziedzinie w rozpatrywanym składzie więzów, zasada podziału dziedziny jest taka sama jak w przypadku strategii naive split do dystrybucji wybiera się zmienną X o najmniejszej dziedzinie w rozpatrywanym składzie więzów a podziału dziedziny dokonuje się za pomocą formuł X >: m oraz X =<: m, gdzie m jest środkowym elementem dziedziny aktualnej 8
9 Przestrzenie obliczeń w programowaniu z ograniczeniami (4) Przykład 3 Drzewo poszukiwań dla problemu CSP z przykładu 1; symbol X::n odpowiada ograniczeniu X::n#n. X :: 2#8 Y :: 7#9 X :: 3#4 Y :: 7#9 X = 3 X 3 X :: 3 Y :: 7#9 X :: 4 Y :: 7#9 X :: 3 Y :: 8#9 X :: 4 Y :: 7 solved solved Ograniczenia "niepodstawowe" z przykładu 1: X Y <: 29 2 X + Y >: 13 9
10 Programowanie z ograniczeniami w systemie Mozart (1) Ogólna postać programu proc {Script Sol} % deklaracje zmiennych in % specyfikacja więzów podstawowych % specyfikacja więzów "niepodstawowych" % specyfikacja strategii dystrybucji end Przykład 4 (wg [2, 3]) Program będący opisem problemu, polegającego na zna-lezieniu takiego przypisania cyfr literom występującym w słowach SEND + MORE = MONEY, aby uzyskać poprawne równanie. proc {Money Sol} S E N D M O R Y in Sol = sol(s:s e:e n:n d:d m:m o:o r:r y:y) Sol ::: 0#9 {FD.distinct Sol} S \=: 0 M \=: * S * E + 10 * N + D * M * O + 10 * R + E =: * M * O * N + 10 * E + Y {FD.distribute naive Sol} end 10
11 Programowanie z ograniczeniami w systemie Mozart (2) Wykonywanie programu wykonanie programu CP w środowisku Mozart polega na skonstruowaniu odpowiedniego drzewa poszukiwań strategia konstruowania drzewa poszukiwań (tj. strategia wykonania programu) nie ma wpływu na strukturę drzewa określoną przez strategię dystrybucji; oznacza to, że ten sam program CP może zostać poprawnie wykonany na wiele sposobów rodzaje strategii wykonywania programu: s. poszukujące jednego rozwiązania s. poszukujące wszystkich rozwiązań s. poszukujące rozwiązania najlepszego. Klasa Search do wykonywania programów CP służą silniki lub inaczej maszyny przeszukujące (ang. search engines); należą do nich obiekty klasy Search, które realizują różnorakie strategie konstruowania drzewa poszukiwań obiekty klasy Search tworzy się i uaktywnia za pomocą następujących instrukcji: {Search.base.one +Script?Xs} {Search.base.all +Script?Xs} {Search.base.one +Script +Order?Xs} gdzie parametry Script, Xs oraz Order oznaczają odpowiednio rozpatrywany program, poszukiwane rozwiązanie oraz kryterium wyznaczania rozwiązania najlepszego. 11
12 Programowanie z ograniczeniami w systemie Mozart (3) Klasa Search inny sposób wykonania programu polega na utworzeniu silnika ogólnego przeznaczenia (1) po czym wskazuje się akcję, którą obiekt ten ma wykonać (2) (1) E = {New Search.object script(+script)}, (2) {E [next(?xs) last(?xs) stop]}, metawyrażenie [next(?xs) last(?xs) stop] należy zastąpić jednym z jego elementów rozdzielonych znakiem ; akcje next, last oraz stop oznaczają odpowiednio poszukiwanie rozwiązania następnego, poszukiwanie rozwiązania ostatniego oraz zatrzymanie silnika, drzewo poszukiwań można konstruować współbieżnie; w tym celu należy utworzyć odpowiedni silnik (3) po czym wskazać rodzaj strategi poszukiwania rozwiązania, którą ma on realizować (4) (3) E = {New Search.parallel init(w1:1#ssh w2:2#rsh)}, (4) {E [one(pfun?xs) all(pfun?xs) best(pfun?xs)]}, wyrażenie init(w1:1#ssh w2:2#rsh) specyfikuje rozproszone środowisko obliczeniowe (patrz [3]) a symbol PFun oznacza funktor (patrz [2]), w którym należy umieścić program wg ogólnego schematu: functor PFun import % moduły biblioteczne, zawierające % wykorzystywane propagatory export +Script define % deklaracja procedury +Script end 12
Adam Meissner SZTUCZNA INTELIGANCJA
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGANCJA Podstawy programowania z ograniczeniami
Adam Meissner Instytut Automatyki, Robotyki i Inżynierii Informatycznej Politechniki Poznańskiej. Adam Meissner
Instytut Automatyki, Robotyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis PROGRAMOWANIE WIELOPARADYGMATOWE Wykład 1 Podstawy
CLP Programowanie logiczne z ograniczeniami.
CLP Programowanie logiczne z ograniczeniami. Wstęp Programowanie z ograniczeniami (Constraint Programming CP) stało się w ostatnich latach popularnym sposobem modelowania i rozwiązywania wielu problemów
Adam Meissner.
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGENCJA Podstawy logiki pierwszego rzędu
Adam Meissner. SZTUCZNA INTELIGENCJA Gry dwuosobowe
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGENCJA Gry dwuosobowe Literatura [1] Sterling
Metody Programowania
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 8: Wyszukiwanie
Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?
/9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów
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
Adam Meissner SZTUCZNA INTELIGENCJA Problem spełnialności (SAT)
Instytut Automatyki, Robotyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis SZTUCZNA INTELIGENCJA Problem spełnialności
O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ
O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ Jakie obiekty matematyczne nazywa się nieobliczalnymi? Jakie obiekty matematyczne nazywa się nieobliczalnymi? Najczęściej: a) liczby b) funkcje
Document: Exercise*02*-*manual /11/ :31---page1of8 INSTRUKCJA DO ĆWICZENIA NR 2
Document: Exercise*02*-*manual ---2014/11/12 ---8:31---page1of8 PRZEDMIOT TEMAT KATEDRA MECHANIKI STOSOWANEJ Wydział Mechaniczny POLITECHNIKA LUBELSKA INSTRUKCJA DO ĆWICZENIA NR 2 Wybrane zagadnienia z
Algorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Definicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
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
Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
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 danych
Semantyka rachunku predykatów
Relacje Interpretacja Wartość Spełnialność Logika obliczeniowa Instytut Informatyki Relacje Interpretacja Wartość Plan Plan Relacje O co chodzi? Znaczenie w logice Relacje 3 Interpretacja i wartościowanie
Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych
Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację
Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.
Plan Procedura decyzyjna Reguły α i β - algorytm Plan Procedura decyzyjna Reguły α i β - algorytm Logika obliczeniowa Instytut Informatyki 1 Procedura decyzyjna Logiczna konsekwencja Teoria aksjomatyzowalna
Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.
Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji. Maria Górska 9 stycznia 2010 1 Spis treści 1 Pojęcie algorytmu 3 2 Sposób
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
Poprawność semantyczna
Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych
Podstawy Programowania Algorytmy i programowanie
Podstawy Programowania Algorytmy i programowanie Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Algorytm Algorytm w matematyce, informatyce, fizyce, itp. lub innej dziedzinie życia,
Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne
Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na
Technologie informacyjne - wykład 12 -
Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski
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
Zagadnienie transportowe
9//9 Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów
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.
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
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
Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
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
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
Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny
Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady
Wstęp. Jak programować w DNA? Idea oraz przykład. Problem FSAT charakterystyka i rozwiązanie za pomocą DNA. Jak w ogólności rozwiązywać problemy
Ariel Zakrzewski Wstęp. Jak programować w DNA? Idea oraz przykład. Problem FSAT charakterystyka i rozwiązanie za pomocą DNA. Jak w ogólności rozwiązywać problemy matematyczne z użyciem DNA? Gdzie są problemy?
Problemy z ograniczeniami
Problemy z ograniczeniami 1 2 Dlaczego zadania z ograniczeniami Wiele praktycznych problemów to problemy z ograniczeniami. Problemy trudne obliczeniowo (np-trudne) to prawie zawsze problemy z ograniczeniami.
Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 2 PROGRAMOWANIE LINIOWE CAŁKOWITOLICZBOWE 2.2 Ćwiczenia komputerowe Ćwiczenie
Rozdział 1 PROGRAMOWANIE LINIOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.2 Ćwiczenia komputerowe Ćwiczenie 1.1 Wykorzystując
Programowanie liniowe
Programowanie liniowe Maciej Drwal maciej.drwal@pwr.wroc.pl 1 Problem programowania liniowego min x c T x (1) Ax b, (2) x 0. (3) gdzie A R m n, c R n, b R m. Oznaczmy przez x rozwiązanie optymalne, tzn.
Wprowadzenie do algorytmiki
Wprowadzenie do algorytmiki Pojecie algorytmu Powszechnie przyjmuje się, że algorytm jest opisem krok po kroku rozwiązania postawionego problemu lub sposób osiągnięcia jakiegoś celu. Wywodzi się z matematyki
Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
Semantyka rachunku predykatów pierwszego rzędu. Dziedzina interpretacji. Stałe, zmienne, funkcje. Logika obliczeniowa.
Logika obliczeniowa Instytut Informatyki 1 Interpretacja i wartościowanie Dziedzina interpretacji Interpretacja Wartościowanie 2 Wartość formuły Wartość termu Wartość logiczna formuły Własności 3 Logiczna
doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.
doc. dr Beata Pułska-Turyna Zakład Badań Operacyjnych Zarządzanie B506 mail: turynab@wz.uw.edu.pl mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505. Tel.: (22)55 34 144 Mail: student@pgadecki.pl
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze
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
Programowanie liniowe metoda sympleks
Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2012 Mirosław Sobolewski (UW) Warszawa, 2012 1 / 12
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 -
Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań
TABELA ODNIESIEŃ EFEKTÓW KSZTAŁCENIA OKREŚLONYCH DLA PROGRAMU KSZTAŁCENIA DO EFEKTÓW KSZTAŁCENIA OKREŚLONYCH DLA OBSZARU KSZTAŁCENIA I PROFILU STUDIÓW PROGRAM KSZTAŁCENIA: POZIOM KSZTAŁCENIA: PROFIL KSZTAŁCENIA:
UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH
Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać układu równań liniowych Układ liniowych równań algebraicznych
EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA
EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA POZIOM ROZSZERZONY FORMUŁA DO 2014 ( STARA MATURA ) ZASADY OCENIANIA ROZWIĄZAŃ ZADAŃ ARKUSZ MIN-R1,R2 MAJ 2018 Uwaga: Akceptowane są wszystkie odpowiedzi
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2013/14 Znajdowanie maksimum w zbiorze
ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI
Wstęp ZASTOSOWANIE PROGRAMOWANIA LINIOWEGO W ZAGADNIENIACH WSPOMAGANIA PROCESU PODEJMOWANIA DECYZJI Problem podejmowania decyzji jest jednym z zagadnień sterowania nadrzędnego. Proces podejmowania decyzji
Zapisywanie algorytmów w języku programowania
Temat C5 Zapisywanie algorytmów w języku programowania Cele edukacyjne Zrozumienie, na czym polega programowanie. Poznanie sposobu zapisu algorytmu w postaci programu komputerowego. Zrozumienie, na czym
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
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA I WSPOMAGANIA DECYZJI Rozproszone programowanie produkcji z wykorzystaniem
Projekt 4: Programowanie w logice
Języki Programowania Projekt 4: Programowanie w logice Środowisko ECL i PS e W projekcie wykorzystane będzie środowisko ECL i PS e. Dostępne jest ono pod adresem http://eclipseclp.org/. Po zainstalowaniu
Podstawy Sztucznej Inteligencji (PSZT)
Podstawy Sztucznej Inteligencji (PSZT) Paweł Wawrzyński Wnioskowanie logiczne i systemy eksperckie Systemy posługujące się logiką predykatów: część 3/3 Dzisiaj Uogólnienie Poprawność i pełność wnioskowania
Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................
Algorytmy zachłanne. dr inż. Urszula Gałązka
Algorytmy zachłanne dr inż. Urszula Gałązka Algorytm zachłanny O Dokonuje wyboru, który w danej chwili wydaje się najkorzystniejszy. O Mówimy, że jest to wybór lokalnie optymalny O W rzeczywistości nie
INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227
INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn
KIERUNKOWE EFEKTY KSZTAŁCENIA
WYDZIAŁ INFORMATYKI I ZARZĄDZANIA Kierunek studiów: INFORMATYKA Stopień studiów: STUDIA I STOPNIA Obszar Wiedzy/Kształcenia: OBSZAR NAUK TECHNICZNYCH Obszar nauki: DZIEDZINA NAUK TECHNICZNYCH Dyscyplina
ALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
Uniwersytet Śląski. Wydział Informatyki i Nauki o Materiałach PROGRAM KSZTAŁCENIA. Studia III stopnia (doktoranckie) kierunek Informatyka
Uniwersytet Śląski Wydział Informatyki i Nauki o Materiałach PROGRAM KSZTAŁCENIA Studia III stopnia (doktoranckie) kierunek Informatyka (przyjęty przez Radę Wydziału Informatyki i Nauki o Materiałach w
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
Aproksymacja funkcji a regresja symboliczna
Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą
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
Algorytm simplex i dualność
Algorytm simplex i dualność Łukasz Kowalik Instytut Informatyki, Uniwersytet Warszawski April 15, 2016 Łukasz Kowalik (UW) LP April 15, 2016 1 / 35 Przypomnienie 1 Wierzchołkiem wielościanu P nazywamy
BŁĘDY OBLICZEŃ NUMERYCZNYCH
BŁĘDY OBLICZEŃ NUMERYCZNYCH błędy zaokrągleń skończona liczba cyfr (bitów) w reprezentacji numerycznej błędy obcięcia rozwinięcia w szeregi i procesy iteracyjne - w praktyce muszą być skończone błędy metody
E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne
E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne Przypominajka: 152 drzewo filogenetyczne to drzewo, którego liśćmi są istniejące gatunki, a węzły wewnętrzne mają stopień większy niż jeden i reprezentują
Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 6 PROGRAMOWANIE WYPUKŁE I KWADRATOWE 6. Ćwiczenia komputerowe Ćwiczenie 6.1
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
Informatyka klasa III Gimnazjum wymagania na poszczególne oceny
Informatyka klasa III Gimnazjum wymagania na poszczególne oceny Algorytmika i programowanie Rozwiązywanie problemów i podejmowanie decyzji z wykorzystaniem komputera, stosowanie podejścia algorytmicznego
ZAGADNIENIE TRANSPORTOWE
ZAGADNIENIE TRANSPORTOWE ZT jest specyficznym problemem z zakresu zastosowań programowania liniowego. ZT wykorzystuje się najczęściej do: optymalnego planowania transportu towarów, przy minimalizacji kosztów,
REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH
REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia I stopnia rok akademicki 2012/2013 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Pojęcie
Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie P lub F, która odpowiedź jest prawdziwa, a która fałszywa.
2 Egzamin maturalny z informatyki Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie lub, która odpowiedź jest prawdziwa, a która fałszywa. a) rzeanalizuj poniższy algorytm (:= oznacza instrukcję
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
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
Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji
Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki Podstawy Informatyki i algorytmizacji wykład 1 dr inż. Maria Lachowicz Wprowadzenie Dlaczego arkusz
Algorytm. Algorytmy Marek Pudełko
Algorytm Algorytmy Marek Pudełko Definicja Algorytm to skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Algorytm ma przeprowadzić system z pewnego
Programowanie liniowe metoda sympleks
Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW 13. wykład z algebry liniowej Warszawa, styczeń 2018 Mirosław Sobolewski (UW) Warszawa, 2018 1 /
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 5. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 5 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Algorytm Euklidesa Liczby pierwsze i złożone Metody
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej. Adam Meissner. Elementy uczenia maszynowego
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis Elementy uczenia maszynowego Literatura [1] Bolc L., Zaremba
Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I
Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I Rozkład zgodny
Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017
Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język
Wyszukiwanie binarne
Wyszukiwanie binarne Wyszukiwanie binarne to technika pozwalająca na przeszukanie jakiegoś posortowanego zbioru danych w czasie logarytmicznie zależnym od jego wielkości (co to dokładnie znaczy dowiecie
1.2. Rozwiązywanie zadań programowania liniowego metodą geometryczną
binarną są określane mianem zadania programowania binarnego. W stosunku do dyskretnych modeli decyzyjnych stosuje się odrębną klasę metod ich rozwiązywania. W dalszych częściach niniejszego rozdziału zostaną
Z nowym bitem. Informatyka dla gimnazjum. Część II
Z nowym bitem. Informatyka dla gimnazjum. Część II Wymagania na poszczególne oceny szkolne Grażyna Koba Spis treści 1. Algorytmika i programowanie... 2 2. Obliczenia w arkuszu kalkulacyjnym... 4 3. Bazy
Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010
Algorytmy równoległe Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka Znajdowanie maksimum w zbiorze n liczb węzły - maksimum liczb głębokość = 3 praca = 4++ = 7 (operacji) n - liczność
Algorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Sortowanie Shella Shell Sort
Sortowanie Shella Shell Sort W latach 50-tych ubiegłego wieku informatyk Donald Shell zauważył, iż algorytm sortowania przez wstawianie pracuje bardzo efektywnie w przypadku gdy zbiór jest w dużym stopniu
Adam Meissner STUCZNA INTELIGENCJA
Instytut Automatyki i Inżynierii Informatycznej Politechniki Poznańskiej Adam Meissner Adam.Meissner@put.poznan.pl http://www.man.poznan.pl/~ameis STUCZNA INTELIGENCJA Elementy programowania w logice Literatura
Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II
Zespół TI Instytut Informatyki Uniwersytet Wrocławski ti@ii.uni.wroc.pl http://www.wsip.com.pl/serwisy/ti/ Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II Rozkład wymagający
Okręgowa Komisja Egzaminacyjna w Krakowie 1
Okręgowa Komisja Egzaminacyjna w Krakowie 1 Egzamin maturalny Egzamin maturalny, zastąpi dotychczasowy egzamin dojrzałości, czyli tzw. starą maturę i przeprowadzany będzie: od roku 2005 dla absolwentów
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
Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:
Klasa 1 technikum Przedmiotowy system oceniania wraz z wymaganiami edukacyjnymi Wyróżnione zostały następujące wymagania programowe: konieczne (K), podstawowe (P), rozszerzające (R), dopełniające (D) i
Programowanie liniowe
Badania operacyjne Problem Model matematyczny Metoda rozwiązania Znaleźć optymalny program produkcji. Zmaksymalizować 1 +3 2 2 3 (1) Przy ograniczeniach 3 1 2 +2 3 7 (2) 2 1 +4 2 12 (3) 4 1 +3 2 +8 3 10
Modele i narzędzia optymalizacji w systemach informatycznych zarządzania
Politechnika Poznańska Modele i narzędzia optymalizacji w systemach informatycznych zarządzania Joanna Józefowska POZNAŃ 2010/11 Spis treści Rozdział 1. Metoda programowania dynamicznego........... 5
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Programowanie liniowe w technice Linear programming in engineering problems Kierunek: Rodzaj przedmiotu: obowiązkowy na kierunku matematyka przemysłowa Rodzaj zajęć: wykład, laboratorium,
Programowanie liniowe metoda sympleks
Programowanie liniowe metoda sympleks Mirosław Sobolewski Wydział Matematyki, Informatyki i Mechaniki UW wykład z algebry liniowej Warszawa, styczeń 2009 Mirosław Sobolewski (UW) Warszawa, 2009 1 / 13
Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne