{'fraction_non_alphanumeric': 0.042214465142074185, 'fraction_numerical': 0.01014582585717548, 'mean_word_length': 4.121804511278196, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
PRIMAL: Page Rank-Based Indoor Mapping and Localization Using Gene-Sequenced Unlabeled WLAN Received Signal Strength

Due to the wide deployment of wireless local area networks (WLAN), received signal strength (RSS)-based indoor WLAN localization has attracted considerable attention in both academia and industry. In this paper, we propose a novel page rank-based indoor mapping and localization (PRIMAL) by using the gene-sequenced unlabeled WLAN RSS for simultaneous localization and mapping (SLAM). Specifically, first of all, based on the observation of the motion patterns of the people in the target environment, we use the Allen logic to construct the mobility graph to characterize the connectivity among different areas of interest. Second, the concept of gene sequencing is utilized to assemble the sporadically-collected RSS sequences into a signal graph based on the transition relations among different RSS sequences. Third, we apply the graph drawing approach to exhibit both the mobility graph and signal graph in a more readable manner. Finally, the page rank (PR) algorithm is proposed to construct the mapping from the signal graph into the mobility graph. The experimental results show that the proposed approach achieves satisfactory localization accuracy and meanwhile avoids the intensive time and labor cost involved in the conventional location fingerprinting-based indoor WLAN localization.


Introduction
Nowadays, people spend more than 80% of their time in the indoor environment, where the signal from the Global Positioning System (GPS) is generally difficult to receive. In this circumstance, many indoor localization systems are proposed to guarantee the performance of a variety of location-based services (LBSs), like the guidance of shopping routes, security and healthcare for the elderly, and asset management in warehouses and modern buildings. At the same time, various kinds of techniques have been developed for indoor localization in the recent decade, like Bluetooth [1], ultrasonic wave [2], radio-frequency ID (RFID) [3], ultra-wideband (UWB) [4], visible light communications (VLC) [5][6][7] and wireless local area networks (WLAN) [8][9][10][11]. Among them, the received signal strength (RSS)-based WLAN localization technique is preferred due to the rapid development of WLAN infrastructures and mobile devices, as well as the wide deployment of WLAN, which is selected as one of the primary high-speed access networks in the indoor environment. To the best of our knowledge, trilateration and location fingerprinting are recognized as two of the most representative approaches used in RSS-based indoor WLAN localization. The performance of the trilateration approach suffers from the inaccurate estimation of the distance from each access point (AP) to the receiver [12,13]. The first reason is that the propagation models used for distance estimation cannot always be effective due to the irregular variation of RSS caused by the signal reflection, scattering and diffraction. The second reason is that many indoor areas where the APs are actually located are not reachable. In this case, both the AP and target locations should be estimated simultaneously, and thereby, the precision of distance estimation generally drops dramatically. On the contrary, the location fingerprinting approach is preferred [14][15][16][17]. This approach consists of two phases. In the offline phase, the RSSs at a batch of pre-calibrated reference points (RPs) with known physical coordinates are collected and then stored as the location fingerprints into the radio map. In the online phase, the newly-collected RSSs are matched against the radio map to realize the location estimation. However, the time and labor cost involved in the radio map construction increases rapidly as the area increases.
To solve the cost problem and to guarantee the accuracy of RSS-based indoor WLAN localization, we propose a novel page rank-based indoor mapping and localization (PRIMAL) by using the gene-sequenced unlabeled WLAN RSS for simultaneous localization and mapping (SLAM). In concrete terms, we first carry out the observation of the motion patterns of the people in the target environment to construct the mobility graph by using the Allen logic. Second, we rely on off-the-shelf smartphones to collect the WLAN RSSs, which are not labeled with physical coordinates. Third, the concept of gene sequencing is adopted to determine the correlation relations among different RSS sequences, so as to assemble the RSS sequences into a signal graph. Fourth, we utilize the graph drawing approach to exhibit the graphs in a more readable manner. Finally, by using the proposed page rank (PR) algorithm, the mapping from the signal graph into the mobility graph is constructed. After the previous steps, the receiver can be located in the area mapped from the node that is matched by the newly-collected RSSs in the signal space.
The rest of this paper is organized as follows. In Section 2, we show some related work on the existing SLAM approaches in the indoor WLAN environment. The steps of the proposed PRIMAL are discussed in detail in Section 3. The extensive experimental results are provided in Section 4. Finally, Section 5 concludes the paper and presents some future directions.

Related Work
In response to the cost problem faced by location fingerprinting in the conventional RSS-based indoor WLAN localization [18][19][20][21], many existing works suggested using motion sensing as a candidate to perform the localization. The authors in [22] collected the WLAN RSSs to construct a logic graph, which can be used to characterize the physical layout of the target environment, and meanwhile rely on an accelerator to explore the reachability among different physical areas, as well as to detect the status of RSSs. After that, based on the constructed mapping relationship between the logic graph and ground-truth graph, the target location is estimated in a specific area for each location query. Using a smartphone, the authors in [23] invented a pedestrian tracking system, which can automatically construct both the floor plan of the anonymous target environment and the corresponding radio map. An indoor tracking system based on the labeled topological map constructed by SLAM is addressed in [24]. See [25]: a foot-mounted inertial measurement unit (IMU) is used to perform proprioceptive motion sensing, and meanwhile, an action recognition system is applied to observe the landmarks of location-related actions. The authors in [26] proposed a pedestrian tracking system by integrating the odometry data collected by the foot-mounted IMU and WLAN RSSs. The localization system developed in [27] is based on the fusion of the image data and data from the IMU in a smartphone. The GraphSLAM approach proposed in [28] is appropriate for a large-scale environment, since there is no signature uniqueness assumption in the GraphSLAM. The authors in [29] constructed a multi-modal signal map from the RSSs collected by all of the available sensors. The work in [30] depended on the IMU sensors to label the RSSs as the pedestrian walks in the same direction. A new concept of the Wi-Fi fingerprint (FP), which considers the order relation among the RSS rather than the absolute values of RSSs, is addressed in [31]. The authors in [32] present a new localization approach, in which the training data are obtained by means of finite difference time domain (FDTD) simulations of electromagnetic propagation.
To deal with the computational complexity problem for localization, the authors in [33] use decision trees to minimize the complexity of the localization system. The authors in [34] rely on the joint clustering technique, which performs the clustering of locations to reduce the computational cost. A new low-complexity tracking scheme is proposed in [35], which is based on Fano's sequential decoding algorithm. The authors in [36] propose the multiple filters (MFs)-based implementation approach, which achieves a significant reduction of the computational complexity. The authors in [37] compare the performance of the probabilistic Gaussian kernel fingerprint-based indoor positioning algorithm by using different types of smartphones. An energy-efficient WLAN-based indoor positioning algorithm, which factors out every part of the probabilistic fingerprint formulae, is proposed in [38].
Different from the existing work in the literature, we propose a novel indoor mapping and localization approach, namely the PRIMAL, which is independent of location fingerprinting and motion sensing. Furthermore, there is no requirement of extra infrastructure or devices compared to the conventional approaches. The four main contributions of this paper are summarized as follows. First of all, there is no requirement of location fingerprinting and motion sensing, which saves much time and labor cost. Second, based on people's motion pattern observation, the mobility graph, which is constructed by using the Allen logic, can help greatly in investigating the motion behavior of the people in the target environment. Third, we apply the graph drawing approach to exhibit both the mobility and signal graphs in a more readable manner. Finally, by adopting the PAalgorithm, we conduct the indoor mapping and localization simultaneously. Table 1 summarizes the main symbols used in this paper. Table 1. Symbol notation.

Symbols
Description Matching score between a i and b j m Length of sequence a n Length of sequence b s(a i , b j ) Similarity function of RSS pair a i and b j W k Gap scoring function with depth k RSS l The l-th RSS sequence rss li The i-th RSS vector in RSS l

Construction of the Mobility Graph
To obtain the connectivity among different areas of interest, we conduct the people's motion pattern observation in the target environment. Figure 1 shows the layout of the six areas of interest, and Figure 2 illustrates the people's 17 motion patterns during a working day. Each motion pattern consists of different events, which are separated by the break points (BPs).    Figure 2. Motion patterns.
In the Allen logic, the relations of events can be represented by 13 different logic operations, as described in Figure 3. On this basis, by using the Allen logic, we draw the event graphs corresponding to the people's 17 different motion patterns in Figure 4. In each graph, we mark the longest path (or the path involving the largest number of hops) with a dashed line. On each longest path, the event nodes are connected by the edges with the "m" operation, while the last even node and movement node are connected by an edge with the "f" operation. The event nodes that are connected by the edges with the "m" operation indicate the adjacent events happening in chronological order, while the edge with the "f" operation connecting the final event node and movement node indicates that the last event corresponds to the movement state. Based on this, the event nodes on the longest path can be used to describe the connectivity among different areas of interest. For instance, in the first graph, based on the longest path that is associated with the movement 1 , we obtain a motion behavior between Lobby 1 and Lobby 2 and thereby construct a connection between these two lobbies. Hence, the mobility graph can be constructed by considering all of the motion behaviors of the people in the target environment, as shown in Figure 5.
I 3 I 1 is in I 4 (or I 4 is in I 1 ) I 4 I 1 starts before I 5 and overlaps I 5 (or I 5 starts before I 1 and overlaps I 1 ) I 5 I 1 starts before I 6 and intersects I 6 (or I 6 starts before I 1 and intersects I 1 ) I 6 I 1 is in I 7 with the same starting (or I 7 is in I 1 with the same starting) I 1 m I 6 (I 6 mi I 1 ) I 1 s I 7 (I 7 si I 1 ) Allen logic Logic operations Figure 3. The Allen logic for event expression.

RSS Characteristics
A significant reason for using the WLAN RSSs to conduct the SLAM is due to the property that the WLAN RSSs collected in two different areas that are separated by a wall could vary greatly. Figure 6 shows an example of the variations of two WLAN RSS sequences as the signal goes through a wall. We take Sequence 1 (with *'s) as an example. The mean of the RSS before crossing the wall is about −72 dBm, whereas after crossing the wall, it decreases to −82 dBm. Hence, the variation of WLAN RSSs can help with characterizing the layout of the target environment. The wall between two areas Figure 6. Variation of WLAN RSSs.

Gene Sequencing
Based on the people's motion pattern observation during a working day, we obtain the frequencies of the area transitions between every two adjacent areas of interest in Figure 7. There are in total nine patterns of area transitions counted by the path separation, as shown in Figure 8. In the target environment, we collected 94 WLAN RSS sequences that obey the frequencies of area transitions shown in Figure 7. Figure 9 illustrates the format of RSS sequences where k is the number of APs, RSS ijl is the j-th RSS vector in the i-th RSS sequence from the l-th AP and m is the number of RSS vectors in each sequence. Table 2 shows the number of RSS sequences collected on each trace. Hence, the collected RSS sequences can not only reflect the connectivity among different areas of interests, but also depict the motion patterns of the people in the signal space. Therefore, by separating each RSS sequence into different segments of RSSs with high correlation, we can obtain the transitions of segments and consequently assemble the RSS sequences into a signal graph.   In gene sequencing, given two sequences, a and b, a scoring matrix, H, is constructed to detect the segments of RSSs with high correlation, namely the correlation segments, between these two sequences. The elements in H are calculated by: where H(i, j) is the matching score between the i-th nucleotide in a, a i and the j-th nucleotide in b, b j . Using this concept, in our system, we view the WLAN RSS sequences as the gene sequences, i.e., a ∼ RSS l = {rss l1 , rss l2 , . . . rss lm } and b ∼ RSS i = {rss i1 , rss i2 , . . . rss in }, and the RSS vectors as the nucleotides, i.e., a i ∼ rss li and b j ∼ rss ij . Thus, the calculation of the matching score between the RSS vectors equals the one between the corresponding nucleotides. To detect the correlation segments, we require that the matching scores between the RSS vectors satisfy: These requirements indicate the characteristics as follows.
(i) If the current RSS vector is matched with an RSS vector, but mismatched with the next one, the matching score of the current RSS pair is not lower than the one of the next pair; (ii) if the current RSS pair is matched, whereas the next RSS pair is mismatched, the matching score of the current RSS pair is not lower than the one of the next pair; (iii) if the current RSS pair is matched, while the next RSS pair is also matched, the matching score of the current RSS pair is not higher than the one of the next pair; (iv) if the current RSS vector is mismatched and still mismatched with the next one, the matching score of the current RSS pair is not lower than the one of the next pair; (v) if the current RSS pair is mismatched, whereas the next RSS pair is matched, the matching score of the current RSS pair is not higher than the one of the next pair.
To satisfy these requirements, we define the similarity function, s(a i , b j ), and gap scoring function, W k , in Equation (2). Based on this, the matching scores satisfy the previous requirements, as proven in the Appendix Section. For the collected 94 RSS sequences, we construct in total 4371 scoring matrices (see Supplementary Material). Figure 10 shows nine of them in which each pixel represents the matching score of an RSS pair, while the larger pixel values indicate the higher similarities between the RSS vectors.
where α and β stand for the reward score and penalty score, respectively. To detect the correlation segments between two RSS sequences, we start from the highest matching score in the corresponding scoring matrix. The steps of this process are described as follows.
Step 1: Locate the highest score in H, notated as H(i, j), and then store the location (i, j) into the set L; Step 2: Set H(i, j) = max{H(i − 1, j), H(i, j − 1), H(i − 1, j − 1)}; Step 3: Repeat Steps 1 and 2 until we obtain H(i, j) = 0. We notate L(r)(1 ≤ r ≤ gb) as the r-th location in L, and gb is the number of locations stored in L; Step 4: Set r = gb; Step 5: Examine the jump relation between the locations L(r) and L(r − 1). If there is a diagonal jump [39] from L(r) to L(r − 1), the vertical and horizontal coordinates of L(r − 1) are selected to indicate the IDs of the RSS pair with high correlation; Step 6: Set r = r − 1; Step 7: Repeat Steps 5 and 6 until r decreases to two. Figure 11 gives an example of the scoring matrices with respect to a pair of the same RSS sequences and a pair of RSS sequences collected in different areas, respectively. Obviously, based on the result of the diagonal jumps, which are marked with red rectangles in Figure 12, we detect the segments with high correlation. Hence, we can combine the RSS sequences into different clusters, while the RSSs in the same cluster are featured with high correlation.  Figure 13 shows the result of RSS sequence combination. There are in total 19 clusters. Based on the transition relations of different clusters, we can assemble the RSS sequences into a signal graph in which each node represents a cluster, while each edge represents the transition relation between two neighboring clusters. The signal graph finally constructed by using the gene sequencing is shown in Figure 14.  Figure 14. Signal graph.

Graph Exhibition by Graph Drawing
In graph theory, during the visual exhibition of graphs, we can obtain many different layout structures with respect to a given graph, namely the isomorphic graphs. The readable, unique and clear graph exhibition can help greatly in exploring the relations between the graphs in the graph visualization aspect. To achieve this goal, we apply the graph drawing approach to guarantee the uniqueness of the layout structures of the mobility and signal graphs with the purpose of avoiding the confusion of the isomorphic graphs.
Specifically, give a undirected graph G = (V, E), we denote V = {v 1 , v 2 , ..., v nd } and E = {..., e ij , ...} as the sets of vertices and edges. nd is the number of vertices, while e ij indicates that the vertices v i and v j (i, j ∈ {1, 2, ..., nd}) are connected by an edge. The steps of the process of graph drawing are described as follows.
Step 1: Construct the set of vertices, V s = {. . . , v i , . . .}(i ∈ {1, 2, . . . ,nd}), in which the vertices have the same smallest degrees. The degree of vertex v i , d i , is defined as the number of vertices connected with v i . If there are two vertices v i and v j in V s satisfying the relations that for any vertex v r (r ∈ {1, 2, . . . ,nd}) in V − {v i , v j }, there is at least one path connecting v i and v j , i.e., v i e ik v k · · · v r e rt v t · · · v j , we denote v i and v j as v s and v t , respectively, and the set of all the other vertices, V s − {v i , v j }, as v s . Otherwise, we select another vertex with the smallest degree in V − V s , v t . Then, we denote v i and v t as v s and v t , respectively, and the set V s − {v i } as v s .
Step 2: After the vertices v s , v s and v t are obtained, we continue to construct a direct graph G from G. In concrete terms, for each vertex v i (i ∈ {1, 2, . . . ,nd}) in V − {v s , v s , v t }, we construct the set of all direct paths as P A i = {(v s e sy v y ...e ri v i ...v j e jt v t ) ∪ (v s e sy v y ...e r i v i ...v j e j t v t ) ∪ ...} = {P a 1 ∪ P a 2 ∪ ...P at }(y, y , r, r , j, j ∈ {1, 2, ...,nd}) starting from v s (or v s ) to v t and containing v i , where t is the number of paths in P A i and P a j (j ∈ {1, 2, ..., t}) is the j-th path in P A i . After that, the set of direct edges, E D , can be easily obtained from P A i . A direct edge e ij ∈ E D exists as there is a path P a j ∈ P A i satisfying e ij ∈ P a j . Step Step 4: Eliminate the edges on P a 1 , which starts from v s (or v s ) to v t and passes by the largest number of edges from G . We repeat this process until all of the edges have been eliminated from G or there is no remaining path starting from v s (or v s ) to v t . If there are remaining edges after the elimination process, we recognize each remaining edge as a distinct path. After that, we continue to detect all of the internal faces of G, {F h }(h = 1, 2, ..., η), where η is the number of internal faces. An internal face is defined as a closed region (or the region containing no edge) with the boundary consisting of the edges in the graph. The external face of G, F , has the boundary, C, containing all of the nodes in G, notated as C = (e ij v j e jr ...v s e sl ...v t e tu ...e xy v y e yi )(i, j, r, l, u, x, y ∈ {1, 2, ...,nd}). We divide F into two sub-regions, F s and F t , where F s and F t satisfy the relation F s ∩ F t = {v s , v t }.
Step 5: Construct a undirected graph .., U λ+η , U λ+η+1 , U λ+η+2 }, j, l ∈ {U 1 , U 2 , ..., U λ }), and λ is the number of detected paths in Step 4. We notate the sets of vertices involved is regarded as a face vertex. The number of vertices in U equals d = λ + η + 2. e ij determines whether there is an edge intersection between the boundaries of the faces of For simplicity, we notate v U λ+η+1 and v U λ+η+2 as v Us and v Ut .
Step 6: Denote U , v Us and v Ut as G, v s and v t , respectively, and then, construct the direct graph Step 7: Label the vertices in U based on the criteria as follows. We set: (i) number(v Us ) = −0.5 and number(v j ) = number(v i ) + 0.5 for the vertices v U i and v U j (i, j ∈ {1, 2, ..., d}) on e ij ; and (ii) number(v k ) = number(v i ) +0.5 and number(v j ) = number(v k ) +0.5 for {e ij , e ik , e kj } ⊂ E U .
Step 8: Determine the coordinates of the vertices and edges in G based on the criteria as follows. (i) For each vertex, v i (1 ≤ i ≤ nd), the Y coordinate is the assigned value of v i in G, while the range of X coordinates is from the minimum to maximum values assigned to the path associated with v i in U ; and (ii) for each edge, e ij (i, j ∈ {1, 2, ..., nd}), the X coordinate is the assigned value of e ij in U , while the range of Y coordinates is from the minimum to maximum values assigned to the vertices associated with e ij in G . Figure 15 shows the results of graph drawing for the mobility graph and the signal graph, respectively. From this figure, we observe that by applying the graph drawing approach, the layout structure of graphs becomes unique and more readable in the visualization aspect.

Page Rank Algorithm
After the mobility and signal graphs are obtained, we propose to use the PR algorithm to construct the mapping from the signal graph into the mobility graph with the purpose of investigating the relation between the physical layout and signal distribution in the target environment.
First of all, based on the results of path separation in Figure 8, we focus on the detection of the hot areas, which appear frequently in the people's motion patterns. To achieve this goal, we define P z (i) as the probability that the individual has visited the i-th area at the timestamp z. Thus, we have: where N j is the number of paths starting from the j-th area; and P j→i is the area indicator function calculated as follows.
P j→i = 1 when there is a path starting from the j-th area to i-th area 0 otherwise (4) Second, by assuming that there are g areas in the target environment, we can obtain: where P z = [P Z (1), P Z (2), ...,P Z (g)] T ; and M is a g × g matrix in which the element on the i-th row and j-th column is calculated as In M, m ij (1 ≤ i ≤ g) becomes zero when P j→i (1 ≤ i ≤ g) is zero, which indicates that there is no path starting from the j-th area involved in the people's motion patterns. In this case, we name the current area as the hung area and then distribute the same probability to all of the areas of interest at the next timestamp. On this basis, we modify the matrix M into: where e = [1, 1, ..., 1 g in total ] T ; and c = [c 1 , c 2 , ..., c g ] T is an indicator vector in which each element, , is calculated by: c i = 1 when the i-th area is a hung area 0 otherwise (7) After this modification, we can find that the sum of each column in S equals one, which indicates that the individual must appear in one of the areas of interest at the next timestamp. Due to the observation constraint, the area where the individual appears at the next timestamp may not be detected. To solve this problem, we set a probability factor, θ, to describe the probabilities that the individual appears nearby or in other areas at the next timestamp. Hence, we continue to modify the matrix S into: Based on Equation (8), we can find that G is a primitive matrix. Since: we calculate the probability distribution of areas as P = lim Z→∞ P Z . By setting P 0 = [1/g, 1/g, ..., 1/g g in total ] T , which indicates that each area has the same probability to be visited at the first timestamp, we can detect the hot areas, which have been visited frequently based on the P. Similarly, the probability distribution of clusters in the signal graph can also be calculated based on the results of cluster separation in Figure 16. Table 3 shows the probabilities of the areas and clusters, respectively, in the mobility graph (MG) and the signal graph (SG), respectively. Finally, we construct the mapping from the signal graph into the mobility graph based on the PR values of the areas and clusters, as shown in Figure 17. In concrete terms, we map the clusters into the areas with the same rank of PR values to preserve the consistency of the hot nodes in the mobility and signal graphs. In our experiments, Area 5 (i.e., Lobby 3) cannot be mapped by any cluster, which means that this area is not a hot area, and meanwhile, there are very few RSSs collected in this area. Therefore, by using the PR algorithm, we not only construct the relation between the signal graph and the mobility graph, but also detect the hot areas that appear frequently in the people's motion patterns. Figure 17. Mapping from the signal graph into the mobility graph.

Target Localization
After the mapping from the signal graph into the mobility graph is constructed, we conduct the localization by using the Kullback-Leibler (KL) divergence. Specifically, first of all, we calculate the distribution of RSS value i in each area, Q r j (i), where r(1 ≤ r ≤ g) is the area ID, j(1 ≤ j ≤ f ) is the AP ID and f is the AP number. Second, we calculate the KL divergence between the distribution of the newly-collected RSSs, T (i), and the RSS distribution with respect to each area, D KL (T ||Q r ), by: where η r is the maximum of RSSs. Finally, we locate the target in the area that corresponds to the smallest KL divergence.

Localization Accuracy
Based on the mapping relation between the signal and mobility graphs, we can obtain the RSS distribution with respect to each area, as shown in Figures 18-22. In our experiments, we find that the number of RSSs mapped into Lobby 1 is much larger than the number of RSSs mapped into the other areas, which means that Lobby 1 is a hot area that appears frequently in the people's motion patterns, as expected. Figure 23 shows the result of localization accuracy. In this figure, the value on the i-row and j-th column represents the probability of the RSSs in the i-th area that have been estimated in the j-th area. As can be seen from Figure 23, the probabilities of correct area localization for Areas 1, 2, 3, 4 and 6 approach 100%, 85%, 64%, 64% and 80%, respectively. For the RSSs that have been wrongly estimated, the estimated areas are rather adjacent to the correct one, which means that the proposed approach is featured with satisfactory localization accuracy. We take Area 5 as an example. Although all of the RSSs in this area have been wrongly estimated in Area 6, Areas 5 and 6 are rather physically adjacent.

Parameter Discussion
Based on Equations (8) and (9), we can find that the value P is determined by the parameter θ. To illustrate this result more clearly, Figures 24 and 25 show the variations of PR values for the mobility graph and signal graph, respectively, under different values of θ. From these figures, we observe that θ has a slight impact on the rank of PR values. Therefore, we conclude that the value of P seriously relies on the calculation of S, which means that the localization and mapping performance is significantly influenced by the observation on the motion patterns of the people in the target environment.

Conclusions and Future Work
In this paper, we propose to use a novel indoor SLAM approach, namely the PRIMAL, to characterize the layout of the target environment and consequently achieve area-level localization accuracy. Compared to the existing SLAM approaches, the PRIMAL is independent of location fingerprinting and motion sensing. In addition, the PRIMAL can not only detect the hot areas that have been visited frequently by people, but also conduct effective mapping from the signal graph into the mobility graph. Furthermore, with the help of the Allen logic, we rely on the concept of gene sequencing to investigate the correlation between different RSS sequences and meanwhile use the PR algorithm to rank the nodes in the mobility and signal graphs for better understanding of the people's motion patterns in both the physical and signal space. For future work, how to explore the people's motion patterns in a large-scale environment, as well as how to locate the target at the coordinate level form two interesting topics.

Author Contributions
The work presented in this paper corresponds to a collaborative development by all authors. Mu Zhou defined the research line and was involved in writing the manuscript. Qiao Zhang developed the proposed system, performed the data analysis and wrote the manuscript. Kunjie Xu and Zengshan Tian supervised the work. Yanmeng Wang and Wei He were involved in writing the manuscript. All authors have read, revised and approved the final manuscript.

Conflicts of Interest
The authors declare no conflict of interest.

Proof of the Scoring Function
The flow chart of the proofs is shown in Figure A1. Figure A1. Flow chart of the proofs.
In conclusion, it is proven that the definition of H(i, j) satisfies 1 2 3 4 5 .