Dynamically Scaled Fuzzy Control of Autonomous Intelligent Actor
Alex Tserkovnyorcid
Applied AI Services, Brookline, USA.
DOI: 10.4236/jsea.2023.167016   PDF    HTML   XML   72 Downloads   266 Views  

Abstract

The article presents an approach toward the implementation of an Autonomous Intelligent Actor’s (AIA) [1] fuzzy control mechanism, when each step of it is based on dynamically defined scale. Such a scale is directed by fuzzy conditional inference rule. The approach, offered in the article, allows “soft landing” of AIA on a Target even in a case of “unfriendly” docking situation.

Share and Cite:

Tserkovny, A. (2023) Dynamically Scaled Fuzzy Control of Autonomous Intelligent Actor. Journal of Software Engineering and Applications, 16, 301-313. doi: 10.4236/jsea.2023.167016.

1. Introduction

The article introduces a multi-step fuzzy control mechanism as a “tactical” decision making process for Intelligent Actor (AIA) to approach a Target. For this purpose, we have proposed to use a set of dynamically defined scales for each AIA positioning coordinates. Such scales would reflect a “quasi” speed of AIA movement at each moment of time. For this purpose, we are using “human like behavior” approach toward an AIA control, namely “the further AIA from a Target, the faster AIA is moving (the larger steps AIA makes)” and “the closer AIA to a Target, the slower AIA moves (the smaller AIA steps)”.

2. Logical Principles of AIA Orientation

2.1. Preliminary Considerations

Let consider that both Target and Object, a subject of mutual navigation, to be presented as octagons, depicted on Figure 1 [1] . Also, we use octagons for simplification’s sake only. Given the fact that we are studying a projection-based model, both targets and objects could be presented as follows [1] :

Figure 1. [1] Object and target space representation.

T = { t j } ; j = 1 , n ¯ . Where j is number of heights of a Target, whereas O = { o i } ; i = 1 , m ¯ and i is number of heights of an Object. Both a target and an object could be presented in three-dimensional space as follows:

t j T = { x j t , y j t , z j t } ; j = 1 , n ¯ , o j O = { x i o , y i o , z i o } ; i = 1 , m ¯ . (2.1)

On the other hand, from Figure 1 each value of both a Target and an Object coordinate could be presented as a pair of minimal and maximal (per 3D coordinate) values of them. For targets, in particular

j [ 1 , n ] | x min T = min j { x j t } , x max T = max j { x j t } , y min T = min j { y j t } , y max T = max j { y j t } , min j { z j t } , z max T = max j { z j t } , z min T = min j { z j t } (2.2)

By analogy, for objects we are getting:

j [ 1 , n ] | x min O = min j { x j o } , x max O = max j { x j o } , y min O = min j { y j o } , y max O = max j { y j o } , min j { z j o } , z max O = max j { z j o } , z min O = min j { z j o } (2.3)

2.2. Predicates of Two Entities Mutual Relations

Considering (2.2)-(2.3) we can formulate some logical predicates, which would describe mutual positioning of two players in the paradigm of a projection-based model. Let us define predicates as relation symbols, describing a variety of positions of two entities in a space in a connection to each other.

2.3. Preconditions for Actions and Entity Shape Estimation

Before formulation of a possible actions, which could be performed by certain entities, and given (2.2) and (2.3) we have to consider for each entity the following points in 3-dimentional space T c e n t e r = { x c e n t e r T , y c e n t e r T , z c e n t e r T } for a Target and O c e n t e r = { x c e n t e r O , y c e n t e r O , z c e n t e r O } for an Object correspondingly, These points could define some conditional center of a gravity for each of them (median points in space)

x c e n t e r T = x max T + x min T 2 , x c e n t e r O = x max O + x min O 2 (2.4)

y c e n t e r T = y max T + y min T 2 , y c e n t e r O = y max O + y min O 2 (2.5)

z c e n t e r T = z max T + z min T 2 , z c e n t e r O = z max O + z min O 2 (2.6)

2.4. Docking Positioning Predicates

We define the following predicates [2] by using (2.4)-(2.6)

1) Object docks in front of a Target (DIF)

D I F ( O , T ) x c e n t e r T = x c e n t e r O & z c e n t e r T = z c e n t e r O & y max T = y min O (2.7)

Δ x . . = x c e n t e r T . . x c e n t e r O . . (2.8)

c l X = { ( x c e n t e r T . . / x c e n t e r O . . ) 100 , Δ x 0 , ( x c e n t e r O . . / x c e n t e r T . . ) 100 , othervise (2.9)

Δ y . . = y min O . . y max T . . (2.10)

c l Y = { ( y min O . . / y max T . . ) 100 , Δ y 0 , ( y max T . . / y min O . . ) 100 , othervise (2.11)

Δ z . . = z c e n t e r T . . z c e n t e r O . . (2.12)

c l Z = { ( z c e n t e r T . . / z c e n t e r O . . ) 100 , Δ z 0 , ( z c e n t e r O . . / z c e n t e r T . . ) 100 , othervise (2.13)

2) Object docks at back of a Target (DAB)

D A B ( O , T ) x c e n t e r T = x c e n t e r O & z c e n t e r T = z c e n t e r O & y min T = y max O (2.14)

Δ x . . = x c e n t e r T . . x c e n t e r O . . (2.15)

c l X = { ( x c e n t e r T . . / x c e n t e r O . . ) 100 , Δ x 0 , ( x c e n t e r O . . / x c e n t e r T . . ) 100 , othervise (2.16)

Δ y . . = y max O . . y min T . . (2.17)

c l Y = { ( y max O . . / y min T . . ) 100 , Δ y 0 , ( y min T . . / y max O . . ) 100 , othervise (2.18)

Δ z . . = z c e n t e r T . . z c e n t e r O . . (2.19)

c l Z = { ( z c e n t e r T . . / z c e n t e r O . . ) 100 , Δ z 0 , ( z c e n t e r O . . / z c e n t e r T . . ) 100 , othervise (2.20)

3) Object docks at left of a Target (DAL)

D A L ( O , T ) y c e n t e r T = y c e n t e r O & z c e n t e r T = z c e n t e r O & x min T = x max O (2.21)

Δ x . . = x min T . . x max O . . (2.22)

c l X = { ( x max O . . / x min T . . ) 100 , Δ x 0 , ( x min T . . / x max O . . ) 100 , othervise (2.23)

Δ y . . = y c e n t e r T . . y c e n t e r O . . (2.24)

c l Y = { ( y c e n t e r T . . / y c e n t e r O . . ) 100 , Δ y 0 , ( y c e n t e r O . . / y c e n t e r T . . ) 100 , othervise (2.25)

Δ z . . = z c e n t e r T . . z c e n t e r O . . (2.26)

c l Z = { ( z c e n t e r T . . / z c e n t e r O . . ) 100 , Δ z 0 , ( z c e n t e r O . . / z c e n t e r T . . ) 100 , othervise (2.27)

4) Object docks at right of a Target (DAR)

D A R ( O , T ) y c e n t e r T = y c e n t e r O & z c e n t e r T = z c e n t e r O & x max T = x min O (2.28)

Δ x . . = x max T . . x min O . . (2.29)

c l X = { ( x min O . . / x max T . . ) 100 , Δ x 0 , ( x max T . . / x min O . . ) 100 , othervise (2.30)

Δ y . . = y c e n t e r T . . y c e n t e r O . . (2.31)

c l Y = { ( y c e n t e r T . . / y c e n t e r O . . ) 100 , Δ y 0 , ( y c e n t e r O . . / y c e n t e r T . . ) 100 , othervise (2.32)

Δ z . . = z c e n t e r T . . z c e n t e r O . . (2.33)

c l Z = { ( z c e n t e r T . . / z c e n t e r O . . ) 100 , Δ z 0 , ( z c e n t e r O . . / z c e n t e r T . . ) 100 , othervise (2.34)

5) Object docks on top of a Target (DOT)

D O T ( O , T ) x c e n t e r T = x c e n t e r O & y c e n t e r T = y c e n t e r O & z max T = z min O (2.35)

Δ x . . = x c e n t e r T . . x c e n t e r O . . (2.36)

c l X = { ( x c e n t e r T . . / x c e n t e r O . . ) 100 , Δ x 0 , ( x c e n t e r O . . / x c e n t e r T . . ) 100 , othervise (2.37)

Δ y . . = y c e n t e r T . . y c e n t e r O . . (2.38)

c l Y = { ( y c e n t e r T . . / y c e n t e r O . . ) 100 , Δ y 0 , ( y c e n t e r O . . / y c e n t e r T . . ) 100 , othervise (2.39)

Δ z . . = z max T . . z min O . . (2.40)

c l Z = { ( z min O . . / z max T . . ) 100 , Δ z 0 , ( z max T . . / z min O . . ) 100 , othervise (2.41)

6) Object docks under (at bottom) of a Target (DUN)

D U N ( O , T ) x c e n t e r T = x c e n t e r O & y c e n t e r T = y c e n t e r O & z min T = z max O (2.42)

Δ x . . = x c e n t e r T . . x c e n t e r O . . (2.43)

c l X = { ( x c e n t e r T . . / x c e n t e r O . . ) 100 , Δ x 0 , ( x c e n t e r O . . / x c e n t e r T . . ) 100 , othervise (2.44)

Δ y . . = y c e n t e r T . . y c e n t e r O . . (2.45)

c l Y = { ( y c e n t e r T . . / y c e n t e r O . . ) 100 , Δ y 0 , ( y c e n t e r O . . / y c e n t e r T . . ) 100 , othervise (2.46)

Δ z . . = z min T . . z max O . . (2.47)

c l Z = { ( z min T . . / z max O . . ) 100 , Δ z 0 , ( z max O . . / z min T . . ) 100 , othervise (2.48)

2.5. Fuzzification of Docking Positioning

We represent clX from (2.9), (2.16), (2.23), (2.30), (2.37), (2.44), and also clY from (2.11), (2.18), (2.25), (2.32), (2.39), (2.46) and clZ from (2.13), (2.20), (2.27), (2.34), (2.41), (2.48) as a fuzzy set, forming linguistic variable, described by a triplet of the form C L = { c l i , U c l , C L ˜ } , c l i T ( u c l ) , i [ 0 , C a r d U C L ] , where T i ( u c l ) is extended term set of the linguistic variable “Closeness” from Table 1, C L ˜ is normal fuzzy set with correspondent membership function μ c l : U C L [ 0 , 1 ] .

We will use the following mapping α : C L ˜ U C L | u c l = E n t [ ( C a r d U C L 1 ) × c l n o r m ] | i [ 0 , C a r d U C L ] , were

C L ˜ = U c l μ c l ( u c l ) / u c l (2.49)

Table 1. Linguistic variables for object/target closeness and control steps scale.

On the other hand, similarly to the previous cases, to determine the estimates of the membership function in terms of singletons from (2.49) in the form μ c l i ( c l i ) / c l i | i [ 0 , C a r d U C L ] we propose the following procedure.

i [ 0 , C a r d U C L ] , μ c l ( c l i ) = 1 1 C a r d U C L 1 × | i E n t [ ( C a r d U C L 1 ) × c l n o r m ] | (2.50)

We also represent Δ x . . from (2.8), (2.15), (2.22), (2.29), (2.36), (2.43) and also Δ y . . from (2.10), (2.17), (2.24), (2.31), (2.38), (2.45) and finally Δ z . . from (2.12), (2.19), (2.26), (2.33), (2.40), (2.47) as a fuzzy set, forming linguistic variable, described by a triplet of the form

S T = { s t j , U S T , S T ˜ } , s t j T ( u s t ) , j [ 0 , C a r d U S T ] , where T j ( u s t ) is extended term set of the linguistic variable “Steps_scale” from Table 1, S T ˜ is normal fuzzy set with correspondent membership function μ s t : U s t [ 0 , 1 ] .

We will also use the following mapping Ω : S T ˜ U S T | u s t = E n t [ ( C a r d U S T 1 ) × s t j ] | j [ 0 , C a r d U S T ] , were

S T ˜ = U S T μ s t ( u s t ) / u s t . (2.51)

On the other hand, similarly to the previous cases, to determine the estimates of the membership function in terms of singletons from (2.51) in the form μ s t j ( s t j ) / s t j | j [ 0 , C a r d U S T ] we propose the following procedure.

j [ 0 , C a r d U S T ] , μ s t j ( s t j ) = 1 1 C a r d U S T 1 × | j E n t [ ( C a r d U S T 1 ) × s t j ] | (2.52)

To convert (2.49)-(2.52) into fuzzy logic-based statement and terms from Table 1 we use a Fuzzy Conditional Inference Rule, formulated by means of “common sense as a following conditional clause:

P = “IF ( C L ˜ is CL), THEN ( S T ˜ is ST)” (2.53)

In other words, we use fuzzy conditional inference of the following type [3] [4] [5] [6] :

Ant 1: If Closeness is CL then Steps_scale is ST

Ant2: Closeness is CL

--------------------------------------------------------------- (2.54)

Cons: Steps_scale is ST’.

Where C L , C L U C L and S T , S T U S T .

Note that statement (2.54) represents “modus-ponens” syllogism. Given that we use the following type of implication [7]

A B = { ( 1 a ) b , a > b , 1 , a b (2.55)

Now for fuzzy sets (2.49) and (2.51) a binary relationship for the fuzzy conditional proposition for fuzzy logic with implication of type (2.55) is defined as

R ( A 1 ( c l ) , A 2 ( s t ) ) = C L × U C L S T × U S T = U C L × U S T ( μ c l ( u c l ) / u c l μ s t ( u s t ) / u s t ) / ( u c l , u s t ) (2.56)

and since we consider that C a r d U C L = C a r d U S T , then expression (2.56) looks like

μ c l ( u c l ) / u c l μ s t ( u s t ) / u s t = { ( 1 μ c l ( u c l ) ) μ s t ( u s t ) , μ c l ( u c l ) > μ s t ( u s t ) , 1 , μ c l ( u c l ) μ s t ( u s t ) . (2.57)

By using (2.54) and given a unary relationship R ( A 1 ( c l ) ) = C L one can obtain the consequence R ( A 2 ( s t ) ) by compositional rule of inference (CRI) to R ( A 1 ( c l ) ) and R ( A 1 ( c l ) , A 2 ( s t ) ) of type (2.57):

R ( A 2 ( s t ) ) = C L R ( A 1 ( c l ) , A 2 ( s t ) ) = U C L μ c l ( u c l ) / u c l U C L × U S T μ c l ( u c l ) μ s t ( u s t ) / ( u c l , u s t ) = U S T c l U c l ( [ μ c l ( u c l ) μ c l ( u c l ) ] μ s t ( u s t ) ) / u s t . (2.58)

But for practical purposes we will use another Fuzzy Conditional Rule (FCR)

R ( A 1 ( c l ) , A 2 ( s t ) ) = ( C L × U C L S T × U S T ) ( ¬ C L × U C L U S T × ¬ S T ) = U C L × U S T ( μ c l ( u c l ) μ s t ( u s t ) ) ( ( 1 μ c l ( u c l ) ) ( 1 μ s t ( u s t ) ) ) / ( u c l , u s t ) (2.59)

Given (2.57) from (2.59) we are getting

R ( A 1 ( c l ) , A 2 ( s t ) ) = ( μ c l ( u c l ) μ s t ( u s t ) ) ( ( 1 μ c l ( u c l ) ) ( 1 μ s t ( u s t ) ) ) = { ( 1 μ c l ( u c l ) ) μ s t ( u s t ) , μ c l ( u c l ) > μ s t ( u s t ) , 1 , μ c l ( u c l ) = μ s t ( u s t ) , ( 1 μ s t ( u s t ) ) μ c l ( u c l ) , μ c l ( u c l ) < μ s t ( u s t ) . (2.60)

3. Scaling

3.1. Basic Principles of Object Decision Making

As it was mentioned above, “human like behavior” approach toward of an object control, namely “the further an Object from a Target, the faster an Object has to move (the larger step we have to make)” or in terms of linguistic variables from Table 1Closeness” and “Steps_scale we use the following conditional clause:

P = “IF (CL is ‘smallest’), THEN (ST is ‘largest’)” (3.1)

To build a binary relationship matrix of type (2.53) and its basic realization (3.1) we use a conditional clause of type (2.60).

To build membership functions for fuzzy sets CL and ST we use (2.50) and (2.52) respectively.

In (2.50) the membership functions for fuzzy set CL (for instance from Table 1) would look like:

μ C L ( s m a l l e s t ) = 1 / 0 + 0.9 / 1 + 0.8 / 2 + 0.7 / 3 + 0.6 / 4 + 0.5 / 5 + 0.4 / 6 + 0.3 / 7 + 0.2 / 8 + 0.1 / 9 + 0 / (3.2)

Note, that the membership function (2.52) for fuzzy set ST from Table 1 is

μ S T ( l a r g e s t ) = 0 / 0 + 0.1 / 1 + 0.2 / 2 + 0.3 / 3 + 0.4 / 4 + 0.5 / 5 + 0.6 / 6 + 0.7 / 7 + 0.8 / 8 + 0.9 / 9 + 1 / 10 (3.3)

Given (2.60), (3.2) and (3.3) we have R ( A 1 ( x ) , A 2 ( y ) ) shown in Table 2.

Suppose that the current value of “Closeness”, represented by a fuzzy set CL’ from (2.49), is defined as

μ C L ( l a r g e ) = 0.1 / 0 + 0.3 / 1 + 0.4 / 2 + 0.5 / 3 + 0.6 / 4 + 0.7 / 5 + 0.8 / 6 + 0.9 / 7 + 1 / 8 + 0.9 / 9 + 0.8 / 10

After applying CRI from (2.58), given an inference of a type (2.54) we get the following

R ( A 2 ( s t ) ) = 0.8 / 0 + 0.9 / 1 + 1 / 2 + 0.9 / 3 + 0.8 / 4 + 0.7 / 5 + 0.6 / 6 + 0.5 / 7 + 0.4 / 8 + 0.3 / 9 + 0.2 / 10

Table 2. Binary relationship matrix of a proposed scaling technique.

In other words, we are getting

μ S T ( s m a l l ) = 0.8 / 0 + 0.9 / 1 + 1 / 2 + 0.9 / 3 + 0.8 / 4 + 0.7 / 5 + 0.6 / 6 + 0.5 / 7 + 0.4 / 8 + 0.3 / 9 + 0.2 / 10

which means the “closer” an Object to a Target, the “smaller” step is needed. This basic principle is the foundation for defining the value of a step an Object must make on each iteration.

3.2. Dynamic Scaling for an Object Steps

In this study we presume that in order to approach a Target by an Object the latter must make multiple iterations. Every iteration characterized by certain nonlinear scale, which consists of multiple steps. The number of steps is defined by the value of CardUST. All steps are strictly correlated with a speed of an Object. The bigger the step, the higher the speed. The scale for each subsequent iteration is shorter by length than one of its predecessors. The farther an Object locates from a Target, the more iterations are needed to fulfil the goal (DAL, DAR, …). It is important to mention that the number of iterations would never be known in advance and will be defined by the algorithm, described down below.

Let us define the scale and closeness for each iteration k in X coordinate as the following

k [ 0 , ] , s c a l e k . = Δ x . . , c l o s k . = c l X (3.4)

where Δ x . . is defined in (2.8), (2.15), (2.22), (2.29), (2.36), (2.43).

Whereas clX is from (2.9), (2.16), (2.23), (2.30), (2.37), (2.44).

Define all j steps for each iteration k

j [ 0 , C a r d U S T ] ; s t e p k j = s c a l e k . / C a r d U S T ; s c a l e k . = s c a l e k . s t e p k j (3.5)

The procedure (3.5) would be resulted for each iteration k as the following nonlinear sequence

k [ 0 , ] , s t e p k . = s t e p k 0 , s t e p k 1 , s t e p k 2 , , s t e p k C a r d U S T (3.6)

For instance, if C a r d U S T = 10 the following nonlinearity is taking place (in % of the size of an original s c a l e k . )

k [ 0 , ] , s t e p k . = [ 10.0 ; 9.0 ; 8.1 ; 7.29 ; 6.56 ; 5.9 ; 5.31 ; 4.78 ; 4.3 ; 3.87 ; 3.49 ]

Present c l o s k . [ c l o s min . , c l o s max . ] as a fuzzy set C L ˜ of type (2.49) with correspondent membership function (2.50). Where c l n o r m = c l o s k . c l o s min . c l o s max . c l o s min . .

Applying CRI from (2.58), given an inference of a type (2.54) and Binary relationship matrix from Table 2, we get S T ˜ of form (2.51).

Represent S T ˜ as a sum of singletons

S T ˜ = j = 0 C a r d U S T μ s t ( u s t j ) u s t j = μ s t ( u s t 0 ) / u s t 0 + μ s t ( u s t 1 ) / u s t 1 + + μ s t ( u s t C a r d U S T ) / u s t C a r d U S T (3.7)

Since S T ˜ is a triangular normal membership function, we are having the following

j [ 0 , C a r d U S T ] ; ! j . * | μ s t ( u s t j . * ) = max { μ s t ( u s t j ) } = 1 (3.8)

Reduce the distance between an Object and a Target by value of a current step, associated with found j . * index.

Δ x . . = Δ x . . s t e p k j . * (3.9)

Redefine coordinates of an Object (presume, that a Target is stationary)

x max O . . = x max O . . + Δ x . . ; x min O . . = x min O . . + Δ x . . ; x c e n t e r O . . = x c e n t e r O . . + Δ x . . (3.10)

Go to the next k + 1 iteration if a certain condition is met.

k = k + 1 | c l o s k . ε (3.11)

where ε is empirically defined threshold. The same algorithm (3.7)-(3.11) is applied to Y and Z coordinates by using correspondent

k [ 0 , ] , s c a l e k . = Δ y . . , c l o s k . = c l Y ,

k [ 0 , ] , s c a l e k . = Δ z , c l o s k . = c l Z .

4. Example

Goal: Object must dock in front of a Target (DIF)

From (1.8) Δ x . . = x c e n t e r T . . x c e n t e r O . .

X coordinates (in conditional units) x c e n t e r T . . = 1525 and x c e n t e r O = 210

Threshold ε = 99.9 %

Starting from iteration k = 1:

Δ x . . : 1315.0 (clX: 14.666666666666666%) ==> j . * = 1

step found: 50.9457943035

steps: 131.5 | 118.35 | 106.51500000000001 | 95.86350000000002 | 86.27715 | 77.64943500000001 | 69.8844915 | 62.89604235 | 56.606438115 | 50.9457943035 | 45.85121487315

Δ x . . : 1215.0821558471555 (clX: 20.322481583793078%) ==> j . * = 2

step found: 52.305302554831016

steps: 121.50821558471554 | 109.357394026244 | 98.42165462361959 | 88.57948916125763 | 79.72154024513188 | 71.74938622061867 | 61.57444759855682 | 58.117002838701126 | 52.305302554831016 | 47.07477229934791 | 42.367295069413125

Δ x . . : 1061.8240406987395 (clX: 30.175472741066255%) ==> j . * = 3

step found: 50.930203771168095

steps: 106.48240406987395 | 95.83416366288655 | 86.2507472965979 | 77.6256725669381 | 69.86310531024431 | 62.87679477921987 | 56.58911530129789 | 50.930203771168095 | 45.83718339405128 | 41.253465054646156 | 37.128118549181536

Δ x . . : 875.2586056130062 (clX: 42.60599307455697%) ==> j . * = 4

step found: 46.51483086255817

steps: 87.52586056130062 | 78.77327450517056 | 70.8959470546535 | 63.80635234918816 | 57.42571711426935 | 51.68314540284241 | 46.51483086255817 | 41.86334777630235 | 37.67701299867211 | 33.9093116988049 | 30.51838052892441

Δ x . . : 742.9987078726604 (clX: 51.278773254251774%) ==> j . * = 5

step found: 43.87333070117272

steps: 71.29987078726603 | 66.86988370853943 | 60.18289533768549 | 51.164605803916935 | 48.74814522352524 | 43.87333070117272 | 39.48599763105545 | 35.537397867949906 | 31.983658081154914 | 28.78529227303942 | 25.906763045735477

Δ x . . : 582.4465686447027 (clX: 61.80678238395393%) ==> j . * = 6

step found: 38.214319368778945

steps: 58.244656864470265 | 52.420191178023245 | 47.178172060220916 | 42.460354854198826 | 38.214319368778945 | 31.39288743190105 | 30.953598688710947 | 27.85823881983985 | 25.072414937855868 | 22.56517344407028 | 20.308656099663253

Δ x . . : 443.9855325271776 (clX: 70.8861945883818%) ==> j . * = 7

step found: 32.36654532123124

steps: 41.39855325271776 | 39.95869792744598 | 35.96282813470138 | 32.36654532123124 | 29.129890789108124 | 26.216901710197313 | 23.59521153917758 | 21.235690385259822 | 19.11212134673384 | 17.20090921206046 | 15.480818290854412

Δ x . . : 301.0897097262314 (clX: 80.05969116549304%) ==> j . * = 8

step found: 21.63126648782474

steps: 30.408970972623138 | 27.368073875360825 | 21.63126648782474 | 22.168139839042265 | 19.95132585513804 | 17.956193269624237 | 16.160573942661813 | 11.544516548395631 | 13.09006489355607 | 11.781058404200461 | 10.602952563780416

Δ x . . : 142.1809221138974 (clX: 90.67666084499034%) ==> j . * = 9

step found: 12.796282990250765

steps: 11.21809221138974 | 12.796282990250765 | 11.516654691225689 | 10.36498922210312 | 9.328490299892808 | 8.395641269903527 | 7.556077142913175 | 6.800469428621858 | 6.120422485759672 | 5.508380237183705 | 1.957542213465334

Δ x . . : 3.2696180283021476 (clX: 99.78559881781625%) ==> j . * = 9

step found: 0.2942656225471933

steps: 0.32696180283021475 | 0.2942656225471933 | 0.264839060292474 | 0.2383551542632266 | 0.21451963883690395 | 0.19306767495321356 | 0.1737609074578922 | 0.15638481671210297 | 0.14074633504089268 | 0.1266717015368034 | 0.11400453138312305

Δ x . . : 1.1586501838824006 (clX: 99.92402293876181%) ==> j . * = 9

step found: 0.10427851654941604

steps: 0.11586501838824007 | 0.10427851654941604 | 0.09385066489447444 | 0.084465598405027 | 0.0760190385645243 | 0.06841713470807187 | 0.061575421237264685 | 0.05541787911353822 | 0.04987609120218439 | 0.044888482081965955 | 0.04039963387376936

Note:

The number of iterations needed:

for X coordinate k = 134

for Y coordinate k = 134

for Z coordinate k = 135

5. Conclusion

In this work, we introduce a multi-step fuzzy control mechanism as a “tactical” decision making process for Intelligent Actor (AIA) to approach a Target. For this purpose, we have proposed to use a set of dynamically defined scales for each AIA positioning coordinate in 3D space. Such scales would reflect a “quasi” speed of AIA movement at each moment of time. For this purpose, we proposed “human like behavior” approach toward an AIA control, namely “the further AIA is from a Target, the faster AIA must move (the larger steps it must make)” and “the closer AIA to a Target the slower it must move (the smaller its steps)”. The study shows that in order to approach a Target by an AIA the latter must make multiple iterations. Every iteration characterized by certain nonlinear scale, which consists of multiple steps. Proposed scale for each subsequent iteration is shorter by length than one of its predecessors. It was presented that the farther an AIA locates from a Target, the more iterations are needed to fulfil the goal predicates. Presented practical example demonstrates that proposed approach proves the possibility of AIA “soft-landing”.

Conflicts of Interest

The author declares no conflicts of interest regarding the publication of this paper.

References

[1] Tserkovny, A. (2022) Some Considerations about Fuzzy Logic Based Decision Making by Autonomous Intelligent Actor. Journal of Software Engineering and Applications, 15, 19-58.
https://doi.org/10.4236/jsea.2022.152002
[2] Tserkovny, A. (2017) A t-Norm Fuzzy Logic for Approximate Reasoning. Journal of Software Engineering and Applications, 10, 639-661.
https://doi.org/10.4236/jsea.2017.107035
[3] Genesereth, M. and Nilsson, N.J. (1989) Logical Foundations of Artificial Intelligence. Morgan Kaufmann Publishers, Los Altos.
https://doi.org/10.1016/0004-3702(89)90073-8
[4] Aliev, R.A. and Tserkovny, A. (1988) The Knowledge Representation in Intelligent Robots Based on Fuzzy Sets. Doklady Mathematics, 37, 541.
[5] Aliev, R.A., Mamedova, G.A. and Tserkovny, A.E. (1991) Fuzzy Control Systems. Energoatomizdat, Moscow.
[6] Fukami, S., Mizumoto, M. and Tanaka, K. (1980) Some Considerations of Fuzzy Conditional Inference. Fuzzy Sets and Systems, 4, 243-273.
https://doi.org/10.1016/0165-0114(80)90014-7
[7] Aliev, R.A. and Tserkovny, A. (2011) Systemic Approach to Fuzzy Logic Formalization for Approximate Reasoning. Information Sciences, 181, 1045-1059.
https://doi.org/10.1016/j.ins.2010.11.021

Copyright © 2024 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.