
- •Математическая логика и теория алгоритмов
- •11. Понятие об алгоритмах. Схемы алгоритмов
- •11.1. Понятие об алгоритме и теории алгоритмов
- •11.2. Схемы алгоритмов
- •11.3. Рекурсивные функции
- •11.4. Машина Тьюринга
- •11.5. Машина Поста
- •11.6. Нормальные алгорифмы а.А. Маркова
- •11.7. Универсальная абстрактная машина
- •11.8. Разрешимость в теории алгоритмов. Проблема самоприменимости
- •11.9. Сложность алгоритма
- •11.10. Представление схемы алгоритма эквивалентным автоматом
- •11.11. Представление схемы алгоритма микропрограммой с двумя типами микрокоманд
- •12. Элементы формальной логики
- •12.1. Предмет формальной логики
- •12.2. Понятие и его виды
- •12.3. Отношения между понятиями
- •12.4. Операции над понятиями
- •12.5. Суждение и его характеристика
- •Модальные и категорические суждения.
- •Простые категорические суждения.
- •Виды простых категорических суждений.
- •Распределение терминов в простом категорическом суждении.
- •Логический квадрат.
- •13. Умозаключение
- •13.1. Виды умозаключений
- •13.2. Непосредственное умозаключение
- •Умозаключения путем противопоставления предикату.
- •13.3. Опосредованное дедуктивное умозаключение. Фигуры силлогизма
- •Фигуры пкс.
- •Модусы пкс.
- •13.4. Дополнительные виды силлогизмов
- •13.5. Индуктивные умозаключения. Математическая индукция
- •14. Логика высказываний
- •14.1. Семантика логики высказываний
- •I закон – тождества.
- •14.3. Формализация высказываний
- •14.4. Интерпретации, разрешимость, выполнимость, общезначимость
- •14. 5. Логическая равносильность. Законы логики
- •14.6. Формы представления формул логики высказываний
- •14.7. Проблема дедукции в логике высказываний
- •15. Проверка правильности логических выводов. Метод резолюций
- •15.1. Закон контрапозиции
- •15.2. Логическое следование. Проверка правильности логических выводов
- •15.3. Силлогизмы в логике высказываний
- •Разделительно-категоричные силлогизмы.
- •16. Синтаксис и семантика языка логики предикатов
- •16.1. Понятие предиката
- •16.2. Кванторы и связанные переменные
- •16.3. Синтаксис языка логики предикатов. Формулы логики предикатов и формализация суждений
- •16.4. Семантика формул логики предикатов
- •Общезначимость, выполнимость, невыполнимость.
- •17. Тождественные преобразования формул логики предикатов
- •17.1. Операции над предикатами
- •17.2. Основные равносильности логики предикатов
- •Отрицание предложений с кванторами.
- •17.3. Тождественные преобразования формул
- •17.4. Универсум Эрбрана
- •18. Использование метода резолюций в логике предикатов
- •18.1. Подстановка и унификация
- •18.2. Резольвенция и факторизация
- •18.3. Метод резолюций в логике предикатов
- •18.4. Принцип логического программирования
- •19. Логические исчисления
- •19.1. Понятие о формальных теориях
- •19.2. Исчисление высказываний
- •19.3. Исчисление предикатов
- •19.4. Система натурного вывода
- •19.5. Понятие о математической лингвистике
- •19.6. Формальный язык
- •19.7. Формальные грамматики и их свойства
- •19.8. Теоремы Гёделя
- •20. Неклассические логики
- •20.1. Современные модальные логики
- •20.2. Понятие о теории неопределенности
- •20.3. Элементы теории нечетких множеств и нечеткая логика
- •20.4. Нечеткие алгоритмы
- •Литература
- •Приложение 1 Варианты контрольных заданий по дисциплине «Дискретная математика»
- •Приложение 2 Варианты контрольных заданий по дисциплине «Математическая логика»
19.5. Понятие о математической лингвистике
Язык – важнейшее средство человеческого общения – социальное средство хранения и передачи информации, одно из средств управления человеческим поведением.
До начала XX в., говоря о языках, имели в виду только естественные языки (русский, английский и т.д.). В конце прошлого века была предпринята попытка создать искусственный язык – Эсперанто.
Лингвистика – наука о языках – сводилась в основном к изучению конкретных естественных языков, их классификации, выяснению сходств и различий между ними. Возникновение математики, логико-философского исследования языка науки, привели к появлению идеи структуралистского подхода к лингвистике [19].
Язык может быть описан математическими средствами, как преобразование некоторых абстрактных объектов – смыслов, в некоторые объекты – тексты и обратно [29].
Преобразование объектов языка выглядит следующим образом:
1) переход от смыслов к синтаксическим структурам без линейного порядка;
2) переход к линейным последовательностям слов;
3) получение цепочек звуков.
Язык – частный случай знаковой системы.
Наиболее хорошо исследованы знаковые системы, в которых знаками являются символы алфавитов, а последовательностями знаков – тексты; к таким знаковым системам относятся естественные языки, языки науки, а так же сильно развившиеся за последние 60 лет языки программирования.
Математическая лингвистика – математическая дисциплина, предметом которой является разработка формального аппарата для описания строения естественных и некоторых искусственных языков.
Математическая лингвистика является ответвлением математической логики.
Наибольших успехов математическая лингвистика достигла в изучении синтаксиса, где за последние годы сложился специальный математический аппарат – теория формальных языков и грамматик.
19.6. Формальный язык
Формальный язык в отличие от естественного, допускающего неоднозначность, двусмысленность, строится по математически строгим и точным правилам. Он применяется для описания искусственных языков, например, языков программирования.
Задается алфавит V={a,b,c,….x,y,z}, состоящий из букв или символов [4]. Иногда буквы нумеруют, как в алфавите русского языка «а» – первая буква, «я» – последняя. Тогда Vk – множество слов из k букв.
Цепочки.
Слово ωVk называется еще цепочкой ω. Длина цепочки обозначается |ω|.
При k=0 получаем пустое слово, обозначаемое . ||=0.
V* – множество всех слов – эквивалент универсума в теории множеств.
Нетрудно видеть, что V* счетно. Пусть V={а,b}. Будем нумеровать слова [4]: а=1, b=2, аа=3=(121+120), аb=4=(121+220), bа=5=(221+120), bb=6=(221+220) и т.д. Получилась так называемая лексико-графическая нумерация. Таким образом, по каждой цепочке можно получить ее номер. У пустой цепочки номер 0. По номеру можно получить цепочку в заданном алфавите.
Пусть V={а,b,с}. Получим цепочку №20. Предварительно введем таблицу формирования номера в таком алфавите (табл. 89).
Таблица 89
Формирование номера цепочки в V={а,в,с}
-
27
9
3
1
а
162
18
6
2
b
243
27
9
3
с
Тогда 20=9+9+2, то есть (132+331+230), получаем цепочку асb.
Подобным образом можно нумеровать и другие объекты. Получим, например, номер формулы логики высказываний АВ. Алфавит: {А,В,,¯}, тогда номер цепочки: (132 +331+230)=20.
В этой цепочке старший (левый) разряд А, номер символа А в алфавите равен 1, вес его =32; следующий символ , номер символа равен 2, вес его =31; младший (правый) символ В, номер символа В равен 3, вес =30. Ясно, что не все номера представляют собой правильные формулы. Например, формула АВ – неправильная. Хотя в случае использования так называемой префиксной формы записи (символ бинарной операции ставится перед символами переменных – это польская инверсная запись ПОЛИЗ) эта формула будет правильной.
Получим номер автомата – распознавателя последовательности 0132 в алфавите {0,1,2,3}:
(133+232+431 +330)=60.
Получим
номер алгоритма по его логической схеме:
в алфавите {
}:
=16186.
Получим номер модуса Barbara в виде ааа1 (1 – номер фигуры) в алфавите {a,i,e,o,1,2,3,4}, где буква – вид суждения, цифра – номер модуса:
(183+182+181 +580)=589.
Над цепочками вводятся операции, например:
конкатенации (сцепления), например, аbbc=аbbс;
итерации * (повторения), например: а(bbа)*=аbbаbbаbbа…;
инверсии
(реверса), например,
;
циклического сдвига (циклической перестановки символов), например, влево: (аbс)=bса, или вправо: (аbс)=саb;
перестановки групп символов (подцепочек данной цепочки), например, (ав(вс)(ав))=ававвс;
замены одной подцепочки данной цепочки другой цепочкой: (аbbс,bbd)=adc.
Ранее мы упоминали о генетических алгоритмах. В них цепочками представляются некоторые варианты решения комбинаторной задачи. Такие цепочки называют как в генетике – хромосомами. В процессе «скрещивания» двух хромосом образуется новая хромосома, то есть цепочка, состоящая из частей «родительских» цепочек. В дальнейшем в процессе «эволюции» остаются или «выживают» только самые жизнеспособные, т.е. лучшие варианты. Так происходит и в природе. Все мы носим эти цепочки хромосом с собой и, возможно, передадим их частички в будущее. Не будем забывать заветы великого Дарвина: «Выживает сильнейший», в смысле – умнейший. Хотя, точнее, – тот, кто приспосабливается к изменениям.
Операции над языками.
Формальный язык L в алфавите V – это некоторое подмножество: V* LV*.
Над языками, как над множествами вводятся теоретико-множественные операции: объединение, пересечение, разность. На декартово произведение похоже соединение (конкатенация) языков, например: L1={па,ма,да}, L2={па,к}, тогда L1L2={папа,пак,мапа,мак,дапа,дак}.
Очевидно, что L22={па,к}{па,к}={папа,пак,кпа,кк}.
Имеется также операция подстановки языка в язык [19]. Пусть заданы языки сумм:
Lcm={а,а+а,а+а+а,…} и произведений Lnp={а,аа,ааа,…}. Подстановка Lcm(аLnp) дает язык сумм произведений Lcn={аа,ааа,…аа+а,…}.
Итерация языка – это объединение всех его степеней:
Определение языков – это их задание. Оно осуществляется следующими способами:
перечислением всех правильных цепочек языка;
порождением всевозможных цепочек и их «фильтрацией» с помощью так называемых распознавателей, которые распознают требуемые цепочки;
заданием соответствующей формальной грамматики, определяющей правила построения языка.
Рассмотрим формальные грамматики.