Algorithms related to generalized palindromes in SageMath
Algoritmy související se zobecněnými palindromy v SageMath
Authors
Supervisors
Reviewers
Editors
Other contributors
Journal Title
Journal ISSN
Volume Title
Publisher
České vysoké učení technické v Praze
Czech Technical University in Prague
Czech Technical University in Prague
Date
Abstract
Palindrom je slovo, které se čte stejně zleva doprava i zprava doleva. Palindromický defekt slova $w$ je rozdíl mezi $|w| + 1$ a počtem dvojic odlišných palindromických podřetězců slova $w$. Koncepty palindromu a palindromického defektu lze zobecnit na generalizovaný palindrom, $\Theta$-defekt a $G$-defekt, kde $\Theta$ je antimorfismus, $G$ je konečná grupa skládající se z morfismů a antimorfismů (viz \citepalindromes). Open-source matematický softwarový systém SageMath \cite{github_sage} obsahuje vyvinutou knihovnu podporující různé algoritmy na slova. Prvním cílem této práce je prezentovat a dokázat několik nově objevených algoritmů pro výpočet palindromického defektu a jeho zobecnění. Jako speciální případ jednoho z těchto algoritmů bude ukázán lineární časový algoritmus pro výpočet klasického palindromického defektu. Druhým cílem této práce je začít přidávat některé z těchto algoritmů do SageMath.
A palindrome is a word which reads the same from the left and from the right. Palindromic defect of word $w$ is the difference between $|w| + 1$ and the amount of pairwise distinct palindromic substrings of $w$. Concepts of palindrome and palindromic defect can be generalized to generalized palindrome, $\Theta$-defect and $G$-defect, where $\Theta$ is an antimorphism, $G$ is a finite group consisting of morphisms and antimorphisms (see \citepalindromes). The free open-source mathematics software system SageMath \cite{github_sage} contains a developed library containing numerous algorithms dealing with words. The first goal of the thesis is to present and prove several newly discovered algorithms for computing palindromic defect and its generalizations. As a special case of one of these algorithms, linear time algorithm for computing classical palindromic defect will be shown. The second goal of the thesis is to start adding some of these algorithms into SageMath.
A palindrome is a word which reads the same from the left and from the right. Palindromic defect of word $w$ is the difference between $|w| + 1$ and the amount of pairwise distinct palindromic substrings of $w$. Concepts of palindrome and palindromic defect can be generalized to generalized palindrome, $\Theta$-defect and $G$-defect, where $\Theta$ is an antimorphism, $G$ is a finite group consisting of morphisms and antimorphisms (see \citepalindromes). The free open-source mathematics software system SageMath \cite{github_sage} contains a developed library containing numerous algorithms dealing with words. The first goal of the thesis is to present and prove several newly discovered algorithms for computing palindromic defect and its generalizations. As a special case of one of these algorithms, linear time algorithm for computing classical palindromic defect will be shown. The second goal of the thesis is to start adding some of these algorithms into SageMath.