Wprowadzenie do filozofii computer science Wykład monograficzny r.a. 2011/2012 Prowadzący: Paweł Polak.

Slides:



Advertisements
Podobne prezentacje
Zakład Mechaniki Teoretycznej
Advertisements

Lingwistyka Matematyczna
Wstęp do Informatyki, część 1
Rozwiązywanie równań różniczkowych metodą Rungego - Kutty
Język C/C++ Funkcje.
IV Tutorial z Metod Obliczeniowych
Informatyka jako dziedzina wiedzy
Szyfrowanie symetryczne 1
Sztuczna Inteligencja Reprezentacja wiedzy I Logika przybliżona
Imperatywne modele obliczeń Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Wprowadzenie do C++ Zajęcia 2.
PROGRAMOWANIE STRUKTURALNE
Badania operacyjne. Wykład 1
Modelowanie konstrukcji z uwzględnieniem niepewności parametrów
Zakład Mechaniki Teoretycznej
Elementy Modelowania Matematycznego
Sztuczna Inteligencja Reprezentacja wiedzy I Logika przybliżona
ZBIORY PRZYBLIŻONE.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
P O D S T A W Y P R O G R A M O W A N I A
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Wprowadzenie do teoretycznych podstaw informatyki
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Numeryczne obliczanie całki oznaczonej
Historia rozwoju komputerów
Wstęp do programowania obiektowego
Zapis informacji Dr Anna Kwiatkowska.
Bezpieczeństwo danych
Podstawy programowania
Podstawy programowania II
POJĘCIE ALGORYTMU Pojęcie algorytmu Etapy rozwiązywania zadań
OTWARCIE NOWEJ SIEDZIBY INSTYTUTU PODSTAW INFORMATYKI PAN
Wykład 25 Regulatory dyskretne
Metody numeryczne SOWIG Wydział Inżynierii Środowiska III rok
Historia Informatyki..
Zakładamy a priori istnienie rozwiązania α układu równań.
Jak to jest zrobione? Kalkulator.
Homogenizacja Kulawik Krzysztof.
METODY NUMERYCZNE I OPTYMALIZACJA
Instytut Matematyki i Informatyki
Informatyka jako dziedzina wiedzy
Źródła błędów w obliczeniach numerycznych
Politechniki Poznańskiej
Metody numeryczne metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane tą drogą wyniki są na ogół przybliżone, jednak.
Obliczalność czyli co da się policzyć i jak Model obliczeń maszyna licznikowa dr Kamila Barylska.
Model obiektowy bazy danych
Wstęp do metod numerycznych
Andrzej Majkowski informatyka + 1.
Filtr Kalmana (z ang. Kalman Filter w skrócie KF)
Zasady arytmetyki dwójkowej
Podstawy programowania
Wybrane zagadnienia inteligencji obliczeniowej Zakład Układów i Systemów Nieliniowych I-12 oraz Katedra Mikroelektroniki i Technik Informatycznych proponują.
Wstęp do programowania Wykład 1
Nikogo nie trzeba przekonywać, że eksperymenty wykonywane samodzielnie przez ucznia czy prezentowane przez nauczyciela sprawiają, że lekcje są bardziej.
Feliks od Dzierżyńskiego
STATYSTYKA – kurs podstawowy wykład 11
Algorytmy, sposoby ich zapisu.1 Algorytm to uporządkowany opis postępowania przy rozwiązywaniu problemu z uwzględnieniem opisu danych oraz opisu kolejnych.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Innowacja z programowania realizowana w klasach 1-3
Elementy cyfrowe i układy logiczne
Autor: Rafał Szczurowski
Wstęp do Informatyki - Wykład 6
Efektywność algorytmów
EWOLUCJA SIŁY SZYFRÓW ABCDEFGHIJKLMNOPQRSTUVWXYZ
Zrozumieć, przeanalizować i rozwiązać
WARSAW DATA SCIENCE MEETUP
* PROCESÓW TECHNOLOGICZNYCH
POJĘCIE ALGORYTMU Wstęp do informatyki Pojęcie algorytmu
Sztuczna Inteligencja Reprezentacja wiedzy I Logika przybliżona
Zapis prezentacji:

Wprowadzenie do filozofii computer science Wykład monograficzny r.a. 2011/2012 Prowadzący: Paweł Polak

Część 3: Polski wkład do CS 1. Wkład w rozwój techniki obliczeniowej (XIX w.) 2. Wkład teoretyczny (lata , 80.) 3. Przetwarzanie danych – źródła błędów w mechanicznych obliczeniach statystycznych (1928) 4.Języki programowania 5.Wątpliwy wkład ideologiczny

Główne źródła informacji Polish Contributions to Computing Katalog Historia Nauka i Technika – zdigitalizowane materiały archiwalne dotyczące historii computer science w Polsce Własne poszukiwania

1. Wkład w rozwój techniki obliczeniowej XIX-wieczni konstruktorzy maszyn liczących: Jewna Jacobson – mechaniczna maszyna licząca (przed 1770) Abraham Izrael Stern – maszyna licząca: cztery operacje i pierwiastkowanie (1817) Chaim Zelig Słonimski – maszyna do mnożenia (1840) Izrael Abraham Staffel – maszyna licząca: cztery operacje i pierwiastki kwadratowe (1844) Bruno Abdank-Abakanowicz – wynalezienie integrafu, czyli mechnicznego integratora (1878)

2. Wkład teoretyczny – Jan Łukasiewicz i notacja polska Jan Łukasiewicz ( ) – polski logik ze Lwowa, uczeń Tardowskiego 1924 – sformułowanie notacji beznawiasowej użyta po raz pierwszy w pracy „O znaczeniu i potrzebach logiki matematycznej”, Nauka Polska, X (1929) – K.L. Bauer: „Stanislaus” maszyna logiczna sterowana formułą w notacji polskiej, powstaje pojęcie stosu (Kellerprinzip). Bauer dowiedział się o notacji od Zusego, a ten od wiedeńczyka Karla Mengera

2. Wkład teoretyczny – Jan Łukasiewicz i notacja polska (2) Znaczenie notacji polskiej na jej bazie stworzono pojęcie stosu, wpłynęła na język Algol i jego kompilatory znaczenie dla rozwoju wczesnych kompilatorów, Bob Cralle (Lawrence Livermore National Labs): „the people who did the first FORTRAN were unaware of his [Łukasiewicz] work, which allowed one easily do one pass through an algebraic statement and parse it into instructions with which the computer could compute”. kompilatory tłumaczą wyrażenia na ciąg instrukcji odpowiadający odwrotnej notacji polskiej

2. Wkład teoretyczny – złamanie kodu Enigmy (1) Marian Rejewski, Jerzy Różycki i Henryk Zygalski Rejewski opracował podstawy matematyczne do złamania kodu Enigmy Należało odtworzyć wewnętrzną budowę Enigmy (stosowano różne typy) i rozkodować zmienny klucz wysyłany w nagłówku wiadomości Rejewski opracował teorię cykli i teorię podstawień oraz sformułował równania opisujące działanie maszyny (za pomocą permutacji)

2. Wkład teoretyczny – złamanie kodu Enigmy (2) Płachty Zygalskiego – pozwalały na analizę tzw. „żeńskich” pozycji (powtórzenia tej samej litery w kodzie na 1 i 4 pozycji lub 2 i 5 itp. metoda „rusztu” polegała na sprawdzeniu wszystkich sześciu możliwych zestawów trzech bębnów i dla każdego z nich na sprawdzeniu 26 możliwych liter na pierścieniu lewego bębna (156 prób, ale wynik zwykle osiągano wcześniej) płachty były przygotowane dla każdej litery i każdej kombinacji wirnika

2. Wkład teoretyczny – złamanie kodu Enigmy (3) Bomba kryptologiczna – Rejewski opracował zautomatyzowany sposób znajdowania ustawień wirników Enigmy na podstawie żeńskich pozycji w ustawieniach podwójnie szyfrowanych kluczy wiadomości służyła jedynie do łamania klucza, synchroniczne obroty 6 zestawów bębnów Enigmy za pomocą silnika elektrycznego, każdy bęben był przestawiony o jedną pozycję w stosunku do poprzedzającego pierwszy na świecie pomysł zautomatyzowanego łamania kodu rysunek Rejewskiego

2. Wkład teoretyczny – S. Ulam i metoda Monte Carlo Stanisław Ulam ( ) – polski fizyk, pracował przy projekcie bomby wodorowej (konfiguracja Tellera- Ulama zapłonu bomby wodorowej) 1947 – sformułowanie metody Monte Carlo (współpraca: N. Metropolis, J. von Neuman) – metoda testowania statystycznego metoda służy do rozwiązywania skomplikowanych problemów, niemożliwych do rozwiązania metodami analitycznymi) – obok przykład całkowania (błąd całkowania maleje proporcjonalnie do 1/\sqrt{N}

2. Wkład teoretyczny – Zdzisław Pawlak i zbiory przybliżone Zdzisław Pawlak ( ) współtwórca pierwszego polskiego komputera XYZ (1958), opracował nową metodę geneowania liczb pseudolosowych (1951) – pierwsza polska praca z informatyki (1953) metoda reprezentacji liczb w systemie pozycyjnym z ujemną podstawą (tzw. system arytmetyki minus dwójkowej ozn. "-2"), lata 50. maszyna UMC-1 operująca w tym systemie (kilkadziesiąt sztuk) model formalny komputera („maszyna Pawlaka”) zaproponował klasę języków beznawiasowych, uogólnienie pomysłu Łukasiewicza (cytowany przez D. Knutha w „The Art of Programming”; „Organizacja maszyn bezadresowych” (1962) pierwszy formlny model kodu genetycznego DNA

2. Wkład teoretyczny – Zdzisław Pawlak i zbiory przybliżone (2) Teoria zbiorów przybliżonych 1982 (wg. Wikipedii): formalizm matematyczny, stanowiący rozwinięcie klasycznej teorii zbiorów. Zbiór przybliżony (ang. rough set) – obiekt matematyczny zbudowany w oparciu o logikę trójwartościową. W pierwotnym ujęciu zbiór przybliżony to para klasycznych zbiorów: przybliżenie dolne i przybliżenie górne. Istnieje również odmiana zbioru przybliżonego, definiowana przez parę przybliżeń będących zbiorami rozmytymi (ang. fuzzy set). Dany element może należeć do obydwu przybliżeń, do żadnego lub tylko do przybliżenia górnego. Narzędzie do modelowania niepewności wynikającej z braku odpowiednich informacji. Stosowane w technologiach kosmicznych (NASA), w medycynie i w ekonomii.

2. Wkład teoretyczny – Zdzisław Pawlak i „maszyna Pawlaka” Z. Pawlak, „Maszyny programowane”, Algorytmy (1969), nr.10, s.5-19: «Celem pracy jest sprecyzowanie podstawowych pojęć z zakresu maszyn matematycznych, takich jak pamięć maszyny, obliczanie, program itp. Punktem wyjścia pracy jest pojęcie procesu obliczania. Zdefiniowano maszynę jako funkcję częściową, której argumentami i wartościami są stany pamięci maszyny. Udowodniono pewne elementarne własności maszyn oraz wskazano na dalsze problemy związane z ich teorią. » dzisiejsza ocena: „Stosowność wykorzystywanego w tym celu matematycznego aparatu ( z teorią mnogości jako ontologią fundamentalną ) nie jest jednak dyskutowana. W konsekwencji trudno ocenić moc wiążącą podanych definicji”.

2. Wkład teoretyczny – Zdzisław Pawlak i zbiory przybliżone (2) Teoria zbiorów przybliżonych 1982 (wg. Wikipedii): formalizm matematyczny, stanowiący rozwinięcie klasycznej teorii zbiorów. Zbiór przybliżony (ang. rough set) – obiekt matematyczny zbudowany w oparciu o logikę trójwartościową. W pierwotnym ujęciu zbiór przybliżony to para klasycznych zbiorów: przybliżenie dolne i przybliżenie górne. Istnieje również odmiana zbioru przybliżonego, definiowana przez parę przybliżeń będących zbiorami rozmytymi (ang. fuzzy set). Dany element może należeć do obydwu przybliżeń, do żadnego lub tylko do przybliżenia górnego. Narzędzie do modelowania niepewności wynikającej z braku odpowiednich informacji. Stosowane w technologiach kosmicznych (NASA), w medycynie i w ekonomii.

3. Przetwarzanie danych inż. Juliusz Miller „O dokładności opracowań dat statystycznych przy pomocy maszyn systemu Powers'a”, Kwartalnik Statystyczny (1928) z.1, s.185 (dostępny w katalogu hnit.org.pl) «Celem niniejszej pracy jest analiza tych wszystkich faktów, które mają wpływ na dokładność maszynowego opracowania materiałów statystycznych oraz określenie sposobów ujawniania i usuwania błędów. » oszacowanie błędów obróbki danych, rozważania nad optymalizacją i ergonomią procesu obróbki, meotdy wykrywania błędów

4. Języki programowania (1) Praca z historii języków programowania: Zygmunt Ryznar, Zarys historii programowania elektronicznych maszyn cyfrowych (na tle rozwoju ich konstrukcji i zastosowań), Ośrodek Badawczo-Rozwojowy Informatyki, Warszawa 1972 Polskie języki programowania (lata 60.): SAS (System Adresów Symbolicznych), PJES (Podstawowy Język Symboliczny), EOL (Expression Oriented Language) oraz wersje językowe ALGOLu, COBOLu i podzbioru GPSS (CEMMA 2 – Cyfrowe Modelowanie Maszyny Analogowej). oprac Instytut Maszyn Matematycznych w Warszawie (oprócz SAS).

4. Języki programowania (2) SAKO (System Automatycznego Kodowania) – oryginalny język, oprac. Instytut Maszyn Matematycznych w Warszawie pierwszy translator uruchomiono w 1962 roku przykład (wg Ryznara): GDY BYŁ NADMIAR: α INACZEJ β SKOCZ WEDŁUG I: α β... WRÓĆ itp.

5. Wątpliwy wkład ideologiczny Oskar Lange ( ) – ideolog gospodarki planowej O socjaliźmie i gospodarce socjalistycznej, Państwowe Wydawnictwo Naukowe, Warszawa 1966 s „Maszyna licząca i rynek”, Życie Gospodarcze, «Zaprogramujmy układ jednoczesnych równań na elektronowej maszynie liczącej i otrzymamy odpowiedź w niecałą sekundę. Proces rynkowy ze swą uciążliwą metodą prób i błędów wydaje się przestarzały. Może on być traktowany jako narzędzie rachunkowe wieku przedelektronowego.» Wizja naiwna, brak świadomości problemów ze złożonością obliczeniową. Do dziś problem aktualny w związku z regulacjami gospodarki (planowanie = ścisła regulacja).