Что означает гистерезис и как оно относится к информатике или программированию?
Я смотрел какой-то код и видел вне контекста комментарий о "гистерезис". Я думаю, что я понял, что делает код, поэтому мой вопрос не затрагивает ничего конкретного. Я просто не понимаю, что означает этот термин или как он применим в программировании. Я огляделся и увидел некоторые математические определения, но хотел бы получить дополнительную информацию. Из того, что я могу сказать, Гистерезис имеет какое-то отношение к предсказанию или предположению определенного состояния для X на основе того, что случилось с X в прошлом?
Ответы
Ответ 1
Гистерезис характеризует систему, поведение которой (выход) зависит не только от ее ввода в момент времени t, но и от его прошлого поведения по следующему пути.
Известным устройством, которое проявляет гистерезис, является термостат. Представьте себе термостат, который включал бы включение и выключение при температуре 70 ° F. Когда температура около 70 ° F, немного колеблясь, термостат будет постоянно включать и выключать нагрев. Как правило, термостат построен с гистерезисом: он включается при нагреве (скажем) 69 ° F, но отключает нагрев при 71 ° F. Это позволяет избежать постоянных переключателей.
EDIT: посмотрите Статья в Википедии.
Ответ 2
Пример термостата:
heatPointLow = 8°C
heatPointHeight = 10°C
heater = off
while(true){
if(temperature < heatPointLow)
heater = on
if(temperature > heatPointHeight)
heater = off
}
Если там только одна точка, система может колебаться вокруг этой единственной точки.
Между высотами точек и минимумом это зависит от последнего значения нагревателя, если оно включено или выключено.
Ответ 3
Google был моим другом:
Принцип в целом относится к поведению любого изменения системы, основанному на предыдущих состояниях. Таким образом, вы можете моделировать гистерезис с диаграммой конечного автомата или графиком.
В дизайне пользовательского интерфейса это означает, что пользовательский интерфейс отстает от пользовательских событий ввода или других событий. Нажатие кнопки не может сразу отображать окно сведений; вместо этого запускается анимация, которая постепенно изменяет пользовательский интерфейс.
Я думаю о тех пузырях "Device Driver Configured", которые отображаются в панели задач Windows 7, как проявление гистерезиса: пузырь появляется в ответ на событие завершения из ОС и начинает исчезать. Событие мыши от пользователя будет reset, что таймер, дающий пользователю время нажать на пузырь для получения подробной информации о событии; он задерживает затухающую анимацию, даже если события мыши после этого выходят за пределы области пузыря.
Ответ 4
Хорошие ответы. В практических интеграционных слоях это очень важно. Уровень интеграции
с гистерезисом сама по себе является подсистемой. Ясно, что идеальным является отсутствие гистерезиса (машина Мура); но, как правило, в государственных машинах каждой из систем существует несоответствие, и это может быть разрешено только переводчиком, использующим гистерезис. Например, модуль Microsoft Dynamics/Great Plains Field Service регистрирует состояние в своей таблице SVC00210 Service Master Audit Trail. Каждый вызов находится в некотором SRVSTAT. При интеграции планировщика, такого как планировщик оптимизации служб ClickSoftware, нужно работать с его состоянием. Состояние CS определяется пользовательской реализацией. Например. Открыть, InRoute, OnSite, Неполное, Отменено, Завершить. Кроме того, он также имеет состояние неполного с деталями в ожидании, хотя это реализовано как машина подсетей в неполном состоянии. Таким образом, переходы в GP должны отображаться в CS. К сожалению, GP позволяет (делает запись на экране ввода для вызова) переходом из одного состояния в себя; поэтому, таким образом, событие перехода не может использоваться исключительно для запуска изменения состояния в GP. Следовательно, новое событие триггера представляет собой комбинацию перехода состояния GP, а также мета-состояние, определенное некоторой логикой в наборе прошлых событий. Как вы можете видеть, гистерезис быстро берет проблему от простого к сложному. В терминах компьютерной науки идеальным является машина Мура, но практичной является машина Мили. Я предпочитаю думать об этом, как мука муки с жуками, живущими в ней и все!
Я думаю, что его можно создать машину Мура с любой машины Мили, машина Мура будет просто иметь больше состояний. См.: Мили v/s. Мур
Ответ 5
Он также много использовал в технике. Например, в видеоиграх, если есть логика, вызывающая много переключение без хорошего результата, вы можете добавить гистерезис к проблеме и заставить объекты совершать определенное направление в течение определенного периода времени, что может избежать проблем с подергиванием. Подобно тому, как это делается в электронике с триггерами Шмидта - чтобы избежать постоянного переключения, которое не выводит систему в новое состояние, а вызывает вибрацию системы в одном состоянии и не сможет выйти. Очень простая концепция, которая полезна.
Найдите "гирсерез берсерка" в примере на YouTube. Без гистерезиса роботы в игре буквально просто дергались и не двигались вообще (когда происходит много активности).