Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.08;
Скачать: CL | DM;

Вниз

эврестический алгоритм   Найти похожие ветки 

 
Lokk   (2005-12-18 11:12) [0]

Народ подскажите плиз, есть алгоритм где имеется несколько проверок, проблема в том что при выполнении каждой последующей проверки условия надо заново проверять все предыдущие и к следующему пункту переходим только в том случае если все предыдущие удачны. если использовать конструкцию if ... then то как возвращатсья обратно?? может можно как-то по другому?


 
Lokk   (2005-12-18 11:29) [1]

никто не разбирается в эврестических алгоритмах?
я бы даже сказал что это простой полный перебор


 
Virgo_Style ©   (2005-12-18 12:07) [2]

Если религия запрещает пользоваться goto, то остаются циклы


 
Lokk   (2005-12-18 12:13) [3]

так вот и вопрос в этом и состоит...
какие циклы организовывать...
for??
или while
или
repeat
как алгоритм в котором одни if переделать в циклы? ничего на ум не приходит


 
Набережных С. ©   (2005-12-18 12:21) [4]


> Lokk   (18.12.05 11:29) [1]
> никто не разбирается в эврестических алгоритмах?
> я бы даже сказал что это простой полный перебор

Есть, конесно, вероятность, что я просто непроходимо глуп, но она все-таки не слишком велика, мне кажется. Но, так или иначе, я практически ничего не понял в [0]:(
Правда, у меня почему-то возникли ассоциации с конечным автоматом, может это - оно самое?

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


 
Lokk   (2005-12-18 12:28) [5]

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


 
Anatoly Podgoretsky ©   (2005-12-18 12:31) [6]

Lokk   (18.12.05 12:28) [5]
По описанию похоже на машину состояний - конечный автомат.


 
Lokk   (2005-12-18 12:35) [7]

может быть...
так как сделать то?:))))


 
Набережных С. ©   (2005-12-18 13:05) [8]


> Lokk   (18.12.05 12:35) [7]
> может быть...
> так как сделать то?:))))

Видимо, что-то вроде этого:

Result:= false;
repeat
 SetNextValue;
 if Condition1 then
   if Condition2 then
     if Condition3 then
       if Condition4 then Result:= true;
until Result;

Только смотри, чтобы цикл не оказался бесконечным.


 
Lokk   (2005-12-18 13:11) [9]

видимо тогда надо придумать как обрабатывать зацикливание....то есть бесконечность, например, может так случится что преподаватель всегда занят а из цикла выйти надо....


 
Набережных С. ©   (2005-12-18 13:54) [10]


> Lokk   (18.12.05 13:11) [9]

Вот и придумай. Эта простейшая задача не только для гигантов мысли.



Страницы: 1 вся ветка

Текущий архив: 2006.01.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
4-1130771115
KorvinOE
2005-10-31 18:05
2006.01.08
Поиск по файлам


1-1134053998
alec_sey
2005-12-08 17:59
2006.01.08
ПОМОГИТЕ


3-1131016024
Bolek
2005-11-03 14:07
2006.01.08
Динамический запрос


14-1134503620
Gero
2005-12-13 22:53
2006.01.08
Ветка-долгожитель


2-1134745309
fast2
2005-12-16 18:01
2006.01.08
Как можна задать случайным образом время в ...