## 2 Related Work
### Speeding-Up Techniques for Ray-Tracing Modeling  
Ray-tracing-based channel models are the most efficient for mmWave/THz systems, but involve extremely long computations, which grow substantially as the carrier frequency increases. Many efficient ray-tracing models have been proposed in the literature. One of the popular approaches is based on reducing the number of edges and planes of the environment elements on which ray-tracing will be performed. The article [11] presented a method based on the visibility graph: a tree-like list of elements with which rays can interact on their way from the transmitter to the receiver. The authors of [12] also use the visibility graph, but only consider beams that are in the 18 dB dynamic range, based on ITU recommendations. As a result, they were able to increase the simulation speed from 2 to 4 times, depending on the initial data. Another method based on the visibility graph was proposed in [13], where the authors also took into account a transformation of two dimensions (2D) to three dimensions (3D) using [PERSON]'s principle. In addition, the authors analyzed the impact of the number of reflections taken into account on the accuracy of the calculations. The proposed method requires additional preprocessing time, as they need to find all the possible ray propagation paths before simulation. However, they can significantly speed up the ray-tracing procedure without losing accuracy. Specifically, the authors managed to reduce the simulation time for 1651 receivers from several hours to several seconds after preprocessing. A binary space-partitioning method (BSP) was proposed by the authors in [14]. This method, in contrast to the graph of visibility, divides not the elements of the space but the space itself, which led to a decrease in the load on the processor by about 60%. A similar approach was employed in [15], where the authors used a visibility table. The authors provided an efficient algorithm for a mobile transmitter; the model uses a precomputed visibility table that makes it easy to determine visible walls and edges, which can accelerate preprocessing time by up to 90%. In [16], a space-partitioning method was proposed to model ray tracing efficiently. The method is based on the division of space into smaller ones and the distribution of objects according to the areas where they are located. The main idea of the method is to find the subspace into which the ray from the current subspace will enter using the given direction and slope of the ray. This approach made it possible to achieve a 14% reduction in CPU time compared to traditional visibility methods. Another approach divides the space into a mesh of triangles to simplify the modeling of the interaction of the beam with the elements of the environment [17]. After division, groups of rays are collected into frustums that are further utilized for modeling. Another approach to speed up ray tracing is based on data simplification that does not have a strong impact on the results. For example, the authors in [18] aimed to improve ray-tracing performance by optimizing the object database. The article proposes to reduce the number of objects that are not involved in ray tracing, as well as to simplify the geometric shape of buildings, thereby significantly reducing the computation time without a noticeable impact on accuracy. Based on the results of the experiments, the authors managed to reduce the simulation time by a factor of more than 2. The article [19] proposed a method for post-processing ray-tracing data modeled in urban environments. It was proposed to combine rays that have undergone the same interaction into ray entities, which made it possible to reduce the load on memory by 11-12 times. Unfortunately, many of the aforementioned methods lose their effectiveness with the increase in carrier frequency, especially in mmWave and THz bands. At these frequencies, machine learning (ML) is often considered to speed up ray-tracing simulations.