Род Стивенс

Книги → Delphi. Готовые алгоритмы → Глава 8. Деревья решений

// Перебор дерева с помощью эвристики возрастающего улучшения,

// которая производит N испытаний с 2 * N замен одного элемента.

procedure THeurform.Fixedl(node .: Integer);

begin

MakeChangesFixed(1,Numltems,2 * Numltems); end ,-

// Перебор дерева с помощью эвристики возрастающего улучшения, .

// которая производит 1 испытание с 10 * N замен двух элементов.

procedure THeurform.Fixed2(node Integer);

begin

MakeChangesFixed(2,1,10 * Numltems); end ;

Другая стратегия состоит в том, чтобы делать изменения до тех пор, пока не­сколько последовательных изменений будут приносить улучшения. Для решения задачи из N элементов программа может вносить изменения, пока не будет улуч­шения для N изменений в строке.

Процедура MakeChangesNoChange программы Heur реализует эту стратегию. Она выполняет испытания, пока определенное число последовательных попыток не даст никаких улучшений. Для каждой попытки подпрограмма вносит случай­ные изменения в пробное решение, пока после определенного числа изменений не наступит каких-либо улучшений.

// Одновременное изменение к элементов для улучшения испытательного // решения.

// Испытания повторяются до тех пор, пока не достигнем max_bad_trials

// испытаний в строке без улучшения.

//

// В течение каждого испытания вносятся случайные изменения, пока не // попробуем Max_non_changes изменений в строке без улучшения. procedure THeurform.MakeChangesNoChange(k, max_bad_trials,

max_noh_changes : Integer)

var

i, removal : Integer;

bad_trials : Integer; // Число последовательных неэффективных

// испытаний.

non_changes : Integer; // Число последовательных неэффективных

// изменений.

begin

/ / Испытания повторяются до тех пор, пока не достигнем .

// max_bad_triale испытаний в строке без улучшения.

bad_trials := 0;

repeat

// Нахождение случайного исследуемого решения, с которого надс // начать.

while (AddtoSolution) do ;

← предыдущая следующая →

Страницы раздела: 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

Публикация компанией Dropbox кода Zulip – средства общения для IT-разработчиков

20.11.2015
Одной из одобрительно встреченных программистами инициатив, реализующихся в рамках акции Hack Week, стала публикация исходного кода приложения Zulip – веб-приложения для общения между собой разработчиков в сфере IT-технологий.

Объединение ОС Android и Chrome

17.11.2015
Слухи об объединении двух крупнейших ОС компании Google, Android и Chrome, гуляют по Интернету уже более 5 лет, но до сих пор этого не случилось, хотя очевидно, что с течением времени эти ОС становятся всё более похожими: так, в последнее время появилось немало Android-устройств, к которым прилагаются клавиатуры, а Chrome OS «научилась» работать с сенсорными экранами.

Конференция Linux Piter 2015

15.11.2015
Уже почти через неделю в Санкт-Петербурге впервые в истории пройдёт конференция, посвящённая проблемам свободного программного обеспечения – Linux Piter 2015.