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.