Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
Допустим есть устройство, которое зажигает цветные светодиоды сигнализируя о своем состоянии. Нужно интерпретировать эти состояния, их может быть очень много и записывать в коллекцию событий Например: 1. Горят только СКЗС и не горят другие - произошло событие А, если вместе с СКЗС горят и другие события А не было. 2. Горят КЗ, а состояние других пофиг - произошло событие Б. Как описать и хранить в коде все эти сочетания случаев? Язык C# ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2018, 16:27 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
Eolt, Код: c# 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. 30. 31. 32. 33. 34. 35. Фих знает, короче. Можно матрицы написать или хитрую методу на третичной логике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2018, 16:47 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
EoltКак описать и хранить в коде все эти сочетания случаев?Две маски. Маска "горит" и маска "не горит". Например: Горят только СКЗ и не горят другие - произошло событие А. У события A маска Г 11001, маска Н 00110. Горят КЗ, а состояние других пофиг - произошло событие Б. У события Б маска Г 01001, маска Н 00000. Проверка. Есть состояние С. Если оно соответствует некоему состоянию, то должно быть: С XOR Г = 00000 С AND H = 00000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2018, 16:54 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
hVosttEolt, Фих знает, короче. Можно матрицы написать или хитрую методу на третичной логике. Про матрицы решений что-то слышал. Но вот нагуглить никак не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2018, 17:14 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
EolthVosttEolt, Фих знает, короче. Можно матрицы написать или хитрую методу на третичной логике. Про матрицы решений что-то слышал. Но вот нагуглить никак не могу. Про двоичную систему наверняка слышал, в твоем случае состояние системы кодируется 5 битами. Таким образом, у тебя 2^5=32 различных состояний системы в диапазоне 0..31. Вот и опиши, что надо делать в каждом из этих состояний в массиве Action[0..31]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2018, 19:22 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
EoltПро матрицы решений что-то слышал. Но вот нагуглить никак не могу. Ну вон в коде привёл же битовые маски. Делаешь из этого матрицу, я написал в методе для экономии. Но можно матрицу перенести в конфиг файл и тогда это можно будет менять в конфиге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2018, 10:06 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), можно примерчик реализации в контексте моего случая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 11:27 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
Eoltkealon(Ruslan), можно примерчик реализации в контексте моего случая? у тебя есть варианты состояний индикатора К, 2^5 вариантов есть варианты состояний { S } у тебя должна быть построена двумерная таблица M[S, K] (реальная или условная неважно) и индикатор срабатывания F[S] в реализации простой цикл S = M[S, K]; if ( F[S] ) {действие... } как будешь делать M и F это уже на твоё усмотрение, хоть вручную ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 12:12 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
Выше решение попроще описано 21636635 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 12:42 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
У меня скорее не таблица событий получается, а дерево. Потому что некоторые события могут наступить, только если перед ними было другое нужное событие. Например: Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 15:18 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
EoltПотому что некоторые события могут наступить, только если перед ними было другое нужное событие. Так это и есть состояния, с которыми работает машина состояний (она же конечный автомат) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 15:23 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
EoltУ меня скорее не таблица событий получается, а дерево. Потому что некоторые события могут наступить, только если перед ними было другое нужное событие. Это ничего не меняет. Дбавляем каждому элементу второй параметр - предыдущее состояние: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Таблица станет 1024 элемента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 15:31 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
Dima T, Крайне не оптимальное решение. Сомнительное удовольствие заполнять такую карту. Уж лучше дерево тогда. Или простой алгоритм вычисления, в котором можно определить символы и вынести скрипт наружу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 15:52 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
Eolt, так бы сразу и сказал)) Можно и методами конечных автоматов, а вообще напрашивается "контекстно-зависимая грамматика", пути по вершинам графа с повторениями, не марковские модели. Да и хр3, что здесь ещё надо, автор выдавливает по каплям. Можно по типу экспертных систем: описать конечный набор базовых продукций "если -- то", тот же конечный автомат будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 16:30 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
hVosttКрайне не оптимальное решение. O(1) вообще-то. Самое быстрое решение по сравнению с другими вариантами. Инициализировать массив на 1024 элемента думаю не сложно, а в некоторых ЯП это сделает компилятор, т.е. во время выполнения не потратится ни одного такта проца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 20:16 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
hVosttСомнительное удовольствие заполнять такую карту. Уж лучше дерево тогда. Можно написать скрипт который сгенерит код инициализации массива и скопирует в буфер обмена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 20:22 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
Dima TO(1) вообще-то. Самое быстрое решение по сравнению с другими вариантами. Крайне не оптимальное с точки зрения конфигурирования. И гибкость алгоритмов распознавания страдает. А если одно единственное событие, допустим, состоит из 3-х последовательных сигналов? Если было бы задано, что один сигнал = событие, ещё куда ни шло, но уже есть отклонения, полной задачи мы не знаем. Следовательно, нужен более гибкий и эффективный подход. Ещё важно, чтобы он был сопровождаемый, об этом очень и очень часто забывают, что крайне лично меня огорчает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2018, 21:45 |
|
||
|
Алгоритм интерпретации событый
|
|||
|---|---|---|---|
|
#18+
hVostt, Нормально всё с сопровождением и асимптотикой, по возможностями КА равноценен любым регулярным описаниям (собственно они к нему и приводятся обычно). Незаменимая вещь при реализации протоколов и прочих нудных вещей. Для сжатия используют таблицу классов или кодогенерацию. С отладкой вот оч плохо, но это с любыми регулярками так. вот только автор пока не может написать сколько ему нужно правил и какого они рода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2018, 00:18 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=13&tid=1340068]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
41ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 161ms |

| 0 / 0 |
