Computer modeling for autonomous rest prediction
By dividing timeboxes and iteratively estimating the timing of voluntary rest, based on sleep/wake regulation biology, the challenge of predicting voluntary rest in on-duty work schedules is solved, achieving efficient and accurate fatigue management and reducing resource requirements.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- WASHINGTON STATE UNIVERSITY
- Filing Date
- 2024-11-07
- Publication Date
- 2026-06-02
AI Technical Summary
Existing technologies in fatigue risk management struggle to accurately predict when workers will voluntarily take breaks to mitigate future fatigue without historical data, especially in cross-time zone travel or work environments, leading to inefficiency and high computational resource requirements.
Based on scientific knowledge of sleep/wake regulation biology, by dividing the on-duty work schedule into time boxes, iteratively estimating the optimal time for voluntary rest, assessing its impact on fatigue during subsequent on-duty periods, quickly finding solutions to reduce fatigue, and reducing reliance on historical records.
It enables efficient prediction of autonomous rest periods without collecting historical rest patterns, significantly reducing the demand for computing, network, and storage resources, improving prediction accuracy, and saving energy and operation time.
Smart Images

Figure CN122139199A_ABST
Abstract
Description
Cross-reference to related applications
[0001] This application claims priority to U.S. Provisional Application No. 63 / 597,476, filed November 9, 2023, the disclosure of which is incorporated herein by reference. Background Technology
[0002] Computer modeling is an important tool that uses heuristics and computational power to simulate, analyze, and predict phenomena or behaviors. At its core, computer modeling involves using computer software to create virtual representations, such as digital models in computer code that describe a target system or process. These digital models can range from mathematical equations to complex simulations involving multiple variables and interactions across multiple dimensions. By configuring the input data and parameters of the digital model, users can simulate or predict how the target system or process will respond to different conditions or events. Therefore, computer modeling allows users to explore scenarios, evaluate hypotheses, predict outcomes, and make informed decisions without the need for expensive and time-consuming physical experiments. Summary of the Invention
[0003] This summary introduces some concepts in a simplified form, which will be further described in the detailed embodiments below. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter.
[0004] As mentioned above, computer modeling can be an important tool for simulating and analyzing target systems or processes. Typically, computer modeling relies heavily on historical data to function effectively. Historical data serves as a foundation, providing the empirical evidence needed for accurate and reliable predictions in computer models. For example, computer models used for weather forecasting often utilize decades or even centuries of temperature, precipitation, and atmospheric data to simulate long-term changes in climate patterns. Economists use historical market and financial data to simulate economic trends, analyze business cycles, and predict future economic trends. Similarly, in epidemiology, historical data on disease outbreaks has been used to simulate the spread of infectious diseases and assess the potential impact of public health interventions.
[0005] Data-driven approaches to computer modeling allow for testing hypotheses, validating theories, and exploring scenarios based on historical records. However, in some cases, historical data may be unavailable, too costly to obtain, or too dynamic to be used to predict future behavior, such as in the field of fatigue risk management. Fatigue caused by sleep deprivation or disruption of circadian rhythms can impair cognitive function, thus requiring countermeasures to maintain performance, productivity, and safety. Errors and accidents caused by fatigue can incur significant personal, economic, and social costs. Therefore, fatigue risk management aims to predict, prevent, and / or mitigate fatigue and its associated negative consequences.
[0006] A useful tool for fatigue risk management is biomathematical fatigue modeling, which uses scientific knowledge of the biology related to human sleep regulation and circadian rhythms to predict periods of heightened fatigue levels. Accurate biomathematical fatigue modeling can be based on information such as when people can sleep and when they actually do sleep when given the opportunity. In operational environments involving long hours and nighttime work, knowing when people can sleep is often straightforward (e.g., when leaving get off work, commuting without driving, and when not required to stay awake). However, determining when people actually sleep when given the opportunity proves quite challenging, especially when people travel across time zones.
[0007] Previous techniques for addressing this challenge have primarily relied on collecting historical data on when people sleep in specific operational environments. However, this approach is severely limited because even if data collection is feasible, it requires substantial amounts of data. Furthermore, there is no guarantee that findings based on historical records collected in one context can be generalized to new situations in other contexts. For example, historical data on a worker's sleep patterns during a particular work schedule may not accurately predict when that worker will sleep after a change in their on-duty schedule.
[0008] Several embodiments of the disclosed technology relate to computer modeling for predicting when voluntary rest will occur without collecting historical sleep data. The disclosed technology is based on: 1) scientific knowledge of the biology of sleep / wake regulation, including when wakefulness is naturally induced (low probability of sleep), when sleep is naturally induced (high probability of sleep), and when sleep is biologically autonomous; 2) scientific knowledge of the fatigue levels resulting from shortened or shifted sleep and the performance, productivity, and safety risks associated with such fatigue; 3) the understanding that the biological regulation of sleep is reactive, i.e., natural recovery from shortened or shifted sleep is possible but does not occur until fatigue and associated risks have already occurred; 4) the recognition that people can, and often therefore, proactively take voluntary rest (e.g., daytime naps) to mitigate anticipated future fatigue; and 5) the understanding that when sleep is biologically autonomous, proactive rest to mitigate anticipated future fatigue is also a function of self-selected behavior and decision-making.
[0009] Therefore, based on the foregoing knowledge and understanding, several embodiments of the disclosed technology can provide computer systems and methods configured to determine when voluntary rest will occur without referencing historical records. Without being bound by theory, it is believed that, based on guidance from employers, advisors, past personal experience, intuition, or other suitable knowledge or experience, workers can anticipate when future fatigue will become a problem during an upcoming work period, for example, exceeding a preset threshold. Similarly, workers have an implicit understanding of when it is best to take voluntary rest and for how long to adequately mitigate or avoid anticipated high levels of future fatigue. This understanding is based on the biology of sleep / wake regulation, which dictates that voluntary rest is best placed during the time interval preceding work (e.g., about one or two days) when the probability of sleep is highest, as such rest produces the highest probability of sleep occurrence and is expected to most effectively reduce anticipated high levels of future fatigue below the preset threshold. It is also believed that workers will seek to remain efficient in their use of time for such voluntary rest. To this end, workers will plan voluntary rest that is just long enough to adequately mitigate anticipated high levels of future fatigue but not longer. Thus, through voluntary rest, future fatigue can be reduced to just below a preset threshold, for example, below 10%, 5%, 1%, or any other suitable percentage of the preset threshold.
[0010] Therefore, given an on-duty schedule, estimating when a worker will voluntarily take a break can be simplified to estimating the optimal or near-optimal placement of one or more voluntary rest periods within a time interval preceding the on-duty period, where high fatigue levels are expected without any prior rest. This time interval is referred to herein as a “backtracking window.” Example durations of the backtracking window can be approximately one to two days, such as thirty-six hours or any other suitable length. The backtracking window may contain one or more voluntary rest opportunities (i.e., one or more periods where sleep is not restricted by on-duty periods or sleep biology). One objective of the disclosed technique is to predict the placement of voluntary rest periods such that any resulting rest reduces future fatigue during subsequent on-duty periods to just below acceptable levels, while maximizing or near-maximizing the probability of voluntary rest and minimizing the duration of rest.
[0011] One possible technique for making the aforementioned estimates is to try every combination of time / duration for one or more rest periods within the available rest opportunities to determine which combination best achieves the desired future fatigue reduction. However, the inherent nonlinearity and discontinuity of this estimation would make the technique inefficient and slow, especially when evaluating thousands of on-duty work schedules to predict and address fatigue issues before and during operations. The aforementioned estimation techniques may even be infeasible or impractical because there may not be sufficient computational power to generate appropriate estimates in a timely manner.
[0012] To overcome the aforementioned limitations, several embodiments of the disclosed technology provide efficient techniques for performing the aforementioned estimations. In one example, aspects of the disclosed technology involve dividing the work schedule into “timeboxes” or “slots”, each with a length of 5, 15, 30, or other suitable number of minutes, iteratively estimating the optimal or near-optimal timing for voluntary rest at each timebox, assessing the impact of voluntary rest on expected fatigue during subsequent work periods, and repeating the aforementioned operations for other timeboxes until expected fatigue during work periods has been sufficiently reduced (e.g., at least not exceeding a preset threshold).
[0013] It has been recognized that these incrementally placed voluntary rest timeboxes tend to cluster into one or more larger merged timeboxes that can adequately alleviate fatigue with near-maximum sleep occurrence probability and near-minimum time investment. By tracking the location of the timeboxes used for voluntary rest, solutions to the aforementioned estimates can be quickly found. Furthermore, at least some aspects of the disclosed technique can be readily implemented to evaluate complete work schedules with multiple work periods, each of which may or may not involve voluntary rest behavior, and can be readily integrated with existing biomathematical fatigue models.
[0014] Therefore, several embodiments of the disclosed technology can efficiently predict workers' voluntary rest periods to mitigate anticipated future fatigue without collecting historical rest pattern data. By at least reducing or even avoiding the collection, storage, and processing of rest pattern data, several embodiments of the disclosed technology can achieve the aforementioned objectives with significantly reduced resource requirements in terms of computing, networking, storage, and therefore power consumption. If historical data happens to be available, several embodiments of the disclosed technology can also utilize the available historical data to improve the expected prediction accuracy. Furthermore, by utilizing the iterative estimation operations discussed herein, solutions can be found without requiring substantial computing power, thereby further saving energy consumption and operation time. Attached Figure Description
[0015] Figure 1 This is a schematic diagram illustrating a computer-implemented model generator configured to predict active autonomous rest in the absence of historical records, according to embodiments of the disclosed technology.
[0016] Figure 2 This is a flowchart illustrating a data preprocessing procedure for predicting voluntary rest periods based on embodiments of the disclosed technology.
[0017] Figure 3 This is a flowchart illustrating a process for determining a steady-state process state for predicting autonomous rest, according to an embodiment of the disclosed technology.
[0018] Figure 4This is a flowchart illustrating a process for iteratively checking the timebox of an on-duty work schedule to find possible voluntary breaks, according to embodiments of the disclosed technology.
[0019] Figure 5 This is a flowchart illustrating a process for searching for the optimal or near-optimal placement of voluntary rest periods according to embodiments of the disclosed technology, wherein if voluntary rest is taken, the voluntary rest period can effectively reduce fatigue during subsequent on-duty hours.
[0020] Figures 6A-6C The diagram illustrates exemplary steady-state and diurnal rhythm processes under various scenarios, based on steady-state pressure versus time diagrams according to embodiments of the disclosed technology.
[0021] Figure 7 It is suitable for execution Figure 1 A computing device for at least some components of a computer-implemented model generator. Detailed Implementation
[0022] This document describes various embodiments of digital data processing facilities, computing systems, computer equipment, and related processes for computer modeling of autonomous rest prediction. Specific details of examples are included in the following description to provide a thorough understanding of certain embodiments of the disclosed technology. Those skilled in the art will also understand that the disclosed technology may have additional embodiments, or may be described without further reference. Figure 1-7 The described embodiments are practiced in several details.
[0023] As mentioned above, data-driven approaches for computer modeling allow for testing hypotheses, validating theories, and exploring scenarios. However, in some scenarios, historical data may be unavailable, too costly to acquire, or too dynamic to be used to predict future behavior, such as in the field of fatigue risk management. Sleep / wake regulation strongly influences the timing and duration of sleep when it is not constrained by work, commuting, caregiving duties, medical conditions, cultural norms, lifestyle, or other activities. For the average healthy adult, biological processes—the circadian rhythm that tracks the time of day and the homeostatic process that tracks the balance between wakefulness and sleep—drive sleep to occur in a single, combined period of approximately eight hours at night. When staying awake at night for work or other activities disrupts this biologically driven sleep time and duration, the biological processes react reactively, attempting to recover lost sleep later and ultimately trying to push sleep back into the night. However, there is a period of fatigue before sleep is fully restored because: a) the homeostatic balance between wakefulness and sleep is disrupted (i.e., a state of sleep deprivation); and / or b) wakefulness occurs at night when the circadian rhythm promotes sleep. This fatigue exposes workers to the risk of errors and accidents. Therefore, predicting this fatigue is the first step in managing the associated risks.
[0024] One approach to mitigating the aforementioned fatigue-related risks is through proactive, voluntary rest, such as a daytime nap before work hours. This method, based on guidance from employers, past personal experience, intuition, or other sources, is common in 24 / 7 operations, such as emergency medical services, passenger and cargo flight operations, and the military. The effectiveness of proactive, voluntary rest depends on the homeostatic and circadian rhythmic processes of sleep / wake regulation. When a person is awake, homeostatic processes build sleep pressure in a saturation-exponential manner. When a person sleeps, this pressure dissipates in a saturation-exponential manner. Simultaneously, circadian rhythmic processes regulate two thresholds in a near-sinusoidal manner throughout the 24 hours of a day. The upper threshold, or “sleep threshold,” defines the sleep-inducing zone. When a person is awake and homeostatic processes rise above the sleep threshold, they feel fatigued and naturally want to sleep unless they consciously try to stay awake (e.g., to complete a shift). The lower threshold, or “wake threshold,” defines the wake-inducing zone. When a person sleeps and homeostatic processes fall below the wake-in threshold, they naturally wake up. If the state of homeostatic processes is between the two thresholds, sleep is neither biologically induced nor avoided. This is the autonomous sleep zone where people can begin an active rest period or end a sleep period by, for example, setting an alarm clock.
[0025] Figures 6A-6C The graph shows the relationship between steady-state pressure and time, illustrating exemplary steady-state and diurnal rhythm processes under three different scenarios. Figures 6A-6C In the diagram, solid lines represent steady-state processes, with higher lines indicating greater sleep pressure. Dashed lines represent the upper threshold regulated by circadian rhythms, used to delineate the sleep-inducing zone. Dotted lines represent the lower threshold regulated by circadian rhythms, used to delineate the wakefulness-inducing zone.
[0026] Figure 6A This illustrates a scenario where sleep occurs naturally during the approximately eight-hour merging period of the night, without any associated constraints. Figure 6A As shown, sleep naturally begins when the steady-state processes that accumulate homeostatic pressure during wakefulness exceed the sleep threshold and reach the sleep induction zone. Similarly, sleep naturally terminates when the steady-state processes that dissipate homeostatic pressure during sleep exceed the wakefulness threshold and reach the wakefulness induction zone. The end result is that sleep occurs at night and lasts for approximately eight hours.
[0027] Figure 6B This shows an example of nighttime sleep being shifted by nighttime working hours (e.g., night shift). Figure 6BAs shown, after the steady-state pressure exceeds the sleep threshold and reaches the sleep induction zone, sleep does not occur because the worker remains awake. Excessive steady-state pressure within the sleep induction zone causes the worker to feel fatigued while awake at night. Excessive steady-state pressure reactively triggers daytime sleep, reducing the steady-state pressure below the sleep threshold once the worker's shift ends. Furthermore, the reactive nature of natural sleep regulation indicates that recovery does not occur until fatigue has already occurred. Therefore, sleep is shifted and begins as soon as the opportunity arises after the shift ends. When the steady-state pressure drops below the wakefulness threshold and reaches the wakefulness induction zone, sleep ends naturally, even if the sleep duration is shortened and recovery is incomplete.
[0028] For comparison, Figure 6C This demonstrates the proactive placement of voluntary rest (e.g., daytime naps) before on-duty hours to alleviate anticipated high levels of fatigue. In this scenario, voluntary rest is a biologically constrained but not biologically determined choice. Therefore, predicting proactive voluntary rest involves not only predicting the dynamics of sleep / wake biology but also predicting behavior based on autonomous decision-making. The inventors have recognized that, based on biologically influenced predictability, voluntary rest is highly likely to mitigate anticipated high levels of future fatigue. Figure 6C As shown, voluntary rest periods before the night shift (e.g., proactive daytime naps between approximately 7:00 PM and 9:00 PM) can sufficiently reduce steady-state stress to prevent worker fatigue during the subsequent night shift. In other words, proactive daytime naps sufficiently reduce the worker's steady-state stress at the start of their shift, ensuring that the steady-state stress never exceeds the sleep threshold throughout the entire shift. In this example, the worker decides not to take any further voluntary rest after the night shift, and their sleep naturally begins earlier the next day to compensate for the lost sleep.
[0029] Several embodiments of the disclosed technology can provide predictions of when people will proactively take voluntary breaks during 24-hour operations and other environments without collecting historical records. Specifically, several embodiments of the disclosed technology are configured to iteratively estimate the optimal timing for voluntary break periods (e.g., 5, 15, or 30 minutes), assess any impact on expected fatigue during subsequent work periods given a voluntary break, and repeat the aforementioned process until expected fatigue during work periods has been sufficiently reduced. By tracking the location of voluntary break periods, a solution to the aforementioned estimation can be quickly found. Furthermore, at least some aspects of the disclosed technology can be readily implemented to evaluate complete work schedules with multiple work periods, each of which may or may not involve voluntary break behavior, and can be readily integrated with existing biomathematical fatigue models. Additionally, if historical records happen to be available, several embodiments of the disclosed technology can also utilize the available historical records to improve the accuracy of expected predictions.
[0030] Therefore, several embodiments of the disclosed technology can significantly improve the biomathematical modeling of fatigue. By at least reducing or even avoiding the collection, storage, and processing of any historical data, several embodiments of the disclosed technology can predict voluntary rest periods with significantly reduced resource requirements in terms of computing, networking, storage, and therefore power consumption. Furthermore, by utilizing the iterative estimation operations described above, solutions can be found without requiring a large amount of computing power, thereby further saving energy consumption and operation time.
[0031] Figure 1 This is a schematic diagram illustrating a computer-implemented model generator 100 configured to predict active autonomous rest without historical records, according to embodiments of the disclosed technology. Figure 1 As illustrated in the other accompanying figures, the various software components, objects, classes, modules, and routines can be computer programs, procedures, or flows written as source code in C, C++, C#, Java, and / or other suitable programming languages. Components can include, but are not limited to, one or more modules, objects, classes, routines, properties, processes, threads, executables, libraries, or other components. Components can be in source code or binary form. Components can also include pre-compiled source code aspects (e.g., classes, properties, procedures, routines), compiled binary units (e.g., libraries, executables), or artifacts instantiated and used at runtime (e.g., objects, processes, threads).
[0032] Within a system, different components can take different forms. As an example, a system may include a first component, a second component, and a third component that are operatively coupled to each other. The aforementioned components can (without limitation) include systems where the first component is an attribute in the source code, the second component is a binary-compiled library, and the third component is a thread created at runtime. Computer programs, processes, or flows can be compiled into object code, intermediate code, or machine code and presented for execution by one or more processors of a personal computer, tablet computer, web server, laptop computer, smartphone, and / or other suitable computing device.
[0033] Similarly, components may include hardware circuitry. In some examples, hardware may be considered as solidified software, while software may be considered as liquefied hardware. To cite just one example, the software instructions in a component may be programmed into a programmable logic array circuit or may be designed as a hardware component with appropriate integrated circuits. Likewise, hardware may be simulated by software. Various implementations of source code, intermediate code, and / or object code, along with associated data, may be stored in computer memory, including read-only memory, random access memory, disk storage media, optical storage media, flash memory devices, and / or other suitable computer-readable storage media. As used herein, the term "computer-readable storage media" excludes propagated signals.
[0034] like Figure 1 As shown, the model generator 100 may include a data preprocessor 102, a steady-state stress module 104, a prediction engine 104, and a backtracking module 108, which are operatively coupled to each other. Although Figure 1 While specific components are shown, in other embodiments, model generator 100 may include additional and / or different components besides at least one of the foregoing components. For example, in some implementations, data preprocessor 102 may be omitted. In other implementations, steady-state pressure module 106 may be externally and communicatively coupled to model generator 100. In still other implementations, model generator 100 may include output, network, storage, or other suitable types of components.
[0035] Data preprocessor 102 may be configured to receive data representing on-duty work schedules 101 for one or more workers. The on-duty work schedule 101 data may include the number of days and periods of time that one or more workers are on duty or absent from a planned or actual work schedule, or from a work schedule enhanced by information about other needs (e.g., preparation time, commuting, training and other non-operational duties, rest requirements / regulations, etc.) and / or opportunities for breaks during work. Although on-duty periods are used herein to illustrate various aspects of the disclosed technology, embodiments of the disclosed technology may also be applied to other activity periods that may be of interest to performance-critical, safety-critical, or other aspects.
[0036] In some embodiments, the data preprocessor 102 may also be configured to verify the received on-duty work schedule 101 (e.g., by checking for time conflicts) and indicate data errors based on certain preset criteria. In other embodiments, the data preprocessor 102 may be configured to format, segment, initialize, or otherwise prepare the received on-duty work schedule 101 data for further processing by the prediction engine 104. For example, the data preprocessor may represent the on-duty work schedule 101 in computer memory using an array of timeboxes labeled “on-duty” or “off-duty.” The data preprocessor 102 may also generate additional timebox arrays to track the timing of sleep. Additional timebox arrays may be created to track whether timeboxes have been checked for voluntary rest. Furthermore, the data preprocessor 102 may assign initial values for steady-state stress by calculating the state of the steady-state process based on the worker’s sleep / wake history or by making reasonable assumptions (e.g., the worker is well-rested at the start of the on-duty work schedule). An example data preparation process 110 that the data preprocessor 102 can perform is described below. Figure 2 This will be discussed below.
[0037] The steady-state pressure module 104 can be configured to determine the state of a worker's steady-state process for a specific time chamber. In some embodiments, the state of the steady-state process can be represented by a steady-state pressure or fatigue level based on the worker's circadian rhythm process. In other embodiments, the steady-state state can be represented by a combination of the aforementioned parameters and / or other suitable parameters. In one implementation, the steady-state pressure module 104 can be configured to calculate the steady-state pressure or fatigue level based on the following equations for the steady-state process (function S) and the circadian rhythm process (function C), as follows: Where t represents the time associated with the time bin, Δt is the time step; τ r and τ d , t0, and τ are the rising (increasing) and falling (decreasing) time constants of steady-state pressure changes during wakefulness and sleep, respectively; A, t0, and τ are the amplitude, phase, and period of the circadian rhythm process, respectively (where T typically = 24 hours). In other implementations, alternative sets of equations and parameter values can also be applied to determine the state of the steady-state process. See Example Process 150, executable by Data Preprocessor 102, for determining the state of a steady-state process. Figure 3 This will be discussed below.
[0038] The prediction engine 106 can be configured to iteratively examine the timeboxes of the received on-duty schedule 101 to look for possible voluntary breaks. In some embodiments, the prediction engine 106 can begin a loop at an initial time t. i The time bin or time slot is checked, and the initial time can be the starting time bin in the user-selected on-duty schedule 101, the starting on-duty period in the on-duty schedule 101, or other suitable time. Then, the prediction engine 106 can be configured to determine: (1) the subsequent time bin t i+1 Whether it falls at least partially within the working hours according to the on-duty schedule 101; and (2) time box t i+1 Whether the fatigue level exceeds a preset fatigue threshold. In response to determining that both of the above conditions are met, the prediction engine 106 can be configured to invoke the backtracking module 108, which can [do something] in t i+1 Previous time-period iterations search for optimal or near-optimal placement, allowing for autonomous rest during that time period to reduce fatigue during on-duty hours.
[0039] Prediction engine 106 can be configured to: in response to determining that a time bin is not a working period, based on time bin t i+1 The steady-state pressure level is assigned to a "sleep," "awake," or previous state. The prediction engine 106 can be configured to: check the time bin t iThen, other timeboxes are similarly checked by, for example, increasing the timebox count by a preset number (e.g., by 1). Thus, by iterating through all timeboxes in the on-duty schedule 101, the prediction engine 106 can generate and output a prediction result 103 showing that workers' rest periods are not only reactive but also proactive and voluntary, based on steady-state and circadian rhythm processes. An example process 120 for iteratively checking timeboxes to find possible voluntary rest periods is described below. Figure 4 Let's discuss this in more detail.
[0040] The backtracking module 108 can be configured to search for the optimal or near-optimal placement of voluntary rest periods, which can effectively reduce fatigue during subsequent on-duty hours when voluntary rest is taken. In some embodiments, the backtracking module 108 can be configured to isolate the backtracking window as immediately following t i+1 The previous set of timeboxes. Within the defined backtracking window, backtracking module 108 can be configured to generate a backtracking subset of timeboxes that: (1) are not in a "sleep" state; (2) are not in a "on-duty" state; and (3) do not have a flag indicating that (these) timeboxes have been checked. Backtracking module 108 can then determine whether the backtracking subset contains any timeboxes. Backtracking module 108 can be configured to: terminate execution and indicate to prediction engine 106 that no solution could be found if no timebox exists in the backtracking subset. Backtracking module 108 can be configured to: if at least one timebox (e.g., at time t) j The time bin t, which exists in the backtracking subset, is where the worker has the highest fatigue level. k And assign the "sleep" state to the time box t k In one implementation, the fatigue level can be defined as the steady-state pressure relative to a lower threshold. In other implementations, the fatigue level can be defined in other suitable ways.
[0041] Then, the backtracking module 108 can be configured to determine whether to set the "sleep" state to the timebox t. k Will this cause the steady-state pressure of any timebox in the backtracking window that is in a "sleep" state to fall below the wakefulness threshold? Backtracking module 108 can be configured to: if the steady-state pressure of at least one timebox in the backtracking window that is in a "sleep" state is below the wakefulness threshold, then reassign the "wakefulness" state to timebox t. k and the time box t k Marked as checked. Otherwise, the backtracking module 108 retains the time bin t assigned to it. k The timebox is in a "sleep" state and marked as having been checked. Then, the backtracking module 108 can be configured to determine the timebox t. i+1Is the fatigue level at the current location still above the fatigue threshold? If not, the backtracking module 108 returns the result to the prediction module 106. Otherwise, the backtracking module 108 iteratively returns to defining another backtracking subset until time bin t. i+1 The fatigue level is no longer higher than the fatigue threshold, or all timeboxes in the backtracking window have been checked, whichever occurred first. (Refer to...) Figure 5 Example process 160, discussed below, is used to search for the optimal or near-optimal placement of a self-rest period that can effectively reduce fatigue during subsequent on-duty hours when self-rest is taken.
[0042] Figure 2 This describes the on-duty work schedule 101 used to predict voluntary rest periods. Figure 1 The flowchart of the data preprocessing process 110 is shown. In the illustrated embodiment, the data preprocessor 102 ( Figure 2 The model generator 100 can be configured to perform part or all of the stages of process 110. In other embodiments, the model generator 100 ( Figure 2 Other suitable components may be configured to perform at least one stage of the process 110 described below.
[0043] like Figure 2 As shown, process 110 may include verification of the received on-duty work schedule 101. Figure 1 The data verification process includes an optional stage 111. In some embodiments, the on-duty work schedule 101 may be analyzed for time conflicts; for example, a time period may be simultaneously marked as on-duty and off-duty. In other embodiments, verifying the received data may include checking its authenticity (e.g., based on a digital certificate / signature) or indicating data errors based on certain preset criteria. In yet another embodiment, the verification stage 110 may be omitted from process 110.
[0044] Process 110 may also include, in stage 112, creating one or more timeboxes or time slot arrays based on the received on-duty work schedule. Figure 2In the illustrated embodiment, a sleep array 113, an on-duty array 115, and a check array 117 are shown for illustrative purposes. The sleep array 113 may include columns and rows representing, for example, the start time and end time of a timebox, and data fields containing data indicating a "sleep" or "awake" state. Similarly, the on-duty array 115 may include columns and rows representing, for example, the start time and end time of a timebox, and data fields containing data indicating an "on-duty" or "off-duty" state. Furthermore, the check array 117 may include columns and rows representing, for example, the start time and end time of a timebox, and data fields containing data indicating whether a timebox has been "checked" or "not checked." In other embodiments, the aforementioned arrays may include additional and / or different data fields, such as fields containing data indicating sequence numbers, counts, or other appropriate information. In further embodiments, arrays, tables, or other suitable data structures may be created in addition to or instead of the aforementioned arrays to facilitate the prediction module 106. Figure 1 (The operation of )
[0045] Then, process 110 may include one or more stages to initialize certain data fields in the aforementioned array. For example, in Figure 2 In the illustrated embodiment, process 110 may include setting all time slots in sleep array 113 to "awake" in stage 114 and setting all time slots in check array 117 to "unchecked" in stage 116, which may be performed in parallel. In other embodiments, the initialization of data fields in the aforementioned arrays may be performed sequentially, interleaved, or in other suitable manner. After the arrays are initialized, the operation of process 110 returns.
[0046] Figure 3 This is a flowchart illustrating process 150 for determining the steady-state process state used to predict autonomous rest. In the illustrated embodiment, steady-state pressure module 104 ( Figure 1 The model generator 100 can be configured to perform some or all of the stages of process 150. In other embodiments, the model generator 100 ( Figure 1 Other suitable components may be configured to perform at least one stage of the process 150 described below.
[0047] like Figure 3 As shown, process 150 may include a decision-making phase 152 to determine the time bin t. i Whether it is associated with a sleep state. In one embodiment, the foregoing determination may be based on sleep array 113 ( Figure 2 The corresponding time box t in ) i The data contained in the data fields. In other embodiments, this determination may be based on a combination of data from one or more data fields in the sleep or other arrays. In response to determining the timebox t iAssociated with sleep state, process 150 may include in stage 154 reducing the steady-state pressure level by an increment. On the other hand, in response to determining the time bin t... i Not associated with sleep state, process 150 may include, in stage 156, increasing the steady-state pressure level by an increment. The increment of steady-state pressure may be preset, for example, based on time of day, duration of time bin, or other factors. Process 150 then includes assigning the derived steady-state pressure level to the time bin t. i For example, by modifying sleep array 113 ( Figure 2 The data is stored in a suitable data structure, such as a . or other appropriate data structure. Then, the operation of procedure 150 returns.
[0048] Figure 4 This is a flowchart illustrating the process 120 of iteratively checking the timebox of the on-duty work schedule to find possible voluntary breaks. In the illustrated embodiment, the prediction engine 106 ( Figure 1 The model generator 100 can be configured to perform some or all of the stages of process 120. In other embodiments, the model generator 100 ( Figure 1 Other suitable components may be configured to perform at least one stage of the process 120 described below.
[0049] like Figure 4 As shown, process 150 may include a time bin t=t for time slot counting i=0. i Initiate a check loop to iteratively check the received on-duty work schedule 101 ( Figure 1 All time slots in the work schedule 101. In some embodiments, the initial time slot may be the time slot at the start of the work schedule 101. In other embodiments, the initial time slot may be the time slot of the first on-duty period in the work schedule 101, or it may be one of other suitable time slots in the work schedule 101. Then, process 150 proceeds by, for example, calling the steady-state pressure module 104 ( Figure 1 The process continues until the subsequent time slot t=t is determined. i+1 The steady-state pressure. The procedure for determining the steady-state pressure is described above. Figure 3 To describe in more detail.
[0050] Then, process 150 can proceed to decision stages 124 and 126 to determine the subsequent time slot t=t i+1 Whether the user is in an "on-duty" status and the subsequent time slot t=t i+1 Is the fatigue level high? In one implementation, if the subsequent time slot t = t i+1 When steady-state pressure rises above the sleep threshold and enters the sleep induction zone, fatigue levels are high. In other implementations, fatigue levels can be indicated as high based on other suitable criteria. Figure 4In the illustrated embodiment, the aforementioned determination includes a first decision phase 124, which involves, for example, searching the on-duty array 115 ( Figure 2 The time slot t is determined by the data in the corresponding data field of the (). i+1 Whether it has an "on-duty" status. In one embodiment, in response to determining time slot t = t i+1 Having reached the "on-duty" status, process 150 proceeds to the second decision stage 126 to determine the time slot t = t i+1 Is the fatigue level high? Response to a given time slot t=t i+1 The fatigue is high, and process 150 includes, for example, calling the backtracking module 108 ( Figure 1 ) Execute the backtracking procedure to investigate the passage through time slot t=t i+1 The previous proactive and autonomous rest was used to reduce the detected time slot t=t i+1 The possibility of high fatigue. Example operations for executing the backtracking procedure are referred to below. Figure 5 For more detailed description. In other embodiments, the determination of stage 126 may also be based on risk (e.g., the probability, extent, and / or duration of one or more adverse consequences related to fatigue, or the risk of considering other non-fatigue-related risk factors).
[0051] Response to a determined time slot t=t i+1 Not in "on duty" status, time slot t=t i+1 The fatigue level is not high, or the backtracking procedure has been executed. Process 150 has progressed to time slot t=t in stage 129. i+1 Assign either "sleep" or "awake" status. Although Figure 4 While allocation may be performed using certain decision-making stages, in other embodiments, such allocation may also utilize state machines or other suitable components. Figure 4 As shown, in response to a determined time slot t=t i+1 Without an "on-duty" status, process 150 includes an additional decision-making phase 134 to determine the time slot t=t derived in phase 122. i+1 Is the steady-state pressure below or above the wakefulness threshold? This is determined in response to a specific time slot t=t i+1 If the steady-state pressure is low or exceeds the wakefulness threshold, the fatigue level in that time slot is not high, or the backtracking procedure has been invoked, process 150 proceeds to, for example, by setting sleep array 113 ( Figure 2 The corresponding time slot t=t in ) i+1 The data values are used to assign the "awake" state.
[0052] Response to a determined time slot t = t i+1If the steady-state pressure is not lower than or does not exceed the wakefulness threshold, process 150 proceeds to another decision stage 136 to determine whether the steady-state pressure obtained in stage 122 is higher than or exceeds the sleep threshold. In response to determining that the steady-state pressure obtained in stage 122 is higher than or exceeds the sleep threshold, process 150 proceeds to a time slot t=t i+1 Assign a "sleep" state. In response to determining that the steady-state pressure derived in stage 122 is not high or does not exceed the sleep threshold, process 150 proceeds to the point where the pressure from time slot t=t i The same "sleep" or "wake" state is assigned to time slot t=t i+1 .
[0053] When assigning the "sleep" or "awake" state to time slot t = t i+1 Next, process 150 proceeds to another decision stage 142 to determine if there are any additional time slots in the on-duty schedule 101 that need to be checked. In response to determining that there are additional time slots in the on-duty schedule 101, process 150 proceeds to increment the time slot count by a step size (e.g., 1) and then returns to stage 122 to determine steady-state pressure. In response to determining that there are no additional time slots in the on-duty schedule 101 that need to be checked, process 150 proceeds to output sleep / wake prediction results in stage 146.
[0054] Figure 5 This is a flowchart illustrating process 160, which searches a backtracking window for the optimal or near-optimal placement of a voluntary rest period that can mitigate high fatigue during subsequent on-duty hours when voluntary rest is taken. The backtracking window comprises the time interval immediately preceding the timebox in which high fatigue is detected. The backtracking window can be 24 hours, 36 hours, 48 hours, or any other suitable duration. In the illustrated embodiment, backtracking module 108 ( Figure 1 The model generator 100 can be configured to perform part or all of the stages of process 160. In other embodiments, the model generator 100 ( Figure 1 Other suitable components may be configured to perform at least one stage of the process 160 described below.
[0055] like Figure 5As shown, process 160 may include, in stage 162, identifying a retrospective subset of timeboxes that do not have a "sleep" state, do not have an "on-duty" state, and have not previously attempted to place voluntary rest periods; that is, they have an "unchecked" state in the corresponding data fields of the sleep array 113, the on-duty array 115, and the check array 117, respectively. Process 160 may then include a decision stage 163 to determine whether the retrospective subset contains any timeboxes or slots. In response to determining that the retrospective subset does not contain any timeboxes or slots, process 160 returns. The absence of any timeboxes in the retrospective subset indicates that the previous assessment in the retrospective procedure has checked all possibilities of voluntary rest, thus making further active fatigue reduction impossible.
[0056] In response to determining that the backtracking subset does indeed contain at least one timebox or time slot, process 160 proceeds to stage 164, where the timebox t=t with the highest fatigue level is identified. k Although many suitable methods exist for this identification, in one embodiment, the difference between steady-state pressure and the sleep threshold can be used. Figures 6A-6C This difference provides a measure of excessive steady-state stress and is an estimate of fatigue levels. In other embodiments, the aforementioned identification can be performed using additional and / or different parameters. For example, certain timeboxes within the retrospective window can be assigned larger or smaller weights for selection. The weighting can be adapted to non-work-related constraints or preferences, i.e., when workers decide when to take voluntary breaks. For example, workers may prioritize sleep during designated times when other activities (e.g., eating, shopping, etc.) are not possible. People may also use sleeping pills or stimulants to promote sleep and wakefulness at specific times.
[0057] Therefore, the identified timebox t=t k It has the highest or near-highest probability of sleep occurrence and represents the minimum or near-minimum time investment for reducing fatigue. Therefore, assume the timebox t=t k This reflects the incremental portion of sleep occurrence time based on self-selected behavior and decision-making. Therefore, by, for example, modifying sleep array 113 ( Figure 2 The data in the corresponding data field of ) is the time bin t=t k Assign a "sleep" state.
[0058] The aforementioned incremental addition of voluntary rest during the backtracking window may cause the steady-state pressure to drop below the lower threshold at some point within the backtracking window, entering the wakefulness-inducing zone. Therefore, the previously assigned "sleep" state is no longer possible, as the worker would instead wake up naturally at that time. To address this possibility, the backtracking procedure of process 160 includes, in stage 166, a call to the aforementioned reference... Figure 4The described process 150 recalculates the steady-state process on a backtracking window (e.g., using a loop). The recalculation can be performed from the identified time bin t=t k The process 160 then includes a decision phase 168 to determine whether the steady-state pressure has fallen below a lower threshold or a sobriety threshold at any point within the backtracking window. In response to determining that the steady-state pressure in at least one timebox exceeds the lower threshold, process 160 includes indicating the timebox t=t k This is not a viable option, and in phase 170, the "awake" state is reassigned to the timebox t=t. k .
[0059] In response to determining that there is no place in the backtracking window where the steady-state pressure exceeds the lower threshold, or that the "awake" state has been reassigned to the time bin t=t. k Process 160 includes stage 172 for time bin t=t k Assign the "Checked" status. Then, process 160 proceeds to another decision phase 174 to determine the subsequent time bin t=t. i+1 Is the fatigue level still high? In response to determining the subsequent time bin t = t i+1 If fatigue levels remain high, process 160 returns to stage 162, defining an additional subset of timeboxes that do not have a "sleep" state, do not have an "on-duty" state, and have not previously attempted to place voluntary rest periods. Otherwise, process 160 returns. In this way, through voluntary rest, future fatigue can be reduced to just below [a certain level]. Figure 4 The threshold for the intermediate stage 126 operation, for example, is 10%, 5%, 1% or any other suitable percentage below the threshold, or, given the available autonomous rest opportunities, is reduced to at least the maximum or near-maximum extent if the duration of the autonomous rest period cannot be further increased.
[0060] Figure 7 It is suitable for execution Figure 1 The computing device 300 is a component of the model generator 100. For example, the computing device 300 may be suitable for use as a computing device. Figure 1 The data preprocessor 102, steady-state stress module 104, prediction engine 106, and / or backtracking module 108 are included. In a very basic configuration 302, computing device 300 may include one or more processors 304 and system memory 306. Memory bus 308 can be used for communication between processor 304 and system memory 306.
[0061] Depending on the required configuration, processor 304 can be of any type, including but not limited to microprocessors (μP), microcontrollers (μC), digital signal processors (DSPs), or any combination thereof. Processor 304 may include one or more levels of cache, such as a level 1 cache 310 and a level 2 cache 312, a processor core 314, and registers 316. Example processor core 314 may include an arithmetic logic unit (ALU), a floating-point unit (FPU), a digital signal processing core (DSP Core), a graphics processing unit (GPU), or any combination thereof. Example memory controller 318 may also be used with processor 304, or in some implementations, memory controller 318 may be an internal part of processor 304.
[0062] Depending on the required configuration, system memory 306 can be of any type, including but not limited to volatile memory (e.g., RAM), non-volatile memory (e.g., ROM, flash memory, etc.), or any combination thereof. System memory 306 may include operating system 320, one or more application programs 322 (e.g., Figure 2 The model generator 100) and program data 324 (e.g., on-duty work schedule 101 and / or prediction results 103). This basic configuration 302 is in Figure 7 The components shown are those within the inner dashed lines.
[0063] Computing device 300 may have additional features or functions, as well as additional interfaces, to facilitate communication between basic configuration 302 and any other devices and interfaces. For example, bus / interface controller 330 may be used to facilitate communication between basic configuration 302 and one or more data storage devices 332 via storage interface bus 334. Data storage device 332 may be removable storage device 336, non-removable storage device 338, or a combination thereof. Examples of removable and non-removable storage devices include disk devices, such as floppy disk drives and hard disk drives (HDDs), optical disk drives, such as optical disc (CD) drives or digital versatile optical disc (DVD) drives, solid-state drives (SSDs), and tape drives, etc. Example computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. The terms "computer-readable storage medium" or "computer-readable storage device" exclude propagated signal and communication media.
[0064] System memory 306, removable storage device 336, and non-removable storage device 338 are examples of computer-readable storage media. Computer-readable storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible by computing device 300. Any such computer-readable storage medium may be part of computing device 300. In other examples, at least one of the aforementioned storage devices may be replaced, supplemented, or otherwise linked via a computer network by a cloud storage device / service.
[0065] The computing device 300 may also include an interface bus 340 for facilitating communication from various interface devices (e.g., output devices 342, peripheral interfaces 344, and communication devices 346) via a bus / interface controller 330 to the basic configuration 302. An example output device 342 includes a graphics processing unit 348 and an audio processing unit 350, which may be configured to communicate with various external devices (e.g., displays or speakers) via one or more A / V ports 352. An example peripheral interface 344 includes a serial interface controller 354 or a parallel interface controller 356, which may be configured to communicate with external devices (e.g., input devices such as keyboards, mice, pens, voice input devices, touch input devices, etc.) or other peripheral devices (e.g., printers, scanners, etc.) via one or more I / O ports 358. An example communication device 346 includes a network controller 360, which may be arranged to facilitate communication with one or more other computing devices 362 via a network communication link through one or more communication ports 364.
[0066] A network communication link can be an example of a communication medium. A communication medium can typically be embodied in computer-readable instructions, data structures, program modules, or other data in a modulated data signal (such as a carrier wave or other transmission mechanism), and can include any information delivery medium. A “modulated data signal” can be a signal whose one or more characteristics are set or altered in a manner that encodes information in the signal. As an example and not a limitation, a communication medium can include wired media, such as wired networks or direct wired connections, and wireless media, such as acoustic, radio frequency (RF), microwave, infrared (IR), and other wireless media. The term “computer-readable medium” as used herein can include both storage media and communication media.
[0067] The computing device 300 can be implemented as part of a small-form-factor portable (or mobile) electronic device, such as a mobile phone, personal digital assistant (PDA), personal media player device, wireless network watch device, personal headset device, dedicated device, smartwatch, or hybrid device including any of the above functions. The computing device 300 can also be implemented as a personal computer including laptop and non-laptop configurations.
[0068] As can be understood from the foregoing, specific embodiments of the technology have been described herein for illustrative purposes, but various modifications may be made without departing from this disclosure. Furthermore, many elements of one embodiment may be combined with other embodiments to supplement or substitute elements of other embodiments. Therefore, this disclosure is not limited except by the appended claims.
Claims
1. A computer modeling method for predicting autonomous rest, comprising: Using a computer processor to execute instructions to initiate a loop to examine data representing multiple sequential time slots in a work-rest schedule, wherein examining the multiple sequential time slots includes: Calculate the steady-state pressure values at the time slots in the stated schedule; Determine (1) whether the calculated steady-state pressure value at the time slot exceeds a preset threshold, and (2) whether the time slot has a preset state associated with being on duty; and In response to determining that the calculated steady-state pressure value at the time slot exceeds the preset threshold and that the time slot has the preset state associated with being on duty, one or more time slots in the work schedule preceding the time slot are iteratively searched such that voluntary rest at the one or more time slots reduces the steady-state pressure at the time slot to no more than the preset threshold; and The output represents predicted data indicating that voluntary breaks will occur at one or more time slots in the said schedule, without relying on any historical records of such voluntary breaks in the said schedule.
2. The method according to claim 1, wherein calculating the steady-state pressure value at subsequent time slots in the schedule comprises: Determine whether the data field in the array corresponding to the preceding time slot contains data indicating sleep during the preceding time slot; In response to determining that the data field in the array contains data indicating sleep during the preceding time slot, the steady-state pressure value at the preceding time slot is decreased by a preset amount; In response to determining that the data field in the array contains data indicating wakefulness during the checked time slot, the steady-state pressure value at the previous time slot is incremented by another preset amount; and Set the steady-state pressure value at the time slot to a decreasing or increasing steady-state pressure value.
3. The method of claim 1, wherein the autonomous rest at one or more time slots reduces the steady-state pressure at the time slot to a new value that does not exceed the preset threshold and has a difference of less than 10%, 5% or 1% from the preset threshold.
4. The method of claim 1, wherein the portion of the schedule preceding subsequent time slots has a preset duration of 24, 36, or 48 hours.
5. The method of claim 1, wherein iteratively searching the one or more time slots comprises: The portion of the schedule preceding the time slot is defined as a backtracking window; and Identify a subset of time slots within the defined backtracking window, where each time slot in the subset is: It has a steady-state pressure level that does not exceed the preset threshold. It does not have the preset state; and They rested on their own without being checked.
6. The method of claim 1, wherein iteratively searching the one or more time slots comprises: The portion of the schedule preceding the time slot is defined as a backtracking window; Identify a subset of time slots within the defined backtracking window, where each time slot in the subset is: It has a steady-state pressure level that does not exceed the preset threshold. It does not have the preset state; and They rested on their own without being inspected. Determine whether the identified subset of time slots includes at least one time slot; and In response to the determination that the identified subset of time slots does not include a time slot, indicating that additional autonomous rest is not possible.
7. The method of claim 1, wherein iteratively searching the one or more time slots comprises: The portion of the schedule preceding the time slot is defined as a backtracking window; Identify a subset of time slots within a defined backtracking window, wherein each time slot in the subset has a steady-state pressure level not exceeding the preset threshold, does not have the preset state, and has not been checked for autonomous rest; and Within the identified subset of time slots, Select the time slot corresponding to a steady-state pressure level that is higher than all other time slots in the identified time slot subset; Determine whether the autonomous rest at the selected time slot will reduce the steady-state pressure at the time slot being checked to no more than the preset threshold; and In response to the determination that an autonomous rest at the selected time slot will reduce the steady-state pressure at subsequent time slots to no more than the preset threshold, predicted data indicating that the autonomous rest will occur at the selected time slot in the identified subset of time slots is generated.
8. The method of claim 1, wherein iteratively searching the one or more time slots comprises: The portion of the schedule preceding the time slot is defined as a backtracking window; Identify a subset of time slots within a defined backtracking window, wherein each time slot in the subset has a steady-state pressure level not exceeding the preset threshold, does not have the preset state, and has not been checked for autonomous rest; and Within the identified subset of time slots, Select the time slot corresponding to a steady-state pressure level that is higher than all other time slots in the identified time slot subset; Determine whether the autonomous rest at the selected time slot will reduce the steady-state pressure at the time slot being checked to no more than the preset threshold; and In response to the determination that autonomous rest at the selected time slot will not reduce the steady-state pressure at the checked time slot to no more than the preset threshold, Mark the selected time slot as checked; and Identify a new subset of time slots within the defined backtracking window, wherein each time slot in the new subset has a steady-state pressure level not exceeding the preset threshold, does not have the preset state, and has not been checked for autonomous rest; The aforementioned selection and determination operations are repeated within the newly identified subset of time slots.
9. The method of claim 1, wherein iteratively searching the one or more time slots comprises: The portion of the schedule preceding the time slot is defined as a backtracking window; Identify a subset of time slots within a defined backtracking window, wherein each time slot in the subset has a steady-state pressure level not exceeding the preset threshold, does not have the preset state, and has not been checked for autonomous rest; and Within the identified subset of time slots, Select the time slot corresponding to a steady-state pressure level that is higher than all other time slots in the identified time slot subset; Determine whether autonomous rest at the selected time slot will reduce the steady-state pressure at other time slots in the identified time slot subset to below another preset threshold; and In response to the determination that an autonomous rest at the selected time slot would reduce the steady-state pressure at other time slots in the identified time slot subset to below the other preset threshold, predictive data indicating that an autonomous rest will not occur at the selected time slot in the time slot subset is generated.
10. A computing device, comprising: processor; and A memory operatively coupled to the processor, the memory containing instructions executable by the processor to cause the computing device to perform the method according to any one of claims 1-9.