Postawienie problemu. Implementacja: stany vs. wezly. Implementacja: przeszukiwanie drzewa stanow. Przeszukiwanie drzewa stanow

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

Download "Postawienie problemu. Implementacja: stany vs. wezly. Implementacja: przeszukiwanie drzewa stanow. Przeszukiwanie drzewa stanow"

Transkrypt

1 Implementacja: stany vs. wezly Stan jest fizyczną konfiguracją (jej reprezentacją) Węzeł jest strukturą danych stanowiącą część drzewa przeszukiwań zawiera poprzednik (parent), następniki, głebokość (depth) oraz koszt ścieżki od korzenia (g) Stany nie mają poprzedników, następników, głębokości i kosztu ścieżki! State state Node parent, action depth = 6 g = 6 Funkcja SuccessorFn zwraca jako wynik zbiór akcji możliwych do wykonania w danym stanie wraz ze stanami osiąganymi po wykonaniu akcji. Funkcja Expand tworzy nowe węzły i wypełnia ich pola używając funkcji SuccessorFn. Postawienie problemu Reprezentacja problemu: stany: reprezentują opisy różnych stanów świata rzeczywistego akcje: reprezentują działania zmieniające bieżący stan koszt akcji ( 0): reprezentuje koszt związany z wykonaniem akcji Świat rzeczywisty jest ogromnie złożony: przestrzeń stanów dla problemu musi być wyabstrahowana z rzeczywistości, pojedynczne akcje w opisie problemu muszą reprezentować złożone operacje rzeczywiste Sformułowanie problemu stan początkowy: początkowy stan przed rozwiązaniem problemu cel: stan docelowy lub formuła oceniająca, czy dany stan spełnia cel rozwiązanie: ciąg akcji prowadzący od stanu początkowego do celu koszt rozwiązania: funkcja oceny kosztu rozwiązania równa sumie kosztów poszczególnych akcji występujących w rozwiązaniu Rozwiązania o niższym koszcie są lepsze niż rozwiązania o wyższym koszcie. Przeszukiwanie przestrzeni stanów 14 Przeszukiwanie przestrzeni stanów 2 Implementacja: przeszukiwanie drzewa stanow function Tree-Search( problem, fringe) returns a solution, or failure fringe Insert(Make-Node(Initial-State[problem]), fringe) if fringe is empty then return failure node Remove-Front(fringe) if Goal-Test[problem] applied to State(node) succeeds return node fringe InsertAll(Expand(node, problem), fringe) function Expand( node, problem) returns a set of nodes successors the empty set for each action, result in Successor-Fn[problem](State[node]) do s a new Node Parent-Node[s] node; Action[s] action; State[s] result Path-Cost[s] Path-Cost[node] +Step-Cost(node, action, s) Depth[s] Depth[node] +1 add s to successors return successors Przeszukiwanie drzewa stanow Prosty pomysł: symulowanie offline przeszukiwania przestrzeni stanów poprzez generowanie następników wcześniej odwiedzonych stanów (znane również jako ekspansja stanów) function Tree-Search( problem, strategy) returns a solution, or failure initialize the search tree using the initial state of problem if there are no candidates for expansion then return failure choose a leaf node for expansion according to strategy if the node contains a goal state then return the corresponding solution else expand the node and add the resulting nodes to the search tree end Przeszukiwanie przestrzeni stanów 15 Przeszukiwanie przestrzeni stanów 10

2 Przeszukiwanie wszerz Wykonuje ekspansję najpłytszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką FIFO, tzn. nowe następniki dodawane są na koniec kolejki function Tree-Search( problem, fringe) returns a solution, or failure fringe Insert(Make-Node(Initial-State[problem]), fringe) if fringe is empty then return failure node Remove-Front(fringe) if Goal-Test[problem] applied to State(node) succeeds return node fringe InsertAll(Expand(node, problem), fringe) Strategie przeszukiwania Strategia jest definiowana poprzez wybór kolejności ekspansji stanów Strategie są ocenianie według następujących kryteriów: zupełność czy zawsze znajduje rozwiązanie, jeśli ono istnieje? złożoność czasowa liczba wygenerowanych węzłów złożoność pamięciowa maksymalna liczba węzłów w pamięci optymalność czy znajduje rozwiązanie o minimalnym koszcie? Złożoność czasowa i pamięciowa są mierzone w terminach b maksymalnego rozgałęzienia drzewa przeszukiwań d głębokości rozwiązania o najmniejszym koszcie m maksymalnej głębokości drzewa przeszukiwań (może być ) Przeszukiwanie przestrzeni stanów algorytmy ślepe 3 Przeszukiwanie przestrzeni stanów 16 Strategia jednolitego kosztu Wykonuje ekspansję węzła o najmniejszym koszcie spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe = kolejka priorytetowa porządkująca węzły według kosztu ścieżki od korzenia function Tree-Search( problem, fringe) returns a solution, or failure fringe Insert(Make-Node(Initial-State[problem]), fringe) if fringe is empty then return failure node Remove-Front(fringe) if Goal-Test[problem] applied to State(node) succeeds return node fringe InsertAll(Expand(node, problem), fringe) Odpowiada przeszukiwaniu wszerz jeśli koszt wszystkich pojedynczych akcji jest ten sam Rodzaje strategii przeszukiwania Strategie ślepe korzystają z informacji dostępnej jedynie w definicji problemu: Przeszukiwanie wszerz Strategia jednolitego kosztu Przeszukiwanie wgłąb Przeszukiwanie ograniczone wgłąb Przeszukiwanie iteracyjnie pogłębiane Przeszukiwanie dwukierunkowe Strategie heurystyczne korzystają z dodatkowej, heurystycznej funkcji oceny stanu (np. szacującej koszt rozwiązania od bieżącego stanu do celu): Przeszukiwanie zachłanne Przeszukiwanie A Rekurencyjne przeszukiwanie pierwszy najlepszy Przeszukiwanie lokalne zachłanne (hill-climbing) Symulowane wyżarzanie Algorytm genetyczny Przeszukiwanie przestrzeni stanów algorytmy ślepe 14 Przeszukiwanie przestrzeni stanów 17

3 Podsumowanie algorytmow b maksymalne rozgałęzienie d głębokość optymalnego rozwiązania m maksymalna głębokość drzewa przeszukiwań (może być ) Kryterium Wszerz Jednolity Wgłąb Ograniczone Iter. Dwukie- Koszt Wgłąb Pogłęb. runkowe Zupełne? Tak a Tak a,b Nie Tak, dla l d Tak a Tak a,d Czas b d+1 b C /ɛ b m b l b d b d/2 Pamięć b d+1 b C /ɛ bm bl bd b d/2 Optymalne? Tak c Tak Nie Nie Tak c Tak d a) zupełne, jeśli b jest skończone b) zupełne, jeśli koszt akcji ɛ, dla pewnego ɛ>0 c) optymalne, jeśli koszt wszystkich akcji jest taki sam d) zupełne i optymalne, jeśli oba przeszukiwania wszerz lub wg jednol. kosztu Przeszukiwanie wglab Wykonuje ekspansję najgłebszego węzła spośród tych, ktore nie były jeszcze rozszerzone Implementacja: fringe jest kolejką LIFO, tzn. nowe następniki dodawane są na początek kolejki function Tree-Search( problem, fringe) returns a solution, or failure fringe Insert(Make-Node(Initial-State[problem]), fringe) if fringe is empty then return failure node Remove-Front(fringe) if Goal-Test[problem] applied to State(node) succeeds return node fringe InsertAll(Expand(node, problem), fringe) Podsumowanie: Iteracyjne pogłębianie używa tylko liniowej pamięci i czasu porównywalnego z innymi algorytmami Przeszukiwanie przestrzeni stanów algorytmy ślepe 53 Przeszukiwanie przestrzeni stanów algorytmy ślepe 20 Przeszukiwanie grafu Jesli algorytm przeszukiwania przestrzeni stanów wykrywa i eliminuje z przeszukiwania stany wcześniej odwiedzone, to taki algorytm jest dobry również do przeszukiwania grafu Zmienna closed pamięta wszystkie wcześniej odwiedzone stany function Graph-Search( problem, fringe) returns a solution, or failure closed an empty set fringe Insert(Make-Node(Initial-State[problem]), fringe) if fringe is empty then return failure node Remove-Front(fringe) if Goal-Test[problem](State[node]) then return node if State[node] is not in closed then add State[node] to closed fringe InsertAll(Expand(node, problem), fringe) end Przeszukiwanie ograniczone wglab Przeszukiwanie wgłąb z ograniczeniem na głębokość l, tzn. węzły na głębokości l nie mają następników Implementacja rekurencyjna: function Depth-Limited-Search( problem, limit) returns soln/fail/cutoff Recursive-DLS(Make-Node(Initial-State[problem]), problem, limit) function Recursive-DLS(node, problem, limit) returns soln/fail/cutoff cutoff-occurred? false if Goal-Test[problem](State[node]) then return node else if Depth[node] =limit then return cutoff else foreach successor in Expand(node, problem) do result Recursive-DLS(successor, problem, limit) if result = cutoff then cutoff-occurred? true else if result failure then return result if cutoff-occurred? then return cutoff else return failure Przeszukiwanie przestrzeni stanów algorytmy ślepe 55 Przeszukiwanie przestrzeni stanów algorytmy ślepe 38

4 fringe jest kolejk porz dkuj c w z y rosn co wed ug warto- Implementacja: funkcji u yteczno ci (im mniejsza warto funkcji, tym w ze jest bardziej ci Przeszukiwanie A Przeszukiwanie pierwszy najlepszy kosztowna Funkcja u yteczno ci: f(n) =g(n)+h(n) g(n) = dotychczasowy koszt dotarcia do stanu n h(n) = oszacowanie kosztu od stanu bie cego n do stanu docelowego f(n) = oszacowanie pe nego kosztu cie ki od stanu pocz tkowego do celu prowadz cej przez stan n U ywa funkcji u yteczno ci, która dla ka dego stanu ocenia jego u yteczno Wykonuje ekspansj najbardziej u ytecznego stanu spo ród wcze niej nieodwiedzonych stanów u yteczny ). Pomys : unika ekspansji stanów, dla których dotychczasowa cie ka jest ju function Tree-Search( problem, fringe) returns a solution, or failure function Tree-Search( problem, fringe) returns a solution, or failure fringe Insert(Make-Node(Initial-State[problem]), fringe) fringe Insert(Make-Node(Initial-State[problem]), fringe) if fringe is empty then return failure node Remove-Front(fringe) if fringe is empty then return failure node Remove-Front(fringe) if Goal-Test[problem] applied to State(node) succeeds return node fringe InsertAll(Expand(node, problem),fringe) if Goal-Test[problem] applied to State(node) succeeds return node fringe InsertAll(Expand(node, problem), fringe) Przypadki szczególne: przeszukiwanie zach anne, przeszukiwanie A Przeszukiwanie przestrzeni stanów μ algorytmy heurystyczne 3 Przeszukiwanie przestrzeni stanów μ algorytmy heurystyczne 15 Rekurencyjne przeszukiwanie pierwszy najlepszy function Recursive-Best-First-Search( problem) returns soln/fail return RBFS(problem, Make-Node(Initial-State[problem]), ) Przeszukiwanie zachlanne function RBFS(problem, node, f_limit) returns soln/fail and a new f -cost limit Funkcja u yteczno ci = heurystyczna funkcja oceny stanu h(n) Szacuje koszt rozwi zania z bie cego stanu n do najbli szego stanu docelowego if Goal-Test[problem](state) then return node successors Expand(node, problem) if successors is empty then return failure, Przeszukiwanie zach anne wykonuje ekspansj tego w z a, który wydaje si by najbli ej celu for each s in successors do function Tree-Search( problem, fringe) returns a solution, or failure f [s] max(g(s)+h(s),f [node]) repeat fringe Insert(Make-Node(Initial-State[problem]), fringe) best the lowest f -value in successors if f [best] > f_limit then return failure, f [best] if fringe is empty then return failure node Remove-Front(fringe) alternative the second-lowest f -value among successors result, f [best] RBFS(problem, best, min(f_limit, alternative)) if Goal-Test[problem] applied to State(node) succeeds return node fringe InsertAll(Expand(node, problem),fringe) if result failure then return result Przeszukiwanie przestrzeni stanów μ algorytmy heurystyczne 42 Przeszukiwanie przestrzeni stanów μ algorytmy heurystyczne 4

5 Inaczej przeszukiwanie lokalne zach anne lub wspinanie wzd u gradientu zawsze s siada z najwi ksz warto ci funkcji oceny, tzn. Wybiera przez gradient funkcji wyznaczanego Przeszukiwanie z tabu Przeszukiwanie lokalne Przeszukiwanie lokalne zast puje stan bie cy jednym z jego bezpo rednich Pomys : wybiera optymalny ruch przestrzegaj c zakazu powrotu do ostatnio odwiedzonych stanów, mo e natomiast wykona ruch do gorszego stanu s siadów function Local-Search( problem) returns a state function Tabu-Search( problem, k) returns a solution state local variables: current, next, nodes inputs: problem, a problem Value, a function that evaluates a state best, a node with the best value local variables: current, a node tabu, a set of forbidden states current Make-Node(Initial-State[problem]) current Make-Node(Initial-State[problem]) best current best current repeat tabu current} repeat current any successor of current if Value[current] > Value[best] then best current next a highest-valued successor of current tabu until best is optimal, or Value[best] is high enough, or enough time has elapsed if Value[next] > Value[best] then best next return best replace the k-th oldest state tabu with next current next until the same state and tabu are reached twice or time has elapsed return best Przeszukiwanie przestrzeni stanów μ algorytmy heurystyczne 54 Przeszukiwanie przestrzeni stanów μ algorytmy heurystyczne 46 Symulowane wyzarzanie Hill-climbing Pomys : dopuszcza z e posuni cia, ale stopniowo maleje ich cz sto wraz z up ywem czasu function Simulated-Annealing( problem, schedule) returns a solution state inputs: problem, a problem function Hill-Climbing( problem) returns a state that is a local maximum schedule, a mapping from time to temperature inputs: problem, a problem local variables: current, a node next, a node local variables: current, a node neighbor, a node T, a temperature controlling prob. of downward steps current Make-Node(Initial-State[problem]) current Make-Node(Initial-State[problem]) for t 1 to do neighbor a highest-valued successor of current T schedule[t] if T = 0 then return current if Value[neighbor] < Value[current] then return State[current] current neighbor next a randomly selected successor of current E Value[next] Value[current] end if E > 0 then current next else current next only with probability e E/T Przeszukiwanie przestrzeni stanów μ algorytmy heurystyczne 55 Przeszukiwanie przestrzeni stanów μ algorytmy heurystyczne 49

6 (p add 1,.., p i,.., p n to new ) i to used add Value[next] > Value[current] then current next if return current else Genetic-Algorithm( problem, Fitness-Fn) returns an individual function population, a set of individuals inputs: for i from 1 to Size(population) loop Random-Selection(population, Fitness-Fn) x (small random probability) then child Mutate(child) if child to new_population add some individual is fit enough, or enough time has elapsed until the best individual in population, according to Fitness-Fn return Przeszukiwanie przyrostowe z powracaniem Stany: zmienne częściowo przypisane (tzn. tylko niektóre) więzy zawsze spełnione dla ustalonych zmiennych Stan początkowy: pusty zbiór przypisań {} Funkcja następnika: przypisuje wartość do nieprzypisanej zmiennej tak, żeby nie powodować konfliktu więzów z dotychczasowym przypisaniem porażka, gdy ustalenie kolejnej zmiennej jest niewykonalne Algorytm Kernigana-Lina Variable-Depth-Search( problem) returns a solution state function variables: current, local specifications of the current state local new, states generated in the current step used, specifications used in the current step current Make-Node(Initial-State[problem]) do loop (p 1,...,p i,...,p n ) current Cel: pełne przypisanie zmiennych 1) Dla problemu z n zmiennymi każde rozwiązanie jest na głębokości n warto używać przeszukiwania wgłab 2) Ścieżka jest nieistotna, przypisanie zmiennych jest przemienne, np. [najpierw WA= red potem NT = green] to tak samo jak [najpierw NT = green potem WA= red] wystarczy rozważyć jeden ustalony porządek przypisywania zmiennych new } used } for j from 1 to n loop (p 1,.., p i,.., p n ) highest-valued successor of (p 1,.., p i,.., p n with ) used i (p 1,.., p i,.., p n ) (p 1,.., p i,.., p n ) next the highest-valued state in new Przeszukiwanie przestrzeni stanów problemy z więzami 10 Przeszukiwanie przestrzeni stanów μ algorytmy heurystyczne 59 Przeszukiwanie przyrostowe z powracaniem Przeszukiwanie przyrostowe z powracaniem (ang. backtracking) przeszukiwanie wgłąb, każdy krok to ustalenie wartości jednej zmiennej kolejność przypisywania zmiennych jest ustalona jeśli ustalenie kolejnej zmiennej jest niewykonalne bez łamania więzów następuje powrót, tzn. cofnięcie niektórych przypisań Algorytm genetyczny Fitness-Fn, a function that measures the fitness of an individual new_population empty set function Backtracking-Search(csp) returns solution/failure return Recursive-Backtracking([], csp) function Recursive-Backtracking(assigned, csp) returns solution/failure if assigned is complete then return assigned var Select-Unassigned-Variable(Variables[csp], assigned, csp) for each value in Order-Domain-Values(var, assigned, csp) do if value is consistent with assigned according to Constraints[csp] then result Recursive-Backtracking([var = value assigned], csp) if result failure then return result end return failure Random-Selection(population, Fitness-Fn) y Reproduce(x, y) child population new_population Reproduce zwraca nowy stan b d cy losowym skrzy owaniem Funkcja dwóch stanów-rodziców. (kombinacj ) Funkcja Mutate zmienia losowo pojedyncz informacj w stanie. Przeszukiwanie przestrzeni stanów problemy z więzami 11 Przeszukiwanie przestrzeni stanów μ algorytmy heurystyczne 60

7 Minimalna liczba konfliktow: algorytm Stan początkowy: losowy lub zachłannie minimalizujący liczbę konfliktów Conflicts = liczba niespełnionych więzów po przypisaniu var = v function Min-Conflicts(csp, max-steps) returns a solution or failure inputs: csp, a constraint satisfaction problem max-steps, the number of steps allowed before giving up local variables: current, a complete assignment var, a variable value, avalueforavariable current an initial complete assignment for csp for i =1tomax-steps do var a randomly chosen, conflicted variable from Variables[csp] value the value v for var that minimizes Conflicts(var, v, current, csp) set var=value in current if current is a solution for csp then return current end return failure Heurystyki przyspieszajce Wybór zmiennej najbardziej ograniczającej spośród najbardziej ograniczonych Wybór wartości zmiennej najmniej ograniczającej Sprawdzenie wprzód Binarny CSP: Sprawdzenie spójności łukowej Analiza grafu zależności Przeszukiwanie przestrzeni stanów problemy z więzami 39 Przeszukiwanie przestrzeni stanów problemy z więzami 17 Strategia minimax: algorytm Dla gier deterministycznych z pełną informacją Pomysł: wybiera ruch zapewniający największą wypłatę tzn. największą wartość minimax (funkcja Minimax-Value) przy założeniu, źe przeciwnik gra optymalnie function Minimax-Decision(state, game) returns an action action, state the a, s in Successors(state) such that Minimax-Value(s, game) is maximized return action function Minimax-Value(state, game) returns a utility value if Terminal-Test(state) then return Utility(state) else if max is to move in state then return the highest Minimax-Value of Successors(state) else return the lowest Minimax-Value of Successors(state) Spojnosc lukowa: algorytm function AC-3( csp) returns the CSP, possibly with reduced domains inputs: csp, a binary CSP with variables {X 1,X 2,..., X n } local variables: queue, a queue of arcs, initially all the arcs in csp while queue is not empty do (X i,x j ) Remove-First(queue) if Remove-Inconsistent-Values(X i,x j ) then for each X k in Neighbors[X i ] do add (X k,x i )toqueue function Remove-Inconsistent-Values( X i,x j ) returns true iff we remove a value removed false for each x in Domain[X i ] do if no value y in Domain[X j ] allows (x,y) to satisfy the constraint between X i and X j then delete x from Domain[X i ]; removed true return removed Przeszukiwanie przestrzeni stanów gry 6 Przeszukiwanie przestrzeni stanów problemy z więzami 31

8 Strategia usrednionego minimax Uogólnienie strategii minimax dla gier niedeterministycznych function ExpectiMinimax-Decision(state, game) returns an action action, state the a, s in Successors(state) such that ExpectiMinimax-Value(s, game) is maximized return action function ExpectiMinimax-Value(state, game) returns a utility value if Terminal-Test(state) then return Utility(state) else if state is a Max node then return the highest ExpectiMinimax-Value of Successors(state) else if state is a Min node then return the lowest ExpectiMinimax-Value of Successors(state) else if state is a chance node then return average of ExpectiMinimax-Value of Successors(state) Strategia minimax z odcieciem: algorytm function Minimax-Decision(state, game) returns an action action, state the a, s in Successors(state) such that Minimax-Cutoff(s, game) is maximized return action function Minimax-Cutoff(state, game) returns a utility value if Cutoff-Test(state) then return Eval(state) else if max is to move in state then return the highest Minimax-Value of Successors(state) else return the lowest Minimax-Value of Successors(state) Funkcja oceny Eval szacuje wypłatę dla danego stanu gry = rzeczywistej wypłacie dla stanów końcowych Przeszukiwanie przestrzeni stanów gry 35 Przeszukiwanie przestrzeni stanów gry 16 Wnioskowanie przez wyliczanie Wyliczanie wszystkich modeli w głąb jest poprawne i pełne function TT-Entails?(KB, α) returns true or false symbols a list of the proposition symbols in KB and α return TT-Check-All(KB, α, symbols, []) function TT-Check-All(KB, α, symbols, model) returns true or false if Empty?(symbols) then if PL-True?(KB, model) then return PL-True?(α, model) else return true else do P First(symbols); rest Rest(symbols) return TT-Check-All(KB, α, rest, Extend(P,true, model) and TT-Check-All(KB, α, rest, Extend(P, false, model) O(2 n ) dla n symboli; problem jest co-np-zupełny Strategia minimax z odcieciem α β: algorytm function Alpha-Beta-Search(state, game) returns an action action, state the a, s in Successors[game](state) such that Min-Value(s, game,, + ) is maximized return action function Max-Value(state, game, α, β) returns the minimax value of state if Cutoff-Test(state) then return Eval(state) for each s in Successors(state) do α max(α, Min-Value(s, game, α, β)) if α β then return β return α function Min-Value(state, game, α, β) returns the minimax value of state if Cutoff-Test(state) then return Eval(state) for each s in Successors(state) do β min( β, Max-Value(s, game, α, β)) if β α then return α return β Wnioskowanie w rachunku zdań 28 Przeszukiwanie przestrzeni stanów gry 25

9 Backward chaining Pomysł: wyprowadzanie wstecz od zapytania q: dowód q w backward chaining przez sprawdzenie, czy q jest już znane, lub udowodnienie wszystkich przesłanek pewnej reguły, która pociąga q Unikanie pętli: sprawdza,czynowy podcel nie był już wcześniej wygenerowany Unikanie powtórzeń: sprawdza, czy dla nowego podcelu 1) była już udowodniona prawdziwość, lub 2) dowód był już podjęty wcześniej i zakończył się porażką Forward chaining i backward chaining Postać Horna (ograniczona) KB = koniunkcja klauzul Horna Klauzula Horna = symbol zdaniowy; lub (koniunkcja symboli) symbol Np. C (B A) (C D B) Modus Ponens (dla postaci Horna): pełne dla bazwiedzy Horna α 1,...,α n, α 1 α n β β Można użyć algorytmów forward chaining lub backward chaining. Obaalgorytmy sąnaturalne i wykonują sięwczasie liniowym Wnioskowanie w rachunku zdań 44 Wnioskowanie w rachunku zdań 32 Forward chaining vs. backward chaining Forward chaining jest sterowany-danymi, por. automatyczne, nieświadome przetwarzanie, np. rozpoznawanie obiektów, rutynowe decyzje Może wykonać dużo pracy nieistotnej dla osiągnięcia celu Backward chaining jest nakierowany na cel, dobry do rozwiązywania problemów, np. Gdzie są moje klucze? Jak dostanę się na studia? Koszt backward chaining może być dużo mniejszy niż liniowy względemrozmiaru bazy wiedzy KB Forward chaining: algorytm Pomysł: stosuje dowolną regułę, której przesłanki są spełnione w KB, dodaje jej wniosek dokb, i powtarza, aż znajdzie odpowiedź function PL-FC-Entails?(KB, q) returns true or false local variables: count, a table, indexed by clause, initially the number of premises inferred, a table, indexed by symbol, each entry initially false agenda, a list of symbols, initially the symbols known to be true while agenda is not empty do p Pop(agenda) unless inferred[p] do inferred[p] true for each Horn clause c in whose premise p appears do decrement count[c] if count[c] =0then do if Head[c] =q then return true Push(Head[c], agenda) return false Wnioskowanie w rachunku zdań 56 Wnioskowanie w rachunku zdań 33

10 Rezolucja: algorytm Dowód przez zaprzeczenie, tzn. pokazanie, że KB α niespełnialne function PL-Resolution(KB, α) returns true or false clauses the set of clauses in the CNF representation of KB α new {} for each C i, C j in clauses do resolvents PL-Resolve(C i, C j ) if resolvents contains the empty clause then return true new new resolvents if new clauses then return false clauses clauses new Rezolucja Postać normalna koniunkcyjna (CNF uniwersalna) koniunkcja alternatyw literałów }{{} klauzule Np. (A B) (B C D) Rezolucyjna reguła wnioskowania (dla CNF): l 1 l k, m 1 m n l 1 l i 1 l i+1 l k m 1 m j 1 m j+1 m n gdize l i i m j są dopełniającymi się literałami. Np. P 1,3 P 2,2, P 2,2 P 1,3 Rezolucja jest poprawna i pełna dla logiki zdaniowej B P A A P? OK OK S P? OK A A OK W Wnioskowanie w rachunku zdań 59 Wnioskowanie w rachunku zdań 57 Instancjacja uniwersalna (UI) Każda instancjacja uniwersalnie kwantyfikowanego zdania jest logiczną konsekwencją reguły: v α Subst({v/g},α) dla dowolnej zmiennej v i termu ustalonego g Np. x King(x) Greedy(x) Evil(x) daje King(John) Greedy(John) Evil(John) King(Richard) Greedy(Richard) Evil(Richard) King(Father(John)) Greedy(Father(John)) Evil(Father(John)). Rezolucja: przeksztalcanie zdania do CNF B 1,1 (P 1,2 P 2,1 ) 1. Eliminacja poprzez zastąpienie α β przez (α β) (β α). (B 1,1 (P 1,2 P 2,1 )) ((P 1,2 P 2,1 ) B 1,1 ) 2. Eliminacja poprzez zastąpienie α β przez α β. ( B 1,1 P 1,2 P 2,1 ) ( (P 1,2 P 2,1 ) B 1,1 ) 3. Przesunięcie do wewnątrz (prawa de Morgana i elim. podwójnej negacji): ( B 1,1 P 1,2 P 2,1 ) (( P 1,2 P 2,1 ) B 1,1 ) 4. Spłaszczenie przy pomocy rozdzielności ( względem ): ( B 1,1 P 1,2 P 2,1 ) ( P 1,2 B 1,1 ) ( P 2,1 B 1,1 ) Wnioskowanie w logice I rzędu 25 Wnioskowanie w rachunku zdań 58

11 Uogolnione Modus Ponens p 1, p 2,..., p n, (p 1 p 2... p n q) qθ p 1 jest King(John) p 1 jest King(x) p 2 jest Greedy(y) p 2 jest Greedy(x) θ jest {x/john, y/john} q jest Evil(x) qθ jest Evil(John) gdzie p i θ = p i θ dla wszyst. i Uogólnione Modus Ponens używa baz wiedzy klauzul definiujących (dokładnie jeden literał pozytywny) Zakłada się, że wszystkie zmienne są kwantyfikowane uniwersalnie Instancjacja egzystencjalna (EI) Dla każdego zdania α, zmiennej v, i symbolu stałego k który nie występujenigdzie w bazie wiedzy: v α Subst({v/k},α) Np. x Crown(x) OnHead(x, John) pociąga Crown(C 1 ) OnHead(C 1,John) przy założeniu, że C 1 jest nowym symbolem stałym, nazywanym stałą Skolema Inny przykład: z x d(x y )/dy = x y otrzymujemy d(e y )/dy = e y przy założeniu, że e jest nowym symbolem stałym Wnioskowanie w logice I rzędu 37 Wnioskowanie w logice I rzędu 26 Forward chaining: algorytm function FOL-FC-Ask(KB, α) returns a substitution or false repeat until new is empty new {} for each sentence r in KB do ( p 1... p n q) Standardize-Apart(r) for each θ such that (p 1... p n )θ = (p 1... p n)θ for some p 1,...,p n in KB q Subst(θ, q) if q is not a renaming of a sentence already in KB or new then do add q to new φ Unify(q, α) if φ is not fail then return φ add new to KB return false Instancjacja: wlasnosci Instancjacja uniwersalna może być stosowana kilkakrotnie, żeby dodać nowe zdania; nowa KB jest logicznie równoważna poprzedniej Instancjacja egzystencjalna może być zastosowana raz, żeby zamienić zdania z kwantyfikatorami egzystencjalnymi; nowa KB nie jest równoważna poprzedniej, ale jest spełnialna wtw kiedy poprzednia KB jest spełnialna Wnioskowanie w logice I rzędu 46 Wnioskowanie w logice I rzędu 27

12 Faktoryzacja Reguła faktoryzacji dla logiki I rzędu (usuwanie powtarzających się literałów): l 1 l i l j l k (l 1 l i l j 1 l j+1 l k )θ gdzie Unify(l i,l j )=θ. Na przykład, Likes(x, Chris) Likes(Ken,y) Likes(Ken,Chris) z unifikacją θ = {x/ken, y/chris} Backward chaining: algorytm function FOL-BC-Ask(KB,goals, θ) returns a set of substitutions inputs: KB, a knowledge base goals, a list of conjuncts forming a query θ, the current substitution, initially the empty substitution {} local variables: ans, a set of substitutions, initially empty if goals is empty then return {θ} q Subst(θ, First(goals)) for each r in KB where Standardize-Apart(r) = ( p 1... p n q) and θ Unify(q, q ) succeeds ans FOL-BC-Ask(KB, [p 1,...,p n Rest(goals)], Compose(θ, θ)) ans return ans Rezolucja + faktoryzacja jest poprawnym i pełnym systemem wnioskowania dla logiki I rzędu (bez ograniczeń) Wnioskowanie w logice I rzędu 63 Wnioskowanie w logice I rzędu 53 ForwardChaining Poszukuje planu z liniowo uporz dkowanymi akcjami zaczynaj c od stanu pocz tkowego i dodaj c akcje w przód. Algorytm cofa si, je li nie mo e za- ju adnej akcji w bie cym stanie lub bie cy stan wyst pi ju stosowa wcze niej Rezolucja Reguła rezolucji dla logiki I rzędu: l 1 l k, m 1 m n (l 1 l i 1 l i+1 l k m 1 m j 1 m j+1 m n )θ gdzie Unify(l i, m j )=θ. Na przykład, Rich(x) Unhappy(x) Rich(Ken) Unhappy(Ken) z unifikacją θ = {x/ken} Algorytm stosuje rezolucję do CNF(KB α) Problem: Rezolucja binarna jest poprawnym, ale nie jest pełnym systemem wnioskowania dla logiki I rzędu Wnioskowanie w logice I rzędu 62 Planowanie 12

13 planowania sk ada si z poziomów: Graf poziom S μ 0 stanowi pocz tkowemu z opisu zadania, odpowiada poziom zawiera: Ka dy zbiór litera ów: reprezentuje te, co mog by spe nione w danym kroku μ zbiór akcji: reprezentuje akcje, które mog by u yte w danym kroku; μ akcji z opisu problemu, dla ka dego litera u dopuszczalna jest oprócz s rozwijane do momentu, kiedy dwa kolejne poziomy s identyczne Poziomy ka dy nast pny poziom by by identyczny z poprzednim) (tzn. Initial-Planning-Graph generuje litera y na poziomie S Funkcja 0 grafu czyli litera y ze stanu pocz tkowego planowania ka dym kroku p tli funkcja Expand-Graph dodaje akcje z bie cego W i litera y z nast pnego poziomu grafu planowania poziomu Graf planowania PopPlan: algorytm Pomys : Stopniowo kompletuje plan zaczynaj c od pustego planu poprzez dodawanie po cze przyczynowych, akcji i wi zów porz dkuj cych Cofa, gdy otwarty warunek jest nieosi galny lub konflikt jest nierozstrzygalny μ kolejne poziomy odpowiadaj kolejnym krokom czasu function POP(initial, goal, operators) returns plan plan Make-Minimal-Plan(initial, goal) if Solution?( plan) then return plan S need,c Select-Subgoal( plan) akcja zachowuj ca stan tego litera u Choose-Operator( plan, operators, S need, c) Resolve-Threats( plan) end function Select-Subgoal( plan) returns S need,c pick a plan step S need from Steps( plan) a precondition c that has not been achieved with S return need,c Planowanie 32 Planowanie 24 GraphPlan: algorytm PopPlan: algorytm function Graphplan(problem) returns solution or failure procedure Choose-Operator(plan, operators, S need, c) choose a step S add from operators or Steps( plan) that has c as an effect graph Initial-Planning-Graph(problem) there is no such step then fail if the causal link S add add c S need to Links( plan) goals Goals[problem] if goals all non-mutex in last level of graph then do add the ordering constraint S add S need to Orderings( plan) if S add is a newly added step from operators then solution Extract-Solution(graph, goals, Length(graph)) if solution failure then return solution add S add to Steps( plan) add Start S add Finish to Orderings( plan) else if No-Solution-Possible( graph) then return failure graph Expand-Graph(graph, problem) procedure Resolve-Threats(plan) for each S threat that threatens a link S i c S j in Links( plan) do choose either Add S Demotion: threat S i Orderings( plan) to Add S Promotion: j S threat Orderings( plan) to if not Consistent( plan) then fail end Planowanie 36 Planowanie 25

14 wnioskowania dla danych opisanych przez zbiór atrybutów z decyzj Metody dyskretn : Extract-Solution próbuje znale plan na podstawie dotychczas Funkcja wygenerowanego grafu planowania. Cofa si od ostatniego poziomu grafu Translate-To-SAT konwertuje problem planowania do formu y Funkcja postaci normalnej koniunkcyjnej w Empiryczna miara jakosci hipotezy GraphPlan: szukanie rozwiazania Dane dzielone s na zbiór treningowy U trn i zbiór testowy U tst h : X V Hipoteza dec indukowana na podstawie jest treningowego U zbioru trn przekszta caj c bie cy zbiór niespe nionych celów w nast puj cy sposób: pocz tkowy zbiór celów to wszystkie cele z zadania μ ostatnim bie cym poziomie S na n Skuteczno hipotezy Accuracy(h) jest mierzona proporcj poprawnie sklasyfikowanych obiektów ze zbioru testowego Accuracy(h) = {x U tst : h(x) =dec(x)} U tst eby efekty tych akcji pokrywa y zbiór celów na poziomie S tak, i adne dwie nie wyklucza y si wzajemnie, i μ dla celów na poziomie S i algorytm wybiera podzbiór akcji z poziomu A i 1 funkcja zwraca pora k, je li takiego zbioru akcji nie da si wybra μ warunki wst pne akcji wybranych na poziomie A i 1 staj si bie cymi celami na poziomie S i 1 μ szukanie rozwi zania ko czy si sukcesem, je li na poziomie S 0 bie ce cele b d podzbiorem faktów w stanie pocz tkowym Planowanie 37 Uczenie maszynowe - wprowadzenie i drzewa decyzyjne 28 Metody wnioskowania SATPlan: algorytm function Satplan(problem, T max ) returns solution or failure Drzewa decyzyjne Systemy regu owe Sieci neuronowe Wnioskowanie oparte na podobie stwie Sieci bayessowskie T= 0to T for max do mapping Translate-To-SAT(problem, T) cnf, SAT-Solver(cnf) assignment assignment is not null then if inputs: problem, a planning problem T max, an upper limit for plan length return Extract-Solution(assignment, mapping) return failure SAT-Solver: DPLL lub WalkSAT Uczenie maszynowe - wprowadzenie i drzewa decyzyjne 29 Planowanie 42

15 = rednia liczba bitów potrzebna do zakodowania decyzji d dla losowo Entropia wybranego obiektu ze zbioru S (przy optymalnym kodowaniu decyzji) Dlaczego?? kodowanie przydziela log Optymalne 2 bitów p wewn trzne W z y zwi zany z jednym atrybutem, Ka dy Ga zie zwi zana z jedn warto ci lub z podzbiorem warto ci Ka da w z a, z którego wychodzi ga, atrybutu obiektom danych z pasuj cymi warto ciami atrybutu odpowiada zwi zany z decyzj lub rozk adem decyzji, odpowiada obiektom Ka dy pasuj cym do cie ki prowadz cej do danego li cia danych Entropia Drzewa decyzyjne: reprezentacja Dany jest rozk ad prawdopodobie stwa p 1,...,p n entropii wyznacza, ile informacji niesie z sob ten rozk ad Miara Entropy( p 1,...,p n )=Σ n i =1 p i log 2 p i reprezentuje test warto ci tego atrybutu μ zbiór obiektów danych S S d zbiór obiektów w S z decyzj d μ Entropy(S) =Σ d Vdec S d S log S d 2 S Li cie do decyzji wyst puj cej z prawdopodobie stwem p Uczenie maszynowe - wprowadzenie i drzewa decyzyjne 38 Uczenie maszynowe - wprowadzenie i drzewa decyzyjne 30 Zysk informacji dla atrybutu symbolicznego Drzewa decyzyjne: trenowanie Zysk informacji Gain(S, a) redukcja przy podziale zbioru wzgl dem atrybutu a = entropii S v obiektów w S z warto ci atrybutu a = v μ zbiór S Gain(S, a) =Entropy(S) Σ v v Values(a) S Entropy(S v) znalezienie drzewa spójnego ze zbiorem treningowym Cel: rekurencyjne wybieranie najbardziej znacz cego atrybutu jako korze Pomys : poddrzewa DTL(examples, attributes, default) returns a decision tree function if examples is empty then return default else if all examples have the same classification then return the classification else if attributes is empty then return Mode(examples) else best Choose-Attribute(attributes, examples) tree a new decision tree with root test best for each value v i of best do examples i {elements of examples with best = v i } subtree DTL(examples i, attributes best, Mode(examples)) add a branch to tree with label v i and subtree subtree return tree Uczenie maszynowe - wprowadzenie i drzewa decyzyjne 41 Uczenie maszynowe - wprowadzenie i drzewa decyzyjne 34

16 Wybor atrybutu: normalizacja Zysk informacji dla atrybutu numerycznego Problem Zysk informacji Gain(S, a, c) = redukcja entropii wzgl dem ci cia binarnego c na atrybucie a Miara Gain faworyzuje atrybuty z wieloma warto ciami, dla nowych przyk adów jest adna Rozwi zanie: mo na zastosowa normalizacj miary Gain c μ warto ci cia s a<c μ zbiór obiektów z warto ciami atrybutu a poni ej ci cia s a c μ zbiór obiektów z warto ciami atrybutu a powy ej ci cia w szczególno ci atrybut z warto ciami jednoznacznymi, np. PESEL, ma maksymaln warto Gain, ale jego u yteczno S SplitInformation(S, a) = Σ v v Values(a) S log S v 2 S Gain(S, a, c) =Entropy(S) S a<c S Entropy(S a<c ) S a c S Entropy(S a c ) u y GainRatio Gain: i miary zamiast Gain(S, a) GainRatio(S, a) = SplitInformation(S, a) Uczenie maszynowe - wprowadzenie i drzewa decyzyjne 53 Uczenie maszynowe - wprowadzenie i drzewa decyzyjne 47 Drzewo decyzyjne: algorytm z przycinaniem Wybor ciecia Drzewo decyzyjne wybiera atrybut rozpatruj c najlepsze ci cia dla atrybutów function DTL-Pruned(examples, attributes, default) returns a decision tree numerycznych building, validating split examples into building and validating sets tree DTL(building, attributes, default) Przyk ad tree Prune-Tree(validating, tree) Dany jest atrybut numeryczny T emperature z nast puj cymi warto ciami w return tree function Prune-Tree(validationset, tree) returns a pruned decision tree treningowym: zbiorze T emperature P layt No No Yes Yes Yes No ennis leafparents inner nodes in tree such that all their successors are leaf nodes while leafparents } d cand the most frequent decision among the building objects assigned to cand if assigning d cand to the objects going through the node cand does not worsen classification accuracy in validationset then replace the subtree rooted at cand by the leaf node with the decision d cand Najlepsze ci cie?? Gain(S, a, 0) = 1.0 (0/6)0.0 (6/6)1.0 =0.0 Gain(S, a, 12) = 1.0 (2/6)0.0 (4/6)0.811 = Gain(S, a, 29) = 1.0 (5/6)0.971 (1/6)0.0 = cand a node from leafparents if all brother nodes of cand are leafs then Najlepsze ci cie: c =12 add the parent of cand to leafparents return the modified tree Uczenie maszynowe - wprowadzenie i drzewa decyzyjne 60 Uczenie maszynowe - wprowadzenie i drzewa decyzyjne 50

17 Performance(α,uncov) szacuje jako warunku α na podstawie Funkcja niepokrytych przyk adów uncov dotychczas CN2: szukanie najlepszej reguly Generowanie regul zupelne: algorytm function Exhaustive-Rules(examples, decisions, selectors) returns a rule set function Learn-One-Rule-CN2(uncov, k) returns a rule inputs: uncov, the examples not covered by the previous rules rules } for each decision d decisions do k, the width of searching the most general empty condition best {best} candidates candidates } d repeat repeat newcandidates } for each candidate rule α d candidates do newcandidates } for each candidate α candidates do e neg a random example matching α but with a decision d for each selector s selectors excluding e neg do for each selector s of the form a=v or a v consistent with α do if α s candidates newcandidates then newcandidates newcandidates {α s} r new α s d if r new covers one or more objects with decision d in examples is not subsumed by another rule from rules newcandidates and r if new consistent with examples then rules rules r is new if Performance(α s,uncov)>performance(best,uncov) then best α s else newcandidates newcandidates r new retain only k best candidates in newcandidates according to Performance candidates newcandidates candidates newcandidates until candidates is empty until candidates is empty return best d (the most frequent decision among objects matching best) return rules Uczenie maszynowe - systemy regu owe 14 Uczenie maszynowe - systemy regu owe 18 CN2: miara jakosci reguly Generowanie regul: sekwencyjne pokrywanie n μ liczba przyk adów z uncov pasuj cych do α n d μ liczba przyk adów z uncov pasuj cych do α z najcz stsz decyzj d Pomys (heurystyczny): Regu y mo na generowa pojedynczo do momentu Generowanie regu zupe ne przegl da zazwyczaj wyk adniczo du podprzestrze regu, w praktyce niewykonalne pokrycia przez nie wszystkich obiektów treningowych prawdopodobie stwa m-estymata n d + mp d n + m <p d1,...,p dd μ pierwotny rozk ad prawdopodobie stwa w danych > rules } uncovered examples repeat function Sequential-Covering(examples) returns a rule set r Learn-One-Rule(examples, uncovered) rules rules r m μ parametr estymacji u ywa szczególnego przypadku, estymaty Laplace'a: CN2 rozk ad pierwotny < 1 D,..., 1 D > i m = D (D μ liczba decyzji) równomierny remove all examples covered by r from uncovered until uncovered is empty return rules n d + D 1 D n + D = n d +1 n + D Funkcja Learn-One-Rule wyszukuje heurystycznie jak najlepsz regu wzgl dem pewnej miary jako ci regu Uczenie maszynowe - systemy regu owe 20 Uczenie maszynowe - systemy regu owe 16

18 atrybutów R A jest reduktem lokalnym dla przyk adu x U Zbiór trn w przyk adów U zbiorze trn je li, 2: Fakt znalezienia minimalnego reduktu lokalnego dla danego przyk adu jest Problem Redukty lokalne AQ: szukanie najlepszej reguly function Learn-One-Rule-AQ(examples, uncov, d, k) returns a rule μ dla ka dego przyk adu y U trn z inn decyzj dec(y) dec(x) inputs: examples, all training examples uncov, the examples not covered by the previous rules d, decision of a return rule a istnieje i rozró niaj cy R od y: x x i y i R jest minimalnym zbiorem maj cym powy sz w asno, μ dla dowolnego R R istnieje przyk ad w U tzn. trn inn decyzj i warto ciami taki samymi jak x z wszystkich atrybutach a na i R k, the width of searching e pos a random example from uncov with decision d {the most general empty condition} candidates repeat e neg example with decision d covered by one or more conditions in candidates the maximum number of values = the corresponding values of e with pos selectors all selectors consistent with e pos excluding e neg candidates {x s: x candidates, y selectors} candidates {x candidates: y candidates more general than x} 1: Fakt reduktów lokalnych dla jednego przyk adu mo e by wyk adnicza wzgl - Liczba dem liczby atrybutów i liczby przyk adów treningowych retain only k best candidates in candidates according to Performance until candidates cover no examples with decision d best the best condition in candidates according to Performance return best d NP-trudny Uczenie maszynowe - systemy regu owe 26 Uczenie maszynowe - systemy regu owe 42 Generowanie regul z reduktow lokalnych AQ: miara jakosci reguly Performance(α d,examples) = pos included + neg excluded generowana reduktu R dla przyk adu x: Regu a z lokalnego a i = x i dec = dec(x) a i R pos included liczba przyk adów w examples z decyzj d pasuj cych do warunku α (tzn. usuni cie któregokolwiek selektora powoduje utrat spójno ci) tzw. wsparcie regu y neg excluded liczba przyk adów w examples z decyzj d wykluczanych przez warunek α Fakt 1: Regu a generowana z reduktu lokalnego jest regu spójn minimaln Fakt 2: Zbiór regu wygenerowanych ze wszystkich reduktów lokalnych = Uwaga Je li regu a jest spójna ze zbiorem treningowym, zbiór wszystkich minimalnych regu spójnych = zbiór wszystkich regu generowanych przez algorytm zupe ny (z selektorami równo ciowymi) tzn. warunek regu y wyklucza wszystkie przyk ady z decyzj d, Przypomnienie: Liczba wszystkich minimalnych regu spójnych mo e by wyk adnicza wzgl dem liczby atrybutów i przyk adów treningowych to miary jako ci regu y jest równa wsparciu regu y Performance(α d,examples) = pos included Fakt 3 (Bazan, 1998): Niech rules all zbiór wszystkich minimalnych regu spójnych. Istnieje algorytm symuluj cy klasyfikacj z maksymalizacj wsparcia w zbiorze regu rules all (bez jawnego liczenia regu ) wykonuj cy klasyfikacj pojedynczego obiektu w czasie O( U trn 2 A ). Uczenie maszynowe - systemy regu owe 43 Uczenie maszynowe - systemy regu owe 27

19 wylicza statystyczne górne oszacowanie b dów obu regu na podstawie C4.5rules przyk adów ze zbioru treningowego pokrywanych przez te regu y, i za- regu α s d regu skrócon α d, je li górne oszacowanie st puje dla regu y skróconej jest nie wi ksze ni dla regu y oryginalnej b du mo e by skrócona wielokrotnie, je li usuwanie kolejnych selektorów Regu a powoduje zwi kszenia górnego oszacowania b du regu y nie regu przed skróceniem wyklucza y si wzajemnie, Warunki skróceniu ju nie musz si wyklucza po Wniosek wymaga zastosowania wyboru najlepszej regu y Klasyfikacja usuni cia niektórych regu skróconych do uporz dkowania pozosta ych wed ug wa no ci i C4.5rules: skracanie regul α s d μ regu a przed skróceniem α d μ regu a po skróceniu Uczenie maszynowe - systemy regu owe 47 C4.5rules: klasyfikacja Fakt g osowania regu lub C4.5rules stosuje zaawansowane metody Obiekty klasyfikowane s wed ug najlepszej pasuj cej regu y Uczenie maszynowe - systemy regu owe 48

Sztuczna Inteligencja i Systemy Doradcze

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

Bardziej szczegółowo

Sztuczna Inteligencja i Systemy Doradcze

Sztuczna Inteligencja i Systemy Doradcze ztuczna Inteligencja i ystemy Doradcze Przeszukiwanie przestrzeni stanów Przeszukiwanie przestrzeni stanów 1 Postawienie problemu eprezentacja problemu: stany: reprezentują opisy różnych stanów świata

Bardziej szczegółowo

Sztuczna Inteligencja i Systemy Doradcze

Sztuczna Inteligencja i Systemy Doradcze Sztuczna Inteligencja i Systemy Doradcze Przeszukiwanie przestrzeni stanów problemy z więzami Przeszukiwanie przestrzeni stanów problemy z więzami 1 Problemy z wiezami (CSP) Ogólnie: stan jest czarną skrzynką,

Bardziej szczegółowo

SID Wykład 3 Przeszukiwanie iteracyjne

SID Wykład 3 Przeszukiwanie iteracyjne SID Wykład 3 Przeszukiwanie iteracyjne Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl Iteracyjne poprawianie Przy wielu problemach optymalizacyjnych ścieżka jest nieistotna: stan docelowy

Bardziej szczegółowo

SID Wykład 10 Systemy uczace się

SID Wykład 10 Systemy uczace się SID Wykład 10 Systemy uczace się Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl Uczenie indukcyjne Obiekty: Decyzja: dane reprezentujace rzeczywisty stan lub obiekt, tworza przestrzeń

Bardziej szczegółowo

SID Wykład 2 Przeszukiwanie

SID Wykład 2 Przeszukiwanie SID Wykład 2 Przeszukiwanie Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl Strategie heurystyczne Strategie heurystyczne korzystaja z dodatkowej, heurystycznej funkcji oceny stanu (np.

Bardziej szczegółowo

Heurystyki. Strategie poszukiwań

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

Bardziej szczegółowo

SID Wykład 5 Wnioskowanie w rachunku zdań

SID Wykład 5 Wnioskowanie w rachunku zdań SID Wykład 5 Wnioskowanie w rachunku zdań Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl Bazy wiedzy Inference engines Knowledge base domain-independent algorithms domain-specific content

Bardziej szczegółowo

Wprowadzenie do Sztucznej Inteligencji

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

Bardziej szczegółowo

Wprowadzenie do Sztucznej Inteligencji

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

Bardziej szczegółowo

Wykład 7 i 8. Przeszukiwanie z adwersarzem. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach

Wykład 7 i 8. Przeszukiwanie z adwersarzem. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach (4g) Wykład 7 i 8 w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach P. Kobylański Wprowadzenie do Sztucznej Inteligencji 177 / 226 (4g) gry optymalne decyzje w grach algorytm

Bardziej szczegółowo

SID Wykład 1 Wprowadzenie

SID Wykład 1 Wprowadzenie SID Wykład 1 Wprowadzenie Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl Program przedmiotu algorytmy heurystyczne problemy optymalizacyjne strategie w grach wnioskowanie w logice planowanie

Bardziej szczegółowo

Wprowadzenie do Sztucznej Inteligencji

Wprowadzenie do Sztucznej Inteligencji Wprowadzenie do Sztucznej Inteligencji Wykład 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 w odpowiadających

Bardziej szczegółowo

Metody przeszukiwania

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

Bardziej szczegółowo

Wykład 10 i 11. Logiczni agenci. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach. Logiczni agenci (4g)

Wykład 10 i 11. Logiczni agenci. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach. Logiczni agenci (4g) Wykład 0 i w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach P. Kobylański Wprowadzenie do Sztucznej Inteligencji 26 / 302 agenci oparci na wiedzy rachunek zdań dowodzenie w

Bardziej szczegółowo

Wysokość drzewa Głębokość węzła

Wysokość drzewa Głębokość węzła Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.

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

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

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

Bardziej szczegółowo

Podstawy sztucznej inteligencji

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

Bardziej szczegółowo

Sztuczna Inteligencja i Systemy Doradcze

Sztuczna Inteligencja i Systemy Doradcze Sztuczna Inteligencja i Systemy Doradcze Przeszukiwanie przestrzeni stanów gry Przeszukiwanie przestrzeni stanów gry 1 Gry a problemy przeszukiwania Nieprzewidywalny przeciwnik rozwiązanie jest strategią

Bardziej szczegółowo

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

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

Bardziej szczegółowo

SID Wykład 9 Planowanie

SID Wykład 9 Planowanie SID Wykład 9 Planowanie Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl Problem planowania ceiling not painted? ceiling painted get-ladder mount-ladder ceiling not painted get-paint

Bardziej szczegółowo

Sztuczna Inteligencja i Systemy Doradcze

Sztuczna Inteligencja i Systemy Doradcze Sztuczna Inteligencja i Systemy Doradcze Wnioskowanie w logice I rzędu Wnioskowanie w logice I rzędu 1 Rachunek zdan: zalety i wady Rachunek zdań jest deklaratywny: elementy syntaktyki odpowiadają faktom

Bardziej szczegółowo

Projektowanie bazy danych

Projektowanie bazy danych Projektowanie bazy danych Pierwszą fazą tworzenia projektu bazy danych jest postawienie definicji celu, założeo wstępnych i określenie podstawowych funkcji aplikacji. Każda baza danych jest projektowana

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

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

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

Bardziej szczegółowo

Elementy kognitywistyki II:

Elementy kognitywistyki II: Elementy kognitywistyki II: Sztuczna inteligencja WYKŁAD IV: Agent szuka rozwiązania (na ślepo) Poprzednio: etapy rozwiązywania problemu sformułowanie celu sformułowanie problemu stan początkowy (initial

Bardziej szczegółowo

Wyk lad 8: Leniwe metody klasyfikacji

Wyk lad 8: Leniwe metody klasyfikacji Wyk lad 8: Leniwe metody Wydzia l MIM, Uniwersytet Warszawski Outline 1 2 lazy vs. eager learning lazy vs. eager learning Kiedy stosować leniwe techniki? Eager learning: Buduje globalna hipoteze Zaleta:

Bardziej szczegółowo

Sztuczna Inteligencja Projekt

Sztuczna Inteligencja Projekt Sztuczna Inteligencja Projekt Temat: Algorytm LEM2 Liczba osób realizujących projekt: 2 1. Zaimplementować algorytm LEM 2. 2. Zaimplementować klasyfikator Classif ier. 3. Za pomocą algorytmu LEM 2 wygenerować

Bardziej szczegółowo

SID Wykład 4 Gry Wydział Matematyki, Informatyki i Mechaniki UW

SID Wykład 4 Gry Wydział Matematyki, Informatyki i Mechaniki UW SID Wykład 4 Gry Wydział Matematyki, Informatyki i Mechaniki UW slezak@mimuw.edu.pl Gry a problemy przeszukiwania Nieprzewidywalny przeciwnik rozwiazanie jest strategia specyfikujac a posunięcie dla każdej

Bardziej szczegółowo

Rozwiązywanie problemów metodą przeszukiwania

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

Bardziej szczegółowo

Wstęp do Sztucznej Inteligencji

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 > Typy indeksów Indeks jest zakładany na atrybucie relacji atrybucie indeksowym (ang. indexing field). Indeks zawiera wartości atrybutu indeksowego wraz ze wskaźnikami do wszystkich bloków dyskowych zawierających

Bardziej szczegółowo

B jest globalnym pokryciem zbioru {d} wtedy i tylko wtedy, gdy {d} zależy od B i nie istnieje B T takie, że {d} zależy od B ;

B jest globalnym pokryciem zbioru {d} wtedy i tylko wtedy, gdy {d} zależy od B i nie istnieje B T takie, że {d} zależy od B ; Algorytm LEM1 Oznaczenia i definicje: U - uniwersum, tj. zbiór obiektów; A - zbiór atrybutów warunkowych; d - atrybut decyzyjny; IND(B) = {(x, y) U U : a B a(x) = a(y)} - relacja nierozróżnialności, tj.

Bardziej szczegółowo

Wykład2,24II2010,str.1 Przeszukiwanie przestrzeni stanów powtórka

Wykład2,24II2010,str.1 Przeszukiwanie przestrzeni stanów powtórka Wykład2,24II2010,str.1 Przeszukiwanie przestrzeni stanów powtórka DEFINICJA: System produkcji M zbiórst.zw.stanów wyróżnionys 0 St.zw.stanpoczątkowy podzbiórg St.zw.stanówdocelowych zbiórot.zw.operacji:

Bardziej szczegółowo

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325

prowadzący dr ADRIAN HORZYK /~horzyk e-mail: horzyk@agh tel.: 012-617 Konsultacje paw. D-13/325 PODSTAWY INFORMATYKI WYKŁAD 8. prowadzący dr ADRIAN HORZYK http://home home.agh.edu.pl/~ /~horzyk e-mail: horzyk@agh agh.edu.pl tel.: 012-617 617-4319 Konsultacje paw. D-13/325 DRZEWA Drzewa to rodzaj

Bardziej szczegółowo

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu Rozdział 6 Pakowanie plecaka 6.1 Postawienie problemu Jak zauważyliśmy, szyfry oparte na rachunku macierzowym nie są przerażająco trudne do złamania. Zdecydowanie trudniejszy jest kryptosystem oparty na

Bardziej szczegółowo

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

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska Zarządzanie projektami wykład 1 dr inż. Agata Klaus-Rosińska 1 DEFINICJA PROJEKTU Zbiór działań podejmowanych dla zrealizowania określonego celu i uzyskania konkretnego, wymiernego rezultatu produkt projektu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

Porządek symetryczny: right(x)

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)

Bardziej szczegółowo

Problemy optymalizacyjne - zastosowania

Problemy optymalizacyjne - zastosowania Problemy optymalizacyjne - zastosowania www.qed.pl/ai/nai2003 PLAN WYKŁADU Zło ono obliczeniowa - przypomnienie Problemy NP-zupełne klika jest NP-trudna inne problemy NP-trudne Inne zadania optymalizacyjne

Bardziej szczegółowo

Wiedza niepewna i wnioskowanie (c.d.)

Wiedza niepewna i wnioskowanie (c.d.) Wiedza niepewna i wnioskowanie (c.d.) Dariusz Banasiak Katedra Informatyki Technicznej Wydział Elektroniki Wnioskowanie przybliżone Wnioskowanie w logice tradycyjnej (dwuwartościowej) polega na stwierdzeniu

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

SZTUCZNA INTELIGENCJA

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Drzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola:

Drzewo. Drzewo uporządkowane ma ponumerowanych (oznaczonych) następników. Drzewo uporządkowane składa się z węzłów, które zawierają następujące pola: Drzewa Drzewa Drzewo (ang. tree) zbiór węzłów powiązanych wskaźnikami, spójny i bez cykli. Drzewo posiada wyróżniony węzeł początkowy nazywany korzeniem (ang. root). Drzewo ukorzenione jest strukturą hierarchiczną.

Bardziej szczegółowo

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc

PRAWA ZACHOWANIA. Podstawowe terminy. Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc PRAWA ZACHOWANIA Podstawowe terminy Cia a tworz ce uk ad mechaniczny oddzia ywuj mi dzy sob i z cia ami nie nale cymi do uk adu za pomoc a) si wewn trznych - si dzia aj cych na dane cia o ze strony innych

Bardziej szczegółowo

Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/

Bardziej szczegółowo

Edycja geometrii w Solid Edge ST

Edycja geometrii w Solid Edge ST Edycja geometrii w Solid Edge ST Artykuł pt.: " Czym jest Technologia Synchroniczna a czym nie jest?" zwracał kilkukrotnie uwagę na fakt, że nie należy mylić pojęć modelowania bezpośredniego i edycji bezpośredniej.

Bardziej szczegółowo

A Zadanie

A Zadanie where a, b, and c are binary (boolean) attributes. A Zadanie 1 2 3 4 5 6 7 8 9 10 Punkty a (maks) (2) (2) (2) (2) (4) F(6) (8) T (8) (12) (12) (40) Nazwisko i Imiȩ: c Uwaga: ta część zostanie wypełniona

Bardziej szczegółowo

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne

WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne WYKŁAD 11 Uczenie maszynowe drzewa decyzyjne Reprezentacja wiedzy w postaci drzew decyzyjnych entropia, przyrost informacji algorytmy ID3, C4.5 problem przeuczenia wyznaczanie reguł rzykładowe drzewo decyzyjne

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie hierarchicznych struktur w relacyjnych bazach danych Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego

Bardziej szczegółowo

wykład 6 Agent wnioskujący oparty o logikę dr inż. Joanna Kołodziejczyk Zakład Sztucznej Inteligencji ISZiMM

wykład 6 Agent wnioskujący oparty o logikę dr inż. Joanna Kołodziejczyk Zakład Sztucznej Inteligencji ISZiMM gent wnioskujący oparty o logikę wykład 6 dr inż Joanna Kołodziejczyk jkolodziejczyk@wipspl Zakład Sztucznej Inteligencji ISZiMM ESI - wykład 6 p Plan wykładu gent zawierajacy wiedzę Świat wumpusów hunt

Bardziej szczegółowo

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych? Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych? 1 Podstawowe pojęcia: 2 3 4 5 Dana (ang.data) najmniejsza, elementarna jednostka informacji o obiekcie będąca przedmiotem przetwarzania

Bardziej szczegółowo

Elementy cyfrowe i układy logiczne

Elementy cyfrowe i układy logiczne Elementy cyfrowe i układy logiczne Wykład Legenda Zezwolenie Dekoder, koder Demultiplekser, multiplekser 2 Operacja zezwolenia Przykład: zamodelować podsystem elektroniczny samochodu do sterowania urządzeniami:

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

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15

Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego

Bardziej szczegółowo

EKONOMETRIA dr inż.. ALEKSANDRA ŁUCZAK Uniwersytet Przyrodniczy w Poznaniu Katedra Finansów w i Rachunkowości ci Zakład Metod Ilościowych Collegium Maximum,, pokój j 617 Tel. (61) 8466091 luczak@up.poznan.pl

Bardziej szczegółowo

Rekompensowanie pracy w godzinach nadliczbowych

Rekompensowanie pracy w godzinach nadliczbowych Rekompensowanie pracy w godzinach nadliczbowych PRACA W GODZINACH NADLICZBOWYCH ART. 151 1 K.P. Praca wykonywana ponad obowiązujące pracownika normy czasu pracy, a także praca wykonywana ponad przedłużony

Bardziej szczegółowo

dr inż. Cezary Wiśniewski Płock, 2006

dr inż. Cezary Wiśniewski Płock, 2006 dr inż. Cezary Wiśniewski Płock, 26 Gra z naturą polega na tym, że przeciwnikiem jest osoba, zjawisko naturalne, obiekt itp. nie zainteresowany wynikiem gry. Strategia, którą podejmie przeciwnik ma charakter

Bardziej szczegółowo

Statystyczna analiza danych w programie STATISTICA. Dariusz Gozdowski. Katedra Doświadczalnictwa i Bioinformatyki Wydział Rolnictwa i Biologii SGGW

Statystyczna analiza danych w programie STATISTICA. Dariusz Gozdowski. Katedra Doświadczalnictwa i Bioinformatyki Wydział Rolnictwa i Biologii SGGW Statystyczna analiza danych w programie STATISTICA ( 4 (wykład Dariusz Gozdowski Katedra Doświadczalnictwa i Bioinformatyki Wydział Rolnictwa i Biologii SGGW Regresja prosta liniowa Regresja prosta jest

Bardziej szczegółowo

Reguły decyzyjne, algorytm AQ i CN2. Reguły asocjacyjne, algorytm Apriori.

Reguły decyzyjne, algorytm AQ i CN2. Reguły asocjacyjne, algorytm Apriori. Analiza danych Reguły decyzyjne, algorytm AQ i CN2. Reguły asocjacyjne, algorytm Apriori. Jakub Wróblewski jakubw@pjwstk.edu.pl http://zajecia.jakubw.pl/ REGUŁY DECYZYJNE Metoda reprezentacji wiedzy (modelowania

Bardziej szczegółowo

Planowanie drogi robota, algorytm A*

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

Bardziej szczegółowo

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec PROE wykład 7 kontenery tablicowe, listy dr inż. Jacek Naruniec Prosty kontener oparty na tablicach Funkcja dodawanie pojedynczego słonia do kontenera: 1 2 3 4 5 6 7 11 12 13 14 15 16 17 21 22 23 24 25

Bardziej szczegółowo

Optymalizacja. Wybrane algorytmy

Optymalizacja. Wybrane algorytmy dr hab. inż. Instytut Informatyki Politechnika Poznańska www.cs.put.poznan.pl/mkomosinski, Andrzej Jaszkiewicz Problem optymalizacji kombinatorycznej Problem optymalizacji kombinatorycznej jest problemem

Bardziej szczegółowo

Zadanie 1. Liczba szkód w każdym z trzech kolejnych lat dla pewnego ubezpieczonego ma rozkład równomierny:

Zadanie 1. Liczba szkód w każdym z trzech kolejnych lat dla pewnego ubezpieczonego ma rozkład równomierny: Matematyka ubezpieczeń majątkowych 5.2.2008 r. Zadanie. Liczba szkód w każdym z trzech kolejnych lat dla pewnego ubezpieczonego ma rozkład równomierny: Pr ( N = k) = 0 dla k = 0,, K, 9. Liczby szkód w

Bardziej szczegółowo

- 70% wg starych zasad i 30% wg nowych zasad dla osób, które. - 55% wg starych zasad i 45% wg nowych zasad dla osób, które

- 70% wg starych zasad i 30% wg nowych zasad dla osób, które. - 55% wg starych zasad i 45% wg nowych zasad dla osób, które Oddział Powiatowy ZNP w Gostyninie Uprawnienia emerytalne nauczycieli po 1 stycznia 2013r. W związku napływającymi pytaniami od nauczycieli do Oddziału Powiatowego ZNP w Gostyninie w sprawie uprawnień

Bardziej szczegółowo

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne, a algorytmy genetyczne Podobieństwa: Oba działają na populacjach rozwiązań Korzystają z zasad selecji i przetwarzania

Bardziej szczegółowo

Metody Kompilacji Wykład 3

Metody Kompilacji Wykład 3 Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy

Bardziej szczegółowo

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw

Bardziej szczegółowo

ASD - ćwiczenia III. Dowodzenie poprawności programów iteracyjnych. Nieformalnie o poprawności programów:

ASD - ćwiczenia III. Dowodzenie poprawności programów iteracyjnych. Nieformalnie o poprawności programów: ASD - ćwiczenia III Dowodzenie poprawności programów iteracyjnych Nieformalnie o poprawności programów: poprawność częściowa jeżeli program zakończy działanie dla danych wejściowych spełniających założony

Bardziej szczegółowo

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

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

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

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska. SYSTEMY UCZĄCE SIĘ WYKŁAD 3. DRZEWA DECYZYJNE Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska BUDOWA DRZEW DECYZYJNYCH Drzewa decyzyjne są metodą indukcyjnego

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wykład 6. Drzewa poszukiwań binarnych (BST)

Wykład 6. Drzewa poszukiwań binarnych (BST) Wykład 6 Drzewa poszukiwań binarnych (BST) 1 O czym będziemy mówić Definicja Operacje na drzewach BST: Search Minimum, Maximum Predecessor, Successor Insert, Delete Struktura losowo budowanych drzew BST

Bardziej szczegółowo

Symulowane Wyżarzanie. Algorytmy metaheurystyczne Wykład 5. Piotr Syga

Symulowane Wyżarzanie. Algorytmy metaheurystyczne Wykład 5. Piotr Syga Algorytmy metaheurystyczne Wykład 5 Piotr Syga 03.04.2017 Wprowadzenie Inspiracje Metalurgia wyżarzanie: proces zwiększający ciągliwość metalu i zmniejszający jego twardość, by ułatwić obróbkę Algorytm

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

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

Problem spełnienia ograniczeń. w oparciu o: K. Marriott, P.J. Stuckey. Programming with Constraints. An Introduction

Problem spełnienia ograniczeń. w oparciu o: K. Marriott, P.J. Stuckey. Programming with Constraints. An Introduction Wykład 9 w oparciu o: K. Marriott, P.J. Stuckey. Programming with Constraints. An Introduction P. Kobylański Wprowadzenie do Sztucznej Inteligencji 204 / 279 P. Kobylański Wprowadzenie do Sztucznej Inteligencji

Bardziej szczegółowo

Laboratorium 6. Indukcja drzew decyzyjnych.

Laboratorium 6. Indukcja drzew decyzyjnych. Laboratorium 6 Indukcja drzew decyzyjnych. 1. Uruchom narzędzie Oracle Data Miner i połącz się z serwerem bazy danych. 2. Z menu głównego wybierz Activity Build. Na ekranie powitalnym kliknij przycisk

Bardziej szczegółowo

Twierdzenie Bayesa. Indukowane Reguły Decyzyjne Jakub Kuliński Nr albumu: 53623

Twierdzenie Bayesa. Indukowane Reguły Decyzyjne Jakub Kuliński Nr albumu: 53623 Twierdzenie Bayesa Indukowane Reguły Decyzyjne Jakub Kuliński Nr albumu: 53623 Niniejszy skrypt ma na celu usystematyzowanie i uporządkowanie podstawowej wiedzy na temat twierdzenia Bayesa i jego zastosowaniu

Bardziej szczegółowo

Programowanie funkcyjne. Wykªad 13

Programowanie funkcyjne. Wykªad 13 Programowanie funkcyjne. Wykªad 13 Siªa wyrazu rachunku lambda Zdzisªaw Spªawski Zdzisªaw Spªawski: Programowanie funkcyjne. Wykªad 13, Siªa wyrazu rachunku lambda 1 Wst p Warto±ci logiczne Liczby naturalne

Bardziej szczegółowo

Sztuczna Inteligencja Projekt

Sztuczna Inteligencja Projekt Sztuczna Inteligencja Projekt Temat: Algorytm F-LEM1 Liczba osób realizujących projekt: 2 1. Zaimplementować algorytm F LEM 1. 2. Zaimplementować klasyfikator Classif ier. 3. Za pomocą algorytmu F LEM1

Bardziej szczegółowo

TEORIA GIER W EKONOMII WYKŁAD 1: GRY W POSTACI EKSTENSYWNEJ I NORMALNEJ

TEORIA GIER W EKONOMII WYKŁAD 1: GRY W POSTACI EKSTENSYWNEJ I NORMALNEJ TEORIA GIER W EKONOMII WYKŁAD : GRY W POSTACI EKSTENSYWNEJ I NORMALNEJ dr Robert Kowalczyk Katedra Analizy Nieliniowej Wydział Matematyki i Informatyki UŁ Schemat gry. Początek gry. 2. Ciąg kolejnych posunięć

Bardziej szczegółowo

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.

Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np. Drzewa binarne Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0 i T 1 są drzewami binarnymi to T 0 T 1 jest drzewem binarnym Np. ( ) ( ( )) Wielkość drzewa

Bardziej szczegółowo

0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie

0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie 0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na

Bardziej szczegółowo

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych

Program szkoleniowy Efektywni50+ Moduł III Standardy wymiany danych Program szkoleniowy Efektywni50+ Moduł III 1 Wprowadzenie do zagadnienia wymiany dokumentów. Lekcja rozpoczynająca moduł poświęcony standardom wymiany danych. Wprowadzenie do zagadnień wymiany danych w

Bardziej szczegółowo

Rozwiązywanie problemów przez przeszukiwanie. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach

Rozwiązywanie problemów przez przeszukiwanie. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach (4g) Wykład 3 i 4 w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach P. Kobylański Wprowadzenie do Sztucznej Inteligencji 81 / 198 (4g) agenci rozwiązujący problemy przykłady

Bardziej szczegółowo

Stos LIFO Last In First Out

Stos LIFO Last In First Out Stos LIFO Last In First Out Operacje: push - dodanie elementu na stos pop - usunięcie elementu ze stosu empty - sprawdzenie, czy stos jest pusty size - zwrócenie liczby elementów na stosie value (peek)

Bardziej szczegółowo

KLAUZULE ARBITRAŻOWE

KLAUZULE ARBITRAŻOWE KLAUZULE ARBITRAŻOWE KLAUZULE arbitrażowe ICC Zalecane jest, aby strony chcące w swych kontraktach zawrzeć odniesienie do arbitrażu ICC, skorzystały ze standardowych klauzul, wskazanych poniżej. Standardowa

Bardziej szczegółowo

Algorytmy zrandomizowane

Algorytmy zrandomizowane Algorytmy zrandomizowane www.qed.pl/ai/nai2003 PLAN WYKŁADU Inne zadania optymalizacyjne grupowanie Generowanie liczb losowych Metody Monte Carlo i Las Vegas przykłady zastosowa Przeszukiwanie losowe metoda

Bardziej szczegółowo

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

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

Bardziej szczegółowo

Wykład 2. Drzewa poszukiwań binarnych (BST)

Wykład 2. Drzewa poszukiwań binarnych (BST) Wykład 2 Drzewa poszukiwań binarnych (BST) 1 O czym będziemy mówić Definicja Operacje na drzewach BST: Search Minimum, Maximum Predecessor, Successor Insert, Delete Struktura losowo budowanych drzew BST

Bardziej szczegółowo

Wykład 8. Drzewo rozpinające (minimum spanning tree)

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,

Bardziej szczegółowo

Struktury danych: stos, kolejka, lista, drzewo

Struktury danych: stos, kolejka, lista, drzewo Struktury danych: stos, kolejka, lista, drzewo Wykład: dane w strukturze, funkcje i rodzaje struktur, LIFO, last in first out, kolejka FIFO, first in first out, push, pop, size, empty, głowa, ogon, implementacja

Bardziej szczegółowo

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

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

Bardziej szczegółowo