Re: Implicit graphs
От: Qbit86 Кипр
Дата: 12.11.20 13:15
Оценка: 12 (2) +1
Здравствуйте, kaa.python, Вы писали:

KP>обычно алгоритмы поиска в графе предполагают что весь граф доступен в рамках одного адресного пространства...


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

Много алгоритмов требуют от графа всего две функции:
• по дуге получить голову (это «половина» функции инцидентности графа),
• по вершине получить последовательность исходящих дуг.

Эта последовательность исходящих дуг, как и набор вершин, не обязаны в явном виде находиться где-то в памяти, и вообще быть ограниченными.

Представь себе граф, заданный ходами коня на шахматной доске. Какая модель этого графа? Понятно, ты не будешь «хранить» клетки этой доски, или ссылки между ними. Вся твоя модель — это просто размер доски (в том числе бесконечный).
Или более общий граф, представляющий собой дерево позиций настольной игры. Вершины — позиции, дуги — ходы. Обходы этого графа вполне успешно работают в алгоритмах AI типа альфа-бета-отсечения; хотя, очевидно, полный граф шахмат или го ни в какую память не влезет.
Глаза у меня добрые, но рубашка — смирительная!
Отредактировано 12.11.2020 13:16 Qbit86 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.