Московский государственный университет путей сообщения
Опубликован: 01.06.2007 | Доступ: свободный | Студентов: 1899 / 100 | Оценка: 4.38 / 3.75 | Длительность: 22:59:00
ISBN: 978-5-9556-0094-9
Специальности: Программист
Лекция 15:

Основы "живого" моделирования

Аннотация: На основе предположения, что логические нейронные сети адекватно отображают принципы работы мозга, обсуждается проблема моделирования "живых" объектов — как натурного, так и компьютерного. Для компьютерного моделирования предлагаются математические основы имитации движения и деформации объектов в трехмерной памяти, отображающей пространственное их размещение. Обсуждается возможность построения и применения реагирующих объектов для оперативного отображения ситуаций в сложных и территориально распределенных управляющих системах, а также в искусстве.
Ключевые слова: трехмерная память, мышца, шарниров, эмпирическая формула, логическая нейронная сеть, очередь, реагирующий объект, интеллектуальное отображение, распознавание, ПО, сглаживание, программа, анализ, логическая нейронная сеть, объект, компьютер, мультимедиа, нейрокомпьютер, параллельная вычислительная система, SPMD, адресное пространство, адрес, координаты, стек, пространство, значение, доступ, информация, оболочка, список, отрезок, трехмерный адрес, трехмерный адрес, неподвижная точка, расстояние, запись, параметр, цикла, значимость, плоскость, производные, вязкое тело, проекция, выпучивание, прямой, Приращение, ячейка, представление, место, направляющие косинусы, память, мышь, control, управляющая система, альтернативные, игровая модель, минимизация, прерывание, рецепторный слой, пространство признаков, принятия решений, веса синапсических связей, нейрон, рецептор, нейросеть, истина, ассоциативное мышление, достоверность, вес, функция, моделирование, путь, задача оценки, работ, архитектура, постановка задачи, реагирующий объект, ситуационное управление, факторное пространство, логическая нейронная сеть, самообучение, робототехника, клип-модель, цель моделирования, плоская анимация, интеллектуальное отображение, ключевой кадр, сюжетный ряд, ключевой кадр, сюжетный ряд, матрица следования, передаточная функция, однослойная сеть, блок анализа

"Мы, собаки, в смысле нервной восприимчивости в семь и еще много раз тоньше людей… Я чувствую тайными, неведомыми, дрожащими путями, как их души краснеют, бледнеют, трепещут, завидуют, любят, ненавидят".

А.И. Куприн. "Мысли Сапсана о людях, животных, предметах и событиях"

15.1. Какую задачу мы хотим решить?

Рассмотрим принципы построения управляемых видимых объектов в трехмерной памяти компьютера. Для имитации их движения используем "мышцы" и шарниры. Мышцы воспринимают команды на сокращение. Предложим эмпирические формулы для переноса содержимого ячеек памяти при имитации движения. Движение может задаваться программно. Однако подсоединение объектов к логической нейросети открывает большие возможности непредсказуемости реакции объектов на внешние факторы. Это, в свою очередь, открывает перспективу применения реагирующих объектов в сфере игр, развлечений, сценических постановок, в интеллектуальных системах отображения и в других видах искусства и бизнеса.

Во всех предыдущих лекциях в качестве примеров возможного применения обсуждается построение систем с элементами искусственного интеллекта, которые можно отнести к области искусства и развлечений. Фантазия легко связывает создание монстров, объектов компьютерных игр, имитацию их реакции на внешнюю среду или другие предлагаемые им объекты и ситуации с такими "мероприятиями", как парк фантасмагорий, Disneyland, цирк марионеток, распознавание "свой — чужой", сетевые зрелищно-рекламные демонстрации и т.д. Такие системы могут представлять как искусство, так и бизнес.

Существуют два направления реализации указанных систем ИИ: натурное и компьютерное.

В современном парке (культуры и отдыха) можно в натуральном виде встретить не одно существо, мало отличающееся от живого и совершающее действия и движения по заложенной программе. Технологии их построения можно считать отработанными, имитация движений, включая работу "мышечного" аппарата, вполне совершенна. Отсутствие элементов ИИ, предполагающих непредсказуемость реакции, — основной недостаток таких объектов.

Компьютерная реализация сегодня ограничена мультимедийными средствами двумерной и трехмерной графики. Возможности создаваемых этими средствами систем и образов огромны. Достаточно отметить такое средство, как 3D-MAX, позволяющее создавать целые кинофильмы. Однако основной недостаток всех известных систем кроется в априорном знании возможных сцен, сглаживание перехода через которые в реальном времени имитирует движение. Это подобно табличному заданию огромного количества значений функции многих переменных при игнорировании непосредственного расчета.

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

В этом случае желательно при построении объекта (монстра, человека и др.) снабжать его управляемыми органами движения (модификации, деформации, имитирующей улыбку, движение руки и т.д.), подобными мышцам. Их необходимо соединить с управляющим элементом — жестко заданной программой. Однако такая программа может предполагать анализ ситуации или внешних воздействий. Это уже напрямую требует применения аппарата логических нейронных сетей, одновременно и в разной степени реализующих ряд отношений вида "если …, то …", что наиболее близко к поведению живого существа.

Таким образом, построение реального объекта в памяти компьютера, а не его математического образа, задание ряда рычагов — "мышц", которые способны деформировать или видоизменять объект в соответствии с формируемыми извне командами, использующими коэффициент сжатия, позволяют имитировать любое, в том числе непредсказуемое, движение объекта. (Ниже будет отмечена необходимость механизмов перемещения и вращения.)

Становятся видными новые возможности для создания кинофильмов, сценических постановок и других видеосценариев.

Построение реальных объектов требует имитации объемной, трехмерной памяти и введения основных процедур ее преобразования.

Заметим, что проблемы компьютерной реализации "живого" моделирования целиком включают в себя проблемы натурного моделирования, оставляя второму лишь проблемы химического, технологического и электротехнического (возврат к релейно-контактным схемам?) свойства, что, как сказано выше, сейчас успешно решается.

15.2. Моделирование трехмерной памяти

Поскольку компьютер, реализующий "живую" модель, несомненно, должен обладать рядом свойств, обнаруживаемых в процессе дальнейшего изложения, справедливо назвать его видеонейрокомпьютером (ВНК). Это тем более справедливо, что обработка большого числа ячеек памяти предъявляет те же требования к распараллеливанию, что и обработка большого числа нейронов сети.

Отметим, что современные персональные компьютеры (РС) и рабочие станции, реализующие системы мультимедиа, вполне способны выполнять функции такого нейрокомпьютера. Однако потребность интеграции памяти нескольких компьютеров может потребовать применения локальной вычислительной сети, удовлетворяющей требованиям работы в реальном времени. И уж без сомнения, параллельная вычислительная система SPMD-архитектуры [9] c большой оперативной памятью в наибольшей степени адекватна рассматриваемой задаче.

Назовем ячейку, занятую элементом объекта, клеткой этого объекта. Как видно далее, клетка минимально должна содержать информацию о цвете (пиксель), коэффициенте освещенности, указателе вершины стека.

Пусть адресное пространство ВНК при сквозной линейной адресации ячеек определяется N разрядами. Адрес разбивается на четыре части (рис. 15.1).

Преобразование  линейного адреса в трехмерный

Рис. 15.1. Преобразование линейного адреса в трехмерный

Здесь x, y, zкоординаты клетки в трехмерной памяти ; s разрядов отводятся для адресации стека, сопровождающего каждую клетку. Стек необходим для сохранения информации в случае сжатия объекта — для более точного его восстановления. Таким образом, адресное пространство хранения клеток объекта или целой сцены составляет 2N-s , что говорит о необходимом весьма большом значении N. Значение s практически может быть не более трех.

Трехмерная память — это перспективная разработка. Она предполагает непосредственный (невиртуальный) доступ пользователя на этапе программирования как к памяти, так и к адресам данных при указанной структуре адреса.

При моделировании трехмерная память в виртуальной памяти современного компьютера задается трехмерным массивом S[0:P; 0:P; 0:P] переменных S[i, j, k], где значения индексов являются координатами соответственно x, y, z. Тогда задача деформации или перемещения объектов преобразуется в задачу нахождения новых значений этих индексов для каждой переменной, являющейся клеткой объекта — для выполнения соответствующего переноса.

При этом линейный адрес переноса или текущего нахождения клетки объекта находится так:

<S[i, j, k]> = C + i + jP + kP2.

Здесь С — базовый адрес массива.

Стек моделировать нецелесообразно. Информация, потерянная при сжатии объекта, может быть восстановлена с помощью интерполяции.

15.3. "Мышца" и ее сокращение

Пусть объект в трехмерном пространстве задан своей оболочкой. Каждый элемент оболочки является клеткой. Оболочка формируется при создании объекта. В общем случае объект может быть заполнен значащей информацией и внутри, если его вид в разрезе интересует пользователя.

"Мышца" (далее кавычки опустим) как рычаг управления деформацией объекта задается пользователем-разработчиком в центральной системе координат координатами начала и конца, а также точкой неподвижности, относительно которой возможно сокращение мышцы. Точка неподвижности может совпадать с началом или концом мышцы. (Конечно указанные точки обозначаются мышью; координаты при этом выставляются автоматически.) По умолчанию точка неподвижности является серединой мышцы. Мышца не обязательно связывает точки оболочки. В общем случае она может располагаться внутри и даже вне объекта, принадлежа ему и влияя на его деформацию.

Мышцы объекта являются невидимыми, входящими в список мышц данного объекта и допускающими реакцию на приказы извне.

Применение  мышцы

Рис. 15.2. Применение мышцы

Таким образом, мышца (рис. 15.2) — это невидимый отрезок АВ, связывающий точки A(x1, y1, z1) и B(x2, y2, z2) , отображающий некоторое геометрическое место клеток объекта. Этот отрезок связан с объектом и может сокращаться при подаче управляющих импульсов и восстанавливаться при их отсутствии. Такое изменение отрезка производится относительно некоторой принадлежащей ему точки М(xM, yM, zM) . Сокращение мышцы сопровождается пространственным переносом (уплотнением) клеток объекта, которые принадлежат (с точностью до дискретности адресации) отрезку, обозначающему эту мышцу.

Параметрическая система уравнений, описывающих отрезок АВ, имеет вид

\begin{array}{l}
      x = k(x_{2} - x_{1}) + x_{1}\\
      y = k(y_{2} - y_{1}) + y_{1} \\
      z = k(z_{2} - z_{1}) + z_{1}\\
      0 \le k \le 1.
      \end{array} ( 15.1)

Напоминаем, что координаты точек объекта совпадают с адресами памяти, по которым находятся соответствующие клетки, так что систему уравнений (15.1) с точностью до целочисленной дискретности адресации можно рассматривать относительно трехмерных адресов . Это и подразумевается в дальнейших выкладках.

Пусть l — коэффициент сжатия мышцы. Тогда отрезок АМ необходимо преобразовать в отрезок А*М с длиной lx|А*М|, а отрезок МВ — в отрезок МВ* с длиной lx |МВ*|.

Рассматривая по каждой координате отдельно, убеждаемся, что отрезок x1xM необходимо преобразовать в отрезок x1* xM с длиной l(xM- x1) , отрезок xMx2 необходимо преобразовать в отрезок xMx2* c длиной l(x2 - xM) . Аналогично отрезок y1yM должен быть преобразован в отрезок y1* yM с длиной l(yM - y1) и т.д.

Это, в частности, означает, что клетка с координатой x1 должна быть переслана в ячейку, определяемую соответствующей составляющей адреса l(xM - x1) и т.д.

Эльвира Герейханова
Эльвира Герейханова

Раньше это можно было зделать просто нажав на тест и посмотреть результаты а сейчас никак

Елена Лобынцева
Елена Лобынцева
Помогите разобраться как можно подобрать НС для распознавания внутренней области выпуклого многоугольника?