Krzysztof Jakubczyk. Zadanie 2
|
|
- Zbigniew Szczepański
- 5 lat temu
- Przeglądów:
Transkrypt
1 Zadanie 2 Krzysztof Jakubczyk Moje rozwiązanie nie znajduje strategii pozycyjnej w znaczeniu zdefiniowanym na wykładzie (niezaleŝnie od pozycji startowej), gdyŝ takowa nie istnieje. Przykład: Środkowa pozycja jest pozycją Ewy, pozostałe Adama. Z pozycji środkowej istnieje strategia dla Ewy, natomiast pozycyjna w takim znaczeniu jak na wykładzie nie istnieje. Z tego powodu przyjmuję Ŝe strategia pozycyjna jest zaleŝna od pozycji startowej (wtedy da się skonstruować algorytm). Algorytm znajdowania strategii pozycyjnej: Wejściem algorytmu jest arena oraz punkt startowy. //PART1:znalezienie skończenie wygrywających pozycji dla Ewy good[v] skończenie wygrywająca v for v Pos do good[v] := false; pred[v] := ; /pred[v] - rodzice wezla v zgodni z L nb[v] := 0; /nb[v] - liczba dzieci v pozostałych do przetworzenia zgodnych z L forall (v, w) Mov do pred[w] := pred[w] {v}; nb[v] := nb[v]+1; Q = empty(); forall v Adam do if next[v]= then while (not Q.empty()) do v = Q.pop(); propagategood(v); done; procedure propagategood(v) good[v] = true; forall u pred[v] do if (u Adam) then nb[u]:-nb[u]-1; if (nb[u]=0) then if ((u Ewa)and nb[u]>0) then //PART2: znalezienie strategii dla Ewy for v Pos do bad[v] := false; pred[v] := ; /pred[v] - rodzice wezla v zgodni z L next[v] := ; /next[v] - synowie wezla v zgodni z L nb[v] := 0; /nb[v] - liczba dzieci v pozostałych do przetworzenia zgodnych z L forall (v, w) Mov do if (Label(v)!=label(w)) then pred[w] := pred[w] {v};
2 nb[v] := nb[v]+1; next[v] := next[v] {w}; Q = empty(); /zaznaczenie moŝliwych złych pozycji Adama (psującymi warunek L) forall v Adam do forall w next[v] do if (Label(v) = Label(w)) then /zaznaczenie kończących pozycji Ewy if next[v]= then /zaznaczenie pozycji Ewy, z których nie ma przejść zgodnych z L if (every w next[v]: Label(v) = Label(w)) then while (not Q.empty()) do v = Q.pop(); propagatebad(v); done; procedure propagatebad(v) if (good[v]) return; bad[v] = true; forall u pred[v] do if (u Ewa) then nb[u]:-nb[u]-1; if (nb[u]=0) then if ((u Adam) and bad(u)) then if ( bad[v]) then forall w next[v] do if ( bad(w)) then strategia[v] := w; break; else strategia[v] := Krótki opis działania: Algorytm wstępnie znajduje pozycje wygrywające dla Ewy w skończonych rozgrywkach (czyli terminujące w wierzchołkach Adama). Następnie zaznacza pewne wierzchołki jako złe te, do których Ewa nie chce dojść, następnie propaguje posiadane informację do rodziców. Ostatecznie następuje ustalenie strategii. ZłoŜoność czasowa: PART1: - wstępne wstawienie pozycji do kolejki Q zajmuje O( V + Mov ) - kaŝda pozycja moŝe być dodana do kolejki co najwyŝej raz
3 - dla kaŝdej pozycji wyjętej z kolejki sprawdzane są krawędzie z rodzicami, kaŝda krawędź sprawdzana co najwyŝej raz - złoŝoność części pierwszej: O( V + Mov ). PART2: - wstępne wstawienie pozycji do kolejki Q zajmuje O( V + Mov ) - kaŝda pozycja moŝe być dodana do kolejki co najwyŝej raz - dla kaŝdej pozycji wyjętej z kolejki sprawdzane są krawędzie z rodzicami, kaŝda krawędź sprawdzana co najwyŝej raz - złoŝoność części drugiej: O( V + Mov ). Ostatecznie złoŝoność: O( Mov + V ). Dowód poprawności: Najpierw udowodnię kilka faktów Fakt1: Jeśli good[v] to istnieje strategia skończenie wygrywająca dla Ewy. Oczywista konstrukcja na podstawie algorytmu. Indukcja po krokach wypełniania good: - warunek początkowy: v Adam oraz v jest terminujący oczywista strategia Ewy. - załóŝmy Ŝe dla k warunki spełnione a) jeśli v Adam to kaŝdy ruch (v,w) Mov prowadzi do wierzchołka good[w], z którego istnieje strategia dla Ewy, zatem Adam nie ma wyboru i musi wejść w taki wierzchołek, zatem istnieje strategia wygrywająca Ewy. b) jeśli v Ewa to istnieje ruch (v,w) Mov prowadzący do good[w], zatem Ewa moŝe wybrać ten ruch czyli strategia wygrywająca dla Ewy. Fakt2: Jeśli good[v] to niezaleŝnie od ruchów Ewy Adam moŝe prowadzić rozgrywkę tak, aby dla kaŝdego wierzchołka było spełnione good[v]. a)v Ewa i v jest terminujący, wtedy oczywiście jest spełniony warunek good[v]. b)v Ewa i v nie jest terminujący, ale nie istnieje przejście do wierzchołka w, takiego Ŝe good[w] wtedy Ewa musi iść do jakiegoś wierzchołka gdzie good[w]. b)v Adam, wtedy istnieje taki wierzchołek w, Ŝe (v,w) Mov oraz good[w], Adam wykonuje ruch do tego wierzchołka. Fakt3: good[v] istnieje skończenie wygrywająca strategia z v dla Ewy Konsekwencja faktów 1 i 2. Z faktu 1 otrzymujemy implikację w prawą stronę. Z faktu 2 wynika, Ŝe jeśli good[v] to Adam moŝe poprowadzić rozgrywkę tak, aby przegrała Ewa, bądź prowadzić rozgrywkę nieskończoną. Zatem jeśli istnieje skończenie wygrywająca strategia dla Ewy to musi zachodzić good[v]. Fakt4: Jeśli bad[v] to z v nie ma strategii wygrywającej dla Ewy. Zastosujmy indukcję po krokach wypełniania bad: - warunek początkowy:
4 a) jeśli v Adam to kaŝdy ruch (v,w) Mov jest niezgodny z warunkiem L (0->0 lub 1->1). Wiemy takŝe Ŝe nie istnieje strategia skończenie wygrywająca dla Ewy z v (bo good[v]). Czyli nie ma strategii wygrywającej dla Ewy. b) jeśli v Ewa to albo z v nie ma moŝliwych ruchów albo wszystkie moŝliwe ruchy są niezgodne z L. Wiemy takŝe Ŝe nie istnieje strategia skończenie wygrywająca dla Ewy z v. Zatem takŝe nie ma strategii wygrywającej dla Ewy. - załóŝmy Ŝe dla kroku k spełniony jest nasz warunek. Dal kroku k+1: a) jeśli v Adam to istnieje ruch do pewnego w zgodny z L, Ŝe bad[w] mamy z poprzedniego kroku, zatem wtedy Adam moŝe się ruszyć w ten sposób, czyli nie ma strategii wygrywającej dla Ewy. b) jeśli v Ewa to wszystkie ruchy (v,w) Mov zgodne z L na mocy załoŝenia prowadzą do pozycji, z których nie istnieją strategie dla Ewy. Z punktu v nie istnieje takŝe strategia skończenie wygrywająca, zatem z tego punktu takŝe nie istnieje strategia wygrywająca dla Ewy. Fak5: Jeśli v Ewa i bad[v] to istnieje (v,w) Mov zgodne z L, Ŝe bad(w). Ten fakt wynika z konstrukcji algorytmu. Aby zaszło bad[v], dla wszystkich sąsiadów w, zgodnych przejściem z L, wierzchołka v musiałoby zachodzić bad[w]. Fakt6: Jeśli v Adam i bad[v] to dla wszystkich (v,w) Mov bad(w), oraz wszystkie (v,w) Mov są zgodne z L. Wynika to z konstrukcji algorytmu. Aby zaszło bad[v], musiałby istnieć sąsiad w wierzchołka v, zgodny przejściem z L, dla którego bad[w] lub musiałoby istnieć przejście do sąsiada w niezgodne z L. Fakt7: Dla wierzchołka początkowego v mamy: bad[v] istnieje strategia pozycyjna dla Ewy rozpoczynająca się w v. Zgodnie z faktem 4 jeśli istnieje pozycyjna strategia wygrywająca dla Ewy rozpoczynająca się z v to bad[v]. Z faktów 5 i 6 moŝemy stworzyć konstrukcję pozycyjnej strategii wygrywającej dla Ewy rozpoczynającej się z v. Z faktu 6 wiemy, Ŝe Adam nie moŝe Ewie popsuć zgodności z L, a z faktu 5 wiemy, jak ma postępować Ewa. Istniejąca strategia jest to konstruowana w algorytmie strategia wynikowa (zgodnie z faktami 5 i 6). Dowód części teoretyczniej: Tutaj analogicznie biorę pod uwagę strategie pozycyjne z pozycją początkową. Dodatkowo załóŝmy, Ŝe Ewa wygrywa tylko rozgrywki nieskończone, które są zgodne z warunkiem L. Weźmy daną strategię wygrywającą dla Ewy σ. Niech V E oznacza wierzchołki Ewy występujące w tej strategii a V A wierzchołki Adama. Zdefiniujemy strategię pozycyjną σ (v) jako: - gdy v nie naleŝy do Ŝadnej ścieŝki strategii σ - w, gdzie w jest następnikiem v na pewnej ścieŝce ze strategii σ Udowodnię, Ŝe podana powyŝej strategia σ jest pozycyjną strategią wygrywającą dla Ewy.
5 Fakt1: Wszystkie ruchy w strategii σ Ewy są zgodne z L. ZałóŜmy przeciwnie, Ŝe dla pewnego v mamy σ (v)=w oraz Label(v) Label(w) to w oryginalnej strategii σ to przejście takŝe by było niezgodne, ale była to wygrywająca strategia dla Ewy, czyli musiała być zgodna z L. Fakt2: Dla dowolnego wierzchołka z V A strategii σ dowolny ruch Adama nie wyprowadzi poza zbiór V E. ZłóŜmy, Ŝe dla wierzchołka v V A istnieje (v,w) Mov oraz w V E V A. Oczywiście nie jest to moŝliwe, go w musiałoby naleŝeć do pewnej ścieŝki w strategii σ, zatem w V A V E. Fakt3: KaŜdy moŝliwy ruch dla strategii σ Adama jest zgodny z L. Weźmy dowolny wierzchołek v V A i krawędź (v, w) Mov. Na podstawie faktu w wiemy, Ŝe w V A V E. PoniewaŜ ruch ten jest fragmentem pewnej ścieŝki wygrywającej Ewy oryginalnego zadania więc musi więc być zgodny z L. Z faktów 1-3 widać, Ŝe zawsze Ewa będzie mogła wykonać ruch zgodny z L oraz Ŝe kaŝdy ruch Adama będzie zgodny z L. PoniewaŜ kaŝda ścieŝka w wyjściowej strategii była nieskończona (czyli nie było terminujących pozycji) tutaj takŝe nie będzie terminujących pozycji, gdyŝ Ewa nie wyprowadzi gry poza zbiór starych pozycji, a Adam (z faktu 2) takŝe nie moŝe tego zrobić. Zatem strategia σ jest pozycyjną strategią wygrywającą dla Ewy (rozpoczynając z danej pozycji).
Algorytmiczne aspekty teorii gier: Wykład 5
Algorytmiczne aspekty teorii gier: Wykład 5 Wykład prowadził dr hab. Igor Walukiewicz Notatki przygotował Dymitr Pszenicyn 02-04-2003 1 Spis treści 1 Przypomnienie 3 1.1
Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:
Sortowanie Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania: podać strukturę danych dla elementów dynamicznego skończonego multi-zbioru S, względem którego są wykonywane następujące
Instrukcja warunkowa i złoŝona.
Instrukcja warunkowa i złoŝona. Budowa pętli warunkowej. JeŜeli mielibyśmy przetłumaczyć instrukcję warunkową to brzmiałoby to mniej więcej tak: jeŝeli warunek jest spełniony, to wykonaj jakąś operację
Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
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
Wyszukiwanie. Wyszukiwanie binarne
Wyszukiwanie Wejście: posortowana, n-elementowa tablica liczbowa T oraz liczba p. Wyjście: liczba naturalna, określająca pozycję elementu p w tablicy T, bądź 1, jeŝeli element w tablicy nie występuje.
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
Bisymulacja. Niezawodność systemów współbieżnych i obiektowych. Grzegorz Maj Grzegorz Maj Bisymulacja
Niezawodność systemów współbieżnych i obiektowych 18.03.2009 Plan prezentacji Przypomnienie: Plan prezentacji Przypomnienie: Gra bisymulacyjna Plan prezentacji Przypomnienie: Gra bisymulacyjna Definicje
Sortowanie topologiczne skierowanych grafów acyklicznych
Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)
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
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW RELACJE MIEDZY KLASAMI ZŁOŻONOŚCI Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 KLASY ZŁOŻONOŚCI KLASE ZŁOŻONOŚCI OPISUJE SIE PODAJAC: Model
Podstawowe algorytmy i ich implementacje w C. Wykład 9
Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny
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
Wykład 8. Drzewo rozpinające (minimum spanning tree)
Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,
Systemy rozgrywek sportowych OGÓLNE ZASADY ORGANIZOWANIA ROZGRYWEK SPORTOWYCH
Systemy rozgrywek sportowych OGÓLNE ZASADY ORGANIZOWANIA ROZGRYWEK SPORTOWYCH Rozgrywki sportowe moŝna organizować na kilka róŝnych sposobów, w zaleŝności od liczby zgłoszonych druŝyn, czasu, liczby boisk
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
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
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
procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych
TOMASZ TRACZYK MATEMATYKA DYSKRETNA Wykłady 9-10 Grafy Hamiltona
TOMASZ TRACZYK MATEMATYKA DYSKRETNA Wykłady 9-10 Grafy Hamiltona Legenda głosi, Ŝe kiedy sir Wiliam Hamilton został wsadzony do więzienia za długi wymyślił grę w dookoła świata aby zdobyć pieniądze i wyjść
Wstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline 1 Podstawowe pojęcia Definition Graf = wierzchołki + krawędzie. Krawędzie muszą mieć różne końce. Między dwoma wierzchołkami może
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
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
Algebra relacji - rozwiązania zadań. Zadania
Algebra relacji - rozwiązania zadań Zadania Zadanie 1. Niech dom (IMIE) = { Adam, Ewa,, Zofia }, dom (NAZW ISKO) = { Kowalska, Kowalski, Nowak }, dom (P RZEDMIOT ) = { ANA, BAD, MAD, SIK }, dom (OCENA)
Sztuczna Inteligencja i Systemy Doradcze
Sztuczna Inteligencja i Systemy Doradcze Przeszukiwanie przestrzeni stanów algorytmy ślepe Przeszukiwanie przestrzeni stanów algorytmy ślepe 1 Strategie slepe Strategie ślepe korzystają z informacji dostępnej
Wstęp do programowania
Wstęp do programowania Algorytmy zachłanne, algoritme Dijkstry Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XI Jesień 2013 1 / 25 Algorytmy zachłanne Strategia polegająca na
Porządek symetryczny: right(x)
Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)
Programowanie dynamiczne
Programowanie dynamiczne Patryk Żywica 5 maja 2008 1 Spis treści 1 Problem wydawania reszty 3 1.1 Sformułowanie problemu...................... 3 1.2 Algorytm.............................. 3 1.2.1 Prosty
Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku
Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku Rozdział 1 Poprawność programów Jeżeli projektujemy algorytmy lub piszemy programy, to ważne jest pytanie, czy nasz algorytm lub program
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
Algorytmy i struktury danych
Algorytmy i struktury danych Drzewa Witold Marańda maranda@dmcs.p.lodz.pl Drzewa - podstawy Drzewo jest dynamiczną strukturą danych składającą się z elementu węzłowego, zawierającego wskazania na skończoną
Budowa i generowanie planszy
Gra Saper została napisana w. Jest dostępna w każdej wersji systemu Windows. Polega na odkrywaniu zaminowanej planszy tak, aby nie trafić na minę. Gra działa na bardzo prostej zasadzie i nie wymaga zaawansowanego
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Instrukcja zarządzania kontami i prawami
Instrukcja zarządzania kontami i prawami uŝytkowników w systemie express V. 6 1 SPIS TREŚCI 1. Logowanie do systemu.... 3 2. Administracja kontami uŝytkowników.... 4 3. Dodawanie grup uŝytkowników....
02DRAP - Aksjomatyczna definicja prawdopodobieństwa, zasada w-w
02DRAP - Aksjomatyczna definicja prawdopodobieństwa, zasada w-w A Zadania na ćwiczenia Zadanie A.1. Niech Ω = R oraz F będzie σ-ciałem generowanym przez rodzinę wszystkich przedziałów otwartych typu (,
Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie
Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Używane struktury danych: V - zbiór wierzchołków grafu, V = {1,2,3...,n} E - zbiór krawędzi grafu, E = {(i,j),...}, gdzie i, j Î V i istnieje
Gramatyka operatorowa
Gramatyki z pierwszeństwem operatorów Teoria kompilacji Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka operatorowa Definicja: G = G BK jest gramatyką operatorową (i) (ii) G jest gramatyką
Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel
Wstęp do programowania Listy Piotr Chrząstowski-Wachtel Do czego stosujemy listy? Listy stosuje się wszędzie tam, gdzie występuje duży rozrzut w możliwym rozmiarze danych, np. w reprezentacji grafów jeśli
Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki
Informatyka I Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Operacje relacji (porównania) A
Przeciąganie po profilach, Dodanie/baza przez wyciągnięcie po ścieŝce
Przeciąganie po profilach, Dodanie/baza przez wyciągnięcie po ścieŝce Zagadnienia. Tworzenie brył przez Przeciąganie po profilach i Dodanie/baza przez wyciągnięcie po ścieŝce. Geometria odniesienia, Płaszczyzna.
Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka
Gramatyki, wyprowadzenia, hierarchia Chomsky ego Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G =
Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows
Czym jest wykrywanie kolizji. Elementarne metody detekcji kolizji. Trochę praktyki: Jak przygotować Visual Studio 2010 do pracy z XNA pod Windows Phone 7. Skąd i jakie paczki pobrać. Coś napiszemy :-)
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
Wstęp do programowania
Wstęp do programowania wykład 4 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Instrukcje pętli Pętle służą do iteracyjnego wykonywania pewnych kroków Zazwyczaj
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
ZALICZENIE WYKŁADU: 30.I.2019
MATEMATYCZNE PODSTAWY KOGNITYWISTYKI ZALICZENIE WYKŁADU: 30.I.2019 KOGNITYWISTYKA UAM, 2018 2019 Imię i nazwisko:.......... POGROMCY PTAKÓW STYMFALIJSKICH 1. [2 punkty] Podaj definicję warunku łączności
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
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
Problemy Decyzyjne dla Systemów Nieskończonych
Problemy Decyzyjne dla Systemów Nieskończonych Ćwiczenia 1 17 lutego 2012 Na tych ćwiczeniach zajmiemy się pojęciem well quasi-ordering (WQO) bardzo przydatnym do analizy nieskończonych ciągów. Definicja
Algorytmy i struktury danych Matematyka III sem.
Algorytmy i struktury danych Matematyka III sem. 30 godz. wykł. / 15 godz. ćw. / 15 godz. projekt dr inŝ. Paweł Syty, 413GB, sylas@mif.pg.gda.pl, http://sylas.info Literatura T.H. Cormen i inni, Wprowadzenie
Analiza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą
Siedem cudów informatyki czyli o algorytmach zdumiewajacych
Siedem cudów informatyki czyli o algorytmach zdumiewajacych Łukasz Kowalik kowalik@mimuw.edu.pl Instytut Informatyki Uniwersytet Warszawski Łukasz Kowalik, Siedem cudów informatyki p. 1/25 Problem 1: mnożenie
Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova
Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu
Metody Rozmyte i Algorytmy Ewolucyjne
mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb
Detekcja zakleszczenia (1)
Detekcja zakleszczenia (1) Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Plan wykładu Procesy aktywne i pasywne Definicja zakleszczenia Problem detekcji wystąpienia zakleszczenia Detekcja zakleszczenia
Algorytmy i Struktury Danych
Algorytmy i Struktury Danych Kopce Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 11 1 / 69 Plan wykładu
Wstęp do programowania
wykład 4 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Pętle wykonujące się podaną liczbę razy Jeśli chcemy wykonać pewien fragment programu określoną liczbę razy, możemy użyć
Podstawowe własności grafów. Wykład 3. Własności grafów
Wykład 3. Własności grafów 1 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2). 2 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2).
Algorytmy i struktury danych
Algorytmy i struktury danych Zaawansowane algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Sortowanie za pomocą malejących przyrostów metoda Shella Metoda jest rozwinięciem metody sortowania
Wstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline 1 BFS DFS Algorytm Dijkstry Algorytm Floyda-Warshalla Podstawowe pojęcia Definition Graf = wierzchołki + krawędzie. Krawędzie muszą
Błędy, testowanie i weryfikacja programów
Błędy, testowanie i weryfikacja programów Jak napisać bezbłędny program? 1 Proces a program Program jest obiektem statycznym to formalny opis tego, co ma być wykonane. Proces jest obiektem dynamicznym
Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott Metody konstrukcji algorytmów: Siłowa (ang. brute force), Dziel i zwyciężaj (ang. divide-and-conquer), Zachłanna (ang.
LOGIKA I TEORIA ZBIORÓW
LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja
Problem straŝaka w drzewach. Agnieszka Skorupka Matematyka Stosowana FTiMS
Problem straŝaka w drzewach Agnieszka Skorupka Matematyka Stosowana FTiMS Problem StraŜaka: Co to jest? Problem StraŜaka: Co to jest? Problem StraŜaka: Co to jest? Problem StraŜaka: Co to jest? Problem
Rekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne
Rekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne Elementy Logiki i Teorii Mnogości 2015/2016 Zadanie 1. Oblicz iteracyjnie i rekurencyjnie f(4), gdzie f jest funkcją określoną na zbiorze
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
Wskazówki dotyczące zmiennych, tablic i procedur 1
Wskazówki dotyczące zmiennych, tablic i procedur 1 Spis treści 1. Tworzenie zmiennych i tablic 1 2. Procedury i zmienne, przekazywanie zmiennych do procedur 5 3. Zakończenie działania procedury 9 1. Tworzenie
Strategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
Lista 4. Kamil Matuszewski 22 marca 2016
Lista 4 Kamil Matuszewski 22 marca 2016 1 2 3 4 5 6 7 8 9 10 Zadanie 2 Ułóż algorytm który dla danego n-wierzchołkowego drzewa i liczby k pokoloruje jak najwięcej wierzchołków tak, by na każdej ścieżce
Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe
Wydział Zarządzania AGH Katedra Informatyki Stosowanej Pętle 1 Program wykładu Pojęcie pętli Pętla FOR Pętla DO LOOP Pętle zagnieżdżone 2 Pojęcie pętli Suma lub iloczyn dowolnych n liczb wprowadzanych
2.8. Algorytmy, schematy, programy
https://app.wsipnet.pl/podreczniki/strona/38766 2.8. Algorytmy, schematy, programy DOWIESZ SIĘ co oznaczają pojęcia: algorytm, schemat blokowy, język programowania, jakie są sposoby obliczania największego
Tworzenie stron internetowych w kodzie HTML Cz 7
Tworzenie stron internetowych w kodzie HTML Cz 7 7. Ramki 7.1. Wstęp Przykład: Oto przykładowy wygląd strony startowej ramek: PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd">
Wstęp do programowania
wykład 5 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Zadanie o kotach z poprzedniego wykładu # include < iostream > using namespace std ; int main (){ int rozmiar_ rodzinki,
Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 3 Konstrukcje sterujące Krzysztof Banaś Podstawy programowania 1 Kod źródłowy i wykonanie programu Kod źródłowy w języku programowania zawiera przepis wykonania programu
Grafika 2D. Animacja Zmiany Kształtu. Wykład przedstawia podstawy animacji zmiany kształtu - morfingu. opracowanie: Jacek Kęsik
Grafika 2D Animacja Zmiany Kształtu opracowanie: Jacek Kęsik Wykład przedstawia podstawy animacji zmiany kształtu - morfingu 1 Animacja zmiany kształtu Podstawowe pojęcia Zlewanie (Dissolving / cross-dissolving)
Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa
Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa M. Czoków, J. Piersa 2012-01-10 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego 3 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego
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
Laboratorium Programowanie Obrabiarek CNC. Nr H04
Politechnika Poznańska Instytut Technologii Mechanicznej Laboratorium Programowanie Obrabiarek CNC Nr H04 Programowanie zarysów swobodnych FK Opracował: Dr inŝ. Wojciech Ptaszyński Poznań, 06 stycznia
Internetowe Ko³o M a t e m a t yc z n e
Internetowe Ko³o M a t e m a t yc z n e Stowarzyszenie na rzecz Edukacji Matematycznej Zestaw 3 szkice rozwiązań zadań 1. Plansza do gry składa się z 15 ustawionych w rzędzie kwadratów. Pierwszy z graczy
ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie
Algorytmy z powrotami. Algorytm minimax
Algorytmy z powrotami. Algorytm minimax Algorytmy i struktury danych. Wykład 7. Rok akademicki: 2010/2011 Algorytm z powrotami rozwiązanie problemu budowane jest w kolejnych krokach, po stwierdzeniu (w
Teoria automatów i języków formalnych. Określenie relacji
Relacje Teoria automatów i języków formalnych Dr inŝ. Janusz ajewski Katedra Informatyki Określenie relacji: Określenie relacji Relacja R jest zbiorem par uporządkowanych, czyli podzbiorem iloczynu kartezjańskiego
Gramatyki rekursywne
Gramatyki bezkontekstowe, rozbiór gramatyczny eoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyki rekursywne Niech będzie dana gramatyka bezkontekstowa G =
Zestaw 12- Macierz odwrotna, układy równań liniowych
Zestaw - Macierz odwrotna, układy równań liniowych Przykładowe zadania z rozwiązaniami ZałóŜmy, Ŝe macierz jest macierzą kwadratową stopnia n. Mówimy, Ŝe macierz tego samego wymiaru jest macierzą odwrotną
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
Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest
Pętle Pętla to pewien fragment kodu, który jest wykonywany wielokrotnie. Wyobraź sobie taką sytuację. Piszesz program do szyfrowania danych. Dane są szyfrowane kolejno bajt po bajcie. Załóżmy, że plik
Systemy liczenia. 333= 3*100+3*10+3*1
Systemy liczenia. System dziesiętny jest systemem pozycyjnym, co oznacza, Ŝe wartość liczby zaleŝy od pozycji na której się ona znajduje np. w liczbie 333 kaŝda cyfra oznacza inną wartość bowiem: 333=
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
Liczby losowe i pętla while w języku Python
Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak
domykanie relacji, relacja równoważności, rozkłady zbiorów
1 of 8 2012-03-28 17:45 Logika i teoria mnogości/wykład 5: Para uporządkowana iloczyn kartezjański relacje domykanie relacji relacja równoważności rozkłady zbiorów From Studia Informatyczne < Logika i
Ćwiczenia z przetwarzania tablic 2D
Ćwiczenia z przetwarzania tablic 2D Wyświetlanie tablic 2D Jako wstęp do przetwarzania obrazów w pythonie przećwiczmy podstawowe operacje na dwuwymiarowych tablicach numpy w postaci których będziemy takie
Minimalizacja automatów niedeterministycznych na słowach skończonych i nieskończonych
Szczepan Hummel Minimalizacja automatów niedeterministycznych na słowach skończonych i nieskończonych 24.11.2005 1. Minimalizacja automatów deterministycznych na słowach skończonych (DFA) [HU] relacja
Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność
Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Oficjalna strona wykładu http://www.kaims.pl/
Instrukcja wykonywania rozliczeń
Program dla praktyki lekarskiej Instrukcja wykonywania rozliczeń Copyright Ericpol Telecom sp. z o.o. 2008 Copyright Ericpol Telecom sp. z o.o. 1 Spis treści Wykonywanie rozliczeń 3 Miesięczny raport deklaracji
Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe
Algorytmy i złożoności Wykład 3. Listy jednokierunkowe Wstęp. Lista jednokierunkowa jest strukturą pozwalającą na pamiętanie danych w postaci uporzadkowanej, a także na bardzo szybkie wstawianie i usuwanie
MATEMATYKA DLA CIEKAWSKICH. Dowodzenie twierdzeń przy pomocy kartki. Część I
MATEMATYKA DLA CIEKAWSKICH Dowodzenie twierdzeń przy pomocy kartki. Część I Z trójkątem, jako figurą geometryczną, uczeń spotyka się już na etapie nauczania początkowego. W czasie dalszego procesu kształcenia
Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 2 Przeszukiwanie 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 3. Spójność grafu,
. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:
9 Wykład 9: Przestrzenie liniowe i podprzestrzenie Definicja 9 Niech F będzie ciałem Algebrę (V, F, +, ), gdzie V, + jest działaniem w zbiorze V zwanym dodawaniem wektorów, a jest działaniem zewnętrznym
Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa
Informatyka 1 Wykład III Wyrażenia i instrukcje, złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: składnia wyrażeń, drzewa rozbioru gramatycznego i wyliczenia wartości wyrażeń, operatory