211
шаге вывода, а в случае метода вывода делением дизъюнктов – на
втором. Однако количество шагов является спорной оценкой скорости
выполнения методов. Следует ориентировочно оценить сложность
каждого шага.
На каждом шаге вывода резолюционными методами по графу
связей Ковальского перед получением очередной резольвенты
(резольвент) происходит повторный анализ потенциальной
резольвируемости дизъюнктов, то есть связи
в графе анализируются
повторно. Эта проблема лишь частично решается применением
параллельных алгоритмов (количество связей может резко
сокращаться), однако необходимость анализа всё же остаётся
(появляются дополнительные дизъюнкты). При больших масштабах
задачи с большим количеством дизъюнктов на эту процедуру может
уйти довольно много времени, даже если подвергать оценке лишь
связи, на которые
могла повлиять полученная резольвента
(резольвенты). Кроме того, выбор конкретного множества связей для
резольвирования в реальных системах должен основываться на
определённой эвристике. Для этого может понадобиться
дополнительный анализ графа (который можно провести и
параллельно с анализом связей, но, тем не менее, это потребует
дополнительных вычислительных ресурсов и времени). Сама
процедура резольвирования
не представляет никакой сложности и не
требует большого времени на осуществление, поэтому здесь
выделение потока для каждой процедуры резольвирования может
оказаться нерациональным – накладные расходы на создание потока
могут превысить эффект от параллельного резольвирования. Однако в
масштабных задачах с большим количеством литералов в дизъюнктах
это может быть целесообразно. Как уже упоминалось
выше, возможно
организовать параллельно анализ графа и поиск множества связей,
удовлетворяющих эвристикам, перед резольвированием.
Метод деления дизъюнктов не требует какой-либо сложной
предварительной подготовки. Процесс деления дизъюнктов не многим
более сложный, чем резольвирование, поэтому и здесь следует оценить
необходимость распараллеливания и определить количество
порождаемых потоков в зависимости от количества и размера
дизъюнктов. Кроме самого деления дизъюнктов на текущем шаге
определяется условие необходимости дальнейшего вывода, и в случае
необходимости формируется новая выводимая секвенция.