Основы С++ (массивы, указатели). Задачи с массивамиOlga Maksimenkova
Расширенная версия презентации со школы учителей 2016. Изменён порядок материала, добавлены сортировки и индексация, слайды Незнанова А.А. и слайды с задачами.
Слайды использовались на краткосрочных курсах повышения квалификации учителей информатики, 2 лекции по 1 час 20 минут.
Изложен опорный (предельно ужатый) материал по основами C++.
Основы С++ (массивы, указатели). Задачи с массивамиOlga Maksimenkova
Расширенная версия презентации со школы учителей 2016. Изменён порядок материала, добавлены сортировки и индексация, слайды Незнанова А.А. и слайды с задачами.
Слайды использовались на краткосрочных курсах повышения квалификации учителей информатики, 2 лекции по 1 час 20 минут.
Изложен опорный (предельно ужатый) материал по основами C++.
Метод искусственной пчелиной колонии, алгоритм пчёлKirill Netreba
A new population-based search algorithm called the Bees Algorithm (BA) is presented. The algorithm mimics the food foraging behaviour of swarms of honey bees. In its basic version, the algorithm performs a kind of neighbourhood search combined with random search and can be used for both combinatorial optimisation and functional optimisation.
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...Iosif Itkin
Expanding the Meta-Generation of Correctness Conditions by Means of Semantic Markup
Dmitry Kondratyev, A.P. Ershov Institute of Informatics Systems, Novosibirsk
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Метод искусственной пчелиной колонии, алгоритм пчёлKirill Netreba
A new population-based search algorithm called the Bees Algorithm (BA) is presented. The algorithm mimics the food foraging behaviour of swarms of honey bees. In its basic version, the algorithm performs a kind of neighbourhood search combined with random search and can be used for both combinatorial optimisation and functional optimisation.
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...Iosif Itkin
Expanding the Meta-Generation of Correctness Conditions by Means of Semantic Markup
Dmitry Kondratyev, A.P. Ershov Institute of Informatics Systems, Novosibirsk
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
2021 Филипповский А.В. "Разработка программно-математических средств для биом...RF-Lab
Тема выпускной квалификационной работы: «Разработка программно-математических средств для
биомеханического анализа движений человека на
основе сигналов электромиографии»
Выполнил: Филипповский А.В.
Руководитель: к.т.н. Мельников А.О.
2020 ВКФ Павлов Ю.А. "Разработка программноматематических средств для управле...RF-Lab
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА НА ТЕМУ:
"Разработка программно-математических средств для управления интерфейсом телефона с помощью сигналов электромиографии
Выполнил:
Павлов Юрий Александрович
Научный руководитель:
Мельников Алексей Олегович
Выпускная квалификационная работа на тему: "Разработка программных средств оценки и адаптивной компенсации искажений в звуковых каналах передачи данных"
2013 Разработка программно-математического комплекса поддержки скоринга востр...RF-Lab
ДИПЛОМНЫЙ ПРОЕКТ
на тему
«Разработка программно-математического комплекса поддержки скоринга востребования»
Выполнил: Царьков Юрий Александрович Руководитель: Мельников Алексей Олегович
Петрикин "Разработка программных средств лоя идентификации диктора по голосу"
1. МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТМОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ
Диплом на тему:
«Разработка программных средств для
идентификации диктора по голосу»
Выполнил
Петрыкин С.О.
Дипломный руководитель
Мельников А.О.
2. • Провести анализ основных алгоритмов, идентификацииПровести анализ основных алгоритмов, идентификации
диктора на основе скрытых Марковских моделейдиктора на основе скрытых Марковских моделей
• Разработать общую схему идентификации диктораРазработать общую схему идентификации диктора
• Разработать структуру программных модулей, реализующихРазработать структуру программных модулей, реализующих
общую схему идентификации диктора, а также разработатьобщую схему идентификации диктора, а также разработать
соответствующие модули программного обеспеченьясоответствующие модули программного обеспеченья
• Провести серию экспериментов на кодовой книге малогоПровести серию экспериментов на кодовой книге малого
объёмаобъёма
• Исследовать зависимость вероятности распознавания отИсследовать зависимость вероятности распознавания от
различных параметров идентификацииразличных параметров идентификации
Цели дипломной работыЦели дипломной работы
3. • Шумоочистка и отделение полезного сигналаШумоочистка и отделение полезного сигнала
• Преобразование входного речевого сигнала в наборПреобразование входного речевого сигнала в набор
акустических параметровакустических параметров
• Приведение акустической формы сигнала кПриведение акустической формы сигнала к
внутреннему алфавиту эталонных элементоввнутреннему алфавиту эталонных элементов
• Построение последовательности состояний модели иПостроение последовательности состояний модели и
вычисление вероятности принадлежности этойвычисление вероятности принадлежности этой
модели диктору.модели диктору.
Постановка задачи:Постановка задачи:
Идентифицировать диктора по голосуИдентифицировать диктора по голосу
Основные шаги решения задачи идентификации диктораОсновные шаги решения задачи идентификации диктора::
Задача идентификации диктора и ее решениеЗадача идентификации диктора и ее решение
4. Тексто-зависимые и тексто-независимые системыТексто-зависимые и тексто-независимые системы
• Dynamic time warping (DTW)Dynamic time warping (DTW)
• Скрытые Марковские модели (СММ)Скрытые Марковские модели (СММ)
• Нейронные сетиНейронные сети
Обзор методов идентификацииОбзор методов идентификации
спектограммы словспектограммы слов
6. 1) Сегментация (разбиение на отрезки)1) Сегментация (разбиение на отрезки) 2) Взвешивание каждого полученного2) Взвешивание каждого полученного
отрезка с помощью окна Хеммингаотрезка с помощью окна Хемминга
3)Вычисление речевых признаков3)Вычисление речевых признаков
Преобразование входного речевого сигнала в набор акустическихПреобразование входного речевого сигнала в набор акустических
параметровпараметров
7. 0 20 40 60 80 100 120 140 160
-2
0
2
4
6
8
x 10
-3
0 5 10 15
-6
-4
-2
0
2
Кепстральные коэффициентыКепстральные коэффициенты
Сигнал до полученияСигнал до получения
кепстральных коэффициентовкепстральных коэффициентов
Соответствующие сигналу кепстральныеСоответствующие сигналу кепстральные
коэффициенты (коэффициенты (N = 15)N = 15)
В качестве признаков, описывающих речь, наиболее широко применяются кепстральныеВ качестве признаков, описывающих речь, наиболее широко применяются кепстральные
коэффициенты , которые формально определяются следующим образом:коэффициенты , которые формально определяются следующим образом:
° (log(| ( ) |))C X= Φ Φ
ur uur
Метод вычисления кепстра из коэффициентов линейного предсказанияМетод вычисления кепстра из коэффициентов линейного предсказания
1
1
1
, 1,...,
k
ik k k i
k
c a ic a k p
k
−
−
−
= + =∑
1
,ik k ic ic a k p
k −= >∑
Коэффициент определяется по формуле:
2
0 lnc σ=
(0)
2
( )p
E
E
σ =
0c
8. Вычисление речевых признаков на кепстральных коэффициентов сВычисление речевых признаков на кепстральных коэффициентов с
помощью алгоритма Дарбинапомощью алгоритма Дарбина
Автокорреляционный методАвтокорреляционный метод
1 2
1
[ (1) (2)... (3)]
[ ... ] -
(| |) ( ), 1 -
T
T
p
p
k n n
k
R ra
r r r r àâò î êî ððåëÿöèî í í û é âåêò î ð
a a a a âåêò î ð êî ýô ô èöèåí ò î â ëèí åéí î ãî ï ðåäñêàçàí èÿ
a R i k R i i p ì àò ðè÷í î å óðàâí åí èå î ò í î ñèò åëüí î ï àðàì åò ðî âï ðåäñêàçàí èÿ
=
=
= −
=
− = ≤ ≤∑
Алгоритм ДарбинаАлгоритм Дарбина
(0)
1
( 1) ( 1)
1
( )
( ) ( 1) ( 1)
( ) 2 ( 1)
( )
(0)
[ ( ) ( )]/ , 1 ;
, 1 1
(1 )
, 1
i
i i
i j
j
i
i i
i i i
j j i i j
i i
i
p
j j
E R
k R i a R i j E i p
a k
a a k a j i
E k E
a a j p
−
− −
=
− −
−
−
=
= − − ≤ ≤
=
= − ≤ ≤ −
= −
= ≤ ≤
∑
9. { }1 2, , , TO O O O= K
Из массива векторов кепстральных коэффициентов с помощью векторногоИз массива векторов кепстральных коэффициентов с помощью векторного
квантования получаем массив индексов векторов из кодовой книгиквантования получаем массив индексов векторов из кодовой книги
Векторное квантование кепстральных коэффициентовВекторное квантование кепстральных коэффициентов
Наблюдаемая последовательностьНаблюдаемая последовательность
10. Построение кодовой книги. Алгоритм К-среднихПостроение кодовой книги. Алгоритм К-средних
Исходные точки и случайно
выбранные начальные точки
Точки, отнесённые к начальным
центрам
Вычисление новых
центров кластеров
Предыдущие шаги повторяются,
пока алгоритм не сойдётся
11. ( ){ }
( ) ( )| , 1 , 1 .
j
j k t t
B b k j,
b k P v ât q S j N k M
= −
= = ≤ ≤ ≤ ≤
ðàñï ðåäåëåí èå âåðî ÿòí î ñòåé ï î ÿâëåí èÿ ñèì âî ëî â í àáëþ äåí èÿ âñî ñòî ÿí èè
СММ обозначаются и характеризуется следующими величинами:СММ обозначаются и характеризуется следующими величинами:
{ } ( )i i 1 iπ = π = P q = S , 1 i Nπ− ≤ ≤í à÷àëüí î å ðàñï ðåäèëåí èå âåðî ÿòí î ñòåé ñî ñòî ÿí èé, .
{ }
( )1 | , 1 ,
ij
ij t j t i
A a
a P q S q S i j N+
= −
= = = ≤ ≤
ðàñï ðåäåëåí èå âåðî ÿòí î ñòåé ï åðåõî äî â ì åæäóñî ñòî ÿí èÿì è
Т - число символов в наблюдаемой последовательности;
N - число состояний модели;
М - число различных символов наблюдения;
1 2{ , , , }TO O O O= −K ï î ñëåäî âàòåëüí î ñòü í àáëþ äåí èé
1 2{ , , , }NS S S S= −K ì í î æåñòâî ñî ñòî ÿí èé ì î äåëè;
λ
Структура скрытых Марковских моделейСтруктура скрытых Марковских моделей
Скрытая Марковская модель – это модель, состояния которой нам не видны (скрыты отСкрытая Марковская модель – это модель, состояния которой нам не видны (скрыты от
нас). Таким образом мы не можем видеть из какого в какое состояние переходит модель нанас). Таким образом мы не можем видеть из какого в какое состояние переходит модель на
каждом шаге. Мы видим лишь результат пребывания системы в том или ином состоянии –каждом шаге. Мы видим лишь результат пребывания системы в том или ином состоянии –
наблюдения.наблюдения.
12. Алгоритм прямого-обратного хода:
( ) ( ) ( ) ( )
( ) ( ) ( )
1 1
1
1 1
1
1) 3) |
2)
N
i i T
i
N
t t ij j t
i
i b O P O i
j i a b O
α π λ α
α α
=
+ +
=
= =
=
∑
∑
( )
( ) ( )1 2
1 2
,
, | ,
,
.
t
t t t i
t
i
i
i P O O O q S
O O O
t S
α
α λ= =L
L
Ââî äèòñÿ ï ðÿì àÿ ï åðåì åí í àÿ î ï ðåäåëÿåì àÿ âû ðàæåí èåì
êî òî ðàÿ ï ðåäñòàâëÿåò ñî áî éâåðî ÿòí î ñòü ï î ÿâëåí èÿ ÷àñòè÷í î é
ï î ñëåäî âàòåëüí î ñòè í àáëþ äåí èé ï ðè÷åì ñî ñòî ÿí èå
â ì î ì åí í ò åñòü
( )
( ) ( )1 2
,
| , ,
1
t
t t t T t i
i
i P O O O q S
t
β
β λ+ += =
+
L
Ââî äèòñÿ î áðàòí àÿ ï åðåì åí í àÿ î ï ðåäåëÿåì àÿ âû ðàæåí èåì
êî òî ðàÿ äëÿ çàäàí í î é ì î äåëè ï ðåäñòàâëÿåò ñî áî é âåðî ÿòí î ñòü ï î ÿâëåí èÿ
÷àñòè÷í î é ï î ñëåäî âàòåëüí î ñòè í àáëþ äåí èé î ò ì î ì åí òà âðåì åí è ä
.i
T
S t
î
è ñî ñòî ÿí èÿ â ì î ì åí ò âðåì åí è
( ) ( ) ( ) ( )
( ) ( ) ( )
1 1
1
1 1
1
1) 1 3) |
2)
N
T i i
i
N
t ij j t t
j
i P O b O i
i a b O j
β λ π β
β β
=
+ +
=
= =
=
∑
∑
Алгоритм прямого-обратного ходаАлгоритм прямого-обратного хода
1 2, ,..., TO O O O=Пусть задана последовательность наблюдений и модель
Как эффективно вычислить вероятность появления этой последовательности
наблюдений для данной модели?
( ), ,A Bλ π=
( )|P O λ
13. ( )
( )
1
1
1
1
,
T
t i
t
T
t i j
t
iожидаемое число переходов из S
i jожидаемое число переходов из S в S
γ
ξ
−
=
−
=
=
=
∑
∑
Каким образом нужно подстроить параметры модели
для того чтобы максимизировать
Проблема 3
( )
( ) ( )| ,
t
i
t t i
i
t S
O i P q S O
γ
λ γ λ= =
Î ï ðåäåëèì âåëè÷èí ó êàêâåðî ÿòí î ñòüï ðåáû âàí ðèÿ ì î äåëè
âì î ì åí ò â ñî ñòî ÿí èè ï ðè çàäàí í î é ï î ñëåäî âàòåëüí î ñòè
í àáëþ äåí èé è ì î äåëè :
( )
( ) ( )1
,
1
, , | , .
t
i j
t t i t j
i j
t t
S S
i j P q S q S O
ξ
ξ λ+
+
= = =
Определим величину - вероятность того, что при заданной
последовательности наблюдений в моменты времени и
система будет соответственно находиться в состояниях и :
( )
( ) ( ) ( )
( )
( ) ( ) ( )
( ) ( ) ( )
1 1 1 1
1 1
1 1
,
|
t ij j t t t ij j t t
t N N
t ij j t t
i j
i a b O j i a b O j
i j
P O
i a b O j
α β α β
ξ
λ
α β
+ + + +
+ +
= =
= =
∑∑
( )∑=
=
N
j
tt ji
1
,ξγ
( )1( ) ( 1)i iожидаемаячастота число раз пребываниявсостоянии S в момент t iπ γ= = =
( )
( )
1
1
1
1
,
T
t
i j t
ij T
i
t
t
i j
ожидаемое числопереходовизсостояния S всостояние S
a
ожидаемое числопереходовизсостояния S
i
ξ
γ
−
=
−
=
= =
∑
∑
( )
( )
( )
1
. .
1
t k
T
t
t
s t O vj k
j T
j
t
t
i
ожидаемое числопереходоввсостояниеS и наблюдения символа v
b k
ожидаемое числопереходоввсостояние S
i
γ
γ
=
=
=
= =
∑
∑
Обучение скрытой Марковской моделиОбучение скрытой Марковской модели
( ), ,A Bλ π=
( )|O λ
17. Экономическая эффективность проектаЭкономическая эффективность проекта
График разработки ПО
Основные технико-экономические показатели проекта
Наименование
показателей
Единица
измерения
Базовый
вариант
Проектный
Вариант
Проектный
вариант
в % к базовому
1.способ обработки
информации
–
до применения
разработанного
ПП
с использованием
разработанного
ПП
–
2. кол-во работников чел. 4 2 50
3. годовые затраты
на обработку
информации
чел. час.
маш. час.
7176
–
3588
2512
50
–
4. потребность в
производственных
площадях
м2
12 12 100
5. капитальные
вложения
руб. 72000 152716 212,11
6. годовые текущие
затраты на обработку
информации
руб. 1474920 876335 59,42
7. годовые
приведенные затраты
на обработку
информации
руб. 1485720 899242 60,53
8. годовой
экономический
эффект
руб. – 586478 –
18. В рамках данного дипломного проекта были поставлены и решеныВ рамках данного дипломного проекта были поставлены и решены
следующие задачи:следующие задачи:
• Реализован программный блок для определения характеристикРеализован программный блок для определения характеристик
речи диктора, основанный на методе кепстральных коэффициентов.речи диктора, основанный на методе кепстральных коэффициентов.
• Для оптимального хранения и использования характеристик речиДля оптимального хранения и использования характеристик речи
различных дикторов был разработан алгоритм построения кодовойразличных дикторов был разработан алгоритм построения кодовой
книги основанный на методе К-средних.книги основанный на методе К-средних.
• Реализован программный блок для построения Марковской моделиРеализован программный блок для построения Марковской модели
описывающий состояние речи диктораописывающий состояние речи диктора
• Реализована эффективная процедура для идентификации диктораРеализована эффективная процедура для идентификации диктора
ВыводыВыводы