рассмотрение метода.


рассмотрение метода. Если при поиске независимых множеств мы шли “сверху вниз”, последовательно уточняя логику, то сейчас попробуем идти “снизу вверх”, складывая окончательное решение из сделанных “кирпичиков”. Как обычно, следует начать со структур данных. Во-первых, мы ищем лучшее решение, то есть то множество столбцов, которое удовлетворяет условиям задачи (непересечение и “покрытие” всего множества строк), и суммарная стоимость этого множества минимальна. Значит, необходима структура данных для хранения этого множества и значения наилучшей стоимости и, соответственно, структуры данных для хранения текущего (очередного) решения и его стоимости. Во-вторых, в решении строка может быть или не быть. Следовательно, нам требуется как-то фиксировать эту информацию. Итак, данные. type Model=array[1..MaxN] of boolean; var Sbetter:Model;Pbetter:integer;{лучшее решение} S:Model;P:integer;{текущее решение} R:Model;{R[i]=true - признак того, что строка i “покрыта” текущим решением} Логика
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz