LiveBaster - самодостаточный искусственный интеллект |
to English Продукт Видео Возможные применения Купить Документация Программные интерфейсы Использование в Unity3D Примеры Контакты |
Управление LiveBaster-роботами.Задачи для роботов ставятся при помощи API управления Последовательными Целями (ПЦ) и управления Одновременными Целями (ОЦ).Например, для того, чтобы заставить модель цыплёнка пройти 3 контрольных точки, необходимо добавить 3 Последовательные Цели: 1, 2 и 3-ю. Для того, чтобы создать робота-уборщика, необходимо добавить хотя бы две ОЦ: убрать пыль, зарядить аккумулятор. ОЦ выполняются с учётом приоритетов, т.е. у "зарядить аккумулятор" приоритет должен быть выше - для прерывания уборки на зарядку аккумулятора. Далее, LiveBaster начнёт самообучаться (режим "обучение без учителя") и искать способы достижения поставленных целей. Например, изначально цыплёнок не умеет ходить и даже не знает, что у него есть ноги, но спустя некоторое время, он начинает перемещаться и успешно проходит все 3 контрольные точки. Режим "обучение с учителем" также всегда доступен - можно цыплёнку показать (подвигать его ногами) как правильно ходить и он начнёт использовать эти движения для достижения поставленных целей. Здесь полная аналогия, с обучением человеческого ребёнка - родители поддерживают ребёнка на двух ногах и он невольно начинает ими переступать, постепенно улучшая свои движения. Функции ядраbool LIVEBASTERSHARED_EXPORT LbLoadCore();Загружает ядро. bool LIVEBASTERSHARED_EXPORT LbFreeCore(); Выгружает ядро. id_t LIVEBASTERSHARED_EXPORT LbAddControl( control_t controlType ); controlType - тип управляющего компонента. Добавляет новый управляющий компонент в систему. Возвращает идентификатор добавленного компонента. bool LIVEBASTERSHARED_EXPORT LbDeleteControl( id_t controlId ); controlId - идентификатор компонента, который требуется удалить из системы. Удаляет управляющий компонент из системы. bool LIVEBASTERSHARED_EXPORT LbSave( const wchar_t* pathName ); pathName - путь к папке с файлом знаний. Сохраняет знания в файл pathName/LiveBaster.lbd. bool LIVEBASTERSHARED_EXPORT LbLoad( const wchar_t* pathName ); pathName - путь к папке с файлом знаний. Загружает знания из файла pathName/LiveBaster.lbd. Функции Базового Компонента (БК)action_t LIVEBASTERSHARED_EXPORT LbMakeAction( id_t parentControlId, id_t controlId, target_t inDesiredResult, result_t inResult, kontext_t inKontext );id_t parentControlId - зарезервировано. id_t controlId - идентификатор компонента. target_t inDesiredResult - требуемый результат result_t inResult - текущий достигнутый результат kontext_t inKontext - в каких условиях был получен текущий результат Возвращает действие, которое необходимо совершить для достижения требуемого результата bool LIVEBASTERSHARED_EXPORT LbSetMinMax( id_t controlId, action_t actionMin, action_t actionMax ); id_t controlId - идентификатор компонента. action_t actionMin - минимальное действие, которое может исполнить орган action_t actionMax - максимальное действие, которое может исполнить орган Устанавливает рабочий диапазон Функции управления Последовательными Целями (ПЦ)id_t LIVEBASTERSHARED_EXPORT LbAddGroupTargets();Добавить новую группу одновременных последовательных целей Возвращает идентификатор добавленной группы целей. bool LIVEBASTERSHARED_EXPORT LbAddTarget( id_t controlId, id_t groupId, target_t inDesiredResult ); controlId - идентификатор компонента. groupId - идентификатор группы целей. inDesiredResult - требуемый результат (цель). Добавить последовательную цель в groupId-группу bool LIVEBASTERSHARED_EXPORT LbDesiredResultIsAchieved( id_t groupId ); groupId - идентификатор группы целей. Запросить состояние требуемого результата - достигнут или нет. Функции управления Одновременными Целями (ОЦ)Функции Фасетчатого Глаза (ФГ) |