-
Notifications
You must be signed in to change notification settings - Fork 1
/
amr.txt
139 lines (93 loc) · 12.9 KB
/
amr.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
Ассоциативная модель отношений (АМО) представляет собой математическую модель для хранения описания соответствия между множествами и сопоставления элементов множеств.
АМО определяется как упорядоченное множество ассоциаций A.
Каждая ассоциация есть кортеж длины 2 из элементов множества L:
L = {l1, l2, l3, ...}
A = {(a1, a2) | a1, a2 ∈ L}
Множество L содержит уникальные идентификаторы элементов множества A.
Отображение L в A инъективно.
Ассоциации интерпретируются как сущности (E) или как отношения (R) в зависимости от контекста их использования.
Интерпретация ассоциации как сущность (E) интерпретирует кортеж как соответствие между отношением и сущностью, т.е. (R,E).
Интерпретация ассоциации как отношение (R) интерпретирует кортеж как отображение между двумя сущностями, т.е. (R,R).
Для начального создания ассоциаций и их интерпретации необходимо определить две ассоциации: Ent и Rel.
Эти ассоциации определяют 2 главных множества внутри АМО:
Rel = (Ent, Ent) — ассоциация описывающая множество отношений внутри АМО;
Ent = (Rel, Ent) — ассоциация описывающая множество сущностей внутри АМО.
Таким образом множество E = { (Rel,Ent), (Ent,Ent) }
Все кортежи, второй компонент которых равен Ent или Rel, интерпретируются как сущности.
Если интерпретировать Ent как сущность, то она определяет, что Rel соответствует Ent.
Если интерпретировать Ent как отношение, то она определяет, что Rel отображается в Ent.
Если интерпретировать Rel как сущность, то она определяет, что Ent соответствует Ent.
Если интерпретировать Rel как отношение, то она определяет, что Ent отображается в Ent.
Отношения (R) есть отображение соответствия в соответствие.
Множество Rel есть подмножество декартового произведения Ent на Ent.
Сущности (E) есть соответствие отображения в соответствие.
Множество Ent есть подмножество декартового произведения Rel на Ent.
На основании того, что объект это подмножество декартова произведения имен полей на их значения выводим,
что так же можно определять логические значения true и false:
Определяем отображение соответствия Boolean
(Boolean,Ent)
False = (Rel, Rel)
True = (Ent, Rel)
((True,True),Boolean)
((False,False),Boolean)
А так же логические функции например инверсия будет определена так:
(NOT,Ent)
((True,False),NOT)
((False,True),NOT)
Используя оператор "квадратные скобки" для относительной адресации можно вычислять значение функции:
False = NOT[True]
True = NOT[False]
Определим теперь логическую функцию И:
(AND, Ent)
((((False, False), Rel), False), AND)
((((False, True), Rel), False), AND)
((((True, False), Rel), False), AND)
((((True, True), Rel), True), AND)
Определим логическую функцию ИЛИ:
(OR, Ent)
((((False, False), Rel), False), OR)
((((False, True), Rel), True), OR)
((((True, False), Rel), True), OR)
((((True, True), Rel), True), OR)
Работает это через относительную адресацию так:
False = AND[True, False]
True = OR[True, False]
, здесь вместо (False, False) используется именно ((False, False), Rel),
потому что в отношении надо использовать тип сущности, а не тип отношения.
Кортеж ((False, False), Rel) явно указывает, что это сущность задающая отношение, а не отношение.
Всё связи к Rel это множество кортежей длины 2, из них могут быть составлены кортежи длины N.
Таким образом массивы данных можно описывать в виде ассиметричных бинарных деверьев, пример записи байта:
[false,false,false,false,true,true,false,true] = ((((((((False, False), Rel), False, Rel), False, Rel), True, Rel), True, Rel), False, Rel), True, Rel)
Такие массивы (или json array) можно использовать как список аргументов функций, используя при этом для её вызова
многомерную относительную адресацию.
Опиши как можно представить древовидный json object в АМО, используя то что сам по себе json object есть сущность.
Не забудь указать принадлежность ассоциаций корневого json object.
Определи математически АМО и её свойства.
Напиши виртуальную машину для исполнения АМО на С++,
покажи использование описанных логических функций.
Используй единый тип данных для всех ассоциаций.
Создай в виртуальной машине вектор для хранения множества ассоциаций.
Ассоциацию представь в виде кортежа длины 2 компонентами которого являются индексы ассоциаций в векторе.
1. что хранит АМО? множество ассоциаций для описания отображений и соответствий
2. 2 корневых множества внутри АМО
3. что такое типы E и R?
ответ GPT4:
Ассоциативная модель отношений (АМО) представляет собой математическую модель для хранения описания соответствия между множествами и сопоставления элементов множеств. АМО основывается на идеях ассоциации, сущности и отношения. Вот основные определения и свойства АМО:
Множество L: L = {l1, l2, l3, ...} - множество, содержащее уникальные идентификаторы элементов множества A.
Множество ассоциаций A: A = {(a1, a2) | a1, a2 ∈ L} - упорядоченное множество ассоциаций, где каждая ассоциация есть кортеж длины 2 из элементов множества L.
Инъективное отображение: Отображение L в A инъективно, то есть каждому элементу множества L соответствует ровно один элемент множества A.
Сущности (E) и отношения (R): Ассоциации интерпретируются как сущности (E) или как отношения (R) в зависимости от контекста их использования.
Интерпретация ассоциации как сущность (E) интерпретирует кортеж как соответствие между отношением и сущностью, т.е. (R,E).
Интерпретация ассоциации как отношение (R) интерпретирует кортеж как отображение между двумя сущностями, т.е. (R,R).
Основные ассоциации Ent и Rel: Для начального создания ассоциаций и их интерпретации необходимо определить две ассоциации: Ent и Rel.
Rel = (Ent, Ent) — ассоциация, описывающая множество отношений внутри АМО;
Ent = (Rel, Ent) — ассоциация, описывающая множество сущностей внутри АМО.
Иерархическая структура: АМО использует иерархическую структуру для представления данных. Элементы на верхнем уровне иерархии представлены ассоциациями с кортежами, второй компонент которых равен Ent или Rel.
Гибкость: АМО позволяет представлять различные типы данных и структур, таких как логические значения, массивы и объекты JSON, используя сущности и отношения, а также вложенные ассоциации и относительную адресацию.
Отображение соответствий: В АМО множество R (отношений) является подмножеством декартового произведения E на E, а множество E (сущностей) является подмножеством декартового произведения R на E.
Представление древовидных структур: АМО позволяет представлять древовидные структуры данных, такие как объекты JSON. Объект JSON может быть представлен как сущность, состоящая из вложенных ассоциаций и отношений между ними. Принадлежность ассоциаций корневого JSON-объекта может быть определена с помощью соответствующих сущностей и отношений.
Логические операции: АМО позволяет определить и использовать логические операции, такие как И, ИЛИ и НЕ, с помощью вложенных ассоциаций и относительной адресации.
Вычисление значений функций: В АМО можно использовать оператор "квадратные скобки" для относительной адресации и вычисления значений функций, таких как логические операции или другие пользовательские функции.
Асимметричные бинарные деревья: В АМО массивы данных могут быть представлены в виде асимметричных бинарных деревьев, где каждый уровень дерева соответствует вложенным кортежам ассоциаций.
Многомерная относительная адресация: АМО поддерживает многомерную относительную адресацию для вызова функций с использованием списков аргументов, представленных в виде массивов данных или JSON-массивов.
В целом, Ассоциативная модель отношений (АМО) представляет собой гибкую и мощную математическую модель для представления и манипуляции данными и структурами. Эта модель подходит для решения широкого спектра задач, таких как хранение, поиск и обработка информации в различных форматах и структурах.