add first example of polyfit

This commit is contained in:
grizzly 2024-07-18 22:11:07 -04:00
parent 97c036a8d0
commit 52b5fdeb98
2 changed files with 1310 additions and 12 deletions

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 35 KiB

View file

@ -8,29 +8,30 @@
The principle of #acr("EBS") is to use a function to determine which task is allowed to communicate at anypoint in time. The principle of #acr("EBS") is to use a function to determine which task is allowed to communicate at anypoint in time.
This principle provide a mathematically proovable way for each task to determine when to communicate. This principle provide a mathematically proovable way for each task to determine when to communicate without collision.
*Problem Statement:* *Problem Statement:*
#grid( #grid(
columns: (1fr,15fr,1fr), columns: (1fr,15fr,1fr),
[],[ [],[
Given $n$ tasks $t_i, i in [0,n-1]$, Given $n$ tasks $t_i, i in [0,n-1]$,
and an array of $m$ time periods $A = [x_0, dots.h.c, x_(m-1)]$ and a schedule array of $m$ time periods $A = [x_0, dots.h.c, x_(m-1)]$
where each element $x_i in [t_0,dots.h.c, t_(n-1)]$ is the task allowed to communicate at time $tau_i$, where each element $x_i in [t_0,dots.h.c, t_(n-1)]$ is the task allowed to communicate at time $tau_i$,
provide a set of $n$ scheduling functions $S=(s_0,dots.h.c,s_(n-1))$ such that, provide a scheduling functions $s$ such that,
for each time period $tau_i$, only $s_i(tau_i)$ associated with the task $t_i$ defined at by $A[i]$ for each time period $tau_i$, $s(tau_i) = A[tau_i]$.
validates a pre-defined _enable_ condition.
], ],
[] []
) )
The _enable_ condition is any condition defined on the value of a scheduling function evaluated at a regular time. = Polynomials
For example, a simple _enable_ condition can be the positivity of the value.
In this case, the definition of the scheduling functions set is
Contrary to popular beliefs, polynomials are not boring.
Let us consider a problem with four tasks $(t_0,t_1,t_2,t_3)$ and a schedule array of 20 time period
$ $
S = cases( A = [0,1,2,3,0,0,1,2,0,1,2,3,0,3,0,2,3,2,0,1]
&s_i(tau_i) > 0 "if" A[tau_i] = t_i, $
&s_(j eq.not i) < 0 "else",
#figure(
image("images/polyfit.svg", width:100%),
caption: "Scheduling function defined as a polynomial fit of the scheduling array."
) )
$