Algorytm wspinaczkowy dla zadania k-sat

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

Download "Algorytm wspinaczkowy dla zadania k-sat"

Transkrypt

1 Algorytm wspinaczkowy dla zadania k-sat 1 Problem k-spełnialności Niech L 0 oznacza język rachunku zdań. Do jego formalizacji konieczne są zmienne zdaniowe (nazywane formułami atomowymi, lub krótko atomami) oraz funktory zdaniotwórcze, czyli spójniki zdaniowe: (negacja), (alternatywa), (koniunkcja), (implikacja) i (równoważność). Owe spójniki traktowane są w logice jako funktory w funkcjach prawdziwościowych, to jest w takich funkcjach, których wartościami są stałe logiczne PRAWDA lub FAŁSZ oznaczane zwykle symbolami 1 i 0. Zbiór formuł języka L 0 (nazywanych formułami boolowskimi) określa się następująco (a) atom jest formułą, (b) jeżeli p jest formułą to p jest formułą, (c) jeżeli p, q są formułami są także (p q), (p q), (p q), (p q), (d) innych formuł nie ma. O formule boolowskiej mówimy, że jest w koniunkcyjnej postaci normalnej jeżeli można przedstawić ją w postaci koniunkcji klauzul, gdzie pod pojęciem klauzuli rozumie się alternatywę literałów. Literałem nazywamy zmienną zdaniową lub jej negację. Przykład 1.1. Formuła w koniunkcyjnej postaci normalnej literał {}}{ ( p q r) (q s) (r s q) }{{} klauzula Taka reprezentacja pozwala traktować formułę ϕ jako zbiór klauzul C = C 1,..., C M. Skoro każda klauzula jest alternatywą pewnej liczby literałów, często symbol alternatywy zamienia się przecinkiem. W ten sposób formułę z powyższego przykładu reprezentuje zbiór C = {C 1, C 2, C 3 } gdzie C 1 = ( p, q, r), C 2 = (q, s), C 3 = (r, s, q). Jeżeli każda klauzula wchodząca w skład danej formuły boolowskiej ϕ zawiera co najwyżej k literałów to mówimy, że ϕ jest w k-koniunkcyjnej postaci normalnej. Formułę boolowską ϕ nazywamy spełnialną, jeżeli istnieje wartościowanie występujących w niej zmiennych w zbiorze wartości logicznych {0, 1} takie, które spełnia tę formułę, tzn. nadaje jej wartość 1. Problem spełnialności polega na rozstrzygnięciu, czy dana formuła boolowska w koniunkcyjnej postaci normalnej jest spełnialna. Podobnie problem k-spełnialności polega na sprawdzeniu, czy dana formuła w k-koniunkcyjnej postaci normalnej jest spełnialna. W literaturze problemy te oznaczane są odpowiednio skrótami SAT i k-sat. Zainteresowanie problemem spełnialności 1

2 wynika z faktu, że wiele rzeczywistych problemów, jak chociażby rozważane na gruncie sztucznej inteligencji zadania planowania, spełnialności ograniczeń, diagnozy czy interpretacji obrazów cyfrowych koduje się w naturalny sposób w formie problemu k-sat 1. Przegląd zagadnień związanych z tym problemem zawiera praca [?]. Jeżeli dla formuły zadanej zbiorem klauzul C poszukujemy takiego wartościowania, które maksymalizuje liczbę spełnionych klauzul z C, to mówimy o zadaniu MAX-SAT. Dodatkowo każdej klauzuli ze zbioru C można przypisać (całkowitoliczbową) wagę i poszukiwać wartościowania maksymalizującego łączną wagę spełnionych klauzul. Mamy wówczas do czynienia z ważonym problemem MAX-SAT. Przegląd zastosowań omawianych tu problemów, algorytmy wykorzystywane do ich rozwiązywania jak również szereg zadań testowych można znaleźć w pracach, [?], [?], [?], [?]. Kody źródłowe implementujące wiele spośród algorytmów przeznaczonych do rozwiązywania i badania problemów spełnialności można znaleźć na stronie index-ubc.html. Pokazuje się, [?], że zarówno problem spełnialności jak i k-spełnialności, k 3, są problemami NP-zupełnymi 2. Natomiast problem MAX-SAT i ważony MAX-SAT są problemami NP-trudnymi. Algorytmy stosowane do rozwiązywania problemów spełnialności można podzielić na zachłanne (kompletne) i przybliżone, [?]. Algorytmy pierwszej grupy przeszukują całą przestrzeń możliwych rozwiązań, natomiast algorytmy drugiej grupy wykorzystują heurystyki, np. stochastyczne algorytmy przeszukiwania lokalnego. W przypadku stosowania algorytmów przybliżonych brak rozwiązania nie oznacza, że konkretny problem nie ma takiego rozwiązania. Przeszukiwanie przestrzeni rozwiązań stosowane w pierwszej grupie algorytmów, nie oznacza testowania wszystkich możliwych wartościowań. Korzysta się tu raczej z technik powracania (backtracking) stosowanych w systemach sztucznej inteligencji. Jedną z takich technik jest procedura Davisa- Putnama-Logemanna-Lovelanda (DPLL), [?], stosowana w automatycznym dowodzeniu twierdzeń. Polega ona na przydzielaniu kolejnym zmiennym zdaniowym wartości logicznych i usuwaniu klauzul, które przy danym przypisaniu są prawdziwe, ewentualnie usuwaniu z klauzul tych literałów, które przyjmują wartość 0. Jeśli w trakcie tych operacji jedna z klauzul stała się pusta, tzn. usunięto z niej wszystkie zmienne, wówczas algorytm wraca do ostatniego podstawienia i wypróbowuje jego inny wariant. Inny interesujący pomysł na rozwiązanie problemu k-sat przedstawiono w [?]. Wykorzystuje on wariant algorytmu stosowanego w propagacji przekonań w sieciach bay- 1 Por. np. H.A. Kautz, B. Selman. Planning as satisfiability. In: Proceedings of the 10th ECAI, 1992, pp oraz R. Reiter, A. Mackworth. A logical framework for depicition and image interpretation. Artificial Intelligence 41,1992, Zbiory testowych zadań k-sat zawiera praca [?]. 2 Dla k = 1 lub 2 istnieją wielomianowe algorytmy deterministyczne sprawdzające, czy formuła w k-koniunkcyjnej postaci normalnej jest spełnialna, [?]. 2

3 esowskich. Rysunek 1: Prawdopodobieństwo znalezienia satysfakcjonującego podstawienia w zadaniu 3-SAT w zależności od stosunku r = M/N liczby klauzul (M) do liczby zmiennych N. Różne kroje linii odpowiadają różnym wartościom N. Prace teoretyczne dotyczące własności zadania k-sat pokazują, że szanse jego rozwiązania zależą istotnie od stosunku r liczby klauzul, M, do liczby zmiennych, N, występujących w tym zadaniu. Na użytek tych badań formułuje się losowy wariant zadania k-sat, w którym zmienne wchodzące w skład klauzuli wybierane są losowo z ustalonego zbioru V i każda z wybranych zmiennych jest negowana z prawdopodobieństwem 1. W przypadku gdy 2 k = 3 zaobserwowano, że dla wartości r 4.3 zachodzi zjawisko przypominające przejście fazowe obserwowane w układach fizycznych por. rys. 1. Mianowicie, dla małych wartości parametru r problem jest słabo uwarunkowany i bardzo łatwo można znaleźć jego rozwiązanie; w przypadku dużych wartości r na zbiór zmiennych nałożono zbyt wiele ograniczeń i znalezienie satysfakcjonującego podstawienia jest bardzo trudne. Okazuje się, że fenomen przejść fazowych odgrywa witalną rolę w probabilistycznej analizie zadań optymalizacji kombinatorycznej. Problem ten omówiono szczegółowo w [?]. 2 Algorytm GSAT GSAT [?] to randomizowany zachłanny algorytm losowego przeszukiwania przeznaczony do rozwiązywania zadań spełnialności formuł, które omówiono w punkcie 1. Nakierowany jest on na wyszukiwanie takiego wartościowania W zmiennych występujących w formule reprezentowanej przez zbiór klauzul K, które spełnia tę formułę. Innymi słowy, algorytm GSAT poszukuje modelu dla danej formuły. Działanie algorytmu przedstawionego w postaci pseudokodu 1 polega na modyfikacjach losowo zainicjowanego rozwiązania (tzn. wartościowania), poprzez zmianę wartości występujących w nim zmiennych w taki sposób, aby 3

4 każdej zmianie towarzyszył wzrost liczby spełnionych klauzul. Jeżeli do budowy formuły użyto N zmiennych, to wartościowanie ma postać łańcucha W o długości N, którego i-ty element, W[i] {0, 1}. W takim przypadku zmianę wartości i-tej zmiennej można przedstawić w postaci W[i] := 1 - W[i]. Jakość testowanej zmiany DIFF[i] obliczamy w oparciu o równanie DIFF[i] = MAKE[i] - BREAK[i] gdzie MAKE[i] oznacza liczbę klauzul niespełnionych przez wartościowanie W, które zostaną spełnione jeśli wartość i-tej zmiennej zostanie zmieniona na przeciwną, natomiast BREAK[i] to liczba klauzul spełnionych przez wartościowanie W, które będą niespełnione jeżeli wartość i-tej zmiennej będzie zamieniona na przeciwną. Jeżeli DIFF[i] > 0, to całkowita liczba niespełnionych klauzul maleje; jest to tzw. ruch w dół. Jeżeli DIFF[i] = 0, to całkowita liczba spełnionych klauzul pozostaje bez zmian; jest to tzw. ruch poboczny. Wreszcie, jeżeli DIFF[i] < 0, to mamy do czynienia z ruchem w górę. Każde wykonanie wewnętrznej pętli jest nazywane zamianą ; maksymalną liczbę możliwych do wykonania zmian wartości zmiennych zdaniowych określa parametr MAX-FLIPS. Każde wykonanie zewnętrznej pętli nazywamy próbą; maksymalną liczbę prób wyznacza parametr MAX-TRIES. Jeżeli w ciągu, zadanej parametrami MAX-FLIPS i MAX-FLIPS liczbie prób nie znaleziono rozwiązania, zwracany jest komunikat o niemożności jego znalezienia. Może to oznaczać zarówno konieczność modyfikacji parametrów jak też i fakt, że dana formuła nie jest spełnialna. Oznacza to, że GSAT jako typowy algorytm przeszukiwania lokalnego jest algorytmem niekompletnym: komunikat o niemożności znalezienia rozwiązania równie dobrze świadczyć o nieistnieniu takiego rozwiązania jak też o ewentualnej konieczności modyfikacji parametrów sterujących. Zauważmy, że wartość wskaźnika DIFF[i] musi być wyznaczona dla wszystkich zmiennych tylko raz, gdy wygenerowano nowe wartościowanie. W kolejnych przebiegach wartość tego wskaźnika wyznacza się tylko dla zmiennych zależnych od ostatnio modyfikowanej zmiennej p, tzn. zmiennych występujących w tych samych klauzulach, w których występuje zmienna p. Istotnie, niech p C oznacza, że zmienna p występuje w klauzuli C. Wówczas C zal (F, x) = {C F : x C} jest zbiorem klauzul reprezentujących formułę F zależnych od zmiennej x. Jeżeli więc x / C zal (F, x) to wartość wskaźnika DIFF nie ulega zmianie. Jeżeli formuła F składa się z M klauzul zbudowanych z N zmiennych zdaniowych, a każda klauzula zawiera co najwyżej k zmiennych to złożoność wyznaczenie wartości wskaźnika DIFF dla wszystkich zmiennych jest procesem o złożoności O(kM), natomiast zakładając dodatkowo, że liczba klauzul zależnych od dowolnej zmiennej nie przekracza wartości z, znajdujemy, że aktualizacja tego wskaźnika w kolejnych krokach jest procesem o złożoności O(kz). Przykład 2.1. Rozważmy dla przykładu formułę F złożoną z czterech klauzul: 4

5 Algorithm 1 Algorytm GSAT [?] WE: zbiór klauzul K zbudowanych z N zmiennych, oraz liczby: MAX-TRIES - maksymalna liczba prób, MAX-FLIPS - maksymalna liczba zmian wartości zmiennych. WY: wartościowanie w spełniające zbiór K, o ile takie istnieje. begin for i = 1 to MAX-TRIES w losowo wygenerowane wartościowanie; for j = 1 to MAX-FLIPS if (w spełnia zbiór klauzul K) zwrócić w stop for k = 1 to N obliczyć wartość DIFF[k] wskazującą o ile wzrośnie liczba spełnionych klauzul po zmianie wartości zmiennej k; end for WIN-LIST lista zmiennych o najwyższej wartości DIFF p losowo wybrana pozycja z listy WIN-LIST w wartościowanie, w którym w[p] = 1 w[p] end for end for zwrócić nie znaleziono satysfakcjonującego wartościowania ; end F = ( x 1 x 2 x 3 ) (x 2 x 4 x 5 ) (x 3 x 4 x 2 ) (x 3 x 5 x 6 ) Jest to formuła w koniunkcyjnej postaci normalnej, której czynniki nazywamy klauzulami. Mamy w tym przypadku M = 4, N = 6, k = 3, z = 3. W pierwszej klauzuli ( x 1 x 2 x 3 ) zmienna zdaniowa x 1 występuje wspólnie ze zmiennymi x 2, x 3. Zatem zmienne te są zależne. Podobnie zmienna x 2 występuje zarówno w tej klauzuli jak i w dwóch kolejnych klauzulach: (x 2 x 4 x 5 ) oraz (x 3 x 4 x 2 ). Chociaż w chwili jego publikacji (tzn r.) GSAT skutecznie rywalizował z dostępnymi wówczas algorytmami systematycznego przeszukiwania, jego jakość pozostawia wiele do życzenia w porównaniu z aktualnymi modyfikacjami. Szczegółowa analiza algorytmu GSAT 3 wskazuje, że ani zachłanność ani losowość nie wpływają w istotny sposób na jego zachowanie; wspinanie się odgrywa natomiast ważną rolę jedynie w początkowej fazie przeszukiwania przestrzeni rozwiązań. Aby doświadczalnie przekonać się o tym ostatnim fakcie, przeanalizowano zachowanie algorytmu RSAT różniącego się od poprzedniego jedynie tym, że jako nowe rozwiązanie przyjmowany jest losowo wybrany 3 Wyniki tej analizy przedstawiono w pracy I.P. Gent, T. Walsh. The enigma of SAT hill-climbing procedures, citeseer.ist.psu.edu/gent92enigma.html. 5

6 sąsiad aktualnego rozwiązania. Okazało się, że RSAT znajduje poprawne rozwiązania, wymaga to jednak znacznie więcej czasu. Inny interesujący pomysł polegał na tym, aby zamiast koncentrować się na tych zmiennych, których zmiana zapewnia największą wartość wskaźnika DIFF, procedura odpowiedzialna za przeszukiwanie sąsiedztwa zwracała te zmienne, które zapewniają przyrost funkcji celu (ewentualnie, jeśli takich zmiennych nie ma, te zmienne, które nie pogarszają wartości funkcji celu, a jeśli i takich zmiennych nie ma wszystkie zmienne). Konkretne rozwiązanie wybierane jest ostatecznie w sposób losowy z uzyskanego zbioru. Okazuje się, że taki algorytm, nazwany CSAT (litera C pochodzi od słowa Cautious), zachowuje się tylko nieznacznie gorzej od GSAT. Jedną ze zdecydowanych wad algorytmu GSAT jest wielokrotne badanie identycznych rozwiązań. Skoro tak, to rozsądną modyfikacją wydaje się wyposażenie algorytmu w pamięć. Eksperymenty numeryczne wskazują, że redukcję iteracji uzyskuje się pozwalając, aby algorytm pamiętał ostatnią modyfikację i nie powtarzał jej w kolejnej iteracji. Pamiętanie bardziej odległych modyfikacji nie poprawia znacząco zachowania algorytmu. Jest to algorytm z przeszukiwaniem tabu. Przed omówieniem modyfikacji algorytmu GSAT zastanówmy się chwilę nad jego implementacją. Można tu skorzystać albo z gotowej implementacji 4 albo z rozwiązania Spears a [?], który do reprezentacji konkretnego problemu zaproponował użycie dwóch list: listy klauzul, c-list oraz listy zmiennych, v-list. i-ta pozycja listy c-list zawiera informacje o i-tej klauzuli zapisane także w postaci listy złożonej z następujących pól: pierwszy element listy odpowiadającej i-tej klauzuli (oznaczmy go c-list[i][0]) zawiera liczbę literałów, które sa prawdziwe w danym wartościowaniu, a pozostałe elementy tej listy zawierają zmienne występujące w tej klauzuli. Podobnie i-ty element listy v-list, oznaczmy go v-list[i], zawiera zapisane w postaci listy informacje o i-tej zmiennej: element v-list[i][0] przedstawia liczbe klauzul, w których ta zmienna występuje, a pozostałe elementy informują, czy w konkretnej klauzuli zmienna jest negowana czy nie. Przyjęto tu konwencję, że negacji zmiennej odpowiada znak minus w odpowiedniej reprezentacji. Przykład 2.2. Rozważmy ponownie formułę F z przykładu 2.1. Mamy tam cztery klauzule i sześć zmiennych. Początkowo obie listy (ich zawartość przedstawiamy dla wygody w postaci tablic) wyglądają następująco: Przykładowo, pierwsza klauzula zawiera trzy zmienne, przy czym pierwsza zmienna jest zanegowana, a zmienne o numerach 2 i 3 są literałami pozytywnymi. Dlatego w ostatniej pozycji pierwszego wiersza w tablicy 1 mamy listę {-1, 2, 3}. Zmienna x 1 występuje jako literał negatywny tylko w pierwszej klauzuli, dlatego ostatni element pierwszego wiersza w tablicy 2 jest równy {-1}. Jeżeli teraz wybierzemy wartościowanie W = to zmianie ulegnie druga kolumna tablicy 2. Pokazuje ona, że w pierwszej klauzuli dwa literały przyjęły wartość (prawda), w drugiej i trzeciej klauzuli tylko jeden literał jest prawdziwy, a w trzeciej żaden. Reprezentacja ta jest szczególnie użyteczna 4 Dostępnej pod adresem 6

7 Klauzula l-ba prawdziwych zmienne literałów w klauzuli klauzula 1 0 {-1, 2, 3} klauzula 2 0 {2, 4, 5} klauzula 3 0 {-2, 3, 4} klauzula 4 0 {3, -5, 6} Tabela 1: Lista klauzul dla pustego wartościowania zmienna liczba klauzul klauzule zawierających zawierające zmienną zmienną x 1 1 {-1} x 2 3 {1, 2, -3} x 3 3 {1, 3, 4} x 4 2 {2, 3} x 5 2 {2, -4} x 6 1 {4} Tabela 2: Lista zmiennych do szybkiego obliczania wartości wskaźnika DIFF omówionego na stronie 4. Prostym i zarazem skutecznym przykładem modyfikacji omawianego tu algorytmu jest algorytm GWSAT, czyli algorytm GSAT wzbogacony o mechanizm przypadkowego błądzenia. Celem tego mechanizmu jest rozstrzyganie konfliktów polegające na tym, że ze zbioru niespełnionych klauzul wybiera się losowo pewną klauzulę c, a następnie modyfikuje się losowo wybraną zmienną zdaniową x należącą do tej klauzuli wymuszając wymuszając tym samym spełnialność klauzuli c. Algorytm GWSAT działa w ten sposób, że w każdej iteracji podejmuje się ze stałym prawdopodobieństwem wp 5 decyzję, czy wykonać standardowe przeszukiwanie (polegające na wyborze zmiennej o maksymalnej wartości wskaźnika DIFF) czy też błądzenie przypadkowe. Dla dowolnej dodatniej wartości wp algorytm pozwala na dowolnie długie sekwencje błądzenia; prawdopodobieństwo realizacji sekwencji o długości r jest równe wp r. Oznacza to, że prawdopodobieństwo tego, że GWSAT zwróci model dla spełnialnej formuły K dąży do jedności, gdy czas jego działania dąży do nieskończoności. Jest to więc algorytm PAC-zupełny. W algorytmie HSAT wybierając pozycję, uwzględnia się dodatkowo czas jej ostatniej modyfikacji, a więc jej wiek. Wiek każdej zmiennej wzrasta wraz z iteracją, natomiast zmodyfikowanej zmiennej przypisuje sie wiek równy zeru. Chodzi o to, że wybierając zmienne z listy WIN LIST stosowanej w 5 Skrót ten pochodzi od zwrotu walk probability. Czasami używa się też terminu noise setting. 7

8 Klauzula l-ba prawdziwych zmienne literałów w klauzuli klauzula 1 2 {-1, 2, 3} klauzula 2 1 {2, 4, 5} klauzula 3 0 {-2, 3, 4} klauzula 4 1 {3, -5, 6} Tabela 3: Zmodyfikowana lista klauzul dla wartościowania W = algorytmie 1, może się zdarzyć, że pewne zmienne nie będą nigdy wybrane, co może powodować przedwczesną zbieżność algorytmu. Dlatego z listy WIN LIST wybiera się najstarszą zmienną, Strategia taka nie chroni jednak przed przedwczesną zbieżnością. Znacznie lepszym okazuje się połączenie strategii HSAT z błądzeniem przypadkowym, co skutkuje algorytmem HWSAT [?]. Jeszcze inny pomysł zaproponowano w pracy [?]. Wskaźnik jakości DIFF zastąpiono tu nowym wskaźnikiem score b określającym liczbę klauzul, które będąc spełnione przy danym wartościowaniu będą niespełnione po jego modyfikacji. Niech c będzie klauzulą niespełnioną dla danego wartościowania W i niech v będzie zmienną zdaniową należącą do tej klauzuli. Schemat postępowania jest teraz następujący: Jeżeli v jest taką zmienną, dla której score b (v) = 0, a więc zamiana (negacja) jej aktualnej wartości nie jest destrukcyjna, to ta zmienna jest negowana. Jeżeli w c istnieje kilka zmiennych, dla których score b (v) = 0, to do negacji wybiera się losowo jedną z nich. Jeżeli score b (v) > 0 dla każdej zmiennej z c, to z prawdopodobieństwem 1 p wybieramy zmienną z minimalną wartością score b. W przypadku przeciwnym (tzn. z prawdopodobieństwem p) realizuje się błądzenie przypadkowe, tzn. wybiera się losowo jedną ze zmiennych wchodzących w skład klauzuli c. Chociaż powyższy algorytm, nazywany WalkSAT/SKC, przypomina algorytm GWSAT, to jednak oba algorytmy wykazują zdecydowanie różne zachowanie [?]; WalkSAT/SKC przewyższa znacznie algorytm GWSAT, gdyż jest znacznie mniej zachłanny. Wynika to przede wszystkim z faktu, że o ile w tym pierwszym błądzenie przypadkowe realizowane jest tylko wówczas, gdy każdej zmiennej należącej do losowo wybranej niespełnionej klauzuli c przypisano dodatnią wartość wskaźnika score b, o tyle w przypadku algorytmu GWSAT szansa zainicjowania błądzenia zależy wyłącznie od prawdopodobieństwa wp. Zatem WalkSAT/SKC wybiera zmienną ze znacznie mniejszego zbioru sąsiadów. Z drugiej jednak strony, z uwagi na stosowanie różnych funkcji oceniających, negowana w algorytmie GWSAT zmienna może psuć pewne klauzule, ale liczba zepsutych klauzul może być zredukowana przez spowodowanie spełnialności innych klauzul. W przypadku Walk/SKC wybór zmiennej może 8

9 popsuć mniejszą liczbę klauzul, ale z pewnością popsuje kilka klauzul spełnionych przez aktualne wartościowanie. Ogólnie twierdzi się [?], że chociaż WalkSAT/SKC dominuje probabilistycznie GWSAT (w sensie liczby negacji wymaganych do znalezienia modelu danej formuły), to jego zachowanie nie przewyższa algorytmu HWSAT. Wariantem algorytmu WalkSAT/SKC jest Novelty, w którym do wyboru zmiennej wykorzystuje się jej wiek, ale jako funkcję oceny przyjmuje się wskaźnik DIFF. Podobnie jak poprzednio wybiera się niespełniona przez aktualne wartościowanie klauzulę c i poszukuje się zmiennej v o najwyższej wartości wskaźnika DIFF i drugiej, co do wartości tego wskaźnika, zmiennej v. Jeżeli v nie jest najmłodszą zmienną, to jest ona zawsze negowana; w przypadku przeciwnym neguje się ją z prawdopodobieństwem 1 p, a z prawdopodobieństwem p modyfikacji ulega wartość zmiennej v. Sortując zmienne ze względu na wartości wskaźnika DIF F, w przypadku zmiennych o identycznych wartościach wskaźnika jako pierwszą wybieramy tę zmienną, która jest pierwsza w klauzuli c. Własności tego algorytmu można znacznie poprawić stosując nakierowaną na rozwiązywanie konfliktów procedurę błądzenia przypadkowego wprowadzoną w algorytmie GWSAT. W uzyskanym w ten sposób algorytmie Novelty+ wybrana zgodnie ze strategią Novelty zmienną podlega modyfikacji z prawdopodobieństwem 1 wp, a z prawdopodobieństwem wp realizuje się krok losowy typowy dla GW SAT. 9

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń Elementy logiki Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń 1 Klasyczny Rachunek Zdań 1.1 Spójniki logiczne Zdaniem w sensie logicznym nazywamy wyrażenie, które jest

Bardziej szczegółowo

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ 1 Inferencyjna równoważność formuł Definicja 9.1. Formuła A jest

Bardziej szczegółowo

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0 ĆWICZENIE 1 Klasyczny Rachunek Zdań (KRZ): zdania w sensie logicznym, wartości logiczne, spójniki logiczne, zmienne zdaniowe, tabele prawdziwościowe dla spójników logicznych, formuły, wartościowanie zbioru

Bardziej szczegółowo

LOGIKA Klasyczny Rachunek Zdań

LOGIKA Klasyczny Rachunek Zdań LOGIKA Klasyczny Rachunek Zdań Robert Trypuz trypuz@kul.pl 5 listopada 2013 Robert Trypuz (trypuz@kul.pl) Klasyczny Rachunek Zdań 5 listopada 2013 1 / 24 PLAN WYKŁADU 1 Alfabet i formuła KRZ 2 Zrozumieć

Bardziej szczegółowo

Matematyka ETId Elementy logiki

Matematyka ETId Elementy logiki Matematyka ETId Izolda Gorgol pokój 131A e-mail: I.Gorgol@pollub.pl tel. 081 5384 563 http://antenor.pol.lublin.pl/users/gorgol Zdania w sensie logicznym DEFINICJA Zdanie w sensie logicznym - zdanie oznajmujace,

Bardziej szczegółowo

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 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

Bardziej szczegółowo

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ KONWERSATORIUM 6: REZOLUCJA V rok kognitywistyki UAM 1 Kilka uwag terminologicznych Słuchacze zapewne pamiętają z zajęć dotyczących PROLOGu poniższą

Bardziej szczegółowo

Elementy logiki matematycznej

Elementy logiki matematycznej Elementy logiki matematycznej Przedmiotem logiki matematycznej jest badanie tzw. wyrażeń logicznych oraz metod rozumowania i sposobów dowodzenia używanych w matematyce, a także w innych dziedzinach, w

Bardziej szczegółowo

Schematy Piramid Logicznych

Schematy Piramid Logicznych Schematy Piramid Logicznych geometryczna interpretacja niektórych formuł Paweł Jasionowski Politechnika Śląska w Gliwicach Wydział Matematyczno-Fizyczny Streszczenie Referat zajmuje się następującym zagadnieniem:

Bardziej szczegółowo

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

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

Bardziej szczegółowo

Logika pragmatyczna. Logika pragmatyczna. Kontakt: Zaliczenie:

Logika pragmatyczna. Logika pragmatyczna. Kontakt: Zaliczenie: Logika pragmatyczna Logika pragmatyczna Kontakt: dr hab. inż. Adam Kasperski pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + literatura + informacje na stronie www. Zaliczenie: Kolokwium pisemne na

Bardziej szczegółowo

Adam Meissner SZTUCZNA INTELIGENCJA Problem spełnialności (SAT)

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

Bardziej szczegółowo

LOGIKA I TEORIA ZBIORÓW

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

Bardziej szczegółowo

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią. Semantyczne twierdzenie o podstawianiu Jeżeli dana formuła rachunku zdań jest tautologią i wszystkie wystąpienia pewnej zmiennej zdaniowej w tej tautologii zastąpimy pewną ustaloną formułą, to otrzymana

Bardziej szczegółowo

1 Wprowadzenie do algorytmiki

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

Bardziej szczegółowo

Metoda Karnaugh. B A BC A

Metoda Karnaugh. B A BC A Metoda Karnaugh. Powszechnie uważa się, iż układ o mniejszej liczbie elementów jest tańszy i bardziej niezawodny, a spośród dwóch układów o takiej samej liczbie elementów logicznych lepszy jest ten, który

Bardziej szczegółowo

Paradygmaty dowodzenia

Paradygmaty dowodzenia Paradygmaty dowodzenia Sprawdzenie, czy dana formuła rachunku zdań jest tautologią polega zwykle na obliczeniu jej wartości dla 2 n różnych wartościowań, gdzie n jest liczbą zmiennych zdaniowych tej formuły.

Bardziej szczegółowo

Adam Meissner.

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

Bardziej szczegółowo

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie),

Przykłady zdań w matematyce. Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości a, b, c jest prostokątny (a, b, c oznaczają dane liczby dodatnie), Elementy logiki 1 Przykłady zdań w matematyce Zdania prawdziwe: 1 3 + 1 6 = 1 2, 3 6, 2 Q, Jeśli x = 1, to x 2 = 1 (x oznacza daną liczbę rzeczywistą), Jeśli a 2 + b 2 = c 2, to trójkąt o bokach długości

Bardziej szczegółowo

Metody Programowania

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

Bardziej szczegółowo

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@.edu.pl Metoda tabel syntetycznych (MTS) MTS

Bardziej szczegółowo

Elementy logiki i teorii mnogości

Elementy logiki i teorii mnogości Elementy logiki i teorii mnogości Zdanie logiczne Zdanie logiczne jest to zdanie oznajmujące, któremu można przypisać określoną wartość logiczną. W logice klasycznej zdania dzielimy na: prawdziwe (przypisujemy

Bardziej szczegółowo

Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne)

Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne) Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne) Definicja 1: Tautologia jest to takie wyrażenie, którego wartość logiczna jest prawdą przy wszystkich możliwych wartościowaniach zmiennych

Bardziej szczegółowo

Tabu Search (Poszukiwanie z zakazami)

Tabu Search (Poszukiwanie z zakazami) Tabu Search (Poszukiwanie z zakazami) Heurystyka - technika znajdująca dobre rozwiązanie problemu (np. optymalizacji kombinatorycznej) przy rozsądnych (akceptowalnych z punktu widzenia celu) nakładach

Bardziej szczegółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery losowe generowanie realizacji procesu losowego Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z

Bardziej szczegółowo

Logika pragmatyczna dla inżynierów

Logika pragmatyczna dla inżynierów Logika pragmatyczna Logika pragmatyczna dla inżynierów Kontakt: dr hab. inż. Adam Kasperski pokój 509 B4 adam.kasperski@pwr.edu.pl materiały + literatura + informacje na stronie www. Zaliczenie: Test pisemny

Bardziej szczegółowo

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle. Dodał Administrator niedziela, 14 marzec :27 Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać

Bardziej szczegółowo

Podstawowe Pojęcia. Semantyczne KRZ

Podstawowe Pojęcia. Semantyczne KRZ Logika Matematyczna: Podstawowe Pojęcia Semantyczne KRZ I rok Językoznawstwa i Informacji Naukowej UAM 2006-2007 Jerzy Pogonowski Zakład Logiki Stosowanej UAM http://www.logic.amu.edu.pl Dodatek: ściąga

Bardziej szczegółowo

5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH

5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH 5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH Temat, którym mamy się tu zająć, jest nudny i żmudny będziemy się uczyć techniki obliczania wartości logicznej zdań dowolnie złożonych. Po co? możecie zapytać.

Bardziej szczegółowo

Kultura logiczna Klasyczny rachunek zdań 2/2

Kultura logiczna Klasyczny rachunek zdań 2/2 Kultura logiczna Klasyczny rachunek zdań 2/2 Bartosz Gostkowski bgostkowski@gmail.com Kraków 29 III 2 Plan wykładu: Wartościowanie w KRZ Tautologie KRZ Wartościowanie v, to funkcja, która posyła zbiór

Bardziej szczegółowo

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 10. Twierdzenie o pełności systemu aksjomatycznego KRZ

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 10. Twierdzenie o pełności systemu aksjomatycznego KRZ Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 10. Twierdzenie o pełności systemu aksjomatycznego KRZ 1 Tezy KRZ Pewien system aksjomatyczny KRZ został przedstawiony

Bardziej szczegółowo

Inteligencja obliczeniowa Laboratorium 2: Algorytmy genetyczne

Inteligencja obliczeniowa Laboratorium 2: Algorytmy genetyczne Inteligencja obliczeniowa Laboratorium 2: Algorytmy genetyczne Zadanie 1 W problemie plecakowym pytamy, jakie przedmioty wziąć do plecaka o ograniczonej objętości, by ich wartość była najwyższa. Załóżmy,

Bardziej szczegółowo

Temat: Algorytmy zachłanne

Temat: Algorytmy zachłanne Temat: Algorytmy zachłanne Algorytm zachłanny ( ang. greedy algorithm) wykonuje zawsze działanie, które wydaje się w danej chwili najkorzystniejsze. Wybiera zatem lokalnie optymalną możliwość w nadziei,

Bardziej szczegółowo

Wstęp do logiki. Klasyczny Rachunek Zdań II

Wstęp do logiki. Klasyczny Rachunek Zdań II Wstęp do logiki Klasyczny Rachunek Zdań II DEF. 1 (Słownik). Następujące znaki tworzą słownik języka KRZ: p 1, p 2, p 3, (zmienne zdaniowe) ~,,,, (spójniki) ), ( (nawiasy). DEF. 2 (Wyrażenie). Wyrażeniem

Bardziej szczegółowo

MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI

MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI Program wykładów: dr inż. Barbara GŁUT Wstęp do logiki klasycznej: rachunek zdań, rachunek predykatów. Elementy semantyki. Podstawy teorii mnogości

Bardziej szczegółowo

Wstęp do Techniki Cyfrowej... Algebra Boole a

Wstęp do Techniki Cyfrowej... Algebra Boole a Wstęp do Techniki Cyfrowej... Algebra Boole a Po co AB? Świetne narzędzie do analitycznego opisu układów logicznych. 1854r. George Boole opisuje swój system dedukcyjny. Ukoronowanie zapoczątkowanych w

Bardziej szczegółowo

Logika Matematyczna (10)

Logika Matematyczna (10) Logika Matematyczna (10) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Rezolucja w KRZ Jerzy Pogonowski (MEG) Logika Matematyczna (10) Rezolucja w KRZ 1 / 39 Plan

Bardziej szczegółowo

Automatyczne planowanie oparte na sprawdzaniu spełnialności

Automatyczne planowanie oparte na sprawdzaniu spełnialności Automatyczne planowanie oparte na sprawdzaniu spełnialności Linh Anh Nguyen Instytut Informatyki Uniwersytet Warszawski Linh Anh Nguyen Algorytm planowania SatPlan 1 Problem planowania sufit nie malowany?

Bardziej szczegółowo

Metoda Tablic Semantycznych

Metoda Tablic Semantycznych Procedura Plan Reguły Algorytm Logika obliczeniowa Instytut Informatyki Plan Procedura Reguły 1 Procedura decyzyjna Logiczna równoważność formuł Logiczna konsekwencja Procedura decyzyjna 2 Reguły α, β,

Bardziej szczegółowo

Obliczenia iteracyjne

Obliczenia iteracyjne Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej

Bardziej szczegółowo

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

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

Bardziej szczegółowo

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 Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA I WSPOMAGANIA DECYZJI Rozproszone programowanie produkcji z wykorzystaniem

Bardziej szczegółowo

ROZDZIAŁ 1. Rachunek funkcyjny

ROZDZIAŁ 1. Rachunek funkcyjny ROZDZIAŁ 1 Rachunek funkcyjny Niech X 1,..., X n będą dowolnymi zbiorami. Wyrażenie (formułę) ϕ(x 1,..., x n ), w którym występuje n zmiennych x 1,..., x n i które zamienia się w zdanie logiczne, gdy zamiast

Bardziej szczegółowo

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory Dr Anna ADRIAN Paw B5, pok 407 adrian@tempus.metal.agh.edu.pl

Bardziej szczegółowo

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań. Wykłady z Analizy rzeczywistej i zespolonej w Matematyce stosowanej Wykład ELEMENTY LOGIKI ALGEBRA BOOLE A Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek

Bardziej szczegółowo

Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań

Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 6. Reguły inferencyjne systemu aksjomatycznego Klasycznego Rachunku Zdań System aksjomatyczny logiki Budując logikę

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

Arytmetyka liczb binarnych

Arytmetyka liczb binarnych Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1

Bardziej szczegółowo

ALHE. prof. Jarosław Arabas semestr 15Z

ALHE. prof. Jarosław Arabas semestr 15Z ALHE prof. Jarosław Arabas semestr 15Z Wykład 5 Błądzenie przypadkowe, Algorytm wspinaczkowy, Przeszukiwanie ze zmiennym sąsiedztwem, Tabu, Symulowane wyżarzanie 1. Błądzenie przypadkowe: Pierwszym krokiem

Bardziej szczegółowo

Ziemia obraca się wokół Księżyca, bo posiadając odpowiednią wiedzę można stwierdzić, czy są prawdziwe, czy fałszywe. Zdaniami nie są wypowiedzi:

Ziemia obraca się wokół Księżyca, bo posiadając odpowiednią wiedzę można stwierdzić, czy są prawdziwe, czy fałszywe. Zdaniami nie są wypowiedzi: 1 Elementy logiki W logice zdaniem nazywamy wypowiedź oznajmującą, która (w ramach danej nauki) jest albo prawdziwa, albo fałszywa. Tak więc zdanie może mieć jedną z dwóch wartości logicznych. Prawdziwość

Bardziej szczegółowo

Wykład z Technologii Informacyjnych. Piotr Mika

Wykład z Technologii Informacyjnych. Piotr Mika Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły

Bardziej szczegółowo

Wykład z równań różnicowych

Wykład z równań różnicowych Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.

Bardziej szczegółowo

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1 W. Guzicki Próbna matura, grudzień 01 r. poziom rozszerzony 1 Próbna matura rozszerzona (jesień 01 r.) Zadanie 18 kilka innych rozwiązań Wojciech Guzicki Zadanie 18. Okno na poddaszu ma mieć kształt trapezu

Bardziej szczegółowo

Logika Stosowana. Wykład 7 - Zbiory i logiki rozmyte Część 3 Prawdziwościowa logika rozmyta. Marcin Szczuka. Instytut Informatyki UW

Logika Stosowana. Wykład 7 - Zbiory i logiki rozmyte Część 3 Prawdziwościowa logika rozmyta. Marcin Szczuka. Instytut Informatyki UW Logika Stosowana Wykład 7 - Zbiory i logiki rozmyte Część 3 Prawdziwościowa logika rozmyta Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika

Bardziej szczegółowo

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) 16.01.2003 Algorytmy i Struktury Danych PIŁA ALGORYTMY ZACHŁANNE czas [ms] Porównanie Algorytmów Rozwiązyjących problem TSP 100 000 000 000,000 10 000 000

Bardziej szczegółowo

Wyszukiwanie binarne

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

Bardziej szczegółowo

Opis efektów kształcenia dla programu kształcenia (kierunkowe efekty kształcenia) WIEDZA. rozumie cywilizacyjne znaczenie matematyki i jej zastosowań

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:

Bardziej szczegółowo

Klasyczny rachunek zdań 1/2

Klasyczny rachunek zdań 1/2 Klasyczny rachunek zdań /2 Elementy logiki i metodologii nauk spotkanie VI Bartosz Gostkowski Poznań, 7 XI 9 Plan wykładu: Zdanie w sensie logicznym Klasyczny rachunek zdań reguły słownikowe reguły składniowe

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

Jak wnioskują maszyny?

Jak wnioskują maszyny? Jak wnioskują maszyny? Andrzej Szałas informatyka + 1 Plan wykładu Plan wykładu Modelowanie wnioskowania Wyszukiwanie, a wnioskowanie Klasyczny rachunek zdań Diagramy Venna Wprowadzenie do automatycznego

Bardziej szczegółowo

Programowanie celowe #1

Programowanie celowe #1 Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem

Bardziej szczegółowo

III rok kognitywistyki UAM,

III rok kognitywistyki UAM, METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ WYKŁAD 14: POWTÓRKA III rok kognitywistyki UAM, 2016 2017 Dzisiejszy wykład w całości poświęcony będzie omówieniu przykładowych zadań, podobnych do

Bardziej szczegółowo

Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów

Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów Wprowadzenie do logiki Zdania, cz. III Język Klasycznego Rachunku Predykatów Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@amu.edu.pl Plan na pytanie o odniesienie przedmiotowe zdań odpowiedź

Bardziej szczegółowo

Metody numeryczne I Równania nieliniowe

Metody numeryczne I Równania nieliniowe Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem

Bardziej szczegółowo

Złożoność obliczeniowa

Złożoność obliczeniowa Złożoność obliczeniowa Jakub Michaliszyn 26 kwietnia 2017 Są problemy rozstrzygalne i nierozstrzygalne Są problemy rozstrzygalne i nierozstrzygalne Jak rozwiązywać te, które są rozstrzygalne? Są problemy

Bardziej szczegółowo

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych Elementy logiki: Algebra Boole a i układy logiczne 1 Elementy logiki dla informatyków Wykład III Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych Elementy logiki: Algebra Boole a

Bardziej szczegółowo

Kultura logiczna Klasyczny rachunek zdań 1/2

Kultura logiczna Klasyczny rachunek zdań 1/2 Kultura logiczna Klasyczny rachunek zdań /2 Bartosz Gostkowski bgostkowski@gmail.com Kraków 22 III 2 Plan wykładu: Zdanie w sensie logicznym Klasyczny rachunek zdań reguły słownikowe reguły składniowe

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy

Bardziej szczegółowo

W rachunku prawdopodobieństwa wyróżniamy dwie zasadnicze grupy rozkładów zmiennych losowych:

W rachunku prawdopodobieństwa wyróżniamy dwie zasadnicze grupy rozkładów zmiennych losowych: W rachunku prawdopodobieństwa wyróżniamy dwie zasadnicze grupy rozkładów zmiennych losowych: Zmienne losowe skokowe (dyskretne) przyjmujące co najwyżej przeliczalnie wiele wartości Zmienne losowe ciągłe

Bardziej szczegółowo

Uwagi wprowadzajace do reguł wnioskowania w systemie tabel analitycznych logiki pierwszego rzędu

Uwagi wprowadzajace do reguł wnioskowania w systemie tabel analitycznych logiki pierwszego rzędu Witold Marciszewski: Wykład Logiki, 17 luty 2005, Collegium Civitas, Warszawa Uwagi wprowadzajace do reguł wnioskowania w systemie tabel analitycznych logiki pierwszego rzędu 1. Poniższe wyjaśnienie (akapit

Bardziej szczegółowo

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).

Za pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa). Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z

Bardziej szczegółowo

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2 Pętle wielokrotne wykonywanie ciągu instrukcji. Bardzo często w programowaniu wykorzystuje się wielokrotne powtarzanie określonego ciągu czynności (instrukcji). Rozróżniamy sytuacje, gdy liczba powtórzeń

Bardziej szczegółowo

Lista 1 (elementy logiki)

Lista 1 (elementy logiki) Podstawy nauczania matematyki 1. Zdanie Lista 1 (elementy logiki) EE I rok W logice zdaniem logicznym nazywamy wyrażenie oznajmujące o którym można powiedzieć że jest prawdziwe lub fałszywe. Zdania z reguły

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

Rachunek logiczny. 1. Język rachunku logicznego.

Rachunek logiczny. 1. Język rachunku logicznego. Rachunek logiczny. Podstawową własnością rozumowania poprawnego jest zachowanie prawdy: rozumowanie poprawne musi się kończyć prawdziwą konkluzją, o ile wszystkie przesłanki leżące u jego podstaw były

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

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

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

Bardziej szczegółowo

Rozdział 1 PROGRAMOWANIE LINIOWE

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

Bardziej szczegółowo

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości

Bardziej szczegółowo

... (środowisko) ... ... 60 minut

... (środowisko) ... ... 60 minut EGZAMIN MATURALNY OD ROKU SZKOLNEGO 2014/2015 INFORMATYKA POZIOM ROZSZERZONY ARKUSZ I PRZYKŁADOWY ZESTAW ZADAŃ DLA OSÓB Z AUTYZMEM, W TYM Z ZESPOŁEM ASPERGERA (A2) WYBRANE:... (środowisko)... (kompilator)...

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie

Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie 3. Wykłady 5 i 6: Semantyka klasycznego rachunku zdań. Dotychczas rozwinęliśmy klasyczny rachunek na gruncie czysto syntaktycznym, a więc badaliśmy metodę sprawdzania, czy dana formuła B jest dowodliwa

Bardziej szczegółowo

Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego

Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego Notatki do tematu Metody poszukiwania rozwiązań jednokryterialnych problemów decyzyjnych metody dla zagadnień liniowego programowania matematycznego część III Analiza rozwiązania uzyskanego metodą simpleksową

Bardziej szczegółowo

Logika Matematyczna. Zadania Egzaminacyjne, 2007

Logika Matematyczna. Zadania Egzaminacyjne, 2007 Logika Matematyczna Zadania Egzaminacyjne, 2007 I Rok Językoznawstwa i Informacji Naukowej UAM Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl Podajemy rozwiązania zadań egzaminacyjnych.

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

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ą

Bardziej szczegółowo

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: Ciągi rekurencyjne Zadanie 1 Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie: w dwóch przypadkach: dla i, oraz dla i. Wskazówka Należy poszukiwać rozwiązania w postaci, gdzie

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

Wstęp do informatyki- wykład 7

Wstęp do informatyki- wykład 7 1 Wstęp do informatyki- wykład 7 Operatory przypisania, złożone operatory przypisania, Pętla while i do..while Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.

Bardziej szczegółowo

vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ).

vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ). 6. Wykład 6: Rachunek predykatów. Język pierwszego rzędu składa się z: symboli relacyjnych P i, i I, gdzie (P i ) oznaczać będzie ilość argumentów symbolu P i, symboli funkcyjnych f j, j J, gdzie (f j

Bardziej szczegółowo

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby Część XI C++ W folderze nazwisko36 program za każdym razem sprawdza oba warunki co niepotrzebnie obciąża procesor. Ten problem można rozwiązać stosując instrukcje if...else Instrukcja if wykonuje polecenie

Bardziej szczegółowo

Logika formalna wprowadzenie. Ponieważ punkty 10.i 12. nie były omawiane na zajęciach, dlatego można je przeczytać fakultatywnie.

Logika formalna wprowadzenie. Ponieważ punkty 10.i 12. nie były omawiane na zajęciach, dlatego można je przeczytać fakultatywnie. Logika formalna wprowadzenie Ponieważ punkty 10.i 12. nie były omawiane na zajęciach, dlatego można je przeczytać fakultatywnie. 1. Zdanie logicznie prawdziwe (Prawda logiczna) Zdanie, którego analityczność

Bardziej szczegółowo

Elementy logiki Klasyczny rachunek zdań. Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im.

Elementy logiki Klasyczny rachunek zdań. Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im. Elementy logiki. Klasyczny rachunek zdań. 1 Elementy logiki Klasyczny rachunek zdań Wojciech Buszkowski Zakład Teorii Obliczeń Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza Elementy

Bardziej szczegółowo

Sortowanie topologiczne skierowanych grafów acyklicznych

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)

Bardziej szczegółowo

ZADANIE 1. Ważenie (14 pkt)

ZADANIE 1. Ważenie (14 pkt) ZADANIE 1. Ważenie (14 pkt) Danych jest n przedmiotów o niewielkich gabarytach i różnych wagach. Jest też do dyspozycji waga z dwiema szalkami, ale nie ma odważników. Kładąc na wadze przedmioty a i b,

Bardziej szczegółowo

Symulacja w przedsiębiorstwie

Symulacja w przedsiębiorstwie Symulacja w przedsiębiorstwie Generowanie liczb losowych Cel Celem laboratorium jest zapoznanie się z funkcjami generowania liczb pseudolosowych w środowisku Ms Excel. Funkcje te są podstawą modeli symulacyjnych

Bardziej szczegółowo

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU

Hurtownie danych. Przetwarzanie zapytań. http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Hurtownie danych Przetwarzanie zapytań. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/hur ZAPYTANIA NA ZAPLECZU Magazyny danych operacyjnych, źródła Centralna hurtownia danych Hurtownie

Bardziej szczegółowo

Logika intuicjonistyczna

Logika intuicjonistyczna Logika intuicjonistyczna Logika klasyczna oparta jest na pojęciu wartości logicznej zdania. Poprawnie zbudowane i jednoznaczne stwierdzenie jest w tej logice klasyfikowane jako prawdziwe lub fałszywe.

Bardziej szczegółowo

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski METODA SYMPLEKS Maciej Patan Uniwersytet Zielonogórski WSTĘP Algorytm Sympleks najpotężniejsza metoda rozwiązywania programów liniowych Metoda generuje ciąg dopuszczalnych rozwiązań x k w taki sposób,

Bardziej szczegółowo

O ISTOTNYCH OGRANICZENIACH METODY

O ISTOTNYCH OGRANICZENIACH METODY O ISTOTNYCH OGRANICZENIACH METODY ALGORYTMICZNEJ Dwa pojęcia algorytmu (w informatyce) W sensie wąskim Algorytmem nazywa się każdy ogólny schemat procedury możliwej do wykonania przez uniwersalną maszynę

Bardziej szczegółowo

Drzewa Semantyczne w KRZ

Drzewa Semantyczne w KRZ Drzewa Semantyczne w KRZ Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl 7 XII 2006, 13:30 15:00 Jerzy Pogonowski (MEG) Drzewa Semantyczne w KRZ 7 XII 2006, 13:30 15:00

Bardziej szczegółowo