- •1. Структурная схема микропроцессора (на примере i8086). Назначение регистров.
- •3. Организация основной памяти.
- •3. Структура и характеристики оперативной памяти
- •4. Модель osi
- •5. Стек протоколов tcp/ip
- •6. Классификация компьютерных сетей
- •7. Данные и модели данных
- •8. Модель данных «сущность-связь»
- •Ограничения целостности
- •9. Реляционная модель данных
- •10. Основные направления исследования в области ии
- •11. Метод резолюции в лппп.
- •12. Продукционная модель
- •13. Основные парадигмы языков программирования.
- •14. Основные понятия ооп: инкапсуляция, наследование, полиморфизм
- •1. Инкапсуляция
- •2. Полиморфизм
- •3. Наследование
- •15. Понятие алгоритма.
- •16. Понятие о временной и емкостной сложности алгоритма
- •17. Машина Тьюринга: детерминированная и недетерминированная
- •18. Понятие формального языка и формальной грамматики
- •19. Основные понятия теории графов.
- •20. Понятие количества информации и энтропии. Теорема Шеннона.
- •21. Деревья в теории графов.
- •22. Модели линейного программирования (постановка задачи, математическая модель, решение графическим методом).
- •23. Двойственность в задачах линейного программирования.
- •25. Элементы теории игр.
- •2. Подпрограммы. Процедуры и функции
- •3. Массивы
- •4. Записи
- •5. Работа с Динамическими данными
- •6. Динамические структуры данных. Линейные списки.
- •7. Динамические структуры данных: двоичные деревья
- •8. Работа с файлами
- •9.Операции целочисленной арифметики
- •10. Системы счисления. Перевод чисел из одной системы счисления в другую
- •11. Язык sql. Назначение и основные команды.
- •Манипулирование данными
- •Простые запросы
- •12. Алгоритмы внутренней сортировки.
- •13. Алгоритмы внешней сортировки
- •14. Нахождение кратчайших путей в графе
- •15. Поиск в ширину
- •16. Поиск остова и минимального остова.
- •17. Линейная модель работы информационно-поисковой системы.
- •18. Хеширование
- •Основные достоинства в-дерева
- •20. Логические вопросно-ответные системы:выполнение запросов различных типов.
- •21. Поиск в семантической сети.
- •22. Принципы динамического программирования. Иллюстрация на примере.
- •23. Адресация в Интернете
- •Доменные имена
- •Общий вид формата url-адреса
- •Как работает dns-сервер
- •24. Основные сервисы в сети Интернет.
- •Word Wide Web (www) - "Всемирная паутина"
- •Поиск информации в сети
- •VoIp сервис
- •Мессенджеры
- •25. Использование html. Структура Web(html) страницы.
18. Понятие формального языка и формальной грамматики
Алфавитом языка будем называть некоторое конечное мн-во символов и обозначать Σ. Число | Σ |= n<∞ - мощность алфавита. Если a,b є Σ => ab є Σ2 , Σn – мн-во цепочек длины n, состоящих из символов алфавита.
Полным транзитивным замыканием алфавита называется => мн-во: Σ*=λ U Σ U Σ2U …, где λ – пустая цепочка,
Σ+= Σ U Σ2 U Σ3 U … - положительное транзитивное замыкание.
Формальным языком или языком будем называть некоторое мн-во L Σ* , т.е. L є Σ*. => Язык – есть некоторое мн-во цепочек составленных из алфавитных символов.
Способ описания я-ка н-ется формальной грамматикой.
Формальная грамматика G(h)=( Σ,N,S,P), где Σ – алфавит языка или мн-во терминальных символов; N – мн-во нетерминальных символов (нетерминалы соответствуют некоторому понятию языка);
S є N – начальный нетерминал или начальное понятие языка (суперпонятие);
P:φ1→φ2 – мн-во порождающих правил, т.е. φ1 порождает φ2 цепочки.
φ1,φ2 – цепочки, состоящие как из терминалов, так и из нетерминалов, подцепочку φ1 можно заменить на подцепочку φ2.
Пр. порождающей грамматики
Рассмотрим язык вещественных чисел с фиксированной точкой. Введем нетерминал S-вещественное число с фиксированной точкой, C – целое число (терминал).
S→C S→C|C.C
S→C.C N {S,C}
C→0c (число может начинаться на нуль) C→oC|…|9C|0|…|9
….. Σ={‘0’,…,’9’,’∙’}- терминальные
C→9C порождающие символы
C→o
….
C→9
Конкретное применение порождающих правил называется процессом порождения.
Цель порождения: Получить цепочку, состоящую только из терминалов.
Если конкретную цепочку можно получить в результате применения конкретного числа порождающих правил, то она принадлежит языку, иначе не принадлежит.
Пр. для порождения: Пусть дано 15.318
‘S’→’C.C’→’1C.C’→’15.C’→’15.3C’→’15.31C’→’15.318’
’15.318’ є L – корректно записано
‘153.18’ не є L => дерево порождений этого числа:
S.
C C
1C 3C
5 1C
8
Классификация грамматик языков по Хомскому: => Хомский предложил выделить 4 класса грамматик:
0 класс: грамматика без ограничений (φ1→φ2)
1 класс: контекстно зависимые грамматики, дописываются порождающие файлы только следующего вида:
ω1 A ω2 → ω1 φ ω2, – некоторые цепочки (терминалы и нетерминалы); A- нетерминальный символ.
ω1, ω2 – контекст => ω1 – префикс
ω2 – суффикс контекста φ может быть λ T(n) ~е
2 класс: контекстно-свободные грамматики (T~n)
A → φ (→-порождает), где А – нетерминал; φ – некоторая цепочка, гдн φ≠λ
3 класс: автоматные грамматики А →а, А→аВ, где а – терминал; А,В – нетерминал.
В зависимости от класса зависит задача анализа. Класс языка определяется максимальным классом порождающейся грамматики, с помощью которой можно задавать цепочки данного языка.
Доказано, что все естественные языки относятся к 0 классу, т.е. языки человеческого общения (по Хомскому).
Задача распознавания: Дан некоторый формальный язык L, заданный с помощью порождающей грамматики S(h).
Вход S – цепочка терминальных символов;
На выходе – да (нет), т.е. ответ на ?: є ли цепочка S языку L.
Теорема (о невозможности): Задача распознавания цепочки языков класса 0, алгоритмически неразрешима, т.е. невозможно построить МТ, которая восстанавливалась <=> когда ее входная цепочка є L.
Следствие: Не сущ-ет точных методов анализа естественных языков => Док-но:
1. T~2kn (экспоненциальная) – трудно анализируется, но разрешима
2. T~np – (полиномиальный контекстно-свободный и как правило линейная)
3. T~n (|S|=n) для автоматной грамматики – линейная
На практике в следствии их эффективности как правило применяются автоматные и контекстно-свободные грамматики. К контекстно- свободным языкам относятся все алгоритмические языки, в том числе Паскаль.
Пр.: конечный автомат – средство реализации автоматной грамматики.
Грамматика, в к-ой есть хотя бы один недетерминированный терминал н-ется недетер-ым, в противном случае она н-ется детер-ым.
A→aB|a
B→cC|d
C→a
S→aS|c
Таблица переходов
a
c
d
S
S
z
A
A ,B
B
C
Z
C
Z
Z – условно конечное состояние
Автомат недетерминирован (в одной ячейке несколько значений). Нетерминал н-ется недетерминированным, если сущ-ет несколько правил, где он стоит в левой части а терминалы в правой части при этом совпадают.
‘aaac’ є L ‘aaa’є L
SSSZ SSSS
‘aad’єL
SSS зашли в тупик, не исчерпав строки.