Что означает гистерезис и как он применяется к информатике или программированию? - PullRequest
10 голосов
/ 19 марта 2011

Я просматривал какой-то код и увидел неконтекстный комментарий о «гистерезисе».Я думаю, что выяснил, что делает код, поэтому мой вопрос не затрагивает ничего конкретного.Я просто не понимаю, что означает этот термин или как он применим в программировании.Я посмотрел вокруг и увидел некоторые математические определения, но хотел бы получить больше информации.Из того, что я могу сказать, гистерезис как-то связан с предсказанием или принятием определенного состояния для X на основе того, что случилось с X в прошлом?

Ответы [ 6 ]

19 голосов
/ 19 марта 2011

Гистерезис характеризует систему, поведение (выход) которой зависит не только от ее входа в момент времени t , но также и от ее прошлого поведения, от пути , которому она следовала.

Хорошо известным устройством с гистерезисом является термостат. Представьте себе термостат, который включал бы и выключал нагревание при температуре 70 ° F. Когда температура составляет около 70 ° F, хотя она немного колеблется, термостат будет постоянно включать и выключать нагрев. Как правило, термостат построен с гистерезисом: он включит нагрев при (скажем) 69 ° F, но отключит нагрев при 71 ° F. Это позволяет избежать постоянных переключений.

РЕДАКТИРОВАТЬ: взгляните на статью Википедии .

11 голосов
/ 19 марта 2011

Пример термостата:

heatPointLow = 8°C
heatPointHeight = 10°C
heater = off

while(true){
    if(temperature < heatPointLow)
        heater = on
    if(temperature > heatPointHeight)   
        heater = off
}

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

2 голосов
/ 19 марта 2011

Google был моим другом:

Принцип в целом относится к поведению любых изменений системы, основанных на предыдущих состояниях. Таким образом, вы можете смоделировать гистерезис с помощью диаграммы состояния или графика.

В разработке пользовательского интерфейса это относится к практике отстания пользовательского интерфейса от событий пользовательского ввода или других событий. Нажатие кнопки может не сразу отобразить окно сведений; вместо этого запускается анимация, которая постепенно меняет пользовательский интерфейс.

Я думаю, что эти пузырьки «Device Device Configured» на панели задач Windows 7 демонстрируют гистерезис: пузырь появляется в ответ на событие завершения из ОС и начинает исчезать. Событие при наведении курсора на пользователя сбрасывает этот таймер, давая пользователю время щелкнуть пузырь для получения подробной информации о событии; он задерживает анимацию затухания, даже если после этого события мыши находятся за пределами области пузырька.

1 голос
/ 13 апреля 2018

Не могу выразить это более кратко, чем первое предложение Статья в Википедии :

Гистерезис - это зависимость состояния системы от ее истории.


TS; NM

Интересный взгляд на понятие гистерезиса выражен в Гистерезис как жизнь статья:

Неизменно связана со всеми реальными применениями гистерезиса эта форма или график - это выглядит так:

A Typical Hysteresis Curve

Если мы назовем«время» по оси X и «события» по оси Y, тогда мы можем сказать, поэтично, а не научно, что все жизни начинаются одинаково.Со временем каждый человек испытывает события.Хотя события уникальны, они все же попадают в ограниченный диапазон «всего человеческого опыта».

A Hysteresis Labeled

В конце концов, человек умирает.Таким образом, факты рождения и смерти даны, но промежуточные события зависят от индивидуума - до некоторой степени.

1 голос
/ 06 мая 2016

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

Например, найдите 'berserk hysteresis' в youtube. Без гистерезиса роботы в игре буквально просто дергались и практически не двигались (когда происходит много активности).

1 голос
/ 02 января 2015

Хорошие ответы. На практических уровнях интеграции это очень важно. Интеграционный слой с гистерезисом это сама подсистема. Понятно, что идеалом является отсутствие гистерезиса (машина Мура); но, как правило, существует несоответствие в конечных автоматах каждой из систем, и это может быть решено только переводчиком, использующим гистерезис. Например, модуль полевой службы Microsoft Dynamics / Great Plains записывает состояние в своей таблице журнала аудита основного обслуживания SVC00210. Каждый звонок находится в каком-то SRVSTAT. При интеграции планировщика, такого как планировщик оптимизации сервисов ClickSoftware, необходимо работать с его состоянием. Состояние CS определяется пользовательской реализацией. Например. Открыто, InRoute, OnSite, Incomplete, Cancelled, Complete. Кроме того, он также находится в состоянии незавершенности с ожидающими деталями, хотя он реализован как вспомогательный автомат в незавершенном состоянии. Итак, переходы в GP должны отображаться в CS. К сожалению, GP допускает (делает запись на экране ввода для вызова) переходы из одного состояния в себя; таким образом, событие перехода не может использоваться исключительно для запуска изменения состояния в GP. Следовательно, новое событие триггера представляет собой комбинацию перехода состояния GP, а также мета-состояния, определенного некоторой логикой на множестве прошлых событий. Как видите, гистерезис быстро превращает проблему из простого в сложный. С точки зрения компьютерных наук, идеалом является машина Мура, а практической - машина Мили. Я предпочитаю думать об этом как о мучной муке с жуками, живущими в ней, и все! Я думаю, что возможно изготовить машину Мура из любой машины Мили, у машины Мура будет просто больше состояний. См .: Мили v / s. Мур

...