Отправляет email-рассылки с помощью сервиса Sendsay

Алгоритмы для всех

  Все выпуски  

Алгоритмы для всех


Информационный Канал Subscribe.Ru

2003-03-30
Вы читаете выпуск #39 рассылки "Алгоритмы для всех".


Пушкарев С.В. Предварительный анализ-2002: косой алгоритм для
перво-прохОдных и близких к ним задач.

Продолжение выпусков 37 от 3"1"31 и 38 от 3'2'28 ("Алгоритмы для всех")

Ваше право чтения данной статьи вообще и данной части в частности
определяется лицензионным соглашением из первой части статьи.

=================

То, что большая часть целей дана в дальнем стандарте ("обеспечить ...", -
Пушкарев"2002"10-11в35пме43) означает, кажется, то, что, записывая их, я
предполагал дальнейшую необходимость поиска той или иной цели и заранее
старался себе его облегчить. Для вас достаточным будет ближний стандарт
(ГСНД). Впрочем, дальний стандарт играет ту полезную роль, что устраняет
необходимость писать цели в виде "чтобы ... был(-а, -о) ...". Так последняя
цель "изначально" у меня, звучала, наверно, как "чтоб были изделия от
жизненных целей". Хотя вряд ли: сейчас (3"2"27 02:05:17) посмотрел свежим
взором и подумал, что, скорее всего, цель была просто "достичь жизненных
целей". :-)

Описываемый здесь способ целеполагания (через деревья) - не единственный. Я
еще использую матричный способ. С лета 2001-го по лето 2002-го года это была
одна общая для всей процедуры матрица. Сейчас (март 2003 года) я использую в
одной процедуре, так сказать, "каскад" матриц. Позавчера (3"3"6), чтоб
избежать копирования повторяющихся элементов, стал стыковать эти
последовательные матрицы. Получившаяся последовательность в очертании
смахивает на джинна, уходящего в бутылку :-) . А еще через два дня (3"3"8)
перешел к новому способу: стал строить каскад наборов ребер (понимая "ребра"
как в теории графов) "<задача или ее номер>, <номер ее цели>".

Вот так происходило в реальности заполнение этой таблицы (точнее, так оно бы
происходило, если бы я заполнял действительно ее, а не ту, адаптированным
вариантом которой она является :-) ).

Я беру пустую таблицу.

-----------------------------------------------------------
                                 |       |внести в| соеди-|
                                 |       | первые | нить  |
                                 |       | свобод-| задачу|
                                 |       | ные за-| с ее  |
                                 |       | писи   | целями|
                                 |       | цели   | пере- |
задачи и их цели                 | дерево| задачи,| ходом |
                                 |       | находя-| "низ- |
                                 |       | щейся в| верх" |
                                 |       | первом |       |
                                 |       | поле   |       |
                                 |       | текущей|       |
                                 |       | записи |       |
----------------------------------------------------------|
                                 |       |        |       |
                                 |       |        |       |
                                 |       |        |       |
---------------------------------|       |--------|-------|

Вношу задачу из шага #10 в первую запись в первое поле:

задачи и их цели                 | дерево|внести в| соеди-|
                                 |       | ...    |нить...|
----------------------------------------------------------|
обеспечить отсутствие беспорядка |       |        |       |
среди таблиц, предшествующих     |       |        |       |
таблице ДРЗ < >                  |       |        |       |
---------------------------------|       |--------|-------|

"Включаю" шаг "внести в первые свободные записи цели задачи, находящейся в
первом поле текущей записи". Т.е., ставлю в этом поле левую половину галочки
(знак обратной дроби):

задачи и их цели                 | дерево|внести в| соеди-|
                                 |       | ...    |нить...|
----------------------------------------------------------|
обеспечить отсутствие беспорядка |       |        |       |
среди таблиц, предшествующих     |       |   \    |       |
таблице ДРЗ < >                  |       |        |       |
---------------------------------|       |--------|-------|

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

Выполняю этот шаг...

задачи и их цели                 | дерево|внести в| соеди-|
                                 |       | ...    |нить...|
----------------------------------------------------------|
обеспечить отсутствие беспорядка |       |        |       |
среди таблиц, предшествующих     |       |   \    |       |
таблице ДРЗ < >                  |       |        |       |
---------------------------------|       |--------|-------|
обеспечить отсутствие расхода    |       |        |       |
времени на решение уже решенных  |       |        |       |
задач                            |       |        |       |
---------------------------------|       |--------|-------|

- В данном случае я увидел у задачи только одну цель.

 .., достраиваю обратную дробь до галочки (пме134)...

задачи и их цели                 | дерево|внести в| соеди-|
                                 |       | ...    |нить...|
----------------------------------------------------------|
обеспечить отсутствие беспорядка |       |        |       |
среди таблиц, предшествующих     |       |   V    |       |
таблице ДРЗ < >                  |       |        |       |
---------------------------------|       |--------|-------|
обеспечить отсутствие расхода    |       |        |       |
времени на решение уже решенных  |       |        |       |
задач                            |       |        |       |
---------------------------------|       |--------|-------|

- Это означает, что данный шаг мной выполнен.

 ...и перехожу к следующему шагу (следующему полю: "соединить задачу с ее
целями переходом 'низ-верх'(Пушкарев"2000"7)") в этой таблице. Таким же
образом включаю его...

задачи и их цели                 | дерево|внести в| соеди-|
                                 |       | ...    |нить...|
----------------------------------------------------------|
обеспечить отсутствие беспорядка |       |        |       |
среди таблиц, предшествующих     |       |   V    |   \   |
таблице ДРЗ < >                  |       |        |       |
---------------------------------|       |--------|-------|
обеспечить отсутствие расхода    |       |        |       |
времени на решение уже решенных  |       |        |       |
задач                            |       |        |       |
---------------------------------|       |--------|-------|

 .., выполняю...

задачи и их цели                 | дерево|внести в| соеди-|
                                 |       | ...    |нить...|
----------------------------------------------------------|
обеспечить отсутствие беспорядка | -*    |        |       |
среди таблиц, предшествующих     |  |_   |   V    |   \   |
таблице ДРЗ < >                  | -* |  |        |       |
---------------------------------|    |  |--------|-------|
обеспечить отсутствие расхода    | -*_|  |        |       |
времени на решение уже решенных  |  |    |        |       |
задач                            | -*    |        |       |
---------------------------------|       |--------|-------|

- Это "древесное" соединение мне нужно, чтоб ориентироваться в иерархии
целей: без него я путаюсь. Можете попробовать обойтись без него: вдруг лично
вам оно совсем и не требуется. :-) Другой возможный вариант задания связей -
числами: пронумеровать записи и вместо поля "дерево" сделать поле "ко-#"
(пме91) (номер, куда происходит переход).

Если бы у задачи было несколько целей, дерево выглядело бы несколько иначе.
Вот - его вид, н-р, для трех целей (три нижние "скобки") от задачи (одна
верхняя "скобка") (см. Пушкарев"2000"7 (пме90)).

-*
 |_
-* |
   |
-*_|
 | |
-* |
   |
-*_|
 | |
-* |
   |
-*_|
 |
-*

Первая и вторая "скобки" тут соединены переходом "низ-верх", а вторая и
третья и третья и четвертая - переходом "верх-верх".

 ...и, как и для предыдущего поля, достраиваю обратную дробь до галочки.

задачи и их цели                 | дерево|внести в| соеди-|
                                 |       | ...    |нить...|
----------------------------------------------------------|
обеспечить отсутствие беспорядка | -*    |        |       |
среди таблиц, предшествующих     |  |_   |   V    |   V   |
таблице ДРЗ < >                  | -* |  |        |       |
---------------------------------|    |  |--------|-------|
обеспечить отсутствие расхода    | -*_|  |        |       |
времени на решение уже решенных  |  |    |        |       |
задач                            | -*    |        |       |
---------------------------------|       |--------|-------|

=======================

Продолжение следует.

Сергей Пушкарев, pushkaryov@newmail.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное