SlideShare a Scribd company logo
1 of 32
Download to read offline
Хакасский государственный университет им. Н.Ф. Катанова

       Теория вычислительных процессов

  Лекция: Введение. Схемы программ -
             математическая база

       Николай Гребенщиков, www.grebenshikov.ru
Входное тестирование

Возьмите, пожалуйста, ручку и листок бумаги и письменно
ответьте на вопрос:

Что такое вычислительный процесс?

У вас есть 10 минут.

Затем сдайте ваши ответы преподавателю.



                                                  1
Объем курса


 • 18 лекций


 • 9 семинаров


 • 46 часов самостоятельной работы




                                     2
Модульно рейтинговая система


 • 4 модуля


 • 4 контрольных работы


 • 8 оцениваемых семинарских занятий


 • Реферат


 • Экзамен автоматом: ≥87 баллов → оценка отлично, ≥73
   баллов → оценка хорошо, ≥60 баллов → оценка удовле-
   творительно

                                                 3
Экзамен


 • ≤ 59 баллов.


 • Один вопрос.


 • Две задачи.


 • Время: 1 час.



                   4
Список литературы


 • Учебник - Рабинович Е.В. Теория вычислительных про-
   цессов.


 • Хоар Ч. Взаимодействующие последовательные процес-
   сы: Пер. с англ. - М.:Мир, 1989. - 264 с.


 • Котов В.Е., Сабельфельд В.К. Теория схем программ. -
   М.: Наука, 1991. - 248 с.


 • Питерсон Дж. Теория сетей Петри и моделирование си-
   стем: Пер. с англ. - М.: Мир, 1984. - 264 с.

                                                  5
Где искать?

 depot  tutorials  Кафедра ПОВТиАС  Теория вычисли-
тельных процессов




                                                   6
Теоретическое программирование - математическая дис-
циплина, изучающая синтаксические и семантические свой-
ства программ, их структуру, преобразования, процесс их со-
ставления и исполнения.


 • Математические основы программирования. (Алгоритмы
   и вычислимые функции, автоматы и формальные языки,
   логика, алгебра, сложность вычислений)


 • Теория схем программ. (Структурные свойства и преоб-
   разование программ)


 • Семантическая теория программ. (Формальное описание
   семантики программ, преобразование и доказательство
   утверждений о программах)

                                                      7
Теоретическое программирование (продолжение)


 • Теория параллельных вычислений. (Модели, структуры и
   функционирование операционных систем, методы распа-
   раллеливания алгоритмов)


 • Прикладные задачи теоретического программирования.
   (Алгоритмы трансляции и автоматической оптимизации
   программ)




                                                  8
Формализованное описание процесса обработки дан-
ных

Данные - то представление фактов и идей в формализован-
ном виде, пригодном для передачи и переработке в некоем
процессе. Данные представляются и хранятся на носителях
данных.

Информация - это смысл, который придается данным при
их представлении.

Обработка данных - это выполнение систематической по-
следовательности действий с данными.

                                                  9
Формализованное описание процесса обработки дан-
ных (продолжение)

Информационная среда - совокупность носителей данных,
используемых при какой-либо обработке данных.

Состояние информационной среды - набор данных, содер-
жащихся в какой-либо момент в информационной среде.

Процесс - последовательность сменяющих друг друга со-
стояний некоторой информационной среды.

Программа - это формальное описание процесса обработки
данных
                                                 10
Правильность программы

Ошибка - несогласованность между программамой и доку-
ментацией по ее применению.

Тестированием нельзя доказать правильность программы!

А что можно доказать?




                                                  11
Надежность программы - это ее способность безотказно
выполнять определенные функции при заданных условиях в
течение заданного периода времени с достаточно большой
вероятностью.

Отказ - проявление ошибки.

Можно ли доказать надежность программы тестированием?

Степень надежности - стоимость отказов.



                                                 12
Схемы программ. Математические основы

Множество - совокупность определенных и различных объ-
ектов (элементов).

Пример:

D = {Пн, Вт, Ср, Чт, Пт, Сб, Вс},

D1 = {Вт, Ср, Чт, Пн, Сб, Пт, Вс}.

D ≡ D1


                                                 13
Работа с множествами

x ∈ A - x принадлежит A

x ∈ A - x не принадлежит A
  /

A = {x|p(x)} - определение множеств с использованием ха-
рактеристического свойства

 ≡ {} - пустое множество



                                                   14
Работа с множествами

A ⊆ B - каждый элемент множества является элементом
множества , то множество является подмножеством мно-
жества

A = B - A и B состоят из одних и тех же элементов.




                                                     15
Операции над множествами

A’= {x|x ∈ A} - дополнение множества до некоторого универ-
         /
сального множества U .

A   B = {x|x ∈ A ∨ x ∈ B} - объединение множеств;

A   B = {x|x ∈ A ∧ x ∈ B} - пересечение множеств;

A B = {x|x ∈ A ∧ x ∈ } - вычитание множеств.
                   /



                                                     16
Свойства множеств

Ассоциативный закон:

(A   B)   C = A (B   C), (A   B)   C = A (B         C)

Коммуникативный закон: A       B=B       A, A   B=B      A

Закон о дополнении: A    A = U, A    A’=

Закон эквивалентности: A      U = U, A   U =A

Закон о пустом множестве: A         = ,A        =

Закон инволюции: (A’)’= A
                                                             17
Свойства множеств

Закон де Моргана: (A     B)’= A’ B’, (A   B)’= A’ B’

Дистрибутивный закон:

A (B   C) = (A   B) (A    C), A (B   C) = (A   B) (A   C)




                                                       18
Свойства подмножеств

X ⊆ X - рефлексивность

X ⊆ Y ∧ Y ⊆ Z ⇒ X ⊆ Z - транзитивность.




                                          19
Прямое произведение множеств

A1 × A2 × . . . × An = {< a1, a2, . . . , an > |a1 ∈ A1, a2 ∈ A2, . . . , an ∈
An} - прямое (декартово) произведение.

An = A × A × A × . . . × A (n раз) - прямая степень множества
A




                                                                       20
Отношения

R - бинарное отношение между элементами множеств A и B,
если R ⊆ A × B.

< x, y >∈ R ≡ xRy

dR = {x|∃y, < x, y >∈ R} - область определения

rR = {x|∃y, < y, x >∈ R} - область значений

R−1 = {< x, y > | < y, x >∈ R} - обратное отношение


                                                      21
Отношения

R(X) = {y|∃x ∈ X, < x, y >∈ R} - образ множества X относи-
тельно R

R−1(X) - прообраз X относительно R

R1R2 = {< x, y > |∃z, < x, z >∈ R1∧ < z, y >∈ R2} - произведе-
ние подмножеств R1 = A × B и R2 = B × C




                                                         22
Свойства отношений

Бинарное отношение R на множестве A называется:


 • рефлексивным, если < x, x >∈ R для всех x ∈ A;


 • симметричным, если < x, y >∈ R ∧ < y, x >∈ R;


 • антисимметричным, если < x, y >∈ R ∧ < y, x >∈ R ⇒ x =
   y;


 • транзитивным, если < x, y >∈ R∧ < y, z >∈ R ⇒< x, z >∈ R.

                                                       23
Свойства отношений

Отношение эквивалентности - отношение обладающее свой-
ствами рефлексивности, симметричности и транзитивности.

[x]R = x/R = {y| < x, y >∈ R} - класс эквивалентности
элемента x по отношению R.

A/R - фактор-множество (множество классов эквивалент-
ности) множества A по R.



                                                24
Свойства отношений

Предпорядок - рефлексивное и транзитивное бинарное от-
ношение.

Частичный порядок (≤) - рефлексивное, антисимметрич-
ное, транзитивное бинарное отношение.

Полный порядок - частичный порядок на множестве A, если
любое непустое подмножество A имеет наименьший элемент.



                                                  25
Функции

Бинарное отношение f называется функцией из A в B (из A
на B), если df = A, rf ⊆ B и для всех x, y1, y2 из < x, y1 >∈ f и
< x, y2 >∈ f ⇒ y1 = y2.

Обозначение f : A → B. Пишем y = f (x) вместо < x, y >∈ f и
называем y значением функции f при значении аргумента .

Функция f : A → B осуществляет взаимно однозначное со-
ответствие между A и B, если df = A, rf = B и y = f (x1), y =
f (x2) ⇒ x1 = x2.


                                                           26
Функции

Пусть A и B – частично упорядоченные множества и f –
функция из A в B. f называется монотонным отображе-
нием, если из x1 ≤ x2 ⇒ f (x1) ≤ f (x2) для всех x1, x2 ∈ A.

Функцию f : X → Y называют n-местной функцией над
множеством A, если Y = A и X = An.

Предикатом называют функцию, областью значений кото-
рой является множество символов-цифр {0, 1}. При этом го-
ворят, что предикат P : X → {0, 1} истинен для x ∈ X, если
P (x) = 1, и ложен, если P (x) = 0. Отношение на множестве
X – это двухместный предикат P : X 2 → {0, 1}.
                                                       27
Функции

Алфавитом называют непустое конечное множество симво-
лов.

V1 = {a, b}, V2 = {0, 1}, V3 = {a, +, 1, =} – алфавиты.

a + 1 = 1 + a – слово в алфавите V3, 101011 – слово в алфа-
вите V2, abbab – слово в алфавите V1.

Длина слова – число символов в нем, пустое слово не со-
держит ни одного символа.

Множество всех слов в алфавите V обозначается V ∗.

n-местной словарной функцией над алфавитом V называ-
ют n-местную функцию над V ∗, т. е. функцию из V ∗ × V ∗ ×
. . . × V ∗ (n раз) в V ∗.
                                                          28
Графы

G = (V, E, Φ) - направленный граф, где V - множество вер-
шин, – множество дуг, а Φ – функция из в (V {w})2, w ∈ V .
                                                     /

Дуга e называется входом графа, если Φ(e) = (w, u), u ∈
V {w}; внутренней, если Φ(e) = (u1, u2), u1, u2 ∈ V ; выхо-
дом, если Φ(e) = (u, w), u ∈ V {w}.

Дуга e, являющаяся одновременно и входом и выходом гра-
фа, называется висячей; для нее Φ(e) = (w, w).

Дуги, не являющиеся внутренними, называются также сво-
бодными.
                                                      29
Графы

Говорят, что дуга e инцидентна вершине u, если e выходит
из u или ведет в u. Две дуги смежны, если существует
хотя бы одна инцидентная им обеим вершина. Вершина u
называется наследником вершины u’, если в графе имеется
хотя бы одна такая дуга, что Φ(e) = (u’, u).

Путем в графе G называется последовательность . . . , ui, ei, ui+1, . . .
дуг и вершин, такая, что для всех iΦ(ei) = (ui, ui+1). Обра-
зом пути называется слово, составленное из пометок про-
ходимых дуг и вершин.

Две вершины u1, u2 графа G называются связанными, если
u1 = u2 или существует маршрут 1, . . . , n графа G такой, что
дуга 1 инцидентна вершине u1, а дуга n – вершине u2.
                                                            30
Графы




        31

More Related Content

What's hot

Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)Alexey Paznikov
 
Дмитрий Кашицын, Вывод типов в динамических и не очень языках II
Дмитрий Кашицын, Вывод типов в динамических и не очень языках IIДмитрий Кашицын, Вывод типов в динамических и не очень языках II
Дмитрий Кашицын, Вывод типов в динамических и не очень языках IIPlatonov Sergey
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовMikhail Kurnosov
 
Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...
Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...
Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...Mikhail Kurnosov
 
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Nikolay Grebenshikov
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовMikhail Kurnosov
 
Тригонометрические функции числового аргумента
Тригонометрические функции числового аргументаТригонометрические функции числового аргумента
Тригонометрические функции числового аргументаFormula.co.ua
 
Основы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторыОсновы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторыTheoretical mechanics department
 
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...Nikolay Grebenshikov
 
Лекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмовЛекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмовMikhail Kurnosov
 
10 a n_r
10 a n_r10 a n_r
10 a n_r4book
 
Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)Mikhail Kurnosov
 

What's hot (20)

Integral1
Integral1Integral1
Integral1
 
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
Лекция 5. Метод конечных разностей (параллельные алгоритмы в стандарте MPI)
 
Дмитрий Кашицын, Вывод типов в динамических и не очень языках II
Дмитрий Кашицын, Вывод типов в динамических и не очень языках IIДмитрий Кашицын, Вывод типов в динамических и не очень языках II
Дмитрий Кашицын, Вывод типов в динамических и не очень языках II
 
23
2323
23
 
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
 
Soboland Sat
Soboland SatSoboland Sat
Soboland Sat
 
Лекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмовЛекция 11: Методы разработки алгоритмов
Лекция 11: Методы разработки алгоритмов
 
Алгоритмы поиска
Алгоритмы поискаАлгоритмы поиска
Алгоритмы поиска
 
Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...
Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...
Лекция 12. Вероятностный анализ и рандомизированные алгоритмы (Randomized al...
 
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмов
 
Тригонометрические функции числового аргумента
Тригонометрические функции числового аргументаТригонометрические функции числового аргумента
Тригонометрические функции числового аргумента
 
Основы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторыОсновы языка Питон: типы данных, операторы
Основы языка Питон: типы данных, операторы
 
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
 
Основы MATLAB. Лекция 1.
Основы MATLAB. Лекция 1.Основы MATLAB. Лекция 1.
Основы MATLAB. Лекция 1.
 
Лекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмовЛекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмов
 
Алгоритмы сортировки
Алгоритмы сортировкиАлгоритмы сортировки
Алгоритмы сортировки
 
10 a n_r
10 a n_r10 a n_r
10 a n_r
 
Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)Лекция 1. Амортизационный анализ (amortized analysis)
Лекция 1. Амортизационный анализ (amortized analysis)
 
Python: Модули и пакеты
Python: Модули и пакетыPython: Модули и пакеты
Python: Модули и пакеты
 

Similar to Лекция №1. Введение. Предмет "Теория вычислительных процессов"

20110224 systems of_typed_lambda_calculi_moskvin_lecture02
20110224 systems of_typed_lambda_calculi_moskvin_lecture0220110224 systems of_typed_lambda_calculi_moskvin_lecture02
20110224 systems of_typed_lambda_calculi_moskvin_lecture02Computer Science Club
 
20081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-1020081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-10Computer Science Club
 
Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...
Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...
Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...aleksashka3
 
20110224 systems of_typed_lambda_calculi_moskvin_lecture01
20110224 systems of_typed_lambda_calculi_moskvin_lecture0120110224 systems of_typed_lambda_calculi_moskvin_lecture01
20110224 systems of_typed_lambda_calculi_moskvin_lecture01Computer Science Club
 
элементы языка и типы данных
элементы языка и типы данныхэлементы языка и типы данных
элементы языка и типы данныхЕлена Ключева
 
производящие функции
производящие функциипроизводящие функции
производящие функцииMariya_Lastochkina
 
матемтик анализ лекц№ 2
матемтик анализ лекц№ 2матемтик анализ лекц№ 2
матемтик анализ лекц№ 2narangerelodon
 
математик анализ хичээлийн лекц № 2
математик анализ хичээлийн лекц № 2математик анализ хичээлийн лекц № 2
математик анализ хичээлийн лекц № 2narangerelodon
 
Линейная алгебра - II
Линейная алгебра - IIЛинейная алгебра - II
Линейная алгебра - IIDEVTYPE
 
К.В. Воронцов "Регрессивный анализ и метод главных компонент"
К.В. Воронцов "Регрессивный анализ и метод главных компонент"К.В. Воронцов "Регрессивный анализ и метод главных компонент"
К.В. Воронцов "Регрессивный анализ и метод главных компонент"Yandex
 
К.В. Воронцов "Нелинейная регрессия. Многослойные нейронные сети"
К.В. Воронцов "Нелинейная регрессия. Многослойные нейронные сети"К.В. Воронцов "Нелинейная регрессия. Многослойные нейронные сети"
К.В. Воронцов "Нелинейная регрессия. Многослойные нейронные сети"Yandex
 
Николай Паламарчук "Functional Programming basics for PHP developers"
Николай Паламарчук "Functional Programming basics for PHP developers"Николай Паламарчук "Functional Programming basics for PHP developers"
Николай Паламарчук "Functional Programming basics for PHP developers"Fwdays
 
понятие функции
понятие функциипонятие функции
понятие функцииttku
 
Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.Vladimir Tcherniak
 
20111202 machine learning_nikolenko_lecture03
20111202 machine learning_nikolenko_lecture0320111202 machine learning_nikolenko_lecture03
20111202 machine learning_nikolenko_lecture03Computer Science Club
 

Similar to Лекция №1. Введение. Предмет "Теория вычислительных процессов" (20)

20110224 systems of_typed_lambda_calculi_moskvin_lecture02
20110224 systems of_typed_lambda_calculi_moskvin_lecture0220110224 systems of_typed_lambda_calculi_moskvin_lecture02
20110224 systems of_typed_lambda_calculi_moskvin_lecture02
 
20081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-1020081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-10
 
Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...
Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...
Кванторы. Квантор всеобщности. Квантор существования.Равносильные формулы лог...
 
Matanal 31oct
Matanal 31octMatanal 31oct
Matanal 31oct
 
20110224 systems of_typed_lambda_calculi_moskvin_lecture01
20110224 systems of_typed_lambda_calculi_moskvin_lecture0120110224 systems of_typed_lambda_calculi_moskvin_lecture01
20110224 systems of_typed_lambda_calculi_moskvin_lecture01
 
585
585585
585
 
элементы языка и типы данных
элементы языка и типы данныхэлементы языка и типы данных
элементы языка и типы данных
 
производящие функции
производящие функциипроизводящие функции
производящие функции
 
матемтик анализ лекц№ 2
матемтик анализ лекц№ 2матемтик анализ лекц№ 2
матемтик анализ лекц№ 2
 
математик анализ хичээлийн лекц № 2
математик анализ хичээлийн лекц № 2математик анализ хичээлийн лекц № 2
математик анализ хичээлийн лекц № 2
 
структура программы
структура программыструктура программы
структура программы
 
Линейная алгебра - II
Линейная алгебра - IIЛинейная алгебра - II
Линейная алгебра - II
 
К.В. Воронцов "Регрессивный анализ и метод главных компонент"
К.В. Воронцов "Регрессивный анализ и метод главных компонент"К.В. Воронцов "Регрессивный анализ и метод главных компонент"
К.В. Воронцов "Регрессивный анализ и метод главных компонент"
 
К.В. Воронцов "Нелинейная регрессия. Многослойные нейронные сети"
К.В. Воронцов "Нелинейная регрессия. Многослойные нейронные сети"К.В. Воронцов "Нелинейная регрессия. Многослойные нейронные сети"
К.В. Воронцов "Нелинейная регрессия. Многослойные нейронные сети"
 
Николай Паламарчук "Functional Programming basics for PHP developers"
Николай Паламарчук "Functional Programming basics for PHP developers"Николай Паламарчук "Functional Programming basics for PHP developers"
Николай Паламарчук "Functional Programming basics for PHP developers"
 
понятие функции
понятие функциипонятие функции
понятие функции
 
Chjotnye i nechjotnye_funkcii
Chjotnye i nechjotnye_funkciiChjotnye i nechjotnye_funkcii
Chjotnye i nechjotnye_funkcii
 
Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.Прикладная эконометрика. Лекция 3.
Прикладная эконометрика. Лекция 3.
 
20131006 h10 lecture2_matiyasevich
20131006 h10 lecture2_matiyasevich20131006 h10 lecture2_matiyasevich
20131006 h10 lecture2_matiyasevich
 
20111202 machine learning_nikolenko_lecture03
20111202 machine learning_nikolenko_lecture0320111202 machine learning_nikolenko_lecture03
20111202 machine learning_nikolenko_lecture03
 

More from Nikolay Grebenshikov

Программирование: от сложного к простому
Программирование: от сложного к простомуПрограммирование: от сложного к простому
Программирование: от сложного к простомуNikolay Grebenshikov
 
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...Nikolay Grebenshikov
 
Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...
Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...
Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...Nikolay Grebenshikov
 
Лекция №11. Работа с внешней памятью (файлами). Предмет "Структуры и алгоритм...
Лекция №11. Работа с внешней памятью (файлами). Предмет "Структуры и алгоритм...Лекция №11. Работа с внешней памятью (файлами). Предмет "Структуры и алгоритм...
Лекция №11. Работа с внешней памятью (файлами). Предмет "Структуры и алгоритм...Nikolay Grebenshikov
 
Лекция №10. Сортировка. Часть №2. Предмет "Структуры и алгоритмы обработки да...
Лекция №10. Сортировка. Часть №2. Предмет "Структуры и алгоритмы обработки да...Лекция №10. Сортировка. Часть №2. Предмет "Структуры и алгоритмы обработки да...
Лекция №10. Сортировка. Часть №2. Предмет "Структуры и алгоритмы обработки да...Nikolay Grebenshikov
 
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...Nikolay Grebenshikov
 
Лекция №8. Поиск. Хэширование. Предмет "Структуры и алгоритмы обработки данных"
Лекция №8. Поиск. Хэширование. Предмет "Структуры и алгоритмы обработки данных"Лекция №8. Поиск. Хэширование. Предмет "Структуры и алгоритмы обработки данных"
Лекция №8. Поиск. Хэширование. Предмет "Структуры и алгоритмы обработки данных"Nikolay Grebenshikov
 
Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...
Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...
Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...Nikolay Grebenshikov
 
Лекция №4. Асимтотическая нотация. Предмет "Структуры и алгоритмы обработки д...
Лекция №4. Асимтотическая нотация. Предмет "Структуры и алгоритмы обработки д...Лекция №4. Асимтотическая нотация. Предмет "Структуры и алгоритмы обработки д...
Лекция №4. Асимтотическая нотация. Предмет "Структуры и алгоритмы обработки д...Nikolay Grebenshikov
 
Лекция №7. Поиск. Деревья поиска. Предмет "Структуры и алгоритмы обработки да...
Лекция №7. Поиск. Деревья поиска. Предмет "Структуры и алгоритмы обработки да...Лекция №7. Поиск. Деревья поиска. Предмет "Структуры и алгоритмы обработки да...
Лекция №7. Поиск. Деревья поиска. Предмет "Структуры и алгоритмы обработки да...Nikolay Grebenshikov
 
Лекция №6. Деревья. Предмет "Структуры и алгоритмы обработки данных"
Лекция №6. Деревья. Предмет "Структуры и алгоритмы обработки данных"Лекция №6. Деревья. Предмет "Структуры и алгоритмы обработки данных"
Лекция №6. Деревья. Предмет "Структуры и алгоритмы обработки данных"Nikolay Grebenshikov
 
Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"
Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"
Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"Nikolay Grebenshikov
 
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...Nikolay Grebenshikov
 
Лекция №1. Введение. Предмет "Структуры и алгоритмы обработки данных"
Лекция №1. Введение. Предмет "Структуры и алгоритмы обработки данных"Лекция №1. Введение. Предмет "Структуры и алгоритмы обработки данных"
Лекция №1. Введение. Предмет "Структуры и алгоритмы обработки данных"Nikolay Grebenshikov
 

More from Nikolay Grebenshikov (14)

Программирование: от сложного к простому
Программирование: от сложного к простомуПрограммирование: от сложного к простому
Программирование: от сложного к простому
 
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
Лекция №13. Графы: сильно связные компоненты и остовные деревья. Предмет "Стр...
 
Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...
Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...
Лекция №12. Графы: представление, обходы, топологическая сортировка. Предмет ...
 
Лекция №11. Работа с внешней памятью (файлами). Предмет "Структуры и алгоритм...
Лекция №11. Работа с внешней памятью (файлами). Предмет "Структуры и алгоритм...Лекция №11. Работа с внешней памятью (файлами). Предмет "Структуры и алгоритм...
Лекция №11. Работа с внешней памятью (файлами). Предмет "Структуры и алгоритм...
 
Лекция №10. Сортировка. Часть №2. Предмет "Структуры и алгоритмы обработки да...
Лекция №10. Сортировка. Часть №2. Предмет "Структуры и алгоритмы обработки да...Лекция №10. Сортировка. Часть №2. Предмет "Структуры и алгоритмы обработки да...
Лекция №10. Сортировка. Часть №2. Предмет "Структуры и алгоритмы обработки да...
 
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
Лекция №9. Сортировка. Часть №1. Предмет "Структуры и алгоритмы обработки дан...
 
Лекция №8. Поиск. Хэширование. Предмет "Структуры и алгоритмы обработки данных"
Лекция №8. Поиск. Хэширование. Предмет "Структуры и алгоритмы обработки данных"Лекция №8. Поиск. Хэширование. Предмет "Структуры и алгоритмы обработки данных"
Лекция №8. Поиск. Хэширование. Предмет "Структуры и алгоритмы обработки данных"
 
Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...
Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...
Лекция №5. Линейные структуры данных. Предмет "Структуры и алгоритмы обработк...
 
Лекция №4. Асимтотическая нотация. Предмет "Структуры и алгоритмы обработки д...
Лекция №4. Асимтотическая нотация. Предмет "Структуры и алгоритмы обработки д...Лекция №4. Асимтотическая нотация. Предмет "Структуры и алгоритмы обработки д...
Лекция №4. Асимтотическая нотация. Предмет "Структуры и алгоритмы обработки д...
 
Лекция №7. Поиск. Деревья поиска. Предмет "Структуры и алгоритмы обработки да...
Лекция №7. Поиск. Деревья поиска. Предмет "Структуры и алгоритмы обработки да...Лекция №7. Поиск. Деревья поиска. Предмет "Структуры и алгоритмы обработки да...
Лекция №7. Поиск. Деревья поиска. Предмет "Структуры и алгоритмы обработки да...
 
Лекция №6. Деревья. Предмет "Структуры и алгоритмы обработки данных"
Лекция №6. Деревья. Предмет "Структуры и алгоритмы обработки данных"Лекция №6. Деревья. Предмет "Структуры и алгоритмы обработки данных"
Лекция №6. Деревья. Предмет "Структуры и алгоритмы обработки данных"
 
Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"
Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"
Лекция №3. Анализ алгоритмов. Предмет "Структуры и алгоритмы обработки данных"
 
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...
Лекция №2. Абстрактные типы данных. ООП. Предмет "Структуры и алгоритмы обраб...
 
Лекция №1. Введение. Предмет "Структуры и алгоритмы обработки данных"
Лекция №1. Введение. Предмет "Структуры и алгоритмы обработки данных"Лекция №1. Введение. Предмет "Структуры и алгоритмы обработки данных"
Лекция №1. Введение. Предмет "Структуры и алгоритмы обработки данных"
 

Лекция №1. Введение. Предмет "Теория вычислительных процессов"

  • 1. Хакасский государственный университет им. Н.Ф. Катанова Теория вычислительных процессов Лекция: Введение. Схемы программ - математическая база Николай Гребенщиков, www.grebenshikov.ru
  • 2. Входное тестирование Возьмите, пожалуйста, ручку и листок бумаги и письменно ответьте на вопрос: Что такое вычислительный процесс? У вас есть 10 минут. Затем сдайте ваши ответы преподавателю. 1
  • 3. Объем курса • 18 лекций • 9 семинаров • 46 часов самостоятельной работы 2
  • 4. Модульно рейтинговая система • 4 модуля • 4 контрольных работы • 8 оцениваемых семинарских занятий • Реферат • Экзамен автоматом: ≥87 баллов → оценка отлично, ≥73 баллов → оценка хорошо, ≥60 баллов → оценка удовле- творительно 3
  • 5. Экзамен • ≤ 59 баллов. • Один вопрос. • Две задачи. • Время: 1 час. 4
  • 6. Список литературы • Учебник - Рабинович Е.В. Теория вычислительных про- цессов. • Хоар Ч. Взаимодействующие последовательные процес- сы: Пер. с англ. - М.:Мир, 1989. - 264 с. • Котов В.Е., Сабельфельд В.К. Теория схем программ. - М.: Наука, 1991. - 248 с. • Питерсон Дж. Теория сетей Петри и моделирование си- стем: Пер. с англ. - М.: Мир, 1984. - 264 с. 5
  • 7. Где искать? depot tutorials Кафедра ПОВТиАС Теория вычисли- тельных процессов 6
  • 8. Теоретическое программирование - математическая дис- циплина, изучающая синтаксические и семантические свой- ства программ, их структуру, преобразования, процесс их со- ставления и исполнения. • Математические основы программирования. (Алгоритмы и вычислимые функции, автоматы и формальные языки, логика, алгебра, сложность вычислений) • Теория схем программ. (Структурные свойства и преоб- разование программ) • Семантическая теория программ. (Формальное описание семантики программ, преобразование и доказательство утверждений о программах) 7
  • 9. Теоретическое программирование (продолжение) • Теория параллельных вычислений. (Модели, структуры и функционирование операционных систем, методы распа- раллеливания алгоритмов) • Прикладные задачи теоретического программирования. (Алгоритмы трансляции и автоматической оптимизации программ) 8
  • 10. Формализованное описание процесса обработки дан- ных Данные - то представление фактов и идей в формализован- ном виде, пригодном для передачи и переработке в некоем процессе. Данные представляются и хранятся на носителях данных. Информация - это смысл, который придается данным при их представлении. Обработка данных - это выполнение систематической по- следовательности действий с данными. 9
  • 11. Формализованное описание процесса обработки дан- ных (продолжение) Информационная среда - совокупность носителей данных, используемых при какой-либо обработке данных. Состояние информационной среды - набор данных, содер- жащихся в какой-либо момент в информационной среде. Процесс - последовательность сменяющих друг друга со- стояний некоторой информационной среды. Программа - это формальное описание процесса обработки данных 10
  • 12. Правильность программы Ошибка - несогласованность между программамой и доку- ментацией по ее применению. Тестированием нельзя доказать правильность программы! А что можно доказать? 11
  • 13. Надежность программы - это ее способность безотказно выполнять определенные функции при заданных условиях в течение заданного периода времени с достаточно большой вероятностью. Отказ - проявление ошибки. Можно ли доказать надежность программы тестированием? Степень надежности - стоимость отказов. 12
  • 14. Схемы программ. Математические основы Множество - совокупность определенных и различных объ- ектов (элементов). Пример: D = {Пн, Вт, Ср, Чт, Пт, Сб, Вс}, D1 = {Вт, Ср, Чт, Пн, Сб, Пт, Вс}. D ≡ D1 13
  • 15. Работа с множествами x ∈ A - x принадлежит A x ∈ A - x не принадлежит A / A = {x|p(x)} - определение множеств с использованием ха- рактеристического свойства ≡ {} - пустое множество 14
  • 16. Работа с множествами A ⊆ B - каждый элемент множества является элементом множества , то множество является подмножеством мно- жества A = B - A и B состоят из одних и тех же элементов. 15
  • 17. Операции над множествами A’= {x|x ∈ A} - дополнение множества до некоторого универ- / сального множества U . A B = {x|x ∈ A ∨ x ∈ B} - объединение множеств; A B = {x|x ∈ A ∧ x ∈ B} - пересечение множеств; A B = {x|x ∈ A ∧ x ∈ } - вычитание множеств. / 16
  • 18. Свойства множеств Ассоциативный закон: (A B) C = A (B C), (A B) C = A (B C) Коммуникативный закон: A B=B A, A B=B A Закон о дополнении: A A = U, A A’= Закон эквивалентности: A U = U, A U =A Закон о пустом множестве: A = ,A = Закон инволюции: (A’)’= A 17
  • 19. Свойства множеств Закон де Моргана: (A B)’= A’ B’, (A B)’= A’ B’ Дистрибутивный закон: A (B C) = (A B) (A C), A (B C) = (A B) (A C) 18
  • 20. Свойства подмножеств X ⊆ X - рефлексивность X ⊆ Y ∧ Y ⊆ Z ⇒ X ⊆ Z - транзитивность. 19
  • 21. Прямое произведение множеств A1 × A2 × . . . × An = {< a1, a2, . . . , an > |a1 ∈ A1, a2 ∈ A2, . . . , an ∈ An} - прямое (декартово) произведение. An = A × A × A × . . . × A (n раз) - прямая степень множества A 20
  • 22. Отношения R - бинарное отношение между элементами множеств A и B, если R ⊆ A × B. < x, y >∈ R ≡ xRy dR = {x|∃y, < x, y >∈ R} - область определения rR = {x|∃y, < y, x >∈ R} - область значений R−1 = {< x, y > | < y, x >∈ R} - обратное отношение 21
  • 23. Отношения R(X) = {y|∃x ∈ X, < x, y >∈ R} - образ множества X относи- тельно R R−1(X) - прообраз X относительно R R1R2 = {< x, y > |∃z, < x, z >∈ R1∧ < z, y >∈ R2} - произведе- ние подмножеств R1 = A × B и R2 = B × C 22
  • 24. Свойства отношений Бинарное отношение R на множестве A называется: • рефлексивным, если < x, x >∈ R для всех x ∈ A; • симметричным, если < x, y >∈ R ∧ < y, x >∈ R; • антисимметричным, если < x, y >∈ R ∧ < y, x >∈ R ⇒ x = y; • транзитивным, если < x, y >∈ R∧ < y, z >∈ R ⇒< x, z >∈ R. 23
  • 25. Свойства отношений Отношение эквивалентности - отношение обладающее свой- ствами рефлексивности, симметричности и транзитивности. [x]R = x/R = {y| < x, y >∈ R} - класс эквивалентности элемента x по отношению R. A/R - фактор-множество (множество классов эквивалент- ности) множества A по R. 24
  • 26. Свойства отношений Предпорядок - рефлексивное и транзитивное бинарное от- ношение. Частичный порядок (≤) - рефлексивное, антисимметрич- ное, транзитивное бинарное отношение. Полный порядок - частичный порядок на множестве A, если любое непустое подмножество A имеет наименьший элемент. 25
  • 27. Функции Бинарное отношение f называется функцией из A в B (из A на B), если df = A, rf ⊆ B и для всех x, y1, y2 из < x, y1 >∈ f и < x, y2 >∈ f ⇒ y1 = y2. Обозначение f : A → B. Пишем y = f (x) вместо < x, y >∈ f и называем y значением функции f при значении аргумента . Функция f : A → B осуществляет взаимно однозначное со- ответствие между A и B, если df = A, rf = B и y = f (x1), y = f (x2) ⇒ x1 = x2. 26
  • 28. Функции Пусть A и B – частично упорядоченные множества и f – функция из A в B. f называется монотонным отображе- нием, если из x1 ≤ x2 ⇒ f (x1) ≤ f (x2) для всех x1, x2 ∈ A. Функцию f : X → Y называют n-местной функцией над множеством A, если Y = A и X = An. Предикатом называют функцию, областью значений кото- рой является множество символов-цифр {0, 1}. При этом го- ворят, что предикат P : X → {0, 1} истинен для x ∈ X, если P (x) = 1, и ложен, если P (x) = 0. Отношение на множестве X – это двухместный предикат P : X 2 → {0, 1}. 27
  • 29. Функции Алфавитом называют непустое конечное множество симво- лов. V1 = {a, b}, V2 = {0, 1}, V3 = {a, +, 1, =} – алфавиты. a + 1 = 1 + a – слово в алфавите V3, 101011 – слово в алфа- вите V2, abbab – слово в алфавите V1. Длина слова – число символов в нем, пустое слово не со- держит ни одного символа. Множество всех слов в алфавите V обозначается V ∗. n-местной словарной функцией над алфавитом V называ- ют n-местную функцию над V ∗, т. е. функцию из V ∗ × V ∗ × . . . × V ∗ (n раз) в V ∗. 28
  • 30. Графы G = (V, E, Φ) - направленный граф, где V - множество вер- шин, – множество дуг, а Φ – функция из в (V {w})2, w ∈ V . / Дуга e называется входом графа, если Φ(e) = (w, u), u ∈ V {w}; внутренней, если Φ(e) = (u1, u2), u1, u2 ∈ V ; выхо- дом, если Φ(e) = (u, w), u ∈ V {w}. Дуга e, являющаяся одновременно и входом и выходом гра- фа, называется висячей; для нее Φ(e) = (w, w). Дуги, не являющиеся внутренними, называются также сво- бодными. 29
  • 31. Графы Говорят, что дуга e инцидентна вершине u, если e выходит из u или ведет в u. Две дуги смежны, если существует хотя бы одна инцидентная им обеим вершина. Вершина u называется наследником вершины u’, если в графе имеется хотя бы одна такая дуга, что Φ(e) = (u’, u). Путем в графе G называется последовательность . . . , ui, ei, ui+1, . . . дуг и вершин, такая, что для всех iΦ(ei) = (ui, ui+1). Обра- зом пути называется слово, составленное из пометок про- ходимых дуг и вершин. Две вершины u1, u2 графа G называются связанными, если u1 = u2 или существует маршрут 1, . . . , n графа G такой, что дуга 1 инцидентна вершине u1, а дуга n – вершине u2. 30