Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

MATHEMATICAL MODEL AND SOFTWARE IMPLEMENTATION OF THE CALCULATION OF THE PREVIOUS TEMPERAMENT OF A ROBOT

Anisimova S.I. 1 Shestakov E.S. 1
1 Perm State National Research University
In the article, for the first time, the concept of the emergence of a complex emotion of a robot as a response to any stimulus-stimulus entering the input “receptors” of the robot is proposed, an algorithm for determining the resulting basic emotion of the robot and determining the numerical value of this emotion is proposed. Based on the concept of the emerging complex emotion of the robot, the article proposes a mathematical model of the dominant temperament of the robot, proposes models of the predominant temperament of the robot based on the amplitude of the sound of the “voice” of the robot, describes a program for calculating the predominant temperament of an emotional robot, which is a psychological digital twin of a person, from a sound signal with a response harmonic complex emotion of the robot. Java was chosen as the programming language. The article suggests areas of practical application of the program, for example, such as the use of models and programs in determining the type of service functions in the employment of a person for work or assessing the magnitude of a person’s psychological arousal. The article for the first time proposes ranges of numerical values ​​of temperament corresponding to accepted temperaments in everyday psychology. The results of the verification of the mathematical models proposed in the article and the numerical ranges of the prevailing temperaments showed the accuracy of determining the type of the prevailing human temperament equal to 85%.
robot emotion
robot temperament
vector emotion
mathematical model
computer program

В статье [1] рассматривается формула интегральной характеристики δ, описывающая величину достижения роботом поставленной воспитательной цели при заданном воспитании робота:

missing image file ,

где j – порядковый номер воспитательного такта, i – порядковый номер компонента вектора, A – цель воспитания робота, R – вектор воспитаний робота, полученных в результате возникших у него эмоций в ответ на раздражающий стимул.

Вектор воспитаний робота, полученный на такте с номером j, имеет вид

missing image file

Цель статьи – сформулировать и построить математическую модель темперамента робота. По полученной модели выполнить программную реализацию и верификацию.

Математическая модель темперамента робота

Рассмотрим вектор воспитаний робота в отношении группы роботов. Пусть у нас имеется k роботов в группе:

missing image file (1)

В монографии [2] описывается элементарная эмоция [3] в виде гармонической функции

missing image file

где missing image file t – текущий момент времени, tj–1 – момент времени начала действия элементарной эмоции, tj – момент времени окончания действия элементарной эмоции, j – номер такта.

Тогда, элементарное воспитание робота в виде гармонической функции будет вычисляться следующим образом:

missing image file (2)

Преобразуем формулу интегральной характеристики δ для группы роботов:

missing image file. (3)

В работах [4, 5] предлагается формула преобладающего темперамента робота относительно группы роботов:

missing image file

где missing image file.

Преобразуем формулу преобладающего темперамента робота для случая, когда робот обладает комплексными эмоциями [6].

Подставим формулу элементарного воспитания робота в виде функции (2) в формулу интегральной характеристики δ для группы роботов (3)

missing image file (4)

Найдем первую производную формулы (4). По теореме о производной интеграла по верхнему пределу [7] – интеграл с переменным верхним пределом является первообразной для подынтегральной функции. Получим

missing image file

Вторая производная от формулы (4) будет равна

missing image file

Получим формулу темперамента робота:

missing image file . (5)

В качестве величины, характеризующей темперамент группы роботов, будем рассматривать нормированный вектор темпераментов роботов:

missing image file. (6)

missing image file

Рис. 1. Список роботов в группе

Программа вычисления преобладающего темперамента по звуковому сигналу

Введем следующее допущение: чем больше преобладающий темперамент робота, тем громче робот произносит фразы, т.е. тем больше амплитуда звуковой волны, которая исходит из динамиков робота, произносящего звуки.

Темперамент робота будем вычислять согласно соотношениям (5) и (6). В качестве группы роботов, произносящих фразы с различной амплитудой голоса, используем аудиозаписи голосов известных людей, размещенные в интернете.

Опишем программу, вычисляющую преобладающий темперамент робота по амплитуде звукового сигнала относительно этой группы.

После запуска программы открывается окно, изображенное на рис. 1.

Главный экран разделен на 2 части.

Слева выводится список роботов в группе. Это заранее записанные звуковые файлы, продолжительность звучания 5 с, всего 50 звуковых файлов. Состав группы формировался случайным образом. Так как знаменитости из группы роботов, относительно которых вычисляется темперамент, часто дают интервью, то сформировать звуковую базу данных не составило большого труда. Запись одного файла выглядела следующим образом: выбирался фрагмент интервью, где человек непрерывно говорит на протяжении 5 с, и запускался на одном ноутбуке, в это же время на другом ноутбуке запускалась запись звука. Ноутбуки были расположены экранами друг к другу и стояли вплотную. Такое расположение примерно соответствует тому, как человек будет располагаться при использовании данной программы.

Также на левой стороне главной формы программы имеются две кнопки, которые предоставляют следующие возможности. Кнопка «Темперамент» позволяет рассчитать темперамент робота, который находится в соответствующем списке. Для этого необходимо выбрать работа, кликнув на его имя в левой части экрана, и нажать на кнопку «Темперамент». В правой части экрана отобразится темперамент робота и его численное значение. Пример работы данной кнопки изображен на рис. 2.

Чтобы удалить робота из базы данных, необходимо выбрать робота в списке и нажать кнопку «Удалить». Это может понадобиться, например, если потребуется убрать робота с самым большим темпераментом или если был сохранен некорректно записанный звуковой файл.

С правой стороны описана краткая инструкция по использованию программы. Там же отображается темперамент и его численное значение. Чтобы определить тип темперамента и его численное значение, необходимо нажать кнопку «Старт». На месте формы, где отображается темперамент, появится слово «Говорите», что свидетельствует о том, что нужно начать говорить.

missing image file

Рис. 2. Пример второй формы программы

missing image file

Рис. 3. Добавление темперамента в базу данных

Программа автоматически остановит запись после 5 с и выведет темперамент и его числовое значение, как изображено на рис. 2. Полученная запись не попадает сразу же в аудио базу данных. Чтобы ее сохранить, необходимо нажать кнопку «Добавить». После этого появится дополнительное окно (рис. 3). В нем предлагается ввести имя робота, чтобы при последующем использовании программы, его было проще найти.

Когда пользователь введет имя робота, то он должен нажать кнопку «Добавить» в этом же окне, и аудио файл будет сохранен, а робот появится в списке в левой части экрана. Если до сохранения повторно нажать кнопку «Старт», то начнется запись нового файла, а предыдущий будет потерян.

Опишем алгоритм работы программы вычисления преобладающего темперамента робота по амплитуде его голоса:

1. После того как пользователь нажимает кнопку «Старт», создается файл формата wav, в который записывается звуковой сигнал, поступающий на микрофон.

2. В отдельном программном потоке запускается таймер, который позволяет завершить запись звукового сигнала через 5 с после ее начала.

3. Записанный файл разделяется на отрезки по 50 мс. На этих отрезках считается среднее значение амплитуды звукового сигнала.

4. Полученный массив амплитуд используется для вычисления темперамента в группе роботов.

5. Тип преобладающего темперамента определяется согласно таблице.

Соответствие типа темперамента его численному значению

Тип преобладающего темперамента робота

Интервалы изменения робота численного значения темперамента

Меланхолик

(0; 0,3)

Флегматик

(0,3; 0,5)

Сангвиник

(0,5; 0,8)

Холерик

(0,8; 1)

Если численное значение темперамента больше 1, то роботу присваивается значение «Не определен» в качестве темперамента.

1) Полученное значение выводится на экран и при необходимости может быть сохранено в БД и использовано при следующей эксплуатации программы.

Численное значение преобладающего темперамента робота рассчитывается только один раз, после чего сохраняется в базе данных. При первом запуске приложения рассчитывается численное значение темперамента для всех звуковых файлов, которые находятся в папке ./data/audio. Изначально приложение содержит 50 аудиофайлов, как было сказано выше, с фрагментами интервью известных людей.

В качестве языка программирования был выбран Java [8], так как он обладает следующими преимуществами:

1) кроссплатформенность. Программа может быть скомпилирована под различные платформы (Linux, Windows);

2) наличие API для работы со звуком;

3) наличие инструментов для создания интерфейса десктопного приложения;

4) наличие полной документации и развитого сообщества разработчиков;

5) относительная простота разработки;

6) наличие удобной и бесплатной среды разработки.

Для хранения данных используется база h2. Так как любая база данных справится с задачами приложения, то была выбрана база с самым низким порогом вхождения. Для внедрения зависимости применяется фреймворк spring boot, как самый популярный. Для создания графического интерфейса была использована платформа JavaFX [9].

Заключение

Соотношения для вычисления преобладающего темперамента с помощью описанной выше программы были верифицированы натурными экспериментами под контролем практикующих психологов. Результаты верификации показали точность определения типа преобладающего темперамента человека, равную 85 %. В экспериментах приняли участие 68 чел. Таким образом, предложенный алгоритм позволяет быстро определять с достаточной точностью тип преобладающего темперамента объекта по амплитуде звуковой волны его голоса. В качестве практического применения предложенных моделей преобладающего темперамента и программы вычисления темперамента можно предложить, например, их использование при определении рода служебных функций при трудоустройстве человека или оценки величины психологического возбуждения человека: если численное значение его преобладающего темперамента превосходит его темперамент при предварительном тестировании в спокойном состоянии, то это может говорить о значительном стрессовом состоянии респондента, если же вычисленный темперамент значительно превышает единицу, то можно говорить о том, что человек близок к психологическому срыву или уже находится в неадекватном состоянии.