createIntegratedEnv

Создайте модель Simulink для изучения укрепления, с помощью эталонной модели в качестве среды

Синтаксис

env = createIntegratedEnv(refModel,newModel)
[env,agentBlock,obsInfo,actInfo] = createIntegratedEnv(___)
[___] = createIntegratedEnv(___,Name,Value)

Описание

env = createIntegratedEnv(refModel,newModel) создает модель Simulink® с именем, заданным newModel, и возвращает объект среды обучения укрепления, env, для этой модели. Новая модель содержит блок RL Agent и использует эталонную модель refModel в качестве среды обучения укрепления для обучения агент, заданный этим блоком.

[env,agentBlock,obsInfo,actInfo] = createIntegratedEnv(___) возвращает блок path в блок RL Agent в новой модели и спецификациях данных о наблюдении и действии для эталонной модели, obsInfo и actInfo, соответственно.

[___] = createIntegratedEnv(___,Name,Value) создает модель и интерфейс среды использование порта, наблюдения, и информация о действии задала использование одного или нескольких аргументов пары Name,Value.

Входные параметры

свернуть все

Имя эталонной модели, заданное как строка или вектор символов. Новая модель Simulink использует эту эталонную модель в качестве динамической модели среды для изучения укрепления.

Новое имя модели, заданное как строка или вектор символов. createIntegratedEnv создает модель Simulink с этим именем, но не сохраняет модель.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'IsDonePortName',"stopSim" устанавливает порт stopSim эталонной модели как источник сигнала isdone.

Имя выходного порта наблюдения эталонной модели, заданное как пара, разделенная запятой, состоящая из 'ObservationPortName' и строки или вектора символов. Задайте ObservationPortName, когда именем выходного порта наблюдения эталонной модели не будет "observation".

Имя входного порта действия эталонной модели, заданное как пара, разделенная запятой, состоящая из 'ActionPortName' и строки или вектора символов. Задайте ActionPortName, когда именем входного порта действия эталонной модели не будет "action".

Премиальное имя выходного порта эталонной модели, заданное как пара, разделенная запятой, состоящая из 'RewardPortName' и строки или вектора символов. Задайте RewardPortName, когда именем премиального выходного порта эталонной модели не будет "reward".

Эталонная модель сделанное имя выходного порта флага, заданное как пара, разделенная запятой, состоящая из 'IsDonePortName' и строки или вектора символов. Задайте IsDonePortName, когда именем сделанного выходного порта флага эталонной модели не будет "isdone".

Имена наблюдения соединяют шиной листовые элементы, для которых можно создать спецификации, заданные как массив строк. Чтобы создать спецификации наблюдения для подмножества элементов в объекте шины Simulink, задайте BusElementNames. Если вы не задаете BusElementNames, спецификация данных создается для каждого листового элемента в шине.

ObservationBusElementNames применим только, когда выходной порт наблюдения является сигналом шины.

Пример: 'ObservationBusElementNames',["sin" "cos"] создает спецификации для элементов шины наблюдения с именами "sin" и "cos".

Конечные значения для дискретных элементов спецификации наблюдения, указанных как пара, разделенная запятой, состоящая из 'ObservationDiscreteElements' и массив ячеек пар "имя-значение". Каждая пара "имя-значение" состоит из имени элемента и массива дискретных значений.

Если выходной порт наблюдения эталонной модели:

  • Сигнал шины, задайте имя одного из листовых элементов шины, заданной в ObservationBusElementNames

  • Сигнал нешины, задайте имя порта наблюдения, как задано ObservationPortName

Заданные дискретные значения должны быть castable к типу данных заданного сигнала наблюдения.

Если вы не задаете дискретные значения для элемента спецификации наблюдения, элемент непрерывен.

Пример: 'ObservationDiscretElements',{'observation',[-1 0 1]} указывает, что дискретные значения для сигнала наблюдения нешины с портом по умолчанию называют observation.

Пример: 'ObservationDiscretElements',{'gear',[-1 0 1 2],'direction',[1 2 3 4]} задает дискретные значения для 'gear' и листовых элементов 'direction' сигнала действия шины.

Конечные значения для дискретных элементов спецификации действия, указанных как пара, разделенная запятой, состоящая из 'ActionDiscreteElements' и массив ячеек пар "имя-значение". Каждая пара "имя-значение" состоит из имени элемента и массива дискретных значений.

Если входной порт действия эталонной модели:

  • Сигнал шины, задайте имя листового элемента шины

  • Сигнал нешины, задайте имя порта действия, как задано ActionPortName

Заданные дискретные значения должны быть castable к типу данных заданного сигнала действия.

Если вы не задаете дискретные значения для элемента спецификации действия, элемент непрерывен.

Пример: 'ActionDiscretElements',{'action',[-1 0 1]} указывает, что дискретные значения для сигнала действия нешины с портом по умолчанию называют 'action'.

Пример: 'ActionDiscretElements',{'force',[-10 0 10],'torque',[-5 0 5]} задает дискретные значения для 'force' и листовых элементов 'torque' сигнала действия шины.

Выходные аргументы

свернуть все

Интерфейс среды обучения укрепления, возвращенный как объект SimulinkEnvWithAgent.

Блок path к агенту блокируется в новой модели, возвращенной как вектор символов. Чтобы обучить агент в новой модели Simulink, необходимо создать агент и задать имя агента в блоке RL Agent, обозначенном agentBlock.

Для получения дополнительной информации о создании агентов смотрите, что Укрепление Изучает Агенты.

Спецификации данных о наблюдении, возвращенные как одно из следующего:

  • Объект rlNumericSpec для одной непрерывной спецификации наблюдения

  • Объект rlFiniteSetSpec для одной дискретной спецификации наблюдения

  • Массив спецификации данных возражает для нескольких спецификаций

Спецификации данных о действии, возвращенные как одно из следующего:

  • Объект rlNumericSpec для одной непрерывной спецификации действия

  • Объект rlFiniteSetSpec для одной дискретной спецификации действия

  • Массив спецификации данных возражает для нескольких спецификаций действия

Введенный в R2019a

Для просмотра документации необходимо авторизоваться на сайте