русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Якщо алфавітний оператор зіставляє із вхідним словом лише одне вихідне, він є однозначним.


Дата додавання: 2014-11-28; переглядів: 1112.


Саме такі оператори використовуються в алгоритмах, бо тільки вони забезпечують їм властивість визначеності, тобто один єдиний результат кожної операції та алгоритму в цілому.

Якщо алфавітний оператор не зіставляє із вхідним словом жодного вихідного, то говорять, що оператор невизначений на цьому слові. У самому визначенні слова закладено можливість вважати словом і один символ і будь-який текст. Тому існують оператори різної складності реалізації.

Найпростіші відображення — це посимвольні (політерні), тобто такі, що зіставляють символи двох різних алфавітів.

Потім ідуть відображення, які зіставляють із символом вхідного алфавіту слово вихідного алфавіту. До них належать так звані кодуючі відображення, застосування яких називають кодуванням. При кодуванні кожний символ аi вхідного алфавіту А зіставляється із послідовністю bi1, bi2 ... b символів алфавіту В, тобто словом в алфавіті В. Це слово можна назвати кодом символу аi, якщо

1) кожному символу відповідає тільки одне слово;

2) різним символам алфавіту А відповідають різні слова в алфавіті В;

3) код будь-якого символу алфавіту А не збігається з жодним початковим відрізком кодів інших символів цього алфавіту.

Дотримання цих умов дозволяє однозначно виконати зворотній процес — декодування. Наприклад, нехай є два алфавіти
А = {a, b, c, ..., z} та В = {a, b, g, ..., w}, а також відображення а ® a; b ® b; с ® g;... Нехай ми маємо вихідне слово aba. Яким було вхідне слово? аbа чи са? Неоднозначність випливає з того, що код символу а збігається з початковим відрізком коду с. Отже, ці відображення не є кодуючими.

Таких складностей можна уникнути, якщо прийняти, що коди мають однакову довжину, отже, умова 3 буде дотримуватись автоматично.

Кодування дозволяє звести вивчення довільних алфавітних відображень у якомусь стандартному алфавіті, наприклад у двійковому. При цьому можна визначити мінімальну довжину кода, якщо відомі кількості літер вхідного та вихідного алфавітів.

Нехай А — довільний алфавіт, що має n літер; В — стандартний алфавіт, що має m літер. То завжди можна знайти число k таке, щоб задовольнити нерівність mk>n, де mk — кількість різних слів довжини k в алфавіті, що складається з m букв. Якщо алфавіт В двійковий, алфавіт А — латинський (26 літер), то 2k >26, виконується для k>5. Тобто всі літери алфавіту А можна закодувати словами алфавіту В довжиною 5 літер: 00001, 00010 ... 11010.

Існує теорема, за якою кожному алфавітному оператору в алфавіті А відповідає алфавітний оператор в алфавіті В, спряженийз ним. Це дуже важлива теорема, бо вона дозволяє будь-яку послідовність оператора перетворення інформації в одному алфавіті (А) замінити послідовністю операторів перетворення інформації в іншому алфавіті (В) з попереднім кодуванням вхідної інформації
(А ® В), а потім декодуванням вихідної інформації (В ® А).

З цього випливає, що поняття алфавітного відображення є найбільш загальним, і в нього вкладається будь-який процес перетворення інформації.

Однак є важливий момент. Алфавітний оператор тільки вказує, яке вихідне слово ставиться у відповідність деякому вхідному. А от як це вихідне слово отримати, алфавітний оператор не говорить, тобто це свого роду позначення Y = f(х). За якими правилами визначити оце f(х), — невідомо. Так от:


<== попередня лекція | наступна лекція ==>
Абстрактним алфавітом називають будь-яку скінченну сукупність об’єктів, які називають символами (літерами) цього алфавіту. | Характеристики алгоритму


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн