Struktura danych. Sposób uporządkowania informacji w komputerze.
|
|
- Fabian Karpiński
- 7 lat temu
- Przeglądów:
Transkrypt
1 Struktura danych Sposób uporządkowania informacji w komputerze.
2 Algorytm Skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Al-Khwarizmi perski matematyk i astronom w 825 A.D. napisał traktat O obliczeniach w hinduskich liczbach ; w 12 wieku przetłumaczono go na łacinę Algoritmi de numero Indorum ; nazwisko autora omyłkowo wzięto za metodę obliczeń Algorytm proces obliczeniowy zdefiniowany w ramach maszyny Turinga [Gurevich]
3 Maszyna Turinga Prosta koncepcyjnie. Zużycie zasobów podczas obliczenia dobrze modeluje rzeczywiste komputery. Potrafi przeprowadzić dowolne obliczenie możliwe na innych znanych nam maszynach (teza Churcha-Turinga 1936) Składa się z głowicy i nieskończonej taśmy podzielonej na pola. Zależnie od kombinacji stanu maszyny i pola maszyna zapisuje nową wartość w polu, zmienia stan, a następnie może przesunąć się o jedno pole w prawo lub w lewo.
4 Maszyna Turinga M = (Q,,,#,,q 0,F) Q to skończony zbiór stanów maszyny. to skończony zbiór symboli wejściowych, które służą do reprezentacji wejścia maszyny i są zapisane na taśmie przed rozpoczęciem obliczenia. to skończony zbiór symboli taśmowych - są to wszystkie symbole jakie mogą się znajdować na taśmie.. # to symbol pusty - specjalny symbol taśmowy nie należący do symboli wejściowych q 0 to stan początkowy
5 Maszyna Turinga M = (Q,,,#,,q 0,F) to funkcja przejścia. Jest to funkcja częściowa prowadząca z Q w Q {, }. Tak więc (A,x)=(B,y,K) oznacza, że maszyna będąca w stanie A i czytając symbol x z taśmy przejdzie do stanu B, zapisze symbol y na taśmie i przesunie głowicę o jedną komórkę w lewo (K = ) lub w prawo (K = ). F to zbiór stanów akceptujących (końcowych) będący podzbiorem Q. Obliczenie maszyny kończy się kiedy osiągnięty zostanie któryś ze stanów F.
6 Dodawanie liczb unarnych (n+1) = ={0,1} Q={A,B,C,D} q 0 =A F={D} Dane wejściowe (3+2): # # Tabelka Diagram A,0: A,1, A,1: A,1, A,#: B,#, B,1: C,#, C,1: D,#,
7 Złożoność czasowa Czas obliczenia maszyny M na konkretnym słowie wejściowym w - T(M,w) to liczba kroków wykonanych zanim maszyna się zatrzymała. Jeżeli M nigdy się nie zatrzyma, to mówimy, że czas obliczenia jest nieskończony i zapisujemy T(M,w) =. Funkcja f : N N jest złożonością czasową dla maszyny M, jeżeli n N: f n =max {T M, w : w n }
8 Złożoność pamięciowa Pamięć potrzebną do obliczenia maszyny M na słowie w - S(M,w) definiujemy jako liczbę komórek taśmy, które zostały odwiedzone przez głowicę zanim maszyna się zatrzymała. Jeżeli M nie zatrzymuje się na w, to wartość S(M,w) jest nieokreślona. Funkcja f : N N jest złożonością pamięciową dla maszyny M z własnością stopu, jeżeli n N: f n =max {S M, w : w n }
9 Własność stopu Mówimy, że M ma własność stopu, jeżeli dla dowolnego słowa w * obliczenie M na w się kończy.
10 Problem stopu (halting problem) Nie istnieje algorytm potrafiący określić dla dowolnej pary program-wejście czy program się zatrzyma.
11 x:=x 0 repeat if x jest parzyste then x := x/2 else x := 3*x + 1 until x = 1 Problem Collatza
12 Paradoks Epimenidesa (kłamcy) ok. 600 B.C.: Kreteńczycy zawsze kłamią. (autor pochodził z Krety) Czy Epimenides mówi prawdę? Da się dowieść, że zdanie jest fałszywe, więc nie jest do końca paradoksalne. Inne wersje: Teraz kłamię. To zdanie jest fałszywe.
13 Twierdzenie Gödla (1931) Program Davida Hilberta (ok.1920) miał za zadanie sformalizowanie wszystkich teorii matematycznych za pomocą skończonego zbioru aksjomatów i udowodnienie, że te aksjomaty są spójne. Kurt Gödel udowodnił, iż jest to niemożliwe. System formalny spójny (niesprzeczny) - system, w którym nie da się udowodnić jednocześnie pewnego zdania i jego zaprzeczenia. System formalny zupełny - system, w którym możliwe jest przeprowadzenie dowodu dowolnego, prawidłowo zapisanego zdania tego systemu, lub jego zaprzeczenia.
14 Twierdzenie Gödla (1931) Dowolny system formalny zawierający w sobie aksjomaty arytmetyki liczb naturalnych, jest albo zupełny albo spójny i nigdy nie posiada obu tych cech jednocześnie. Innymi słowy: można dowodzić prawdziwości wszystkich zdań takiego systemu, jednak wówczas istnieje w systemie pewne prawdziwe zdanie P, którego zaprzeczenie ~P również jest prawdziwe. Tym samym system albo jest sprzeczny wewnętrznie, albo system nie musi być sprzeczny, lecz wówczas istnieją zdania, których prawdziwości nie da się wywieść z aksjomatów i twierdzeń rozważanego systemu formalnego.
15 Problem stopu - dowód Załóżmy, że istnieje program S, który dla dowolnego programu P i danych D: zatrzymuje się i zwraca 1 jeżeli P zatrzymuje się na danych wejściowych D, oraz zatrzymuje się i zwraca 0 w przeciwnym razie. program T dla dowolnego programu P zatrzymuje się wtedy i tylko wtedy, kiedy P zapętla się na swoim własnym kodzie podanym jako dane wejściowe T(P): if S(P,P)=1 then loop else stop Czy T(T) się zatrzyma?
16 Wielotaśmowa maszyna Turinga Równoważna jednotaśmowej
17 Niedeterministyczna m. T. Mechanizm sterujący może przy konkretnym stanie i odczycie z taśmy postąpić na kilka różnych sposobów. Niedeterministyczna maszyna M akceptuje słowo w jeżeli istnieje taki ciąg przejść, który kończy się stanem akceptującym. Czas wykonania odpowiada wysokości drzewa możliwych wykonań.
18 źródło:
19 Klasy problemów P deterministycznie wielomianowy (deterministic polynomial) - problem decyzyjny, dla którego rozwiązanie można znaleźć w czasie wielomianowym. NP - niedeterministycznie wielomianowy (nondeterministic polynomial) - problem decyzyjny, dla którego rozwiązanie można zweryfikować w czasie wielomianowym. Inaczej mówiąc, problem jest w klasie NP, jeśli może być rozwiązany w wielomianowym czasie na niedeterministycznej maszynie Turinga.
20 Przykład Czy jakikolwiek podzbiór zadanego zbioru (np. {-2,6,-3,72,10,-11}) sumuje się do zera? Sprawdzenie wszystkich podzbiorów ma złożoność wykładniczą (2 n ). Przykładowe rozwiązanie (np. {-2,6,-3,10,-11}) możemy sprawdzic w czasie wielomianowym.
21 Relacje między klasami Oczywiste jest, że P NP Czy P=NP? (pytanie warte milion dolarów dla Clay Mathematics Institute)
22 Problemy NP-trudne Jest to problem, taki że dowolny problem należący do NP może być do niego zredukowany w czasie wielomianowym.
23 Problemy NP-zupełne (NP-complete) Jest to problem, który należy do klasy NP oraz dowolny problem należący do NP może być do niego zredukowany w czasie wielomianowym (czyli problem NP-trudny należący do NP). Pierwszym problemem, którego NP-zupełność wykazano, był problem SAT, czyli problem spełnialności formuł zdaniowych. Udowodnił to w 1971 roku Stephen Cook. Inne problemy: komiwojażera, plecakowy.
24 Problemy NP-zupełne (NP-complete) Jeśli tylko potrafimy rozwiązać jakikolwiek problem NP-zupełny w czasie wielomianowym, to potrafimy rozwiązać w czasie wielomianowym wszystkie problemy NP. Wówczas P=NP. Aby udowodnić, że problem jest NP-zupełny wystarczy udowodnić, że należy do NP oraz zredukować do niego dowolny znany problem NP-zupełny.
25 Asymptotyczne tempo wzrostu Miara określającą zachowanie wartości funkcji wraz ze wzrostem jej argumentów. W teorii obliczeń, stosuje się ją w celu opisu złożoności obliczeniowej, czyli zależności ilości potrzebnych zasobów (np. czasu lub pamięci) od rozmiaru danych wejściowych algorytmu. Mówimy, że f jest co najwyżej rzędu g (zapis f(n)=o(g(n))), gdy istnieją takie stałe n 0 >0, oraz c>0, że: n n 0 f n cg n
26 Asymptotyczne tempo wzrostu Mówimy, że f jest co najmniej rzędu g (zapis f(n)= (g(n))), gdy istnieją takie stałe n 0 >0, oraz c>0, że: f n cg n n n 0 Mówimy, że f jest dokładnie rzędu g (zapis f(n)= (g(n))), gdy istnieją takie stałe n 0 >0, oraz c 1 >0, c 2 >0, że: c 1 g n f n c 2 g n n n 0
27 Rzędy złożoności obliczeniowej 1 stała log 2 n logarytmiczna n liniowa nlog 2 n liniowo-logarytmiczna (quasi-liniowa) n 2 kwadratowa n c wielomianowa c n - wykładnicza
Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 5 Prof. dr hab. inż. Jan Magott DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych
Efektywność Procedur Obliczeniowych. wykład 5
Efektywność Procedur Obliczeniowych wykład 5 Modele procesu obliczeń (8) Jedno-, wielotaśmowa MT oraz maszyna RAM są równoważne w przypadku, jeśli dany problem jest rozwiązywany przez jeden model w czasie
Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie
Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej
Elementy Teorii Obliczeń
Wykład 2 Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 10 stycznia 2009 Maszyna Turinga uwagi wstępne Maszyna Turinga (1936 r.) to jedno z najpiękniejszych i najbardziej intrygujacych
Struktury danych i złożoność obliczeniowa Wykład 6. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 6. Prof. dr hab. inż. Jan Magott Problemy łatwe i trudne Problemy łatwe to problemy rozwiązywalne w czasie wielomianowym. Problemy trudne to takie, których
Maszyna Turinga języki
Maszyna Turinga języki Teoria automatów i języków formalnych Dr inż. Janusz Majewski Katedra Informatyki Maszyna Turinga (1) b b b A B C B D A B C b b Q Zależnie od symbolu obserwowanego przez głowicę
PROBLEMY NIEROZSTRZYGALNE
PROBLEMY NIEROZSTRZYGALNE Zestaw 1: T Przykład - problem domina T Czy podanym zestawem kafelków można pokryć dowolny płaski obszar zachowując odpowiedniość kolorów na styku kafelków? (dysponujemy nieograniczoną
Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Obliczenia inspirowane Naturą
Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga
Hierarchia Chomsky ego Maszyna Turinga
Hierarchia Chomsky ego Maszyna Turinga Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G = V skończony zbiór
Języki, automaty i obliczenia
Języki, automaty i obliczenia Wykład 10: Maszyny Turinga Sławomir Lasota Uniwersytet Warszawski 29 kwietnia 2015 Plan Maszyny Turinga (Niedeterministyczna) maszyna Turinga M = (A, Q, q 0, F, T, B, δ) A
Logika stosowana. Ćwiczenia Złożoność obliczeniowa problemu spełnialności. Marcin Szczuka. Instytut Informatyki, Uniwersytet Warszawski
Logika stosowana Ćwiczenia Złożoność obliczeniowa problemu spełnialności Marcin Szczuka Instytut Informatyki, Uniwersytet Warszawski Wykład fakultatywny w semestrze zimowym 2015/2016 Marcin Szczuka (MIMUW)
Złożoność obliczeniowa. wykład 1
Złożoność obliczeniowa wykład 1 Dwa wykłady: wtorek / środa różnice niewielkie Sprawy organizacyjne wtorek: trochę szybciej, parę dodatkowych rzeczy dedykowana grupa ćw. M. Pilipczuka - ale śmiało mogą
MODELOWANIE RZECZYWISTOŚCI
MODELOWANIE RZECZYWISTOŚCI Daniel Wójcik Instytut Biologii Doświadczalnej PAN d.wojcik@nencki.gov.pl tel. 022 5892 424 http://www.neuroinf.pl/members/danek/swps/ Podręcznik Iwo Białynicki-Birula Iwona
Dialog z przyroda musi byc prowadzony w jezyku matematyki, w przeciwnym razie przyroda nie odpowiada na nasze pytania.
Wydział Fizyki Uniwersytetu Warszawskiego a. Tw. Gödla kontra Matrix b. Moim zdaniem Rys. źródło: Internet W jaki sposób policzyć ilość operacji logicznych w mózgu? Mózg a komputer "When will computer
Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott
Struktury danych i złozoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 1 godz., Projekt 2 godz.. Adres strony z materiałami do wykładu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html
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
Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.
Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/
Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu
Problem Hilberta: 9 Czy istnieje ogólna mechaniczna procedura, która w zasadzie pozwoliłaby nam po kolei rozwiązać wszystkie matematyczne problemy (należące do odpowiednio zdefiniowanej klasy)? 2 Przykłady
Logika i teoria mnogości Wykład 14 1. Sformalizowane teorie matematyczne
Logika i teoria mnogości Wykład 14 1 Sformalizowane teorie matematyczne W początkowym okresie rozwoju teoria mnogości budowana była w oparciu na intuicyjnym pojęciu zbioru. Operowano swobodnie pojęciem
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Automat ze stosem Automat ze stosem to szóstka
Maszyna Turinga, ang. Turing Machine (TM)
Maszyna Turinga, ang. Turing Machine (TM) Alan Turing wybitny angielski matematyk, logik i kryptolog, jeden z najważniejszych twórców informatyki teoretycznej, któremu zawdzięczamy pojęcie maszyny Turinga
Wstęp do programowania
Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu
Podstawy Informatyki. Sprawność algorytmów
Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych
Złożoność obliczeniowa zadania, zestaw 2
Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze
ZLOŻONOŚĆ OBLICZENIOWA - WYK. 2
ZLOŻONOŚĆ OBLICZENIOWA - WYK. 2 1. Twierdzenie Sipsera: Dla dowolnej maszyny M działającej w pamięci S(n) istnieje maszyna M taka, że: L(M) = L(M ), M działa w pamięci S(n), M ma własność stopu. Dowód:
Zakładamy, że maszyna ma jeden stan akceptujacy.
Złożoność pamięciowa Rozważamy następujac a maszynę Turinga: 1 0 0 1 1 0 1 1 1 1 Taśma wejściowa (read only) 1 0 1 1 0 0 0 1 0 0 1 Taśma robocza (read/write) 0 1 1 0 0 1 0 0 1 Taśma wyjściowa (write only)
Poprawność semantyczna
Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych
Lista 6 Problemy NP-zupełne
1 Wprowadzenie Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Teoretyczne Podstawy Informatyki Lista 6 Problemy NP-zupełne Problem abstrakcyjny Q jest to relacja dwuargumentowa
Zasady analizy algorytmów
Zasady analizy algorytmów A więc dziś w programie: - Kilka ważnych definicji i opisów formalnych - Złożoność: czasowa i pamięciowa - Kategorie problemów - Jakieś przykłady Problem: Zadanie możliwe do rozwiązania
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
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW RELACJE MIEDZY KLASAMI ZŁOŻONOŚCI Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 KLASY ZŁOŻONOŚCI KLASE ZŁOŻONOŚCI OPISUJE SIE PODAJAC: Model
Obliczanie. dr hab. inż. Joanna Józefowska, prof. PP 1
Obliczanie 1 Obliczanie Co to jest obliczanie? Czy wszystko można obliczyć? Czy to, co intuicyjnie uznajemy za obliczalne można obliczyć za pomocą mechanicznej procedury? 2 Czym jest obliczanie? Dawid
Dowód pierwszego twierdzenia Gödela o. Kołmogorowa
Dowód pierwszego twierdzenia Gödela o niezupełności arytmetyki oparty o złożoność Kołmogorowa Grzegorz Gutowski SMP II rok opiekun: dr inż. Jerzy Martyna II UJ 1 1 Wstęp Pierwsze twierdzenie o niezupełności
Języki formalne i automaty Ćwiczenia 9
Języki formalne i automaty Ćwiczenia 9 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Maszyna Mealy'ego... 2 Maszyna Moore'a... 2 Automat ze stosem... 3 Konwersja gramatyki bezkontekstowej
Efektywność algorytmów
Efektywność algorytmów Algorytmika Algorytmika to dział informatyki zajmujący się poszukiwaniem, konstruowaniem i badaniem własności algorytmów, w kontekście ich przydatności do rozwiązywania problemów
Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
Algorytmy asymetryczne
Algorytmy asymetryczne Klucze występują w parach jeden do szyfrowania, drugi do deszyfrowania (niekiedy klucze mogą pracować zamiennie ) Opublikowanie jednego z kluczy nie zdradza drugiego, nawet gdy można
Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia
Informacja w perspektywie obliczeniowej Informacje, liczby i obliczenia Cztery punkty odniesienia (dla pojęcia informacji) ŚWIAT ontologia fizyka UMYSŁ psychologia epistemologia JĘZYK lingwistyka nauki
Wykład 2. Poprawność algorytmów
Wykład 2 Poprawność algorytmów 1 Przegląd Ø Poprawność algorytmów Ø Podstawy matematyczne: Przyrost funkcji i notacje asymptotyczne Sumowanie szeregów Indukcja matematyczna 2 Poprawność algorytmów Ø Algorytm
Początki informatyki teoretycznej. Paweł Cieśla
Początki informatyki teoretycznej Paweł Cieśla Wstęp Przykładowe zastosowanie dzisiejszych komputerów: edytowanie tekstów, dźwięku, grafiki odbiór telewizji gromadzenie informacji komunikacja Komputery
1 Maszyny Turinga. stan 1 litera 1 litera 2 ruch stan 2. Matematycznie P S (Q {B}) (Q {B}) {L, R, } S
1 Maszyny Turinga Mając pewną wiedze techniczną na temat budowy komputera trudno przyjąć model rozważany wcześniej. Należy też uświadomoć sobie, że prosty pomysł łatwiej zrealizować technicznie. Tę zaletę
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
Imię, nazwisko, nr indeksu
Imię, nazwisko, nr indeksu (kod) (9 punktów) Wybierz 9 z poniższych pytań i wybierz odpowiedź tak/nie (bez uzasadnienia). Za prawidłowe odpowiedzi dajemy +1 punkt, za złe -1 punkt. Punkty policzymy za
Maszyna Turinga (Algorytmy Część III)
Maszyna Turinga (Algorytmy Część III) wer. 9 z drobnymi modyfikacjami! Wojciech Myszka 2018-12-18 08:22:34 +0100 Upraszczanie danych Komputery są coraz szybsze i sprawniejsze. Na potrzeby rozważań naukowych
Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 4 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 4 WSTĘP DO INFORMATYKI Podprogramy 2 Mówiąc o podprogramach będziemy zakładali : każdy podprogram posiada jeden punkt wejścia;
Struktury formalne, czyli elementy Teorii Modeli
Struktury formalne, czyli elementy Teorii Modeli Szymon Wróbel, notatki z wykładu dra Szymona Żeberskiego semestr zimowy 2016/17 1 Język 1.1 Sygnatura językowa Sygnatura językowa: L = ({f i } i I, {P j
Turing i jego maszyny
Turing Magdalena Lewandowska Politechnika Śląska, wydział MS, semestr VI 20 kwietnia 2016 1 Kim był Alan Turing? Biografia 2 3 Mrówka Langtona Bomba Turinga 4 Biografia Kim był Alan Turing? Biografia Alan
Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to
Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego
Jak należy się spodziewać, mamy. Zauważmy jednak, że nie zachodzi równość
11. Wykład 11: Rachunek λ. Obliczenia i obliczalność. Rachunek λ jest systemem pozornie bardzo prostym. Abstrakcja i aplikacja wydają się trywialnymi operacjami, i może się zdawać, że niczego ciekawego
Teoria obliczeń i złożoność obliczeniowa
Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy
Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski
Modele Obliczeń Wykład 1 - Wprowadzenie Marcin Szczuka Instytut Matematyki, Uniwersytet Warszawski Wykład fakultatywny w semestrze zimowym 2014/2015 Marcin Szczuka (MIMUW) Modele Obliczeń 2014/2015 1 /
Andrzej Wiśniewski Logika II. Wykład 6. Wprowadzenie do semantyki teoriomodelowej cz.6. Modele i pełność
Andrzej Wiśniewski Logika II Materiały do wykładu dla studentów kognitywistyki Wykład 6. Wprowadzenie do semantyki teoriomodelowej cz.6. Modele i pełność 1 Modele Jak zwykle zakładam, że pojęcia wprowadzone
Technologie Informacyjne
POLITECHNIKA KRAKOWSKA - WIEiK - KATEDRA AUTOMATYKI Technologie Informacyjne www.pk.edu.pl/~zk/ti_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 3: Wprowadzenie do algorytmów i ich
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW NIEDETERMINISTYCZNE MASZYNY TURINGA Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 NIEDETERMINISTYCZNE MASZYNY TURINGA DEFINICJA: NIEDETERMINISTYCZNA
Wprowadzenie do złożoności obliczeniowej
problemów Katedra Informatyki Politechniki Świętokrzyskiej Kielce, 16 stycznia 2007 problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów
Logika Stosowana. Wykład 2 - Logika modalna Część 3. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2017/2018
Logika Stosowana Wykład 2 - Logika modalna Część 3 Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2017/2018 Marcin Szczuka (MIMUW) Logika Stosowana 2018 1 / 36 Plan wykładu
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
Typy algorytmów losowych. ALP520 - Wykład z Algorytmów Probabilistycznych p.2
Typy algorytmów losowych ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Typy algorytmów losowych Las Vegas - zawsze daje prawidłowa odpowiedź (różny czas działania). Przykład: RandQuicksort ALP520
Języki, automaty i obliczenia
Języki, automaty i obliczenia Wykład 12: Gramatyki i inne modele równoważne maszynom Turinga. Wstęp do złożoności obliczeniowej Sławomir Lasota Uniwersytet Warszawski 20 maja 2015 Plan 1 Gramatyki 2 Języki
Obliczenia inspirowane Naturą
Obliczenia inspirowane Naturą Wykład 01 Od maszyn Turinga do automatów komórkowych Jarosław Miszczak IITiS PAN Gliwice 03/03/2016 1 / 16 1 2 3 Krótka historia Znaczenie 2 / 16 Czego dowiedzieliśmy się
Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}
Języki Ustalmy pewien skończony zbiór symboli Σ zwany alfabetem. Zbiór Σ zawiera wszystkie skończone ciagi symboli z Σ. Podzbiór L Σ nazywamy językiem a x L nazywamy słowem. Specjalne słowo puste oznaczamy
Równoliczność zbiorów
Logika i Teoria Mnogości Wykład 11 12 Teoria mocy 1 Równoliczność zbiorów Def. 1. Zbiory X i Y nazywamy równolicznymi, jeśli istnieje bijekcja f : X Y. O funkcji f mówimy wtedy,że ustala równoliczność
M T E O T D O ZI Z E E A LG L O G R O Y R TM
O ALGORYTMACH I METODZIE ALGORYTMICZNEJ Czym jest algorytm? Czym jest algorytm? przepis schemat zestaw reguł [ ] program ALGORYTM (objaśnienie ogólne) Algorytm Pojęcie o rodowodzie matematycznym, oznaczające
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
Podstawy Informatyki Maszyna Turinga
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Czym jest Programowanie maszyny Turinga Teza Churcha-Turinga 2 3 4 Czym jest Programowanie maszyny Turinga Teza Churcha-Turinga,
Złożoność problemów. 1 ruch na sekundę czas wykonania ok lat 1 mln ruchów na sekundę czas wykonania ok.
Złożoność problemów Przykład - wieże Hanoi Problem jest zamknięty (dolne ograniczenie złożoności = złożoność algorytmu rekurencyjnego lub iteracyjnego) i ma złożoność O(2 N ). Mnisi tybetańscy podobno
Algorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Teorioinformacyjne twierdzenie Gödla,
Teorioinformacyjne twierdzenie Gödla, czyli co ma logika do statystyki? Łukasz Dębowski ldebowsk@ipipan.waw.pl Instytut Podstaw Informatyki PAN Temat referatu Twierdzenie, o którym opowiem, jest pomysłem
Algorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Złożoność Obliczeniowa Algorytmów
Algorytmów Pożądane cechy dobrego algorytmu Dobry algorytm mający rozwiązywać jakiś problem powinien mieć 2 naturalne cechy: 1 (poprawność) zwracać prawidłowy wynik (dokładniej: zgodność z warunkiem końcowym
Liczby pierwsze - wstęp
Artykuł pobrano ze strony eioba.pl Liczby pierwsze - wstęp W latach 60 ubiegłego wieku w Afryce znaleziono kości z wyrytymi na nich karbami liczące ponad 5000 lat. Na jednej z nich (kość z Ishango) karby
Języki formalne i automaty Ćwiczenia 7
Języki formalne i automaty Ćwiczenia 7 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Automaty... 2 Cechy automatów... 4 Łączenie automatów... 4 Konwersja automatu do wyrażenia
O ALGORYTMACH I MASZYNACH TURINGA
O ALGORYTMACH I MASZYNACH TURINGA ALGORYTM (objaśnienie ogólne) Algorytm Pojęcie o rodowodzie matematycznym, oznaczające współcześnie precyzyjny schemat mechanicznej lub maszynowej realizacji zadań określonego
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW MASZYNY O DOSTEPIE SWOBODNYM (RAM) Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 INSTRUKCJE MASZYNY RAM Instrukcja Argument Znaczenie READ
O ROLI TEZY CHURCHA W DOWODZIE PEWNEGO TWIERDZENIA
ARTYKUŁY ZAGADNIENIA FILOZOFICZNE W NAUCE XXV / 1999, s. 76 81 Adam OLSZEWSKI O ROLI TEZY CHURCHA W DOWODZIE PEWNEGO TWIERDZENIA Zadaniem niniejszego artykułu jest zdanie sprawy z matematycznej roli Tezy
Informatyka 1. Złożoność obliczeniowa
Informatyka 1 Wykład XI Złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada 80 20, ocena efektywności
Metody dowodzenia twierdzeń i automatyzacja rozumowań Na początek: teoria dowodu, Hilbert, Gödel
Metody dowodzenia twierdzeń i automatyzacja rozumowań Na początek: teoria dowodu, Hilbert, Gödel Mariusz Urbański Instytut Psychologii UAM Mariusz.Urbanski@.edu.pl OSTRZEŻENIE Niniejszy plik nie zawiera
O pewnych związkach teorii modeli z teorią reprezentacji
O pewnych związkach teorii modeli z teorią reprezentacji na podstawie referatu Stanisława Kasjana 5 i 12 grudnia 2000 roku 1. Elementy teorii modeli Będziemy rozważać język L składający się z przeliczalnej
Informacja o przestrzeniach Hilberta
Temat 10 Informacja o przestrzeniach Hilberta 10.1 Przestrzenie unitarne, iloczyn skalarny Niech dana będzie przestrzeń liniowa X. Załóżmy, że każdej parze elementów x, y X została przyporządkowana liczba
Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność
Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Oficjalna strona wykładu http://www.kaims.pl/
EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew
1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;
OBLICZALNOŚĆ I NIEOBLICZALNOŚĆ
OBLICZALNOŚĆ I NIEOBLICZALNOŚĆ Dwa konteksty obliczalności OBLICZALNE i NIEOBLICZALNE problemy (kontekst informatyczny) liczby (kontekst matematyczny) Problem nieobliczalny jest to problem nierozwiązywalny
Dopełnienie to można wyrazić w następujący sposób:
1. (6 punktów) Czy dla każdego regularnego L, język f(l) = {w : każdy prefiks w długości nieparzystej należy do L} też jest regularny? Odpowiedź. Tak, jęsli L jest regularny to też f(l). Niech A będzie
Kombinowanie o nieskończoności. 3. Jak policzyć nieskończone materiały do ćwiczeń
Kombinowanie o nieskończoności. 3. Jak policzyć nieskończone materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 22 marzec 2018 Szybkie przypomnienie z wykładu Prezentacja
Wprowadzenie do maszyny Turinga
Wprowadzenie do maszyny Turinga Deterministyczna Maszyna Turinga (DTM) jest pewną klasą abstrakcyjnych modeli obliczeń. W tej instrukcji omówimy konkretną maszynę Turinga, którą będziemy zajmować się podczas
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Algorytm 1. Termin algorytm jest używany w informatyce
Indukcja matematyczna, zasada minimum i maksimum. 17 lutego 2017
Indukcja matematyczna, zasada minimum i maksimum 17 lutego 2017 Liczby naturalne - Aksjomatyka Peano (bez zera) Aksjomatyka liczb naturalnych N jest nazwą zbioru liczb naturalnych, 1 jest nazwą elementu
Uwaga 1. Zbiory skończone są równoliczne wtedy i tylko wtedy, gdy mają tyle samo elementów.
Logika i teoria mnogości Wykład 11 i 12 1 Moce zbiorów Równoliczność zbiorów Def. 1. Zbiory X i Y są równoliczne (X ~ Y), jeśli istnieje bijekcja f : X Y. O funkcji f mówimy wtedy, że ustala równoliczność
Podstawy Programowania. Złożoność obliczeniowa
Podstawy Programowania Wykład X Złożoność obliczeniowa Robert Muszyński Katedra Cybernetyki i Robotyki, PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada
TEORIA ZŁOŻONOŚCI PROBLEMY I ALGORYTMY OGRANICZENIE DOLNE I GÓRNE PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI
PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI TEORIA ZŁOŻONOŚCI I MASZYNA TURINGA TEORIA ZŁOŻONOŚCI Teoria złożoności poszukuje rozwiązania dla problemów, które są algorytmicznie trudne do rozwiązania
Definicja: zmiennych zdaniowych spójnikach zdaniowych:
Definicja: Alfabet języka logiki zdań składa się z nieskończonego (najczęściej zakładamy: przeliczalnego) zbioru P, o którym myślimy jak o zbiorze zmiennych zdaniowych i skończonego zbioru symboli, o których
1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych.
Elementy logiki i teorii zbiorów. 1. Wstęp do logiki. Matematyka jest nauką dedukcyjną. Nowe pojęcia definiujemy za pomocą pojęć pierwotnych lub pojęć uprzednio wprowadzonych. Pojęcia pierwotne to najprostsze
Paradoksy log o i g czne czn i inne 4 marca 2010
Paradoksy logiczne i inne 4 marca 2010 Paradoks Twierdzenie niezgodne z powszechnie przyjętym mniemaniem, rozumowanie, którego elementy są pozornie oczywiste, ale wskutek zawartego w nim błędu logicznego
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
Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
Matematyka II - Organizacja zajęć. Egzamin w sesji letniej
Matematyka II - Organizacja zajęć Wykład (45 godz.): 30 godzin - prof. zw. dr hab. inż. Jan Węglarz poniedziałek godz.11.45 15 godzin - środa godz. 13.30 (tygodnie nieparzyste) s. A Egzamin w sesji letniej
Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki
Automat ze stosem Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem (1) dno stosu Stos wierzchołek stosu Wejście # B B A B A B A B a b b a b a b $ q i Automat ze
JAO - Wprowadzenie do Gramatyk bezkontekstowych
JAO - Wprowadzenie do Gramatyk bezkontekstowych Definicja gramatyki bezkontekstowej Podstawowymi narzędziami abstrakcyjnymi do opisu języków formalnych są gramatyki i automaty. Gramatyka bezkontekstowa
TEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie