Игры будущего. Описание картин мира

Jan 31, 2008 20:34

Описание картин мира

Итак, обратимся к вопросу представления картин мира более формализованно. Как их описывать?

С человеческими картинами мира мы уже разобрались. Они легко описываются на естественном языке, позволяющем выразить любую информацию. Вот, например:

"Утром шёл дождь, а днём ярко светило солнце".

Машинная картина мира описывается на некотором объектно-ориентированном языке, например, C++ или C# (непрограммисты могут пропустить, ничего не потеряют):

public class дождь: Notion { }

public class солнце: Notion {
   public Ability светить;
}

public class MyWorld: World {
   public MyWorld() {
      дождь дождь_obj = new дождь();
      objects.Add(дождь_obj);
      дождь_obj.exists(new Circumstances(Time.Morning));
      солнце солнце_obj = new солнце();
      objects.Add(солнце_obj);
      солнце_obj.светить = new Ability(new Circumstances(Time.Afternoon, Brightness.Bright));
   }
}

И то, и другое описание является самодостаточным и позволяет описывать любые картины мира. Однако они неудобны для передачи представлений о мире от одного субъекта к другому. Для того,чтобы понять друг друга, субъектом нужно понимать принципы данного описания, а это не всегда удобно. Например, вам сложно будет объяснить по-русски что-либо человеку, который не владеет русским языком. Для построения предложения или набора классов требуются знания о структуре соответственно предложений или классов.

Чтобы подготовить описание картины мира к транспортировке, необходимо перевести его в упрощённую, но более структурированную форму. Из такой формы проще перейти к записи на ЯОФ, которая уже не зависит от описания и является универсальным форматом для передачи картин мира.

Для текста упрощением будет являться так называемая семантическая сеть (семантическое дерево в нашем случае). В предложении каждое из слов подчинено другому, между ними существует определённая связь. Эту связь можно охарактеризовать вопросом или названием отношения. Например: "Дождь Что_делать? Идти" или "Идти Время Утро". Подобное описание в виде троек "субъект - отношение - объект" позволяет превратить достаточно сложные предложения в набор простейших связок между словами. Субъект и объект обозначают вершины графа, а отношения - дуги между этими вершинами (с подписями).

Для удобства будем также считать главные члены предложения равноправными и подчинёнными фиктивному узлу "Факт", который будет главнейшим в иерархии слов в предложении.

Вот запись нашей картины мира в таком формате:

Факт1 Субъект дождь
Факт1 Действие идти
идти Время утро
Факт2 Субъект солнце
Факт2 Действие светить
светить Время день
Светить Образ ярко

Тако описание удобно для машинной обработки. Сразу понятно, к чему относится каждое слово предложении, не возникает двусмысленных толкований. Легко преобразовать к описанию на ЯОФ.

Для объектной картины мира подойдёт текст, описывающий процесс построения данной картины мира в виде простых, SQL-подобных команд. Вот запись нашей картины мира на этом языке:

create дождь;
set дождь.exists();
create солнце;
has солнце светить();
set солнце.светить();

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

Возможно, вы уже догадались до следующего логического шага :) Чтож, продолжение следует.

Игры будущего

Previous post Next post
Up