Keywords

1 Introduction

Cellular automata are used by some of the IT branches, including the field of artificial intelligence. They consist of a network of cells, each of which is distinguished by some specific state and a set of rules. The change of the current state of a given cell is the outcome of the above mentioned properties and interrelations with the neighboring cells. The theory of cellular automata was first introduced by an American scientist of Hungarian descent, John von Neumann. He demonstrated, among others, that even simple machines show an ability to reproduce, which was until that time regarded as a fundamental feature of living organisms [44]. For many years cellular automata had been subject to theoretical studies only [15]. With the development of computers and software, optimizing methods based on this approach have been more and more frequently studied and implemented in practice [5, 11, 13, 21]. Due to their versatility, cellular automata are applied in many real-life fields, such as biology, physics, mathematics and in various fields of IT, such as cryptography or computer graphics [17, 31, 32].

1.1 Application of Cellular Automata

Cellular automata have been applied in practice, for example in simulation of the street traffic, where specifically defined cellular automaton controls the traffic. The vehicle flow is managed basically at the specific segment of a given traffic intensity [29]. This applies, for instance, to the traffic intensity control on highways of the Ruhr in Germany [27, 39]. The monitoring centers designed exclusively for that purpose collect the data from selected sections of the highways [7, 22, 41]. The information thus obtained is analyzed and used for preparing short-time simulations of the traffic intensity by means of cellular automata. The project’s websites publish the statistical information about the studies performed on the behavior of drivers who were pre-warned about possible traffic problems [28] that might occur over several following hours [22, 35]. Another example of cellular automata application are demographic simulations for a given region. The aim of such simulations is to generate a model showing the size of the population at a given area in a form of a map of the forecasted population density. Such simulations can be based on the well-known “Game of Life” [36, 43]. By introducing some modification to the algorithm, it is possible to monitor the behavior of the surrounding cells [30, 32]. Other examples of cellular automata implementations include image processing, generation of textures, simulation of waves, wind as well as proposed program, which was developed for the purpose of this study [8, 19, 40]. The aim of the proposed algorithm is to generate the simulations of patterns of human escape from the building on fire with a given number of exits and fire sources with Fuzzy Numbers [45] used to decide what people should do in each step of the algorithm [26, 34].

1.2 The Grid of Cellular Automata

A grid or a discrete space, where cellular automata evolution takes place, consists of a set of identical cells. Each of the cells is surrounded by the same number of neighbors and can assume the same number of states. There are three structural factors which significantly influence the grid form and, as a consequence, the behavior of the entire cellular automaton [27, 28, 42]:

  • the size of the space depends on the magnitude of the studied problem, the examples of which are shown in 1D, 2D or 3D grids;

  • the provision of regularity, which requires the grid to be filled entirely with identical cells;

  • the number of neighbors (dependent on both above-mentioned factors).

2 Forecasting the Fire Hazard

2.1 Fire Accidents in Public Places

Fires are one of the most uncontrollable calamities, especially when they happen indoors. Thus, regardless of the edifice’s function - whether it is a residential, business or any other kind of building, its design must comply with fire regulations. The width of corridors, number of emergency exits and the permissible number of people staying inside at the same time has a grave impact on the safety of its users. Simple presence of the doors on floor plan is not sufficient; they have to be open. In many cases the high number of casualties stemmed from the emergency exit doors being locked [12,13,14]. In the past decades there has been a number of disastrous fires in public places like restaurants and nightclubs. Table 1 presents some examples of such accidents and lists the numbers of victims.

Table 1. Fire accidents in public places

2.2 The Cocoanut Grove Fire Accident

The Cocoanut Grove was a restaurant built in 1927 and located at 17 Piedmont Street, near Park Square, in downtown Boston, Massachusetts [8, 40]. According to Prohibition, it was very popular in 1920’s. The building structure was a single-story, with a basement beneath. The basement consists of a bar, kitchen, freezers, and storage areas. The first floor contained a large dining room area and ballroom with a bandstand, along with several bar areas separate from the ballroom. The dining room also had a retractable roof for use during warm weather to allow a view of the moon and stars. The main entrance to the Cocoanut Grove was via a revolving door on the Piedmont Street side of the building. On Saturday, November 28, 1942 there was a very large fire accident. During that evening, a busboy had been ordered to fix a light bulb located at the top of an artificial palm tree in the corner of the basement bar. A moment later decorations started burning. As other furnishings ignited, a fireball of flame and toxic gas raced across the room toward the stairs. The revolving door became jammed due to the crush of panicked patrons [9]. Lots of people stuck in fire. It was later estimated that more than 1000 persons were inside the Grove at the time of the fire. The final death count established by Commissioner Reilly was 490 dead and 166 injured, but the of injured was a count of those treated at a hospital and later released while many patrons were injured but did not seek hospitalization (Fig. 1).

Fig. 1.
figure 1

The Cocoanut Groove scheme [13]

2.3 Simulation Method

The process of implementing Fuzzy Numbers in cellular automata looks as a normal step in practical usage of Fuzzy Logic (Fig. 2). There are lot of possible implementation of Fuzzy Numbers which were described by Zadeh [45], Klir [23], Dubois and Prade [20] and Kosiński [24, 26]. The program described in this paper is using 2 dimensional model in which there is neighborhood of cell described by Moore. This give eight possible move from the cell Ni, j. Some example of the move is presented in Fig. 3.

Fig. 2.
figure 2

Example of move in simulation algorithm

Fig. 3.
figure 3

The OFN vizualization of Nx-positive (a), Ny-positive (b) and Nx-negative (c), Ny-negative (d)

In Fig. 3, some of the neighbours half of them are closer to the exit from the building, and the second half of the neighbor cells are in the state “human”. For this cell there are two possible move according to the determinants [2, 4, 33, 43]. Both of the sets consist four elements [3, 5, 16, 18]. To describe the cell state authors choose Fuzzy Numbers with some extension [24]. This extension was provided by Kosiński [37, 38] and is called Ordered Fuzzy Numbers, and in some work after Kosiński’s detah - Kosinski’s Fuzzy Numbers [1, 6, 9,10,11, 25, 26].

Fig. 4.
figure 4

Fuzzy Number with the extension

In this notation each Fuzzy Number A has a trapezoid form defined by four coordinates [fA(0), fA(1), gA(1), gA(0)], which is presented in Fig. 4. The arrow in Fig. 4 defined the direction of the number, which describe the order of the coordinates. Such definition of the fuzzy number let to make an arithmetic operation according to such definition [26]:

  • addition \(A + B = (f + e, g + h) = C\)

    \(C \rightarrow [f(0)+e(0), f(1)+e(1), g(1)+h(1), g(0)+h(0)]\)

  • scalar multiplication \( C= \lambda A = (\lambda f, \lambda g)\)

    \( C \rightarrow [\lambda f(0), \lambda f(1), \lambda g(1), \lambda g(0)]\)

  • subtraction \(A - B = (f - e, g - h) = C\)

    \(C \rightarrow [f(0)-e(0), f(1)-e(1), g(1)-h(1), g(0)-h(0)]\)

  • multiplication \(A * B = (f * e, g * h) = C\)

    \(C \rightarrow [f(0)*e(0), f(1)*e(1), g(1)*h(1), g(0)*h(0)]\)

  • division \(A/B = (f/e, g/h) = C\)

    \(C \rightarrow [f(0)/e(0), f(1)/e(1), g(1)/h(1), g(0)/h(0)]\)

So, the set of possible move in Moore neighbourhood from the cell \(N_{i,j}\) to cell \(N'_{(i,j)'}\) is presented in Fig. 5: Implemented algorithm has got a following determinants for the movement:

  • follow to the nearest exit,

  • follow to the nearest group of people.

The determinants are connected with the order of fuzzy number in Ordered Fuzzy Number notation [24].

Fig. 5.
figure 5

Possible move

Definition 1. Let there be two pairs of fuzzy numbers (NxNy). Order of the number will be positive for the movement closer to determinants:

\(Nx_{positive}[i-1, i, i+1, i+1]\)

\(Ny_{positive}[j-1, j-1, j-1, j]\)

A pair of coordinates of the position indicated further determinant will be negative referral:

\(Nx_{negative}[i+1, i, i-1, i-1]\)

\(Ny_{negative}[j+1, j+1, j+1, j]\)

A subset of cells which enable the operation determines the pair of fuzzy numbers satisfying the following rules:

figure a

The set described by fuzzy number \((N_{x}^{'}, N_{y}^{'})\) gives the four possible cells for the aim of the move. In next evolution turn a one cell for the move is randomly chosen. Of course, the cells in which motion is impossible to be eliminated from the list. If the movement is not possible for any of the four cells, the state of the cell does not change. This symbolizes the situation in which a person remains motionless.

3 The Experiment with Proposed Method

The authors launched a simulation of the Kiss nightclub scenario in prepared program. They placed “people” inside and set the fire. The building comprised of seven rooms and there was only one exit. The blue points mark people and the red ones - fire. Several tests were performed based on this scheme and the assumed conditions were as follows: The aim of the test was to simulate a fire of the building, basing on certain rules and relations. Setting of the following parameters, selection of versions and inherent rules altogether make up an environment which affect the mortality rate. The variables were:

  • the layout of the building floors, including the number and location of doors,

  • distribution of a defined number of people inside the building at specified places,

  • setting the fire parameters:

  • the fire goes out alone if there is if there are no neighbors,

  • the fire goes out because of overpopulation if there are more than 3 neighbors,

  • new fire is generated when there are at least 3 neighbors, but not more than 4.

  • setting of the parameters for people (live cells):

  • number of burns resulting in death is by default set to 5,

  • location of the fire source on the board;

  • specifying the probability of people heading towards the exit (three options): 25%, 50%, 75%;

  • specifying whether people move towards the exit in groups (two options): with or without a group effect.

Fig. 6.
figure 6

The Cocoanut Groove schema with people and fire in KFNCA program

Fig. 7.
figure 7

KFNCA program after simulating fire in the Cocoanut Groove

Figure 6 presents Cocoanut Groove schema before the simulation process was started. The red squares represent fire while the blue ones represent people. Figure 7 presents Cocoanut Groove schema after completing the simulation. Table 2 presents the results of the performed simulation. Taking into account the real data concerning the number of fatalities in the Cocoanut Groove fire, the outcome which was closest to the actual death toll was achieved using 50% probability of people going towards the exit and with group effect off. Table 3 compares the results with real numbers. The relative error in all cases did not exceed 7%. The mortality rate depends on the place of the fire outbreak. If the fire blocks any room, then the people staying there are not able to escape and to reach the exit even if they move towards it with 100% probability. The group effect used in the program does not necessarily help in escape of people from the building. It can generate crowd, as people are looking for others to form groups and thus trampling can occur. When a person does not have any direction when he/she could move, he/she is trampled.

Table 2. Results of simulation with KFNCA method
Table 3. A comparison of the KFNCA method results with actual numbers

4 Conclusions

The comparison of the proposed method with actual case demonstrated that it is extremely difficult to create a simulation of fire escape scenario. The most challenging element is the people’s behavior, which may become stochastic and unpredictable. The authors of this study managed to recreate the scenario of the escape of people from a building by means of cellular automata with the fuzzy numbers usage, the implementation of which was the object of this paper. This work proved, that using fuzzy numbers with some specific extension provided by Kosiński could give pretty good results. The results which proved to be closest to the actual numbers were achieved when the value of probability with which people escape was around 50%. The hindrances that affect the decision making process during the evacuation include, among others, limited visibility due to the smoke, resulting from combustion of flammable materials, high temperature and toxic gases. The result achieved in the prepared method can provide valuable information for architects and building constructors. The results obtained from the program confirm the thesis that insouciant or unlawful blocking of escape routes inside buildings may have tragic consequences at each stage of the building operation. The people who are responsible for fire safety and structural safety inspections may apply such tools to justify their decisions that sometimes could seem too strict. To make the simulation even more realistic, it is worth considering the option of automatic change of the parameter related to the probability of a person’s moving towards the exit during the simulation. Adding further conditions in order to provide more accurate results is also possible. The future experiments should take this fact into account.