{"id":1903,"date":"2019-03-21T06:30:09","date_gmt":"2019-03-21T06:30:09","guid":{"rendered":"https:\/\/www.aiproblog.com\/index.php\/2019\/03\/21\/fascinating-new-results-in-the-theory-of-randomness\/"},"modified":"2019-03-21T06:30:09","modified_gmt":"2019-03-21T06:30:09","slug":"fascinating-new-results-in-the-theory-of-randomness","status":"publish","type":"post","link":"https:\/\/www.aiproblog.com\/index.php\/2019\/03\/21\/fascinating-new-results-in-the-theory-of-randomness\/","title":{"rendered":"Fascinating New Results in the Theory of Randomness"},"content":{"rendered":"<p>Author: Vincent Granville<\/p>\n<div>\n<p>I present here some innovative results in my most recent research on stochastic processes. chaos modeling, and dynamical systems, with applications to Fintech, cryptography, number theory, and random number generators. While covering advanced topics, this article is accessible to professionals with limited knowledge in statistical or mathematical theory. It introduces new material not covered in my recent book (available\u00a0<a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/fee-book-applied-stochastic-processes\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>) on applied stochastic processes. You don&#8217;t need to read my book to understand this article, but the book is a nice complement and introduction to the concepts discussed here.<\/p>\n<p>None of the material presented here is covered in standard textbooks on stochastic processes or dynamical systems. In particular, it has nothing to do with the classical logistic map or Brownian motions, though the systems investigated here exhibit very similar behaviors and are related to the classical models. This cross-disciplinary article is targeted to professionals with interests in statistics, probability, mathematics, machine learning, simulations, signal processing, operations research, computer science, pattern recognition, and physics. Because of its tutorial style, it should also appeal to beginners learning about Markov processes, time series, and data science techniques in general, offering fresh, off-the-beaten-path content not found anywhere else, contrasting with the material covered again and again in countless, identical books, websites, and classes catering to students and researchers alike.\u00a0<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1522621025?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1522621025?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>Some problems discussed here could be used by college professors in the classroom, or as original exam questions, while others are extremely challenging questions that could be the subject of a PhD thesis or even well beyond that level. This article constitutes (along with my book) a stepping stone in my endeavor to solve one of the biggest mysteries in the universe: are the digits of mathematical constants such as Pi, evenly distributed? To this day, no one knows if these digits even have a distribution to start with, let alone whether that distribution is uniform or not. Part of the discussion is about statistical properties of numeration systems in a non-integer base (such as the golden ratio base) and its applications. All systems investigated here, whether deterministic or not, are treated as stochastic processes, including the digits in question. They all exhibit strong chaos, albeit easily manageable due to their <a href=\"https:\/\/en.wikipedia.org\/wiki\/Ergodicity\" target=\"_blank\" rel=\"noopener noreferrer\">ergodicity<\/a>.\u00a0 .<\/p>\n<p>Interesting connections with the golden ratio, special polynomials, and other special mathematical constants, are discussed in section 2. Finally, all the analyses performed during this work were done in Excel. I share my spreadsheets in this article, as well as many illustration, and all the results are replicable.<\/p>\n<p><span style=\"font-size: 14pt;\"><strong>1. General framework, notations and terminology<\/strong><\/span><\/p>\n<p>We are dealing here with sequences { <em>x<\/em>(<em>n<\/em>) }, starting with <em>n<\/em> = 1, recursively defined by an iterative formula\u00a0<em>x<\/em>(<em>n\u00a0<\/em>+ 1) = <em>g<\/em>(<em>x<\/em>(<em>n<\/em>)). We will explore various functions <em>g<\/em> in the next sections. Typically, <em>x<\/em>(<em>n<\/em>) is a real number in [0, 1], and <em>g<\/em> is a mapping such that <em>g<\/em>(<em>x<\/em>(<em>n + 1<\/em>)) is also in\u00a0[0, 1]. The first, value, <em>x<\/em>(1), is called the <em>seed<\/em>. In short, <em>x<\/em>(<em>n<\/em>) is a time series or stochastic process, and the index <em>n<\/em> denotes the (discrete) time or iteration.\u00a0<\/p>\n<p>Typically, the values <em>x<\/em>(<em>n<\/em>) appear to be distributed somewhat randomly, according to some statistical distribution called the <em>equilibrium distribution<\/em>, and generally, the <em>x<\/em>(<em>n<\/em>)&#8217;s are auto-correlated.\u00a0 So <em>x<\/em>(<em>n<\/em>) can be seen as a realization or observation of a random variable <em>X<\/em>, whose distribution is the equilibrium distribution. That is, the empirical distribution of the <em>x<\/em>(<em>n<\/em>)&#8217;s, when computed on a large number of terms, tends to the theoretical equilibrium distribution in question.\u00a0 Also, in practice, the vast majority of seeds yield the same exact equilibrium distribution. Such seeds are known as <em>good seeds<\/em>, the other ones are called <em>bad seeds<\/em>.\u00a0<\/p>\n<p><strong>1.1. Finding the equilibrium distribution<\/strong><\/p>\n<p>The equilibrium distribution can be obtained by solving the equation P(<em>X<\/em> < <em>y<\/em>) = P(<em>g<\/em>(<em>X<\/em>) < y) with <em>y<\/em> in [0, 1]. This is actually a stochastic integral equation: the probability distribution P is the solution, and corresponds to the distribution of <em>X<\/em>. This distribution is sometimes denoted as <em>F<\/em>. Whether the equilibrium distribution exists or not, and whether it is unique or not (for good seeds), is not discussed here. However, we will provide several examples with unique equilibrium distribution, throughout this article, including how to solve the stochastic integral equation. The density attached to the equilibrium distribution is called the <em>equilibrium density<\/em>\u00a0and is denoted as <em>f<\/em>.<\/p>\n<p><strong>1.2. Auto-correlation and spectral analysis<\/strong><\/p>\n<p>The theoretical auto-correlation between successive values of <em>x<\/em>(<em>n<\/em>) can be computed as follows:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1473713810?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1473713810?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>Once computed, it is interesting to compare its value with the observed auto-correlation measured on the first few thousand terms of the sequence { <em>x<\/em>(<em>n<\/em>) }. Longer-term\u00a0auto-correlations (lag-2, lag-3 and so on) can be computed using the same principle, either theoretically or empirically (on data). The entire auto-correlation structure, given the equilibrium distribution, uniquely characterizes the stochastic process. The study of these auto-correlations is called <em>spectral analysis<\/em>.<\/p>\n<p><strong>1.3. Ergodicity, convergence, and attractors<\/strong><\/p>\n<p>So far we have looked at one instance or realization { x(n) } of the underlying process, characterized by a mapping <em>g<\/em> and a seed <em>x<\/em>(1). This provides enough information to determine the auto-correlation structure and equilibrium distribution, which do not depend on the good seed.\u00a0<\/p>\n<p>There is another way to look at things. You can simulate <em>m<\/em> deviates of a random variable <em>Z<\/em>(1) with any pre-specified distribution, say uniform on [0, 1]. Then apply the mapping <em>g<\/em> to each of these deviates, to obtain another set of <em>m<\/em>\u00a0values. These new values are <em>m<\/em> deviates of a random variable denoted as\u00a0<em>Z<\/em>(2), also with known\u00a0statistical distribution. Repeat this step over and over, to obtain <em>Z<\/em>(3), <em>Z<\/em>(4), and so on. For large <em>n<\/em>, <em>Z<\/em>(<em>n<\/em>) converges in distribution to the equilibrium distribution, regardless of the initial distribution chosen for <em>Z<\/em>(<i>1<\/i>). We illustrate how it works on an example, later in this article. Because convergence to the same equilibrium distribution occurs regardless of the initial distribution, the equilibrium distribution, in the language of dynamical systems, is called an <em>attractor distribution<\/em>. The method described here can be used to identify these attractors.\u00a0<\/p>\n<p>A stochastic process where the equilibrium distribution does not depend on <em>Z<\/em>(1) nor on the good seed, is called <em>ergodic<\/em>. All the processes studied here are ergodic. An example of non-ergodic process can be found <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/difficult-probably-problem-distribution-of-digits\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.\u00a0<\/p>\n<p><strong>1.4. Space state, time state, and Markov chain approximations<\/strong><\/p>\n<p>The <em>space state<\/em> is the space where {\u00a0<em>x<\/em>(<em>n<\/em>) } takes its values; here it is [0, 1] and is thus continuous. The <em>time space<\/em> is attached to the index <em>n<\/em>, and it is discrete here. However, in some of our examples,\u00a0<em>x<\/em>(<em>n<\/em>) can be written explicitly as a function of <em>n<\/em>, thus it can easily be extended to real values of <em>n<\/em>, making it a time-continuous process.\u00a0<\/p>\n<p>We can also divide the continuous space state [0, 1] into a finite number of disjoint intervals <em>S<\/em>(1), <em>S<\/em>(2), &#8230; , <em>S<\/em>(<em>k<\/em>). Rather than studying the full equilibrium distribution, we could compute the probabilities<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1475118402?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1475118402?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>Then we are dealing with a state-discrete Markov chain with <em>k<\/em> states, and <em>p<\/em>(<em>i<\/em>,\u00a0<em>j<\/em>) represents the transition probability for moving from state <em>i<\/em> to state <em>j<\/em>, estimated on <em>n<\/em> observations <em>x<\/em>(1), &#8230;, <em>x<\/em>(<em>n<\/em>). One can compute the <a href=\"http:\/\/www.sosmath.com\/matrix\/markov\/markov.html\" target=\"_blank\" rel=\"noopener noreferrer\">steady state probability vector<\/a>, by solving a linear system of <em>k<\/em> equations; it represents the stable state of the system. As <em>k<\/em>\u00a0and <em>n<\/em> tend to infinity and the intervals <em>S<\/em>(1), &#8230;, <em>S<\/em>(<em>k<\/em>) become infinitesimal, the steady state probability vector converges to the equilibrium density. This is another way to approximate the equilibrium distribution.\u00a0\u00a0<\/p>\n<p><strong>1.5. Examples<\/strong><\/p>\n<p>The most well known examples of { <em>x<\/em>(<em>n<\/em>) } are random walks (<em>n<\/em> discrete) and Brownian motions (<em>n<\/em> continuous). However, since the space state considered in this article is [0, 1], a better suited example would be a random walk constrained to stay within [0, 1]. Such processes are discussed <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/fee-book-applied-stochastic-processes\" target=\"_blank\" rel=\"noopener noreferrer\">in my book<\/a>, in chapter 3.<\/p>\n<p>Let us now introduce the example that we will discuss in detail throughout the remaining of this article. It is defined with the following mapping:\u00a0<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1475503614?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1475503614?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>Here the curly brackets represent the fractional part function, also denoted as FRAC. The straight brackets on the right-hand side, represent the integer part or floor function, also denoted as INT. Since the seed is between 0 and 1, we also have this interesting property: INT(<em>b<\/em> <em>x<\/em>(<em>n<\/em>)) is the <em>n<\/em>-th digit of the seed <em>x<\/em>(1), in base <em>b<\/em>. Thus the parameter <em>b<\/em> is called the <em>base<\/em>, and it can be any real number greater than 1. In the next section, we consider the case where <em>b<\/em> is in ]1, 2]. Non-integer bases are also discussed <a href=\"https:\/\/en.wikipedia.org\/wiki\/Non-integer_representation\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> and <a href=\"https:\/\/en.wikipedia.org\/wiki\/Golden_ratio_base\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>, and also extensively in my book. While this process looks very peculiar, there is a mapping between the base-2 system, and the very popular <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/logistic-map-chaos-randomness-and-quantum-algorithms\" target=\"_blank\" rel=\"noopener noreferrer\">logistic map system<\/a>: see chapter 10 in my book for details, or <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/number-representation-systems-explained-in-one-picture\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> for a summary.\u00a0\u00a0<\/p>\n<p>It makes sense to call this process the <em>base-b process<\/em>. If <em>b<\/em> is an integer, its equilibrium distribution is uniform on [0, 1] assuming you use a good seed. Also, if <em>b<\/em> is an integer, the auto-correlation between successive values of <em>x<\/em>(<em>n<\/em>) is 1 \/ <em>b<\/em>. This fact was probably mentioned for the first time, in my book. It was never proved, but assumed based on simulations and a lot of data crunching. The proof is actually quite simple and worth reading; it shows how to compute such auto-correlations, and constitutes an interesting classroom problem or exam question. You will find it in the appendix in this article.\u00a0\u00a0<\/p>\n<p>Pretty much all numbers in [0, 1] are good seeds for the <em>b<\/em>-process. However, there are infinitely many exceptions: in particular, none of the rational numbers is a good seed. Identifying the class of good seeds is an incredibly complicated problem, still unsolved today. If we knew which numbers are good seeds, we would know whether or not the digits of Pi or any popular mathematical constant, are evenly distributed. Another question is whether or not a good seed is just a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Normal_number\" target=\"_blank\" rel=\"noopener noreferrer\">normal number<\/a>, and conversely. The two concepts are closely related, and possibly identical. Later in this article, we will discuss a stochastic process where all seeds are good seeds.\u00a0<\/p>\n<p>Finally, the most interesting values of\u00a0<em>b<\/em> are those that are less than two. In some ways, the associated stochastic processes are also much easier to study. But most interestingly, the similarities between these <em>b<\/em>-processes and stochastic dynamical systems, are easier to grasp, for instance regarding branching behavior, and attractors. This is the subject of the next section. The second fundamental theorem in the next section is one of the fascinating results published here for the first time, and still a work in progress.\u00a0<\/p>\n<p>Note that if <em>b<\/em> is an integer, it is easy to turn the time-discrete <em>b<\/em>-process into a time-continuous one. We have<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1476359426?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1476359426?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>Thus the formula can be extended to values of <em>n<\/em> that are not integers.\u00a0<\/p>\n<p><span style=\"font-size: 14pt;\"><strong>2. Case study<\/strong><\/span><\/p>\n<p>In this section, we consider the <em>b<\/em>-process introduced as an example at the bottom of the first section, with <em>b<\/em> in ]1, 2]. We now jump right away to the two fundamental theorems, and cool applications will follow afterwards. The function <em>g<\/em> is the fractional part function, as introduced in the first section.\u00a0\u00a0<\/p>\n<p><strong>2.1. First fundamental theorem<\/strong><\/p>\n<p>Let <i>Z<\/i>\u00a0be a random variable with an arbitrary distribution <em>F<\/em>, admitting a density function <em>f<\/em>\u00a0on [0, 1]. Let <em>Y<\/em> = <em>g<\/em>(<i>Z<\/i>) be the fractional part of <em>bZ<\/em>, and <em>b<\/em> in ]1, 2]. Then we have:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1476992326?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1476992326?profile=RESIZE_710x\" class=\"align-center\"><\/a>This result is easy to obtain and constitutes an interesting classroom problem, or exam question. The proof is in the appendix. This theorem allows you to design a simple iterative algorithm to approximate the equilibrium distribution, and to asses how fast it converges to the solution. The result is valid even if the density function of <em>Z<\/em> has an infinite but countable number of discontinuities. This will be the case in the examples discussed here, in which a uniform distribution on [0, 1] is chosen for <em>Z<\/em>.\u00a0<\/p>\n<p>The algorithm, already discussed in the first section (see the ergodicity, convergence and attractors subsection), consists in iteratively computing the distribution of <em>g<\/em>(<em>Z<\/em>), <em>g<\/em>(<em>g<\/em>(<em>Z<\/em>)), <em>g<\/em>(<em>g<\/em>(<em>g<\/em>(<em>Z<\/em>))), and so on, until the difference between two successive iterates is small enough. Here, the difference is measured as the distance between two distributions, using one of the many distance metrics discussed in the literature (see <a href=\"https:\/\/en.wikipedia.org\/wiki\/Statistical_distance\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.)<\/p>\n<p>The next theorem tells you in more details what happens if you choose a uniform distribution on [0, 1], for <em>Z.<\/em>\u00a0This was our favorite choice in most of our simulations.\u00a0 \u00a0<\/p>\n<p><strong>2.2. Second fundamental theorem<\/strong><\/p>\n<p>We use the same assumptions as in the first theorem, but here <em>Z<\/em>\u00a0has a uniform distribution on [0, 1]. The following theorem can be used to find the equilibrium density, as illustrated in the appendix on\u00a0the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Supergolden_ratio\" target=\"_blank\" rel=\"noopener noreferrer\">supergolden ratio<\/a> constant.\u00a0<\/p>\n<p>Let <em>Z<\/em>(1) = <em>Z<\/em>, and\u00a0<em>Z<\/em>(<em>n<\/em>+1) = <em>g<\/em>(<em>Z<\/em>(<em>n<\/em>)). Then <em>Z<\/em>(<em>n+<\/em>1) has a piece-wise uniform distribution, more precisely, a <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/decomposition-of-statistical-distributions-using-mixture-models-a\" target=\"_blank\" rel=\"noopener noreferrer\">mixture<\/a> of\u00a0<em>n<\/em>+1 uniform distributions on <em>n<\/em>+1 intervals. These intervals are denoted as\u00a0<\/p>\n<p style=\"text-align: center;\">[0, <em>c<\/em>(1)[,\u00a0 \u00a0 \u00a0[<em>c<\/em>(1), <em>c<\/em>(2)[,\u00a0 \u00a0 \u00a0[<em>c<\/em>(2), <em>c<\/em>(3)[, &#8230; , [<em>c<\/em>(<em>n<\/em>), 1],<\/p>\n<p>and the constant value of the density of Z(<em>n<\/em>+1) on the\u00a0<em>k<\/em>-th interval (<em>k<\/em> = 1, &#8230; ,\u00a0<em>n<\/em>\u00a0+1) is denoted as <em>d<\/em>(<em>k<\/em>). The distribution of <em>Z<\/em>(<em>n<\/em>+1) has the following features:\u00a0<\/p>\n<ul>\n<li>Sometimes <em>c<\/em>(<em>k<\/em>-1) = <em>c<\/em>(<em>k<\/em>) depending on <em>b<\/em>,\u00a0<em>k<\/em>, and <em>n<\/em>\u00a0<\/li>\n<li><em>b^n d<\/em>(<em>k<\/em>) is an integer\u00a0and {\u00a0<em>d<\/em>(<em>k<\/em>) } is a decreasing sequence<\/li>\n<li><em>c<\/em>(<em>k<\/em>) is a polynomial of degree <em>n<\/em> in <em>b<\/em>,<em>\u00a0<\/em>with coefficients equal to 0, 1, or -1<em>\u00a0<\/em><\/li>\n<li>Only the dominant coefficient of this polynomial is equal to 1<\/li>\n<\/ul>\n<p>It is convenient to use the notation <em>c<\/em>(0) = 0 and <em>c<\/em>(<em>n<\/em>+1) = 1. The <em>c<\/em>(<em>k<\/em>)&#8217;s, for\u00a0<em>k<\/em>\u00a0= 1, &#8230; ,\u00a0<em>n<\/em>, are called the <em>change points<\/em>. A change point is thus a discontinuity in the density function. One of these change points is always equal to <em>b\u00a0<\/em>&#8211; 1.<\/p>\n<p>I haven&#8217;t completed the proof of the second theorem yet, and the theorem itself can probably be further refined. However, using the first fundamental theorem, it is easy to see that when moving from iteration <em>n<\/em> to <em>n<\/em>+1, we observe the following:<\/p>\n<ul>\n<li>Because <em>b<\/em>\u00a0is smaller then 2 and <em>Z<\/em>(<em>n<\/em>+1) takes on value between 0 and 1, it is clear that <em>Z<\/em>(<em>n<\/em>+1), the fractional part of <em>bZ<\/em>(<em>n<\/em>), takes more frequently on smaller values (closer to 0) than on larger ones (closer to 1.) Thus\u00a0the interval densities <em>d<\/em>(<em>k<\/em>) are highest next to zero, and lowest next to 1, and decreasing in between. This explains why { <em>d<\/em>(<em>k<\/em>) } is a decreasing sequence.<\/li>\n<li>The densities are also constant on each interval, as we are only dealing with intervals with uniform densities, throughout the iterations. Also <em>b<\/em>^<em>k<\/em> <em>d<\/em>(<em>k<\/em>) must be an integer, as the formula in the first fundamental theorem only involves adding integers (divided by b). This is easy to prove by recursion.\u00a0<\/li>\n<li>Finally, at iteration <em>n<\/em> = 2, we have a single change point <em>c<\/em>(<em>1<\/em>) = <em>b\u00a0<\/em>&#8211; 1, and two intervals. Any new iteration, because of the formula in the first fundamental theorem, creates a whole new set of new change points, each one either equal to <em>cb<\/em> or <i>c<\/i>(<i>b<\/i>\u00a0&#8211; 1), where <em>c<\/em> is any change point from the current iteration. This explains the special polynomial expression for <em>c<\/em>(<em>k<\/em>).\u00a0<\/li>\n<\/ul>\n<p>For any value of <em>n<\/em>, the exact distribution of <em>Z<\/em>(<em>n<\/em>+1) can be computed explicitly. The computation is elementary, but becomes incredibly tedious (and should be automated using some software) as soon as <em>n<\/em> is larger than 5: this is a combinatorial problem. But particular results are easier to obtain. The simplest case is as follows:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1484061457?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1484061457?profile=RESIZE_710x\" class=\"align-center\"><\/a>Exercise: prove that this is actually a density, that is,<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1483764534?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1483764534?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>Other easy cases include the full solution (for any value of <em>b<\/em> between 1 and 2) when <em>n<\/em> = 2 or <em>n<\/em> =3. This is left as an exercise. Note that if for some finite value of <em>n<\/em>, <em>Z<\/em>(<em>n<\/em>) has the equilibrium density, then <em>Z<\/em>(<em>n<\/em>+1), <em>Z<\/em>(<em>n<\/em>+2) and so on also have that exact same density.\u00a0 This is why the equilibrium distribution is called an attractor.\u00a0<\/p>\n<p><strong>2.3. Convergence to equilibrium: illustration<\/strong><\/p>\n<p>The first picture below illustrates the convergence of the empirical equilibrium densities to the theoretical solution, starting with a simulated uniform density on [0, 1] for <em>Z<\/em>(1), and computing the empirical densities for <em>Z<\/em>(2), <em>Z<\/em>(3), and so on, up to <em>Z<\/em>(7). You can check out the computations in\u00a0<a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1506742460?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\">this spreadsheet<\/a>. The parameter\u00a0<em>b<\/em>\u00a0used here is the supergolden ratio constant (see next section) and we used 100,000 observations to estimate each density.\u00a0<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1506573789?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1506573789?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>Below are a few equilibrium densities (approximated using the empirical density) for various values of <em>b<\/em>.\u00a0<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1502066949?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1502066949?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>The spreadsheet used to produce the 4 above charts, with detailed computations, is available <a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1501309462?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. Some exact solutions (where the theoretical equilibrium density is easy to compute) are provided in the next section and in the appendix, with a short tutorial on how to discover these solutions and to apply the methodology to the general case (see appendix.).\u00a0<\/p>\n<p><span style=\"font-size: 14pt;\"><strong>3. Applications<\/strong><\/span><\/p>\n<p>In this section, we discuss applications, still focusing for the most part on <em>b<\/em>-processes with <em>b<\/em> smaller than 2. But we also discuss other stochastic processes.<\/p>\n<p><strong>3.1. Potential application domains<\/strong><\/p>\n<p>Stochastic processes or time series models are routinely used in Fintech to model the price of some commodities. Thus, <em>b<\/em>-processes offer a new tool for quants, behaving quite differently than traditional processes and time series. The variety in these <em>b<\/em>-processes is such, and the behavior so unique depending on <em>b<\/em>, that it allows the data scientist to attach a unique number to an observed time series: its estimated parameter\u00a0<em>b<\/em>. Two different values of <em>b<\/em> provide two wildly different types of patterns, as is usually the case in all chaotic dynamical systems, for instance, with the logistic map. Whether in finance or other fields, these processes model situations in which an auto-correlated system evolves smoothly over time (flat or with a downward trend, either linear or non-linear), experiencing sharp drops every now and then, occurring at what we defined earlier as change points. Depending on <em>b<\/em>, the number of change points in the scaled time interval [0, 1] can be 2, 3, 4, and so on, up to values so large that the process looks perfectly smooth (this is the case, for instance if <em>b<\/em> is very close to 1.) Thus the parameter <em>b<\/em> can be chosen to fit with a wide array of change point locations, as well as various downward trends and drop intensities, observed in your data set. As discussed in section 2, the <em>b<\/em>-process can be seen as a smooth but infinite mixture of uniform distributions on infinitesimal intervals, or finite mixture on larger intervals, depending on <em>b<\/em>.\u00a0 \u00a0\u00a0<\/p>\n<p>Other specific applications include:<\/p>\n<ul>\n<li>Generation of non-periodic, continuous, replicable pseudo-random numbers. By far, the largest class of pseudo random number generators currently in use is made of periodic, discrete generators, though the period is extremely large in modern generators. And random numbers produced using physical devices are typically not replicable. To get a good generator, one would have to use a value of <em>b<\/em>\u00a0resulting in a known equilibrium distribution, start with a good seed, and map the sequence\u00a0{ <em>x<\/em>(<em>n<\/em>) } so that the distribution of the mapped <em>x<\/em>(<em>n<\/em>)&#8217;s (each one representing a random number) becomes uniform, with no auto-correlation. How to do this is described in the next sub-section about the golden ratio process.<\/li>\n<li>Thus, with a careful choice of <em>b<\/em> and proper mapping, <em>b<\/em>-processes can be used in cryptographic systems and Blockchain. Digits produced by <em>b<\/em>-processes, and defined as <em>a<\/em>(<em>n<\/em>) = INT(<em>b<\/em> x(<em>n<\/em>)), have the following particular property. The digits are binary (equal to 0 or 1), so each digit can be called a <em>bit<\/em>, using the language of information theory. Indeed, when <em>b<\/em> = 2, this is just the standard base-2 numeration system that we are all familiar with. However, when <em>b<\/em> is smaller than 2, each digit carries an amount of information smaller than the standard bit. Indeed, that amount is equal to the logarithm of <em>b<\/em>\u00a0in base 2 (and of course, equal to 0 if <em>b<\/em> = 1.) So not only we invented a unit of information that is smaller than the smallest unit currently in use, but it allows you to create encryption systems filled with some amount of natural blurring, which may or may not be useful depending on the purpose.\u00a0<\/li>\n<li>Another application is to benchmark computer systems, testing for accuracy when performing heavy computations that require a large number of decimals. If you compute the successive values of <em>x<\/em>(1), <em>x<\/em>(2) and so on up to <em>x<\/em>(<em>n<\/em>), all your numbers will be completely wrong once <em>n<\/em> is larger than 45. You may not notice it initially, but try in Excel with a base <em>b<\/em> that is an even integer: it will become very obvious! Sometimes it does not matter (for instance when studying asymptotic properties such as auto-correlations or the equilibrium distribution) because b-processes are ergodic, and sometimes it matters. This is discussed in detail in my book, available <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/fee-book-applied-stochastic-processes\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>: see the chapters about high precision computing, or read <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/high-precision-computing-benchmark-examples-and-tutorial\" target=\"_blank\" rel=\"noopener noreferrer\">this article<\/a>.\u00a0<\/li>\n<li>Finally, <em>b<\/em>-process can be used to benchmark and test the power of statistical tests, the sample size needed, and other statistical procedures. Since the &#8220;observations&#8221; {\u00a0<em>x<\/em>(<em>n<\/em>) } have a known statistical distribution (depending on <em>b<\/em>, see next subsection about the golden ratio process)\u00a0 &#8212; a property never found in actual, real life data sets &#8212; you can test a number of hypotheses (for instance about the value of some auto-correlation), and check when your statistical tests provide the right or wrong answer. Here, the right answer is known in advance!<\/li>\n<\/ul>\n<p><strong>3.2. Example: the golden ratio process<\/strong><\/p>\n<p>The golden ratio process, as its name indicates, corresponds to <em>b<\/em> = (1 + SQRT(5)) \/ 2. Its associated numeration system, with INT(<em>b<\/em> <em>x<\/em>(<em>n<\/em>)) representing the <em>n<\/em>-th digit of the seed\u00a0<em>x<\/em>(1) in base <em>b<\/em>, has been studied in some details, see <a href=\"https:\/\/en.wikipedia.org\/wiki\/Golden_ratio_base\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. This <em>b<\/em>-process is the best behaved one, and the easiest to study, besides <em>b<\/em> = 2. It is probably the only <em>b<\/em>-process with exactly one change point, and its equilibrium distribution is known (probably published here for the first time.) Thus, it is a good candidate for applications such as encryption, random number generation, model fitting, testing statistical tests, or Blockchain.\u00a0<\/p>\n<p>Using the notations introduced in section 2, this process has the following features:<\/p>\n<ul>\n<li>The unique change point is <em>c<\/em>(1) =\u00a0<em>b<\/em> &#8211; 1<\/li>\n<li>The equilibrium distribution is a mixture of two uniform distributions: one on [0, <em>c<\/em>(1)[, and one on [<em>c<\/em>(1), 1[<\/li>\n<li>At equilibrium, the two respective densities are <em>d<\/em>(1) = (5 + 3*SQRT(5)) \/ 10 and <em>d<\/em>(2) = (5 + SQRT(5)) \/ 10.\u00a0<\/li>\n<\/ul>\n<p>Below is a picture of the equilibrium density associated with this process:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1492686452?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1492686452?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>In order to make this process suitable for use in cryptography, one has to map { <em>x<\/em>(<em>n<\/em>) } onto a new sequence { <em>y<\/em>(<em>n<\/em>) }, so that the new equilibrium density becomes uniform on [0, 1]. This is achieved as follows:<\/p>\n<p style=\"text-align: center;\">If <em>x<\/em>(<em>n<\/em>) <\u00a0\u00a0<em>b\u00a0<\/em>-1, then <em>y<\/em>(<em>n<\/em>) = <em>x<\/em>(<em>n<\/em>) \/ (<em>b<\/em> &#8211; 1) else y(<em>n<\/em>) = (<em>x<\/em>(<em>n<\/em>) &#8211; (<em>b<\/em> &#8211; <em>1<\/em>)) \/ (2 &#8211; <em>b<\/em>).\u00a0<\/p>\n<p>Now the { <em>y<\/em>(<em>n<\/em>) } sequence has a uniform equilibrium distribution on [0, 1]. However, this new sequence has a major problem: high auto-correlations, and frequently, two or three successive values that are identical (this would not happen with a random <em>b<\/em>, but here <em>b<\/em> is the golden ratio &#8212; a very special value &#8212; and this is what is causing the problem.)<\/p>\n<p>A workaround is to ignore all values of x(<em>n<\/em>) that are larger than <em>b\u00a0<\/em>&#8211; 1, that is, discarding <em>y<\/em>(<em>n<\/em>) if <em>x<\/em>(<em>n<\/em>) is larger than <em>b<\/em> -1. This is really a magic trick. Now, not only the lag-1 auto-correlation in the remaining { <em>y<\/em>(<em>n<\/em>) } sequence is equal to 1\/2, the same value as for the full { <em>x<\/em>(<em>n<\/em>) } sequence with <em>b<\/em> = 2, but the lag-1 auto-correlation in the remaining sequence of binary digits (digits are defined as INT(<em>b<\/em> <em>y<\/em>(<em>n<\/em>)) is also equal to zero, just like for ordinary digits in base 2! The proof of these facts is left as an exercise.\u00a0<\/p>\n<p><strong>3.3. Finding other useful <em>b<\/em>-processes\u00a0<\/strong><\/p>\n<p>There are different ways to compute the equilibrium distribution when you have 3 change points or less. Finding the change points is easy: one of them is always <em>b<\/em> &#8211; 1, and the other ones can be any of these:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1493055673?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1493055673?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>You can identify them by visual inspection of the empirical equilibrium density. And among the 8 potential change points listed above, you must ignore those below 0 or above 1. Note that the golden ratio process actually has two change points: <em>b<\/em>^2 &#8211; <em>b<\/em>\u00a0 and <em>b<\/em> &#8211; 1. But <em>b<\/em>^2 &#8211; <em>b<\/em> = 1 in this case, thus the first one is not a real change point. If you try with <em>b<\/em> = 1.61 (very close to the golden ratio) this ghost change point is now visible, and it is very close to 1. If you try <em>b<\/em> = 1.60, you now have 3 change points. And with <em>b<\/em> = 1.59, the empirical equilibrium density looks entirely different, possibly with a lot of change points and no visible drop (just a linear, bumpy downward trend), though it is hard to tell. In some cases, a change point can be double (or triple) for instance if <em>b<\/em>^3 &#8211; <em>b<\/em>^2 &#8211; <em>b<\/em> = <em>b<\/em> &#8211; 1. It typically results in an equilibrium density with very few change points. Once the change points are known, the densities can be computed using the first fundamental theorem (see section 2 in this article) and solving a linear system of equations. This is illustrated in the appendix.\u00a0 \u00a0<\/p>\n<p>Interestingly, the <em>b<\/em>-processes most likely to have a simple equilibrium density with very few change points, correspond to <em>b<\/em>&#8216;s for which two of the above polynomials have the exact same value, or one is equal to 0 or 1, when evaluated for the <em>b<\/em> in question. This was the case for the golden ratio process. Below are other examples:\u00a0<\/p>\n<ul>\n<li><em>b<\/em>^3 &#8211; <em>b<\/em>^2 = 1 yields\u00a0<em>b<\/em> = 1.4655712318767&#8230; (3 change points,\u00a0<em>b<\/em> is the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Supergolden_ratio\" target=\"_blank\" rel=\"noopener noreferrer\">supergolden ratio<\/a>)<\/li>\n<li><em>b<\/em>^3 &#8211; <em>b<\/em>^2 &#8211; <em>b<\/em> = <em>b<\/em> &#8211; 1 yields\u00a0<em>b<\/em> = 1.8019377358048&#8230; (3 change points)<\/li>\n<li><em>b<\/em>^5 &#8211; <em>b<\/em>^4 = 1 or <em>b<\/em>^3 &#8211; <em>b<\/em> = 1 yields\u00a0<em>b<\/em> = 1.32471795724475&#8230; (4 change points, <em>b<\/em> is the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Plastic_number\" target=\"_blank\" rel=\"noopener noreferrer\">plastic number<\/a>)<\/li>\n<\/ul>\n<p>You can find more about these three special constants, <a href=\"http:\/\/archive.bridgesmathart.org\/2000\/bridges2000-87.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">in this article<\/a>. The exact values, respectively for the supergolden ratio and the plastic number, are\u00a0<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1500420469?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1500420469?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>To get an approximation of the equilibrium distribution and see the change points, start with a good seed <em>x<\/em>(1). For whatever reasons <em>x<\/em>(1) = SQRT(2)\/2 works better than Pi\/4. Then compute <em>x<\/em>(<i>n<\/i>) up to <i>N<\/i>\u00a0= 1,000,000, then plot the empirical equilibrium density computed on the <em>x<\/em>(<i>n<\/i>)&#8217;s. This is illustrated in my spreadsheet, available\u00a0<a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1501309462?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. See also the picture below based on values of\u00a0<em>x<\/em>(<i>n<\/i>) for <i>n<\/i>\u00a0=1, &#8230;,300,000,\u00a0 with\u00a0<em>b<\/em> being the plastic number.<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1501204382?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1501204382?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>As a general rule, the lower the value of <em>b<\/em>, the more change points, on average. Also, most values of <em>b<\/em>\u00a0(whether special or not) always produce a few major change points (and frequently a large number of minor ones), with big drops in the density function occurring at the major change points. Analyzing the polynomials discussed in the second fundamental theorem, can help you identify these major change points.\u00a0<\/p>\n<p>In the appendix, we completely solve the case where <em>b<\/em> is the supergolden ratio.\u00a0<\/p>\n<p><span style=\"font-size: 14pt;\"><strong>4. Additional research topics<\/strong><\/span><\/p>\n<p>Here we discuss three potential topics for future research: stochastic processes free of bad seeds, the asymptotic properties of attractors and the construction of a table of attractors summarizing their features, and finally, some applications of <em>b<\/em>-processes to probabilistic and experimental number theory, including the discussion of some special integrals.\u00a0<\/p>\n<p><strong>4.1. Perfect stochastic processes<\/strong><\/p>\n<p>The <em>b<\/em>-process, defined by <em>g<\/em>(<em>x<\/em>) = <em>bx<\/em> &#8211; INT(<em>bx<\/em>), has bad seeds, as discussed earlier. For a <em>b<\/em>-process, the vast majority of seeds are good seeds (the set of bad seeds actually has Lebesgue measure zero), but nobody knows if mathematical constants such as PI or SQRT(2) are good or bad seeds.\u00a0Are there any stochastic processes free of bad seeds? Such processes can have some benefits (but mostly drawbacks!) and are called <em>perfect processes<\/em>, until someone comes up with a better word. The term <em>universally good averaging sequence<\/em> is sometimes used. One example is the following.<\/p>\n<p>The process defined by <em>g<\/em>(<em>x<\/em>) = <em>x<\/em> + <em>b<\/em> &#8211; INT(<em>x<\/em> + <em>b<\/em>), where <em>b<\/em> is a positive irrational number, fits the bill. Since by definition,\u00a0<em>x<\/em>(<em>n<\/em>+1) = <em>g<\/em>(<em>x<\/em>(<em>n<\/em>)), it is easy to see that<\/p>\n<p style=\"text-align: center;\"><em>x<\/em>(<em>n<\/em>) = (<em>n<\/em>-1)<em>b<\/em> + <em>x<\/em>(1) &#8211; INT((<em>n<\/em>-1)<em>b<\/em> + <em>x<\/em>(1)).<\/p>\n<p>The fact that there is no bad seed is guaranteed by the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Equidistribution_theorem\" target=\"_blank\" rel=\"noopener noreferrer\">equidistribution theorem<\/a>. Even <em>x<\/em>(1) = 0 is a good seed.\u00a0<\/p>\n<p>This process is investigated in chapter 11 in my book, available <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/fee-book-applied-stochastic-processes\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> (see page 70.) The <em>n<\/em>-th binary digit is defined as INT(2 <em>x<\/em>(<em>n<\/em>)), and these digits carry even less information than those generated by <em>b<\/em>-processes with <em>b<\/em> between 1 and 2. If <em>b<\/em> = log(2), the first few digits of the seed <em>x<\/em>(1) = 0 are as follows:<\/p>\n<p style=\"text-align: center;\">0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0<\/p>\n<p>In contrast to <em>b<\/em>-processes, all seeds (regardless of <em>b<\/em>) have 50% of digits equal to 0, and 50% equal to 1. This process is related to integral C defined later in this article, in the sub-section\u00a0<em>Probabilistic calculus and number theory, special integrals<\/em>.<\/p>\n<p>The equilibrium distribution is always uniform if <em>b<\/em> is irrational, thus it is possible to compute the theoretical lag-1 auto-correlation of the sequence { <em>x<\/em>(<em>n<\/em>) } (using the first formula in section 1) and search for the few <em>b<\/em>&#8216;s that minimize, in absolute value, that auto-correlation. The empirical equilibrium distribution converges much faster to the theoretical one, than with <em>b<\/em>-processes.\u00a0However, I&#8217;ve found a striking, unusual pattern for <em>b<\/em> = Pi and\u00a0<em>b<\/em> = exp(Pi).<\/p>\n<p>The empirical density, computed on <em>x<\/em>(1), &#8230;, <em>x<\/em>(<em>n<\/em>)\u00a0and\u00a0binned into <em>N<\/em> intervals, shows strong periodic bumps that other irrational <em>b<\/em>\u00a0do not produce, not even <em>b<\/em> = Pi &#8211; 0.00001. It occurs even with the seed <em>x<\/em>(1) = 0, with specific values of <em>n<\/em> and <em>N<\/em>, for instance <em>n<\/em> = 10,000 and <em>N<\/em> = 100, or <em>n<\/em> =1,000,000 and <em>n<\/em> = 100, but not with <em>N<\/em> = 100,000 and <em>N<\/em> = 100. These bumps decrease as <em>n<\/em> increases, and convergence to uniform [0, 1] still occurs for <em>b<\/em> = Pi and <em>b<\/em> = exp(Pi). Initially, I thought it was an issue with my internal machine arithmetic, but both my Perl and Excel implementations reproduce the same patterns. The Perl code is available\u00a0<a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1522145767?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. The pattern is illustrated in the figure below.\u00a0\u00a0<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1522403555?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1522403555?profile=RESIZE_710x\" class=\"align-center\"><\/a>The above picture shows the empirical density, with\u00a0<em>n<\/em> = 56,000 observations and <em>N<\/em> = 100 bins, for four values of <em>b<\/em>. It is extremely close to the theoretical uniform equilibrium on [0, 1]. I truncated the\u00a0<em>Y<\/em>-axis to visually amplify the pattern described. The spreasheet is available\u00a0<a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1522599713?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<\/p>\n<p><strong>4.2. Characterization of equilibrium distributions (the attractors)<\/strong><\/p>\n<p>Another interesting research topic is about characterizing the class of attractors. That is, what kind of distribution is an equilibrium distribution? What makes them peculiar, compared to other distributions? Another question is about how the number of attractors grows as the number of change points increases. Is there an asymptotic relationship between the number of change points (say <em>N<\/em>), and the number of attractors that have <em>N<\/em> change points?<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1507498762?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1507498762?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>It is not even known if the number of attractors with a finite number of change points, is finite or infinite. Surely, there are more than two attractors with two change points, and much more than one attractor with three change points. The ones listed in the above table are only those that I have studied. So this table is a work in progress.\u00a0<\/p>\n<p><strong>4.3. Probabilistic calculus and number theory, special integrals<\/strong><\/p>\n<p>When I first started this research project a while back, the initial purpose was to study the behavior of the digits of numbers such as Pi. In fact, in this article, INT(<em>b<\/em>\u00a0<em>x<\/em>(<em>n<\/em>)) represents the <em>n<\/em>-th digit of the seed <em>x<\/em>(1) in base <em>b<\/em>, whether <em>b<\/em> is an integer, a real number between 1 and 2, or any real number above 1. My book\u00a0<em>Applied Stochastic Processes, Chaos Modeling, and Probabilistic Properties of Numeration Systems<\/em> published in June 2018 (see <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/fee-book-applied-stochastic-processes\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>) was the first milestone: developing a general framework to study this kind of problems. Since then, I have had new ideas. Here, I present some of them, related to this article, that I am still pursuing today.<\/p>\n<p>In this subsection, the notation { <em>x<\/em>\u00a0} represents the fractional part of the number <em>x<\/em>, in contrast to the remaining of the article, where { <em>x<\/em>(<em>n<\/em>) } represents the entire sequence <em>x<\/em>(1), <em>x<\/em>(2), and so on.\u00a0 Here we will only consider the case\u00a0<em>b<\/em> = 2.\u00a0 Also, the seed <em>x<\/em>(1) is denoted as <em>x<\/em>.<\/p>\n<p>If <em>b<\/em> is an integer and if the seed\u00a0<em>x = x<\/em>(1)\u00a0is in [0, 1[, we have, for <em>k<\/em>\u00a0larger or equal to 0:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1518913789?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1518913789?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>One of the promising starting points is the following result. The proportion of digits of <em>x<\/em> equal to 0 in base 2, is 50% if and only if the series below, with <em>b<\/em> = 2, converges:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1517889687?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1517889687?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>In particular, it always converges if <em>x<\/em> is a good seed in base 2. It would be interesting to study the wildly erratic behavior of this function, which is not only discontinuous everywhere, but admits a dense set of singularities (where it does not converge.) Note that if we replace <em>b<\/em>^<em>k<\/em> by <em>k<\/em> in the above series, it always converges whenever <em>x<\/em> is an irrational number, a consequence of the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Equidistribution_theorem\" target=\"_blank\" rel=\"noopener noreferrer\">equidistribution theorem<\/a>.\u00a0What happens if we replace <em>b<\/em>^<em>k<\/em> by <em>k<\/em>^<i>2 or k<\/i>^<i>b<\/i>\u00a0?<\/p>\n<p>A related quantity is the following:<a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1519657073?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1519657073?profile=RESIZE_710x\" class=\"align-center\"><\/a>If <em>b<\/em>\u00a0is an integer,\u00a0<em>M<\/em>(<em>b<\/em>) = (log 2) \/ 2 and does not depend on <em>x<\/em>, assuming\u00a0<em>x<\/em> is a good seed. If <em>b<\/em> is not an integer, <em>M<\/em>(<em>b<\/em>) is smaller than (log 2) \/ 2. More precisely, <em>M<\/em>(<em>b<\/em>) = <em>E<\/em>(<em>b<\/em>) log(2), where <em>E<\/em>(<em>b<\/em>) is the expected value of the equilibrium distribution of a\u00a0<em>b<\/em>-process. For instance,\u00a0<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1520065544?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1520065544?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>Finally, let us consider the following integrals:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1518447112?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1518447112?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>The first integral is related to the limit <em>M<\/em>(<em>b<\/em>). It is a type of Frullani integral. Using the techniques presented <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/some-irresistible-integrals\" target=\"_blank\" rel=\"noopener noreferrer\">in this article<\/a>, one would think that both the limit <em>M<\/em>(<em>b<\/em>) and the integral <em>A<\/em>\u00a0have the same value. The second integral is identical to the first one, after a change of variable that made the parameter <em>b<\/em> disappear. But\u00a0<em>B<\/em> = 1\/4, not (log 2) \/ 2. See <a href=\"https:\/\/math.stackexchange.com\/questions\/3148818\/what-is-the-value-of-int-0-infty-frac-ax2-ax-x-log-xdx\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> for details. The assumptions in the Frullani theorem (see <a href=\"https:\/\/math.stackexchange.com\/questions\/61828\/proof-of-frullanis-theorem\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>) must be violated in this case. What about <em>C<\/em>? That one is equal to (log 2) \/ 2, as one would expect. Other similar integrals can be found <a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/some-irresistible-integrals\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.\u00a0<\/p>\n<p>Integral A is associated with <em>b<\/em>-processes, which have bad seeds, and are sometimes called\u00a0<em>universally bad averaging sequences<\/em>\u00a0for that reason. Integral C is associated with a process with no bad seed, defined at the beginning of section 4, see\u00a0<em>Perfect stochastic processes<\/em>\u00a0in this article.<\/p>\n<p><span style=\"font-size: 14pt;\"><strong>5. Appendix<\/strong><\/span><\/p>\n<p>Here we dive into more technical details, regarding three problems discussed in the article.<\/p>\n<p><strong>5.1. Computing the auto-correlation at equilibrium<\/strong><\/p>\n<p>Here we consider the case where\u00a0<em>b<\/em> is an integer, so the equilibrium distribution is &#8220;known&#8221; to be uniform on [0, 1]. This fact has been taken for granted probably for more than a thousand years (and that&#8217;s why people believe that the digits of Pi and other mathematical constants, are uniformly distributed), but it would be nice (and easy) to prove it, if the seed is a good seed. This is left as an exercise. It is not true usually if the seed is a bad seed. Pi is believed to be a good seed, but no one has ever managed to prove it: it is one of the biggest mathematical challenges of all times, and I once offered a $500,000 award either for a solid proof or rebuttal of this fact.<\/p>\n<p>Note that at equilibrium, both <em>X<\/em> and <em>g<\/em>(X) have the same distribution, so their mean and variance are identical.\u00a0So if <em>b<\/em> is an integer and the seed <em>x<\/em>(1) is a good seed, the only challenge in the auto-correlation formula mentioned in the first section, is the computation of <em>E<\/em>[<em>X<\/em> <em>g<\/em>(<em>X<\/em>)].<\/p>\n<p>We have:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1516007486?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1516007486?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>By definition,\u00a0<em>g<\/em>(<em>X<\/em>) = <em>bX<\/em> &#8211; INT(<em>bX<\/em>). Thus,<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1516096980?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1516096980?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>Combined with the fact that <em>E<\/em>(<em>X<\/em>) = <em>E<\/em>(<em>g<\/em>(<em>X<\/em>)) = 1\/2 and Var(<em>X<\/em>) = Var(<em>g<\/em>(<em>X<\/em>)) = 1\/12, as the equilibrium distribution is uniform on [0, 1], we obtain the final result: the correlation between <em>X<\/em> and <em>g<\/em>(<em>X<\/em>), that is, the theoretical auto-correlation between two successive values of <em>x<\/em>(<em>n<\/em>), is equal to 1 \/ <em>b<\/em>. It is easy to check this result by computing the estimated value of the lag-1 auto-correlation on <em>x<\/em>(1), &#8230;, <em>x<\/em>(<em>n<\/em>), with <em>n<\/em> = 1,000,000: this test provides a very good approximation.<\/p>\n<p><strong>5.2. Proof of the first fundamental theorem<\/strong><\/p>\n<p>Here <em>b<\/em> is in ]1, 2]. If <em>Y<\/em> = <em>g<\/em>(<em>X<\/em>), we have, for <em>y<\/em> in [0, 1]:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1517105662?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1517105662?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>Thus, using the notation <em>F<\/em> for the probability distribution function (and <em>f<\/em> for the density) we have:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1517284048?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1517284048?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>Taking the derivative with respect to <em>y<\/em>\u00a0on both sides of the equation, we obtain the final result:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1517399484?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1517399484?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p><strong>5.3. How to find the exact equilibrium distribution<\/strong><\/p>\n<p>This is accomplished in two steps.<\/p>\n<p>First, compute <em>P<\/em>(<em>b<\/em>) for all the polynomials <em>P<\/em> mentioned in the second fundamental theorem. Any value of <em>P<\/em>(<em>b<\/em>) between 0 and 1 corresponds to a potential change point. By looking at the empirical equilibrium density, computed on 100,000 values of {\u00a0<em>x<\/em>(<em>n<\/em>) }, you can find the approximate value of the major change points: they correspond to points of discontinuity in the density function. For instance, if <em>b<\/em> = 1.4656&#8230; (the supergolden ratio), there is clearly a change point around 0.46, see the first picture in section 2. There is another one around 0.68. The exact values <em>c<\/em>(1) and <em>c<\/em>(2) of\u00a0the two change points are derived from two of these polynomials:<\/p>\n<p style=\"text-align: center;\"><em>c<\/em>(1) = <em>b<\/em> &#8211; 1, and <em>c<\/em>(2) = <em>b<\/em>^2 &#8211; <em>b<\/em>,\u00a0<\/p>\n<p>because no other polynomial (in the small list that you have to check) gets so close to 0.46 and 0.68 respectively, when evaluated at <em>b<\/em>.\u00a0<\/p>\n<p>Then, once the change points are identified, take three different values &#8212; one in each interval &#8212; for instance\u00a0<\/p>\n<p style=\"text-align: center;\">0.25 in <em>S<\/em>(1) = [0, <em>c<\/em>(1)[,\u00a0 0.50 in <em>S<\/em>(2) = [<em>c<\/em>(1), <em>c<\/em>(2)[,\u00a0 and 0.75 in <em>S<\/em>(3) = [c(2), 1].<\/p>\n<p>This assumes that you have three intervals, but you can easily generalize if you have more. Now apply the first fundamental theorem with <em>y<\/em> = 0.25, <em>y<\/em> = 0.50, and <em>y<\/em> = 0.75 respectively. You get:<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1511103026?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/1511103026?profile=RESIZE_710x\" class=\"align-center\"><\/a><\/p>\n<p>Note that<\/p>\n<ul>\n<li>0.853&#8230; = (1 + 0.25) \/ <em>b<\/em>, and it is in <em>S<\/em>(3), and 0.171&#8230; = 0.25 \/ <em>b<\/em>, and it is in <em>S<\/em>(1)<\/li>\n<li>0.341&#8230; = 0.50 \/ <em>b<\/em>, and it is in <em>S<\/em>(1)<\/li>\n<li>0.512&#8230; = 0.75 \/ <em>b<\/em>,\u00a0and it is in <em>S<\/em>(2)<\/li>\n<\/ul>\n<p>At equilibrium, the density functions of <em>X<\/em> and <em>Y<\/em> are identical. Thus, if <em>d<\/em>(1), <em>d<\/em>(2) and <em>d<\/em>(3) denote the density values in each of the 3 intervals, we end up with the following linear system, where <em>d<\/em>(1), <em>d<\/em>(2) and <em>d<\/em>(3) are the unknowns:<\/p>\n<p style=\"text-align: center;\"><em>d<\/em>(1) = (<em>d<\/em>(3) + <em>d<\/em>(1)) \/ <em>b<\/em><\/p>\n<p style=\"text-align: center;\"><em>d<\/em>(2) = <em>d<\/em>(1) \/ <em>b<\/em><\/p>\n<p style=\"text-align: center;\"><em>d<\/em>(3) = <em>d<\/em>(2) \/ <em>b<\/em>\u00a0<\/p>\n<p>It has an infinite number of solutions, and you need to add one constraint, the fact that the total density sums to 1, to be able to solve it. That constraint is<\/p>\n<p style=\"text-align: center;\"><em>d<\/em>(1)<em>c<\/em>(1) + <em>d<\/em>(2)(<em>c<\/em>(2) &#8211; <em>c<\/em>(1)) + <em>d<\/em>(3)(1 &#8211; <em>c<\/em>(2)) = 1,<\/p>\n<p style=\"text-align: left;\">that is,\u00a0<\/p>\n<p style=\"text-align: center;\"><em>d<\/em>(1)(<em>b<\/em>-1) + <em>d<\/em>(2)(<em>b<\/em>^2 &#8211; 2<em>b<\/em> +1) + <em>d<\/em>(3)(1 &#8211; <em>b<\/em>^2 + <em>b<\/em>) = 1.\u00a0<\/p>\n<p>Finally, the solution, in this case, is<\/p>\n<p style=\"text-align: center;\"><em>d<\/em>(1) = <em>b<\/em>^2 \/ (2<em>b<\/em>^3 &#8211; 4<em>b<\/em>^2 + 2<em>b<\/em> +1), <em>d<\/em>(2) = <em>d<\/em>(1) \/ <em>b<\/em>, and <em>d<\/em>(3) = <em>d<\/em>(1) \/ <em>b<\/em>^2.<\/p>\n<p>If you can not easily determine which polynomials yield the change points or you want to automate the method, you may as well try any two combinations of the potential polynomials (assuming you have two change points), and for each pair of polynomials (that that is, for each pair of change point candidates) solve a similar linear system. You then plug the tentative equilibrium densities obtained for each pair of polynomials, into the formula in the first fundamental theorem. Only one of them will satisfy the fact that <em>X<\/em> and <em>Y<\/em> have the same density everywhere on [0, 1], and that is the solution.\u00a0<\/p>\n<p><em>To not miss this type of content in the future,<span>\u00a0<\/span><a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/check-out-our-dsc-newsletter\">subscribe<\/a><span>\u00a0<\/span>to our newsletter. For related articles from the same author,\u00a0<a href=\"http:\/\/www.datasciencecentral.com\/profiles\/blogs\/my-data-science-machine-learning-and-related-articles\" target=\"_blank\" rel=\"noopener noreferrer\">click here<\/a><span>\u00a0<\/span>or visit<span>\u00a0<\/span><a href=\"http:\/\/www.vincentgranville.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">www.VincentGranville.com<\/a>. Follow me on<span>\u00a0<\/span><a href=\"https:\/\/www.linkedin.com\/in\/vincentg\/\" target=\"_blank\" rel=\"noopener noreferrer\">on LinkedIn<\/a>, or visit my old web page<span>\u00a0<\/span><a href=\"http:\/\/www.datashaping.com\/\">here<\/a>.<\/em><\/p>\n<p><span style=\"font-size: 14pt;\"><b>DSC Resources<\/b><\/span><\/p>\n<ul>\n<li><a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/new-books-and-resources-for-dsc-members\">Free Book and Resources for DSC Members<\/a><\/li>\n<li><a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/decomposition-of-statistical-distributions-using-mixture-models-a\">New Perspectives on Statistical Distributions and Deep Learning<\/a><\/li>\n<li><a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/data-science-wizardry\">Time series, Growth Modeling and Data Science Wizardy<\/a><\/li>\n<li><a href=\"https:\/\/www.datasciencecentral.com\/page\/search?q=statistical+concepts\">Statistical Concepts Explained in Simple English<\/a><\/li>\n<li><a href=\"https:\/\/www.datasciencecentral.com\/page\/search?q=in+one+pictures\">Machine Learning Concepts Explained in One Picture<\/a><\/li>\n<li><a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/comprehensive-repository-of-data-science-and-ml-resources\">Comprehensive Repository of Data Science and ML Resources<\/a><\/li>\n<li><a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/advanced-machine-learning-with-basic-excel\">Advanced Machine Learning with Basic Excel<\/a><\/li>\n<li><a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/difference-between-machine-learning-data-science-ai-deep-learning\">Difference between ML, Data Science, AI, Deep Learning, and Statistics<\/a><\/li>\n<li><a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/my-data-science-machine-learning-and-related-articles\">Selected Business Analytics, Data Science and ML articles<\/a><\/li>\n<li><a href=\"https:\/\/www.datasciencecentral.com\/profiles\/blogs\/how-to-automatically-determine-the-number-of-clusters-in-your-dat\">How to Automatically Determine the Number of Clusters in your Data<\/a><\/li>\n<li><a href=\"http:\/\/careers.analytictalent.com\/jobs\/products\">Hire a Data Scientist<\/a><span>\u00a0<\/span>|<span>\u00a0<\/span><a href=\"http:\/\/www.datasciencecentral.com\/page\/search?q=Python\">Search DSC<\/a><span>\u00a0<\/span>|<span>\u00a0<\/span><a href=\"http:\/\/www.analytictalent.com\/\">Find a Job<\/a><\/li>\n<li><a href=\"http:\/\/www.datasciencecentral.com\/profiles\/blog\/new\">Post a Blog<\/a><span>\u00a0<\/span>|<span>\u00a0<\/span><a href=\"http:\/\/www.datasciencecentral.com\/forum\/topic\/new\">Forum Questions<\/a><\/li>\n<\/ul>\n<p><span>Follow us:\u00a0<\/span><a href=\"https:\/\/twitter.com\/DataScienceCtrl\">Twitter<\/a><span>\u00a0|\u00a0<\/span><a href=\"https:\/\/www.facebook.com\/DataScienceCentralCommunity\/\">Facebook<\/a><\/p>\n<\/div>\n<p><a href=\"https:\/\/www.datasciencecentral.com\/xn\/detail\/6448529:BlogPost:810266\">Go to Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Author: Vincent Granville I present here some innovative results in my most recent research on stochastic processes. chaos modeling, and dynamical systems, with applications to [&hellip;] <span class=\"read-more-link\"><a class=\"read-more\" href=\"https:\/\/www.aiproblog.com\/index.php\/2019\/03\/21\/fascinating-new-results-in-the-theory-of-randomness\/\">Read More<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":468,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[26],"tags":[],"_links":{"self":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/1903"}],"collection":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=1903"}],"version-history":[{"count":0,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/1903\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media\/461"}],"wp:attachment":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=1903"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=1903"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=1903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}