Уведомления

Группа в Telegram: присоединиться | Jabber-конференция сообщества: pythonua@conference.jabber.ru

#1 Дек. 7, 2017 14:01:34

AlCat
Зарегистрирован: 2017-11-29
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Возможно ли решить проблему с помощью нейронных сетей???


Все сигналы – битовые (True / False)
Есть устройство, контроллер. На него приходят сигналы с внешних датчиков (230 датчиков) и сигналы о состояниях реле (1350 реле). Контроллер после получения сигналов от датчиков и реле должен обработать их, выдать сигнал Reset и завершить цикл работы.

Бывает, что от одного из реле приходит сигнал об ошибке, который контроллер не может корректно обработать. В этом случае контроллер выдает комбинацию из 35 сигналов. 1-й этап цикла работы окончен.

На втором этапе с внешних датчиков приходят другие 230 сигналов. Опять как-то взаимодействуют с сигналом об ошибки с единственного реле и контроллер пытается корректно обработать их. В случае успешной обработки выдается Reset, ошибки сбрасываются и цикл работы завершается. Иначе контроллер опять выдает новые 35 сигналов и на этом завершается второй этап цикла работы.

Таких этапов пять.

Если за пять этапов контроллер не смог корректно обработать ошибку реле, то в конце он дает номер реле (один из 1350), в котором произошла ошибка.
Но это слишком поздно. Это нужно мчаться на нужный участок и искать нужное реле, а система стоит.

У нас работает Дмитрий Васильевич ), человек, который участвовал в монтаже всей системы в 1980 году. Вот он как-то по входным сигналам понимает, какова вероятность корректного срабатывания контроллера на следующем этапе и выдача желанного сигнала Reset. А если этого не происходит, то по сочетанию входных сигналов, искомого неизвестного номера реле и выходных сигналов способен локализовать диапазон, в котором находится реле с ошибкой. И от этапа к этапу этот диапазон номеров реле уменьшает, что ОЧЕНЬ помогает в скорости устранения неисправности.

В голове у него происходит примерно так:
1. Контроллер не выдал Reset. Смотрим на входные сигналы, смотрим на выходные.
Реле всего 1350. Ошибка в диапазоне примерно с 550-го по 1200-ой реле.
2. Смотрим входные сигналы второго этапа. Вероятность выдачи Reset с такими сигналами около 30%. Reset не выдался и смотрим выходные сигналы контроллера.
Сужаем диапазон ошибки. Ошибка в диапазоне реле с 825-го по 1100-е реле.
3. Смотрим входные сигналы третьего этапа. Вероятность выдачи Reset с такими сигналами около 50%. Reset не выдался и смотрим выходные сигналы контроллера.
Сужаем диапазон ошибки. Ошибка в диапазоне реле с 900-го по 1100-реле.
И.т.д.
И мы, еще не имея точной информации о номере неисправного реле, но примерно знаем куда ехать и где будет найдена неисправное реле.

Но Дмитрий Васильевич скоро уходит на пенсию.
Хотелось бы попробовать заменить его нейронной сетью. О работе нейронных сетей имеется общее представление. Есть навыки работы с python`ом.
Нужен человек, который подскажет какую питоновскую библиотечку использовать для генерации нейронки и чуть поможет с этим.

Цель: 1. предсказывать вероятность генерации сигнала Reset перед каждым этапом на основании известных предыдущих входных сигналов с датчиков и выходных сигналов контроллера.
2. На основании предыдущих сигналов на каждом цикле предсказывать диапазон, в котором находится неисправное реле. А лучше несколько более мелких диапазонов с вычисляемым процентом вероятности нахождения в нем неисправного реле.

Есть задокументированная выборка примерно из 50 000 циклов работы системы. Из них в 80% случаев контроллер на каком либо этапе выдавал Reset. В 20% случаев после последнего этапа имеется информация о неисправном реле.

Офлайн

#2 Дек. 7, 2017 15:09:49

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 1557
Репутация: +  112  -
Профиль   Отправить e-mail  

Возможно ли решить проблему с помощью нейронных сетей???

> Бывает, что от одного из реле приходит сигнал об ошибке, который контроллер не может корректно обработать. В этом случае контроллер выдает комбинацию из 35 сигналов.

Это как “не может”? Тебе с работой контролёров разбираться надо, а не с нейронкой.





С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Дек. 7, 2017 21:44:02

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 2953
Репутация: +  158  -
Профиль   Отправить e-mail  

Возможно ли решить проблему с помощью нейронных сетей???

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

Начнем вот с чего. Вы хотите автоматизировать поиск. А что вы будете задавать в программу и что из нее хотите получить?



Офлайн

#4 Дек. 8, 2017 06:44:03

AlCat
Зарегистрирован: 2017-11-29
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Возможно ли решить проблему с помощью нейронных сетей???

doza_and
Да с такого описания ничего дельного не посоветуешь.Но интуиция подсказывает что никакие искусственные нейронные сети вам не помогут. Надо шевелить своими мозгами чтобы понять как работает система.Начнем вот с чего. Вы хотите автоматизировать поиск. А что вы будете задавать в программу и что из нее хотите получить?

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

Отредактировано AlCat (Дек. 8, 2017 06:46:38)

Офлайн

#5 Дек. 8, 2017 07:31:15

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 2953
Репутация: +  158  -
Профиль   Отправить e-mail  

Возможно ли решить проблему с помощью нейронных сетей???

Отлично.
1. Нужен пример лог файла с пояснением где входные сигналы где ответ контроллера.
2. хотя-бы примерная схема соединения. На ней должны быть перечисленные участники спектакля.
Реле
сигналы реле (они с основным состоянием не связаны?)
сигналы\датчики (сейчас непонятно что это такое и какая у них связь с реле)
контроллер (как он выдает команды и сколько у него входов)
3 что означает что реле неисправно. Оно не переключается? может допустимо пощелкать? Оно неисправно если датчик состояния отказал?
4 поскольку речь идет о ускорении необходимо сделать временную диаграмму и подписать на ней длительности этапов.



Офлайн

#6 Дек. 10, 2017 14:15:05

vic57
Зарегистрирован: 2015-07-07
Сообщения: 617
Репутация: +  85  -
Профиль   Отправить e-mail  

Возможно ли решить проблему с помощью нейронных сетей???

у вас 1350 проводов идет на один контроллер?
я в такой ситуации когда-то разбил систему на подгруппы и на каждую подгруппу поставил свой контроллер, формирующий сигнал групповой исправности/неисправности

Онлайн

#7 Дек. 10, 2017 19:24:19

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 2953
Репутация: +  158  -
Профиль   Отправить e-mail  

Возможно ли решить проблему с помощью нейронных сетей???

vic57
у вас 1350 проводов идет на один контроллер?
Это 80 год. Не удивлюсь если контроллер это здание с сотрудниками.



Офлайн

#8 Дек. 11, 2017 08:59:51

AlCat
Зарегистрирован: 2017-11-29
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Возможно ли решить проблему с помощью нейронных сетей???

Я старался упростить задачу для понимания. Сейчас пытаюсь сформулировать нормальное ТЗ, но это получится не один лист непонятного текста. Все сложнее.
По этому, возможно, нужно поставить задачу еще проще.

Выходные сигналы черного ящика как-то показывают информацию о диапазоне номеров реле, в котором находится неисправное реле с определенным номером. От этапа к этапу, анализируя выходные сигналы, этот диапазон возможно уменьшать.
1й этап: 1000 входных сигналов в черный ящик - 35 выходных сигналов.
2й этап: 1000 входных сигналов в черный ящик - 35 выходных сигналов.
3й этап: 1000 входных сигналов в черный ящик - 35 выходных сигналов.
4й этап: 1000 входных сигналов в черный ящик - 35 выходных сигналов.
5й этап: 1000 входных сигналов в черный ящик - 1 выходой (с искомым номером).

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

Если бы все ограничивалось одним этапом, по результатам которого имелся бы правильный ответ, то это напоминало бы задачу классификации или распознавания. Но этапов несколько. А анализ и прогноз нужен после каждого этапа. Меня это ставит в тупик. Чувствую, что решение тут есть, а найти его не могу.

Офлайн

#9 Дек. 11, 2017 09:02:36

AlCat
Зарегистрирован: 2017-11-29
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Возможно ли решить проблему с помощью нейронных сетей???

vic57
у вас 1350 проводов идет на один контроллер?я в такой ситуации когда-то разбил систему на подгруппы и на каждую подгруппу поставил свой контроллер, формирующий сигнал групповой исправности/неисправности
Суть решения задачи примерно такова. )
После каждого этапа уменьшать подгруппу групповой неисправности.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version