Например, можно сказать, что «кит» - это «дитя» животного, но «кит» больше похож на «дельфина», чем на «собаку».«кит», «дельфин», «собака» - все дети животных в этом случае, но «кит» и «дельфин» явно связаны.
Я НЕ заинтересован в простом определении большего количества подклассов (например "морские животные", "наземные животные") приведенный выше пример только для иллюстрации ... предположим, что мы не можем "определить" наш выход из проблемы.
Можно ли просто определить взвешенноечастично-ациклический граф с осознанием того, что некоторое подмножество этого графа действительно является деревом (не обязательно охватывающим)?
РЕДАКТИРОВАТЬ: Ряд людей попросили дополнительных разъяснений.Я буду использовать тот же пример, но, вероятно, более подробно
Скажем, у нас есть следующие категории:
Animals, Place, Object.
The following sub categories: [land animals, sea animals], [country, state],
[heavy object, light object]
And we have the following entries: Whale, Dolphin, Dog, Cat, Hawaii, Japan,
London, Stone, Rock, Leaf, Car.
I have an isLike(entry x) function that I can call on any of the entries.
for example say whale.isLike(dolphin) = 0.7, whale.isLike(dog) = 0.2 and
a table like the following one stores all the values for the isLike() function
Whale dolphin dog cat hawaii japan london stone
whale 1 0.7 0.2 0.2 0.01 0.01 0.01 0.008
dolphin 0.7 1 0.2 0.2 0.01 0.01 0.01 0.008
dog etc
cat etc
hawaii etc
japan etc
london etc
stone etc
Каков наилучший способ представления этих данных?
Меня больше всего беспокоит то, как сохранить иерархическую информацию (дерево), а также информацию об отношениях в isLike () (взвешенный график)
, поэтому просто спрашиваю, является ли стандартная вещь, которую нужно сделать, это использовать ориентированный граф(для дерева) + взвешенный неориентированный граф (для отношений) тип структуры?Это стандарт или есть более стандартный способ?