Задвинутый анализ ветвлений

Тема в разделе "WASM.A&O", создана пользователем NoName, 29 май 2005.

Статус темы:
Закрыта.
  1. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Подскажите пж-та (может кто-нибудь сталкивался) как нужно обрабатывать множество ветвлений в программе. Допустим банальное true и false. Они идут подрят и их огромное количество.

    Как лучше организовывать такие алгаритмы, чтобы можно было в любой момент времени (анализ вызывается циклически) вернутся к последней позиции (некий специальный счетчик, вроде как права доступа в unix).
     
  2. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Анализ в чужом коде или надо организовать в своем?



    Если первое, то были статьи

    Если второе, то есть индивидуальная продвинутая техника ;)
     
  3. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Для начала "организовать в своем".

    Да и желательно чтобы было разъеснено, что, куда и почему.

    Спасибо за линки, но нужной мне информации там недостаточно.
     
  4. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    > Подскажите пж-та (может кто-нибудь сталкивался)

    > как нужно обрабатывать множество ветвлений в программе.

    нужно избавляться от ветвлений ;)

    существует множество способов,

    все зависит от конкретного алгоритма.

    практически все, что угодно можно

    реализовать без ветвлений...

    уточни задачу
     
  5. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Есть куча вопросов, на которые нужно ответить да\нет. От ответа зависит дальнейшая иерархия вопросов.

    Т.к. все происходит в консоли, то там я сделал цикл для обработки сообщений с клавы...
     
  6. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    экспертная система?

    заноняем все вопросы в древовидную структуру

    и пишем простенький код, который по этому дереву проходит.

    плюсы:

    1) очень просто программирируется

    2) легко составить визуальный редактор дерева вопросов

    3) легко контролировать корректность дерева вопросов

    ну и т.д.

    писать if - else - if - else это же умом поехать можно ;)
     
  7. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    прикладная теория цифровых автоматов

    отвечает на этот вопрос

    в виде графа конечного автомата

    (мили или мура если мне не изменяет память )

    на практике решается сведением множественного выбора

    к множеству состояний и переходов между ними
     
  8. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    зы



    в частности предложенное kaspersky дерево

    является частным случаем многосвязного списка(графа)

    и может рассматриваться как граф конечного автомата

    но только частным случаем, не всегда применимым
     
  9. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    так я на "всегда" и не настаивал ;)

    а для вопросов типа да/нет оно

    очень даже подходит
     
  10. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    вообще очень полезная концепция цифрового автомата

    imho
     
  11. captain cobalt

    captain cobalt New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2003
    Сообщения:
    222
    Адрес:
    /ru/perm
    _staier

    Как это?

    Что ещё за "цифровой автомат"? ;)

    А какие ещё бывают автоматы? Символьные? Аналоговые? ;)
     
  12. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Видимо, имеются ввиду автоматы, реализуемые на Цифровых Вычислительных Машинах :)
     
  13. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    господа , прикладная теория цифровых автоматов рулит

    rtfm, господа , rtfm ...

    также можно на яндекс обратиться



    (в общем - то это приложение теории графов - дискретная математика , если я не ошибаюсь - основа вычислительной техники)



    а автоматы в частности , бывают аналоговые

    см.теория автоматического управления

    (это у меня была единственная двойка на экзамене)



    - классический пример - сливной бачак в унитазе (датчик - поплавок)



    если и есть над чем смеяться , так это над людьми игнорирующими базовые знания (IMHO)
     
  14. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    _staier

    глупо спорить
     
  15. captain cobalt

    captain cobalt New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2003
    Сообщения:
    222
    Адрес:
    /ru/perm
    rtfm successfully completed. ;)



    http://is.ifmo.ru/projects/

    http://www.softcraft.ru/auto.shtml

    <font size=1>

    P.S. Я лишь имею ввиду, что термин "цифровые автоматы" - это из "теории автоматического управления" воинов паяльника, разрабатывающих автоматические сливные бачки для унитазов.

    Для софтостроения более общепринятый термин - "конечные автоматы" (см. количество результатов на оба термина в яндексе)</font><!--size-->
     
  16. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    thx. Будут еще мысли, пишите.
     
  17. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    captain cobalt

    дело в том , что конечный автомат есть частный случай

    цифрового автомата

    отличается он конечностью своих состояний , и как следствие реализуемостью в софтвере и хардвере.

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

    можно строго доказать , что любая программа может быть представлена в виде графа конечного автомата ( известного как граф-схемма алгоритма).



    можно лишь согласиться что в применении к софтверу цифровых процессоров , конечно же, возможен только цифровой автомат , соответственно можно его назвать просто автоматом.
     
Статус темы:
Закрыта.