Proponowane tematy prac magisterskich Tomasz Jurdzi ´nski 1

Transkrypt

Proponowane tematy prac magisterskich Tomasz Jurdzi ´nski 1
Proponowane tematy prac magisterskich
Tomasz Jurdziński
[email protected]
1 Kompresja za pomoca˛ gramatyk
Wiele spośród popularnych algorytmów kompresji tekstów można potraktować jako kompresj˛e „gramatykowa”.
˛ Formalnie, kompresj˛e „gramatykowa” zdefiniować możemy w ten sposób, iż dla kompresowanego tekstu szukamy „najmniejszej” gramatyki bezkontekstowej (tzn. o najkrótszym opisie) generujacej
˛
ten tekst. W pewnym sensie podejście „gramatykowe” realizuja˛ np. takie algorytmy jak LZ77 czy LZ78.
W ostatnim czasie zaproponowane zostały nowe algorytmy kompresji „gramatykowej”. Rozwiazania
˛
te
daja˛ gwarancj˛e iż utworzymy gramatyk˛e co najwyżej O(log n) razy dłuższa˛ od najkrótszej gramatyki
generujacej
˛ dany tekst, gdzie n oznacza długość tekstu. Możliwość zastosowań tych algorytmów zależeć
jednak b˛edzie od ich wydajności (stopień kompresji, czas działania algorytów kompresji i dekompresji)
w porównaniu z innymi algorytmami. Przy porównywalnych parametrach kompresja gramatykowa może
okazać si˛e bardziej przydatna z uwagi na to, że pozwala ona na wydajne wyszukiwanie wzorca w tekście
bez konieczności dekompresji.
Propozycje tematów prac magisterskich dotyczacych
˛
kompresji gramatykowej:
1. Efektywna implementacja algorytmu(ów) „kompresji gramatykowej” [A][C], eksperymentalne porównanie ich wydajności z innymi algorytmami kompresji; dodanie mozliwosci kompresji długich
jednoliterowych bloków przy pomocy tzw. gramatyk rosnacych
˛
[E] i analiza jej wpływu na wydajność kompresji.
2. Analiza gramatykowych własności znanych algorytmów kompresji tekstów: LZW, Bisection, Sequential, Greedy. Algorytmy te moga˛ być potraktowane jako przypadki kompresji gramatykowej.
Optymalna kompresja gramatykowa jest zadaniem NP-zupełnym (jej wariant decyzyjny). Dlatego
dla poszczególnych algorytmów działajacych
˛
w czasie wielomianowym bada si˛e ich wspólczynniki aproksymacji, tzn. relacj˛e mi˛edzy optymalna˛ kompresja˛ gramatykowa˛ a wynikiem działania
tych algorytmów. Dla wyżej wymienionych algorytmów nie sa˛ dokładnie znane współczynniki
aproksymacji [D].
Zadanie polega na analizie współczynników aproksymacji powyższych (ewentualnie też innych)
algorytmów i/lub analiza złożoności kompresji przy pomocy gramatyk rosnacych
˛
i/lub konstrukcja
efektywnego algorytmu kompresji przy pomocy gramatyk rosnacych.
˛
3. Analiza złożoności i aproksymowalności dla problemu kompresji gramatykowej dla obrazków
(„tekstów dwuwymiarowych”). Konstrukcja i analiza algorytmu(ów) kompresji gramatykowej dla
obrazków. (w [F] można znaleźć definicj˛e gramatyk bezkontekstowych dla tekstów dwuwymiarowych).
Literatura:
A Moses Charikar, Eric Lehman, Ding Liu, Rina Panigrahy, Manoj Prabhakaran, April Rasala, Amit
Sahai, Abhi Shelat: Approximating the smallest grammar: Kolmogorov complexity in natural models. STOC 2002: 792-801
B Eric Lehman, Approximation Algorithms for Grammar-Based Compression. PhD thesis, 2002.
C Wojciech Rytter: Application of Lempel-Ziv factorization to the approximation of grammar-based
compression. Theor. Comput. Sci. 1-3(302): 211-222 (2003)
D Eric Lehman, Abhi Shelat: Approximation algorithms for grammar-based compression. SODA
2002: 205-212
E Elias Dahlhaus, Manfred K. Warmuth: Membership for Growing Context-Sensitive Grammars is
Polynomial. J. Comput. Syst. Sci. 33(3): 456-472 (1986)
F Piotr Berman, Marek Karpinski, Lawrence L. Larmore, Wojciech Plandowski, Wojciech Rytter: On
the Complexity of Pattern Matching for Highly Compressed Two-Dimensional Texts. J. Comput.
Syst. Sci. 65(2): 332-350 (2002)
2 Wyszukiwanie wzorca w skompresowanych tekstach i obrazkach
W sytuacji, gdy dane przechowywane sa˛ w postaci skompresowanej naturalnym staje si˛e pytanie czy
możliwa jest analiza tych danych, wyszukiwanie w nich informacji bez konieczności dekompresji.
Podstawowym zadaniem jest tutaj wyszukiwanie wzorca w tekście/obrazku skompresowanym. W ostatnich latach zaproponowano różne algorytmy realizujace
˛ te zadania, dla wielu z nich przeprowadzono ich
teoretyczna˛ analiz˛e.
Zadanie polega na efektywnej implementacji wybranych algorytmów wyszukiwania wzorca w skompresowanych tekstach i obrazkach, teoretycznej i/lub eksperymentalnej analizie wydajności tych implementacji.
Literatura (podstawowa):
A Piotr Berman, Marek Karpinski, Lawrence L. Larmore, Wojciech Plandowski, Wojciech Rytter: On
the Complexity of Pattern Matching for Highly Compressed Two-Dimensional Texts. J. Comput.
Syst. Sci. 65(2): 332-350 (2002)
B W.Rytter, Compressed and fully compressed pattern matching, Proceedings of IEEE, November
2000, Volume 88, Number 11, pp. 1769-1778
3 Regex i jego rozszerzenia
Regex jest wygodnym narz˛edziem do do wyszukiwania wzorców pasujacych
˛
do podanych wyrażeń regularnych i ich rozszerzeń (dost˛epnym m.in. w vi, emacs, Perlu czy Pythonie).
Jednakże wiele praktycznie stosowanych wzorców wyszukiwania nie da si˛e w prosty i intuicyjny sposób
wyrazić w regex. Z tego powodu zaproponowano różne rozszerzenia regexa.
Celem pracy jest zapoznanie si˛e z regex i propozycjami jego rozszerzeń, w sczczególności pattern expression. Nast˛epnie, należy zaimplementować wyszukiwanie oparte na pattern expressions. Docelowo chodzi
o to, aby stworzyć wydajny algorytm wyszukiwania takich wzorców i/lub oszacować złożoność czasowa˛
tego problemu. Literatura:
A Wszelkie dost˛epne informacje na temat regex.
B Cezar Campeanu, Sheng Yu, Pattern expressions and pattern automata, Information Processing
Letters 92 (2004), 267–274.
4 Kompresja – program edukacyjny
Zadanie polega na stworzeniu oprogramowania o charakterze edukacyjnym demonstrujacego
˛
działanie
wybranych metod kompresji bezstratnej i stratnej. Ponadto, dla wybranego standardu kompresji stratnej
(np. JPEG) należy przeprowadzić analiz˛e porównujac
˛ a˛ działanie tej metody z jej alternatywa,˛ w której na
różne inne sposoby dobieramy parametry poszczególnych kroków kompresji (w przypadku JPEG: wybór
innej wielkości bloków, transformaty, tablic kwantyzacji, metody kompresji współczynników).
5 J˛ezyki regularne i konfluentne skracanie
Celem pracy jest stworzenie narz˛edzi programistycznych umożliwiajacych
˛
sprawdzanie czy konkretne
sws (string rewriting systems) spełniaja˛ podane poniżej warunki i weryfikacja hipotezy REG ⊂?CRCL
dla wszystkich j˛ezyków regularnych badź
˛ interesujacych
˛
podzbiorów zbioru j˛ezyków regularnych.
Klasa CRCL (Church-Rosser Congruential Languages) jest zdefiniowana w nast˛epujacy
˛ sposób. Niech
Σ b˛edzie skończonym alfabetem. Dany jest zbiór par {(li , ri )}i=1,...,n , gdzie li , ri ∈ Σ∗ , |li | > |ri | dla
i = 1, . . . , n (czyli li jest dłuższe od ri ).
Pary te definiuja˛ string rewriting systems (sws), pozwalajacy
˛ redukować słowa wg reguły: u redukuje si˛e
w jednym kroku do v jesli u = u1 li u2 i v = u1 ri u2 dla pewnej pary (li , ri ). Taka˛ pojedyncza˛ redukcj˛e
oznaczamy u → v. Mówimy, że słowo u redukuje si˛e do v jeśli istnieje ciag
˛ redukcji u → u1 → . . . up =
v lub gdy u = v.
Słowa, których nie można zredukować nazywamy nieredukowalnymi. Interesuja˛ nas tylko takie sws, w
których dla każdego w ∈ Σ∗ istnieje dokładnie jedno nieredukowalne słowo u ∈ Σ∗ takie, że w redukuje
si˛e do u.
W oparciu o takie sws definiujemy j˛ezyki. J˛ezyk jest określony przez pary {(li , ri )}i=1,...,n oraz skończony zbiór słów nieredukowalnych U . J˛ezyk taki składa si˛e ze wszystkich słów, które redukuja˛ si˛e do
słów z U .
Pytanie, które nas interesuje brzmi: czy każdy j˛ezyk regularny można zdefiniować w opisany powyżej
sposób? Inaczej, czy zbiór j˛ezyków regularnych zawiera si˛e w CRCL, REG ⊂?CRCL? Odpowiedź nie
jest znana, w pracach [A] i [B] znajduja˛ si˛e cz˛eściowe rozwiazania,
˛
dotyczace
˛ pewnych grup j˛ezyków
regularnych.
W szczególności, nie wiadomo nawet czy jest możliwe zdefiniowanie w powyższy sposób j˛ezyka Lk
składajacego
˛
si˛e ze wszystkich słów o długości podzielnej przez k, dla k > 2.
Literatura:
A Gundula Niemann, Johannes Waldmann: Some Regular Languages That Are Church-Rosser Congruential. Developments in Language Theory 2001: 330-339
B Klaus Reinhardt, Denis Therien, Some Regular Languages That Are Church-Rosser Congruential.