| ||
: О проекте :: Устройство робота :: Фото и видео :: Демострационный софт :: О авторе : | ||
Обучение новым действиям
Блок обучения входит в состав блоков алгоритмического следствия. При обучении новым действиям предполагается организация какого-либо диалога с пользователем при помощи блока, например, блока "Диалог" (блок 9). В ходе диалога пользователь вводит: а) какую-либо сложную команду; б) последовательность более простых команд, приводящих к выполнению сложной команды. Эти данные через какие-либо переменные передаются в блок "обучение". Блок "обучение" в список фреймов заданного типа добавляет новый фрейм. Названию и словесной предпосылке нового фрейма присваивается текст сложной команды. Алгоритмическое следствие нового фрейма генерируется из блока "Запрос" (блок 2) и блока "Возвратить" (блок 1). В блок "Запрос" помещается строка с последовательностью выполнения сложной команды. Например, пусть имеется фрейм "учись", который реализует следующий диалог с пользователем: Робот: введите команду для обучения. Блок "обучение" в этом случае формирует новый фрейм. Словесной предпосылке нового фрейма блок "обучение" присваивает значение "собери пирамиду". Программное следствие нового фрейма генерируется из блока "Запрос" и блока "Возвратить". В блок "Запрос" нового фрейма помещается строка запроса: "взять кубик, поставить на другой кубик и отойти назад". Настройка блока "обучение" предполагает наличие опции, переключающей режимы генерации алгоритмического следствия. Имеется два режима: простой и расширенный. Простой режим был описан выше. В расширенном режиме строка последовательности выполнения команды разбивается на фразы. Для каждой фразы генерируется отдельный запрос, после которого проверяется результат выполнения; он должен быть ненулевым (Рис. 1). Весь алгоритм возвращает либо 0 (в случае неудачи), либо значение последнего запроса. Такая структура обеспечивает блокирование выполнение дальнейшей последовательности действий, если в одно из действий претерпело неудачу. Настройка блока обучения содержит также указания на случай, если фрейм с новым названием уже существует. В этом случае система может либо удалить старый фрейм и добавить новый, либо игнорировать добавление нового фрейма. | ||
Дизайн: DynSoft |