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.