Используйте класс BuildConfig
String versionName = BuildConfig.VERSION_NAME;
int versionCode = BuildConfig.VERSION_CODE;
build.gradle (app)
defaultConfig {
applicationId "com.myapp"
minSdkVersion 19
targetSdkVersion 27
versionCode 17
versionName "1.0"
}
Да, есть отличия. Для очень простых агентов актеры и агенты могут быть одним и тем же. Однако под «автономными агентами» один или, по крайней мере, я обычно предполагаю нечто вроде , например , модели убеждения-желания-намерения, где агент моделирует внутренне абстракцию среды, которую он находит. внутри себя и агентов, с которыми он взаимодействует, так что он может строить планы относительно того, как взаимодействовать с этой средой для достижения своих целей.
Хотя актор может точно иметь все это, один агент может с таким же успехом состоять из несколько субъектов, действующих совместно для обработки различных частей структуры BDI. Актер, по сути, является единицей планирования. Если ваши агенты по сути являются линейными и однопоточными, они подходят. Если они выполняют внутреннюю параллельную работу, вам нужно, чтобы у каждого агента было несколько участников.
Итак, что общего у актеров и агентов?
Они оба общаются, передавая сообщения.
У них обоих (обычно) есть внутреннее состояние - даже если оно неявно в состоянии выполнения.
Ожидается, что они оба не будут совместно использовать состояние с другими участниками / агентами.
Ожидается, что они оба будут планироваться независимо от других участников / агентов.
Что у агентов есть больше, чем актеры?
Агенты обычно следуют моделям, которые диктуют поведение агента - таким как, например, BDI - а актеры обычно этого не делают. Однако в этом отношении реактивные агенты аналогичны акторам.
У агентов может быть более одной внутренней единицы планирования. Однако агенты, которые не похожи на актеров, в этом отношении похожи на акторов.
Что у акторов есть больше, чем агенты?