Napisy i ich znaczenia NAPISY Φ RZECZYW ISTOŚĆ Np Φ(napis 123 ) = prawdziwa liczba 123 Komputery działają na napisach, o ich interpretację musimy zadbać sami Wykład D INFORMATYKA TEORETYCZNA, str 2 Struktura napisów Do definiowania struktury napisów służą gramatyki Przykład: Gramatyka fragmentu a polskiego: M zdanie ::= grpodmiotu grorzeczenia grpodmiotu ::= podmiot przydawka grpodmiotu grorzeczenia ::= orzeczenie orzeczenie dopełnienie grorzeczenia okolicznik podmiot ::= Anka Basia Czesiek przydawka ::= gruby stary orzeczenie ::= bije kocha dopełnienie ::= Ankę Basię Cześka okolicznik ::= wdomu nocą
Struktura napisów Drzewo rozbioru gramatycznego: zdanie grorzeczenia grpodmiotu grpodmiotu grorzeczenia grorzeczenia grpodmiotu grorzeczenia przydawka przydawka podmiot orzeczenie dopełnienie okolicznik okolicznik stary gruby Czesiek bije Ankę wdomu nocą Rozbiór niejednoznaczny Wykład D INFORMATYKA TEORETYCZNA, str 4 zdanie grupa podmiotu grupa orzeczenia podmiot orzeczenie okolicznik = CZASLECI JAK STRZAŁA TIMEFLIESLIKEANARROW przydawka podmiot orzeczenie dopełnienie grupa podmiotu grupa orzeczenia = CZASOWEMUCHY LUBIĄ STRZAŁĘ zdanie Znaczenie zależy od drzewa rozbioru
Struktura napisów Do definiowania struktury napisów służą gramatyki Przykład: Gramatyka wyrażeń arytmetycznych: M wyrażenie ::= składnik wyrażenie + składnik wyrażenie - składnik składnik ::= czynnik czynnik ::= zmienna składnik * czynnik liczba ( wyrażenie ) zmienna ::= a b z liczba ::= cyfra liczba cyfra cyfra ::= 0 1 9 Drzewa wywodu Wykład D INFORMATYKA TEORETYCZNA, str 6 Rozbiórwyrażenia 34 (x+11): wyrażenie składnik czynnik składnik wyrażenie składnik czynnik wyrażenie czynnik liczba składnik liczba liczba czynnik liczba cyfra cyfra zmienna cyfra cyfra 3 4 * ( x + 1 1 )
Języki a problemy Czy do każdego a da się znaleźć generującą go gramatykę? Gramatyka jest skończonym ciągiem znaków, branych ze skończonego alfabetutakichciągówznakówjestℵ 0 (przeliczalniewiele),więcgramatyk jest przeliczalnie wiele Skończonychsłównadskończonymalfabetemjestℵ 0 (przeliczalniewiele); ów,czylizbiorówsłówjestwięc2 ℵ 0 Na pdodstawie tw Cantora: ℵ 0 <2 ℵ 0 wobec tego istnieje przeliczalnie wiele ów z gramatykami oraz nieprzeliczalnie wiele ów nieposiadających gramatyki Języki z gramatykami są rzadkością wśród ów Języki a problemy Wykład D INFORMATYKA TEORETYCZNA, str 8 Odpowiedniości: i problemy gramatyki algorytmy Problemy, posiadające algorytmiczne rozwiązanie, są rzadkością wśród problemów Na pocieszenie: Problemów,dającychsięsformułować,jestteżtylkoℵ 0 Zpowyższych rozważań nie wynika, żeby problemy z rozwiązaniami algorytmicznymi stanowiły rzadkość wśród problemów nazwanych
Języki a problemy Czy problemy, dające się nazwać, posiadają algorytmiczne rozwiązania? Wykład D INFORMATYKA TEORETYCZNA, str 10 Negatywne wyniki w informatyce Nierozstrzygalność własności stopu: Nie da się napisać superprogramu, który widząc jakiś program i dane, zawsze prorokowałby prawidłowo, czy ten program na tych danych się zatrzyma, czy też będzie działał w nieskończoność ZAPĘTLI SIĘ!
Negatywne wyniki w informatyce Nierozstrzygalność własności stopu: Nie da się napisać superprogramu, który widząc jakiś program i dane, zawsze prorokowałby prawidłowo, czy ten program na tych danych się zatrzyma, czy też będzie działał w nieskończoność N P P M P S P PzapętlasięnaP PzatrzymujesięnaP jeślipzapętlasięnap,tonzatrzymujesięnap jeślipzatrzymujesięnap,tonzapętlasięnap jeślinzapętlasięnan,tonzatrzymujesięnan jeślinzatrzymujesięnan,tonzapętlasięnan } SPRZECZNOŚĆ Wykład D INFORMATYKA TEORETYCZNA, str 12 Negatywne wyniki w informatyce, cd Nierozstrzygalność własności stopu: Nie da się napisać superprogramu, który widząc jakiś program i dane zawsze prorokowałby prawidłowo, czy ten program na tych danych się zatrzyma, czy też będzie działał w nieskończoność Nierozstrzygalność równoważności programów: Nie da się napisać superprogramu, który widząc jakieś dwa programy zawsze prorokowałby prawidłowo, czy te dwa programy zachowają się tak samo (dadzą te same wyniki lub oba się zapętlą) na każdych danych Nierozstrzygalność poprawności programów: Nie da się napisać superprogramu, który widząc program i opis wymagań co do jego zachowania zawsze prorokowałby prawidłowo, czy zachowanie programu spełnia te wymagania Niekonstruowalność poprawnych programów Niekonstruowalność optymalnych programów Niepoliczalność pewnych funkcji w lepszym czasie
Trudność problemów Moce zbiorów: NIE- SKOŃCZONE 2 2ℵ 0 c=2 ℵ 0 ℵ 3 ℵ 2 ℵ 1 istnieniezależyod hipotezy continuum ℵ 0 SKOŃ CZONE 2 1 0 Trudność problemów Wykład D INFORMATYKA TEORETYCZNA, str 14 NIE- ROZSTRZYGALNE TEORETYCZNIE ROZSTRZYGALNE TEORETYCZNIE Σ 1 2 Π 1 2 Σ 1 1 Π 1 1 Σ 1 0 Π 1 0 Σ 0 2 Π 0 2 Σ 0 1 Π 0 1 Σ 0 0 =Π0 0 wczasiesuperwykładniczym,np2 2n wczasiewykładniczym2 n wczasien 4 wczasiesześciennymn 3 wczasiekwadratowymn 2 w czasie liniowym n wczasielogarytmicznymlog 2 n NIE DO POLICZENIA PRAKTYCZNIE DO POLICZENIA PRAK- TYCZNIE
Poprawność translacji A B RZECZYW ISTOŚĆ Φ A Φ B translacja Translacja jest poprawna jeśli Φ B translacja=φ A Wykład D INFORMATYKA TEORETYCZNA, str 16 Poprawność translacji dziesiętny 19 binarny 10011 RZECZYW ISTOŚĆ Φ d Φ b translacja Translacja jest poprawna jeśli Φ b translacja=φ d np Φ b (10011)=Φ d (19)
Poprawność translacji C wewnętrzny RZECZYW ISTOŚĆ Φ C Φ w translacja Translacja jest poprawna jeśli Φ w translacja=φ C czylidladowprogpwc Φ w (translacja(p))=φ C (P) Wykład D INFORMATYKA TEORETYCZNA, str 18 Na co informatykowi takie abstrakcje? Mapa powstaje przez deformacje
Mapa powstaje przez deformacje poszerzyć drogi usunąć elementy przypadkowe dodać napisy pozmieniać kolory dorysować siatkę ipoziomice ABSTRAKCJA! Rzeczywistość a abstrakcja Wykład D INFORMATYKA TEORETYCZNA, str 20 Co jest lepsze: abstrakcja matematyczna czy dokładny opis rzeczywistości? abstrakcja matematyczna jest prostsza niż dokładny opis rzeczywistości abstrakcja matematyczna nie zawiera elementów nieistotnych abstrakcja matematyczna podkreśla elementy ważne Wniosek: Mabstrakcja matematyczna jest użyteczniejsza niż dokładny opis rzeczywistości Kiedy abstrakcja matematyczna nie jest użyteczna? gdy jest technicznie wadliwa gdy została stworzona do innych celów gdy użytkownik jej nie rozumie gdy problem jest za prosty