Nr wniosku: 151139, nr raportu: 12436. Kierownik (z rap.): dr Artur Jeż
Transkrypt
Nr wniosku: 151139, nr raportu: 12436. Kierownik (z rap.): dr Artur Jeż
Nr wniosku: 151139, nr raportu: 12436. Kierownik (z rap.): dr Artur Jeż Jednym z najważniejszych zadań informatyki jest przetwarzanie "ludzkich" danych: tekstu, mowy itp. Niestety, maszyny nie rozumieją ich tak, jak ludzie; zamiast tego muszą opierać się na różnego rodzaju modelach obliczeniowych. Jednymi z nich są automaty: automat ma skończoną (choć być może dużą) liczbę stanów. Zgodnie z nazwą, stan w pełni opisuje chwilową sytuację automatu. Zmiana stanu następuje w momencie otrzymania zewnątrznego bodźca i automat ma "tabelkę", co powinien robić w zależności od obecnego stanu oraz sygnału z zewnątrz. Możemy o nim myśleć jak o windzie, która musi decydować, co ma zrobić, jeśli jest na 3 piętrze i jednocześnie zostanie naciśnięty guzik na 2 piętrze oraz pasażer chce pojechać na piętro 7. Innym modelem, używanym zwłaszcza w analizie tekstów, są gramatyki, które próbują sformalizować naszą wiedzę o zdaniach: dla przykładu, wiemy ze szkoły, że zdanie składa się z grupy orzeczenia oraz grupy podmiotu, która z kolei zawiera podmiot i być może pewną ilość przydawek. Gramatyka (formalna) podaje tego typu reguły generowania tekstu. Takie modele mogą być użyte nie tylko do rozpoznawania i analizy danych, ale też do ich reprezentacji: przykładowo, zamiast zapisywać tekst, możemy podać gramatykę oraz sposób wyprowadzenia tego konkretnego zdania. Takie przedstawienie jest często bardziej zwięzłe, niż oryginalna postać. Przykładowo, popularny program kompresujący zip reprezentuje tekst przy użyciu gramatyki. Niestety, nie ma nic za darmo - na takich danych dużo trudniej się operuje: spróbujcie przeczytać skompresowany plik! W projekcie zajmowaliśmy się problemami związanymi z automatami oraz gramatykami: z jednej strony podajemy nowe metody konstrukcji automatów i gramatyk oraz metody upraszczania ich; z drugiej strony chcemy powiedzieć, w jaki sposób operować na skompresowanych danych w efektywny sposób, np. bez potrzeby dekompresji. Przykładowo: Pokazaliśmy, że te dwa pozornie przeciwstawne problemy można połączyć: można operować na skompresowanych danych poprzez... kompresję, która lepiej pasuje do naszych celów. Podaliśmy algorytmy szukające tekstu w skompresowanych danych; nasze algorytmy mają wiele wariantów, np. potrafią sobie poradzić, kiedy wpisaliśmy szukany tekst (odrobinę) niepoprawnie. Zaproponowaliśmy nowe sposoby konstrukcji automatów oraz gramatyk, bardziej przydatne w niektórych przypadkach. Pokazaliśmy, jak przekształcać niektóre automaty w ich prostsze warianty. Nasze prace zostały dobrze przyjęte przez międzynarodowe środowisko naukowe, wierzymy, że wniosły wiele do rozwoju dziedziny. W szczególności, zaproponowana technika stosowania kompresji do skompresowanych danych znalazła wiele innych, nowych zastosowań. Nasze prace są jednak w dziedzinie badań podstawowych i nie potrafimy podać prostych, bezpośrednich zastosowań. Ich główne znaczenie to uzyskane zrozumienie.