Qian Ma

Linfeng Ding
email: dingli@uni-mainz.de

Qingwei Wang

Ye Yu

Lida Luo

Hong Li

Preparation and characterization of continuous fly ash derived glass fibers with improved tensile strength

Keywords: Continuous glass fiber, fly ash, tensile strength, chemical stability, recycling

The coal-based energy production in China generates more than 600 million tons of coal fly ash (CFA) each year, which drives us searching for new methods for recycling CFA. In this work, continuous glass fibers with a range of CFA (25 % -45 %) were successfully prepared without showing any sign of fiber crystallization. The measured fiber tensile strength was found to increase with CFA proportionally. The fiber derived from 45 % CFA exhibited the best tensile strength (higher than the E glass fiber prepared/tested under the same conditions) and good chemical stability (98 % mass retention in the acid corrosion test). Our study shows a feasibility of making continuous CFA derived glass fibers with high iron oxide content and an alternative way for CFA recycling. Its improved strength and good chemical durability can benefit both economy and environmental protection.

Introduction

Research on the utilization of coal fly ash (CFA) [START_REF] Boccaccini | Glass matrix composites from coal flyash and waste glass[END_REF] has been carried out for several decades, which led to the development of several commercially viable recycling methods [START_REF] Colombo | Inertization and reuse of waste materials by vitrification and fabrication of glass-based products[END_REF], including glass-ceramics [START_REF] Ponsot | Recycling of pre-stabilized municipal waste incinerator fly ash and soda-lime glass into sintered glass-ceramics[END_REF], glass foams [START_REF] Chen | Preparation of sintered foam glass with high fly ash content[END_REF], geopolymers, etc. The coalbased energy infrastructure in China generates more than 600 million tons of CFA each year, which has motivated us searching for other alternative CAF recycling methods.

Previously, a study on the production of continuous glass fiber from municipal incinerator ash and Venice lagoon sludge was reported by Scarinci et al. [START_REF] Scarinci | Vitrification of industrial and natural wastes with production of glass fibres[END_REF], in which a marketable fiber glass product was produced, yet the fiber product appeared to have tensile strength lower than that of the conventional E-glass fibers. A follow-up study by Hreglich et al. [START_REF] Hreglich | Continuous glass fibres from waste and their application in reinforced materials[END_REF] concluded that the vitrification process guarantees the complete neutralization of hazardous industrial wastes, and reduces the raw materials for commercial glass fiber as well as lower melting energy consumption.

In 2015, our research group has successfully demonstrated recycling molten blast furnace slag into short glass fibers at an industrial scale. Recent studies on basalt fiber [START_REF] Kuzmin | Basaltic glass fibers with advanced mechanical properties[END_REF] have shown that basalt fibers can offer high tensile strength and great resistance to chemical degradation, which greatly inspire us to examine CFA recycling by making continues glass fibers with improved mechanical and chemical performance.

In this work, the continuous glass fibers were successfully prepared from the CFA. The effects of CFA contents on the properties of the glass fibers were studied.

Experimental procedures

Materials: Chemical compositions of the CFA used in this work (measured by XRF) are shown in Table 1. We sieved the CFA powder by using an 80-mesh sieve to narrow the particle size distribution. In the batch preparation, SiO2, CaCO3, and MgCO3 were mixed with CFA according to the designed formulation, adjusting the final glass major oxide concentrations around E-glass fiber. The samples with 25 % to 55 % CFA contents are labeled as F25 to F55. Final compositions and properties of the glass fibers are summarized in Table 1. It was found that the required drawing temperature increased, but mass flow decreased, as the CFA content in the glass increases. The fiber drawing process was steady without any interruption, or fiber breakage, for glasses with CFA loading from 25% to 45%, which implies no glass devitrification (process of crystallization from molten glass) occurred at the fiber drawing temperatures. As CFA loading in the glass increased to 55%, it was not feasible to keep fiber process steady without fiber breakage at 1345 ℃. Therefore, the fiber drawing was determined.

Characterization techniques: Differential thermal analysis (DTA) was performed by using TG Q5000IR system. Glass density was measured by using Mettler Toledo Density Meter (AL104). X-ray Powder Diffractometer (D2 PHASER) was used to check fiber glass for crystal formation. Morphology of the samples was studied by using scanning electron microscopy (SEM, SU8010). The tensile strength of glass fiber was measured by using Single Fiber Electronic Tensile Strength Tester (5A); averaged values were reported based on five individual measurements.

Chemical durability tests:

The chemical durability was assessed by leaching tests conducted in 3 M HCl and 1.5 M NaOH at 90℃ for 24 h.

Results and discussion

DTA and crystalline phase analysis

Chemical stability

Evaluations of the fiber chemical stability are summarized in Table 1. In general, the acid resistance of CFA derived fibers is better than alkali resistance of their counterparts. Previous research [START_REF] Wei | Tensile behavior contrast of basalt and glass fibers after chemical treatment[END_REF] showed that, SiO2, a primary glass network former, efficiently prevented glass fibers from the acid attack. During the process of the glass surface hydrolysis, a silicate gel was found on the fiber surfaces, which acted as a protective layer slowing down the kinetics of the acid attack. Besides, the CFA derived fibers contain little alkalis (Na2O and K2O less than 1%) and hence, a limited ion-exchange between H + and alkali ions is expected, which also benefits the fiber acid resistance.

The microstructure of the glass fibers characterized by SEM is shown in Fig. 2.

Compared to the pristine fiber surfaces in Fig. 2 (a), the fiber surface after the acid treatment in Fig. 2 (b) became slightly coarse. In alkaline solution, however, the corroded fiber surface contained a much alerted, thick layer, more than 50 % fiber diameter, suggesting a severe alkaline attack on the fiber surfaces without any protection from a possible passivation layer. Comparing with Fig. 2 (a) for fiber corrosion in an acid solution, fiber reaction and hence its associated damage in an alkali solution is much more severe as shown in Fig. 2(c). The observations are consistent with the fiber mass retention differences for the two corrosion cases (cf. Table 1). For

Tensile strength

The tensile strength of the fiber samples in this work was measured under the same conditions, and the results are shown in Fig. 3. We note that the tensile strength measured here is relatively lower compared to the reference data of commercial E glass fibers [START_REF] Li | Composite reinforcement: Recent development of continuous glass fibers[END_REF]. It is known that fiber tensile strength can be affected by many factors such as sample gage length, measurement temperature, and moisture, fiber diameter, the degree of fiber aging and atmosphere, etc. [START_REF] Wang | Effects of ageing conditions on E-glass failure strain and dynamic fatigue[END_REF]. Indeed, the mechanical properties of reinforced E glass fiber and fly ash fiber reported by Hreglich et al., [START_REF] Hreglich | Continuous glass fibres from waste and their application in reinforced materials[END_REF] were similarly with ~300 MPa. In this work, the fiber tensile strength increases with the increase in CFA content from ~320 MPa at 25 % to ~420 MPa at 45 %, which is equivalent or slightly higher than E glass fiber samples (tensile strength ranging from 320-350 MPa), which were prepared using the same procedure. High Al2O3 content in the CFA derived fibers was shown to increase fiber tensile strength, which can be attributed to its strengthening mechanism of the glass network according to literature. In our case, it is also plausible that Fe2O3, though acting as a glass network modifier [START_REF] Simon | Structural investigations on calcium-silica-phosphate glasses[END_REF], might also benefit the fiber tensile strength because of its influence on slowing down fiber surface hydrolysis.

Conclusions

In this work, continuous glass fibers with different CFA content were prepared.

The tensile strength of the samples increases with increasing of CFA content. The sample with 45 % CFA exhibited the best tensile strength (~420 MPa) higher than E glass fiber prepared by using the same process. The fibers also show good chemical durability (>91 % mass retention after acid corrosion). Our results suggest a feasibility of producing CFA derived glass fibers as one of CFA recycling methods; the fibers can be commercially viable for lower costs and sufficient mechanical strength.

Samples preparation:

  Firstly, the mixed raw materials were melted in a muffle furnace for six hours at 1450 o C, and then quench each glass by immersing the hot crucible in water at room temperature. Secondly, the glass cullet was re-melted in a platinum crucible at 1400 o C and subsequently drawn into fibers at 1300-1330 ℃, depending on the melt viscosity. Fibers were drawn at a speed of 50 m/s to control fiber diameters around 35 µm. Finally, single fibers were used for mechanical and chemical tests.

Fig. 1 (Fig. 1

 11 Fig.1 (a) shows DTA curve of the F35 sample, from which the glass transition temperature (Tg), around 438.7 o C, was determined and the crystallization temperature (Tx) is approximately 800.9 o C. Drawing fibers at temperatures greater than 1300 o C, crystallization in the molten glasses or in fibers existing the bushing tip, therefore, can be avoided. The XRD patterns of the samples shown in Fig.1 (b) indicates the absence of discreet crystallization peaks, implying that all of the glass fibers produced are amorphous.

  the latter, the glass network structure is believed to be weakened or destroyed by strong hydrolysis of the Si-O-Si bond, Si-O-Al bonds, and/or Al-O-Al bonds by OH -groups in the solution.

Fig. 2

 2 Fig.2 SEM morphology of samples with 45% fly ash content. (a) No corrosion; (b) Acid corrosion (3 mol/L HCl 24h); (c) Alkali corrosion (3 mol/L NaOH 24h).

Fig. 3

 3 Fig.3 Tensile strength of samples with different fly ash content. Testing parameters: 20 mm length, 25 o C, 80 % relative humidity, aging for 180 minutes in air conditions.

Table 1 Chemical compositions (wt %) and properties of CFA derived fibers

 1

			Sample mass retention
		Drawing	Drawing
	Glass density			/ %
	Sample SiO2 Al2O3 CaO Fe2O3 Others	temperature	flow
	/g•cm -3		Acid	Alkali
		/ o C	/g•min -1
			corrosion	corrosion
	CFA 43.42 26.76 10.99 6.69 12.14		-
	F25 53.34 6.99 27.87 1.75 10.14 2.569±0.019	1300	0.203±0.011 91.0±1.3	85.5±0.7
	F35 53.87 9.78 24.02 2.45 9.88 2.553±0.028	1315	0.147±0.009 94.4±0.9	82.0±0.5
	F45 53.40 12.58 21.17 3.15 9.70 2.572±0.005	1330	0.100±0.017 98.0±0.6	75.0±1.2
	F55 51.94 15.37 18.31 3.84 10.54		failed

Acknowledgment

This work is supported by the Fundamental Research Funds for the Central Universities and the Chinese Ministry of Science and Technology. (Grant No.2013G111009). Linfeng Ding is funding by the European Union's Horizon 2020 research and innovation program under the Marie Sklodowska-Curie grant agreement No. 642029.


Mirna Džamonja
email: h020@uea.ac.uk

The singular world of singular cardinals

Keywords: 2010 Mathematics subject classification. 03E05 singular cardinals, SCH, combinatorics. 1

The article uses two examples to explore the statement that, contrary to the common wisdom, the properties of singular cardinals are actually more intuitive than those of the regular ones. 1

Introduction

Infinite cardinals can be regular or singular. Regular cardinals and especially successors of regular cardinals, tend to lend themselves to easier and better understood combinatorial methods and hence are often considered as being in some sense easier. For example, Todd Eisworth in his Handbook of Set Theory article [START_REF] Eisworth | Successors of singular cardinals[END_REF] artfully exposes difficulties one has in dealing with the combinatorics of the successors of singulars and explains on a number of examples why the methods used at a successor of a regular most often cannot work when dealing with the successor of a singular. Indeed, it is known that in many situations, dealing with singular cardinals and their successors has to involve techniques beyond combinatorics and forcing, and it notably requires large cardinals. This is true even for such seemingly elementary properties as the calculation of the size of the power set of the cardinal κ as a function of the size of the power sets of the cardinals below, which is basically the content of the famous Singular Cardinal Hypothesis and which has lead to some of the deepest results throughout set theory. In fact, the common wisdom and the thesis of [START_REF] Eisworth | Successors of singular cardinals[END_REF] are that if the universe is close to L then the singular cardinals and their successors are "manageable", and the opposite is true in the models obtained by using strong enough large cardinal hypothesis.

We shall explore the antithesis, which is that (a) in some situations singular cardinals are more manageable than the regular ones and (b) in some models obtained from large 1 cardinals the successors of singulars actually behave quite close to how they do in L, even if we do our best to mess up L by changing the cardinal arithmetic drastically. Our exposition will involve two examples, one for each one of (a) and (b), which we now explain.

Tree embeddings

In this part of the paper we discuss an issue that we investigated with Väänänen in [START_REF] Džamonja | Chain models, trees of singular cardinality and dynamic EF games[END_REF], inspired by work that he had initiated in a number of earlier papers, concentrating there on ℵ 1 and other regular cardinals. In contrast, we worked with κ a singular cardinal of countable cofinality and obtained a surprisingly different situation.

Consider rooted trees of height and cardinality κ, which we call κ-Trees2 . We are interested in κ-Trees which in addition do not have κ-branches, which we call bounded. We studied the natural notion of reduction, which is simply a strict-order preserving function from one tree to another. The existence of a reduction from T to T is denoted by T ≤ T . Furthermore, we write T < T if both T ≤ T and T ≤ T hold. Considerations of tree reductions have arisen in the context of model theory and descriptive set theory, as we now explain. Any undefined or unreferenced notion can be found in [START_REF] Džamonja | Chain models, trees of singular cardinality and dynamic EF games[END_REF], where in particular we give ample references to EF games and chain models.

A relational structure of size λ can be considered as an element of 2 λ . To understand the classification of such models up to isomorphism one uses the Ehrenfeucht-Fraïssé (EF) games, especially in the countable case. There is an older method of classification, using the fact that for two fixed countable models the set of all isomorphisms between them is F δσ , and hence the set of pairs of models that are non-isomorphic is co-analytic. In fact the set, {(A, B) : A, B countable models and ∃f : A ∼ = B} is the same set as the set of pairs (A, B) of countable models for which II has a winning strategy in the EF game. This analysis made it possible to attach to each pair (A, B) of non-isomorphic countable models a rank, called Scott watershed S(A, B), which in this case is an ordinal α < ω 1 .

The rank can be thought of as a clock of the EF game in the following sense: during the EF game the Nonisomorphism player I has to go down this clock at every stage, starting at α itself, and a condition of winning for I is that he has not run out of time before the lack of an isomorphism has been exposed. This game is called the dynamic EF game of rank α + 1 and denoted by EF D α+1 . The fact that S(A, B) = α + 1 means that II wins EF D α (and hence EF D β for any β < α), while I wins EF D α+1 (and hence EF D β for any β > α).

For uncountable models, say of size ℵ 1 , one can generalise the Ehrenfeucht-Fraïssé Theorem by considering games of length ω 1 . One is then tempted to find the corresponding notion of the Scott watershed. It turns out that it is no longer enough to use the ordinals, as the game is transfinite. The right notion this time is that of bounded ℵ 1 -Trees, the class of which we shall denote by T ℵ 1 . If T ≤ T then it is easier for II to win EF D T than EF D T . Respectively, if T ≤ T then it is easier for I to win EF D T than EF D T . Finally, if II wins EF D T and I wins EF D T , then one can prove T < T . In [START_REF] Hyttinen | On Scott and Karp trees of uncountable models[END_REF] it was shown by Hytinnen and Väänänen that the analogue of the Scott watershed exists also in the uncountable case. Naturally, the importance of (T ℵ 1 , ≤) in this context led to a systematic study of its structural properties and a development of the descriptive set theory of the space 2 ω 1 based on T ℵ 1 . The theory of (T λ , ≤) for λ successor of regular is also quite known, although it is not completely parallel to that of (T ℵ 1 , ≤).

When moving to the singular cardinals in [START_REF] Džamonja | Chain models, trees of singular cardinality and dynamic EF games[END_REF], the surprise was that new possibilities opened up. Firstly, it is possible to make links between chain models and the infinitary logic L κκ . For κ of singular cofinality one can develop model theory of L κκ based on the concept of a chain model, as was done by C. Karp and her successors. A chain model is an ordinary model A equipped with a presentation of A as a union of a chain A 0 ⊆ A 1 . . . ⊆ A n ⊆ . . . for n < ω. The chain is not assumed to be elementary. Let us denote such a system as (A n ). The point of chain models is the following modification of the truth definition of L κκ

(A n ) |= ∃xϕ(x) ⇐⇒ there are n < ω and ā ∈ A n with A |= ϕ(ā), (1)
where x is a sequence of length < κ. If we restrict to chain models, the model theory of L κκ is very much like that of L ω 1 ω . For example, one can prove the Completeness Theorem using consistency properties, and one can also prove undefinability of well order, Craig Interpolation Theorem, Beth Definability Theorem, etc. (None of these theorems is true for the classical L κκ logic). In [START_REF] Džamonja | Chain models, trees of singular cardinality and dynamic EF games[END_REF] we extended Scott's analysis of countable models to chain models of size κ. In particular, we considered versions of EF game for (chain) models of a singular cardinality κ of countable cofinality and discovered that the relevant clock trees of these games are bounded κ-Trees.

In fact the main point of this is that κ-Trees for κ as above have properties that make them rather similar to ordinals. The reason for this is that there is a natural notion of rank. Using this notion we can for example show that the universality number of bounded κ-Trees under reduction is just κ + , and that within each rank in [1, κ + ) the universality number is just ω. This is in sharp contrast with the situation of λ-Trees where λ is a regular cardinal. For example for λ = ℵ 1 Mekler and Väänänen [START_REF] Mekler | Trees and Π 1 1 -subsets of ω 1 ω 1[END_REF] have established that the universality number for bounded λ-Trees under reduction cannot be computed in ZFC, and the consistency of this number being equal to 1 for λ = ℵ 1 is not known.

Universal graphs

In this section we shall discuss an embedding question which comes from an even more familiar object than trees, namely graphs. Given a cardinal κ, we are interested to know what is the smallest size of a family of graphs of size κ which embeds every graph of size κ as an induced subgraph. This is known as the universality number. For κ = ℵ 0 this number is 1, as the random graph is a universal countable graph. For uncountable κ the situation becomes sensitive to the axioms of set theory. Namely, by the classical results in model theory on the existence of saturated and special models (see [START_REF] Chung | Model Theory[END_REF]), in the presence of GCH there is a universal graph on every infinite κ, and in fact κ = 2 <κ suffices. On the other hand, a result of Shelah mentioned in [START_REF] Shelah | On universal graphs without instances of CH[END_REF] and described in [START_REF] Kojman | Nonexistence of universal orders in many cardinals[END_REF], is that adding ℵ 2 Cohen reals to a model of CH makes the universality number of graphs at ℵ 1 equal to ℵ 2 . This is an easy proof, in fact Shelah says in the abstract of [START_REF] Shelah | On universal graphs without instances of CH[END_REF] "The consistency of the non-existence of a universal graph of power ℵ 1 is trivial. Add ℵ 2 generic Cohen reals.", and instead he concentrates on a much more complex proof of the consistency of the existence of a universal graph at ℵ 1 and the negation of CH (which in fact was not right in [START_REF] Shelah | On universal graphs without instances of CH[END_REF]. Shelah corrected his proof in [START_REF] Shelah | Universal graphs without instances of CH: revisited[END_REF] and Mekler gave a different proof in [START_REF] Mekler | Universal structures in power ℵ 1[END_REF]). Other successors of regulars behave in a similar way, although neither Mekler's nor Shelah's proof seem to carry over from ℵ 1 to larger successors of regulars. Namely, in [START_REF] Džamonja | On the existence of universal models[END_REF] Džamonja and Shelah obtained the consistency of the universality number of graphs at κ + for an arbitrary large regular κ being equal κ ++ while 2 κ is as large as desired. The negative consistency results directly translate to other successors of regulars and even to a class of them, and to let the reader appreciate the way Cohen's forcing is used, we give a rendition of that argument here. (The proof of Theorem 2.1 presented in [START_REF] Kojman | Nonexistence of universal orders in many cardinals[END_REF] is less formal.) Theorem 2.1 (Shelah, see [START_REF] Kojman | Nonexistence of universal orders in many cardinals[END_REF]) Suppose that κ <κ = κ and let P be the forcing to add λ many, with cf(λ) ≥ κ ++ and λ ≥ 2 κ + , Cohen subsets to κ. Then the universality number for graphs on κ + in the extension by P is λ.

Proof. First notice that in the extension we have that 2 κ = 2 κ + = λ, and hence the total number of graphs on κ + is at most λ, so the universality number for graphs on κ + is also ≤ λ. Now we show that it is ≥ λ. Suppose to the contrary, that {H γ : γ < γ * } for some γ * < λ in the extension are graphs with universe κ + that are universal for graphs on κ + . By standard arguments about the factoring of the Cohen forcing and using cf(λ) ≥ κ ++ , we may assume that all graphs H γ are from the ground model. Let A j i : i ∈ [κ, κ + ), j < κ ++ be a 1-1 enumeration of the first κ ++ Cohen subsets of κ added by P, where the indexing is chosen for the convenience in the argument to follow. For each j < κ ++ we define in the extension a graph G j on κ + by letting for α < i < κ + there be an edge between α and i iff α < κ ≤ i and α ∈ A j i . For each j let h j be an embedding of G j to some H γ j . Note that there is a club C of κ ++ such that for all j ∈ C of cofinality κ + , h

j [κ + 1) is in V [A k i : i ∈ [κ, κ + ), k < k * ]
for some k * < j. Then for any j ∈ C we have

A j κ = {α < κ : (α, κ) are an edge in G j } = {α < κ : (h j [κ + 1)(α), h j [κ + 1)(κ)) are an edge in H γ j }, which is an object in V [A k i : i ∈ [κ, κ + ), k < k * ], a contradiction. 2.1
Using a standard argument about Easton forcing we can see that it is equally easy to get negative universality results for graphs at a class of regular cardinals: Theorem 2.2 Suppose that the ground model V satisfies GCH and C is a class of regular cardinals in V , while F is a non-decreasing function on C satisfying that for each κ ∈ C we have cf(F (κ)) ≥ κ ++ . Let P be Easton's forcing to add F (κ) Cohen subsets to κ for each κ ∈ C. Then for each κ ∈ C the universality number for graphs on κ + in the extension by P is F (κ).

Proof. Recall that the forcing notion P is constructed as follows: for each κ ∈ C we have the forcing P κ which adds F (κ) Cohen subsets to κ, using functions of size < κ from κ × F (κ) to {0, 1} with the extension given by the extension of functions. Then P is the Easton product of {P κ : κ ∈ C}, which means that each condition p ∈ P is an element of Π κ∈C P κ with support spt(p) satisfying |spt(p) ∩ θ| < θ for every regular cardinal θ. Denoting by p κ the projection of condition p on the coordinate κ, each condition in P can be viewed as a function on triples (κ, α, β) where p(κ, α, β) is defined as p κ (α, β). Then standard arguments show that for every regular θ the forcing breaks into P ≤θ ×P >θ where P ≤θ = {p (κ, α, β) : κ ≤ θ} and P >θ = {p (κ, α, β) : κ > θ}, and that P >θ is θ-closed while P ≤θ satisfies the θ + -chain condition. Now let κ ∈ C and suppose for a contradiction that in the extension by P we have a universal family {H γ : γ < γ * } of graphs on κ + for some γ * < F (κ). Since P >κ + is κ + -closed, it does not add any new subsets to κ + , and hence the universal family is added by P ≤κ + . We shall once more use an argument about factoring, in that for every θ < F (κ) we can consider P ≤κ + as the product

Q ≤θ = {p ∈ P ≤κ + : (κ, α, β) ∈ dom(p) =⇒ β ≤ θ} × Q >θ = {p ∈ P ≤κ + : (κ, α, β) ∈ dom(p) =⇒ β > θ}.
Since cf(F (κ)) ≥ κ ++ , there is some θ < F (κ) such that all graphs H γ are added by Q ≤θ . Now we can basically repeat the argument from the proof of Theorem 2.1: let A j i : i ∈ [κ, κ + ), j < F (κ) be a 1-1 enumeration of the Cohen subsets of κ added by Q >θ and for each j < κ ++ we define in the extension a graph G j on κ + by letting for α < i < κ + there be an edge between α and i iff α < κ ≤ i and α ∈ A j i . For each j let h j be an embedding of G j to some H γ j . Note that there is a club C of F (κ) such that for all j ∈ C of cofinality

≥ κ + , h j [κ + 1) is in V [A k i : i ∈ [κ, κ + ), k < k * ] for some k * < j. Then for every j ∈ C A j κ = {α < κ : (α, κ) are an edge inG j } = {α < κ : (h j [κ + 1)(α), h j [κ + 1)(κ)) are an edge in H γ j }, which is an object in V Q ≤θ [A k i : i ∈ [κ, κ + ), k < k * ], a contradiction. 2.
2 Things change at the successor of a singular! Positive results analogous to the Džamonja-Shelah [START_REF] Džamonja | On the existence of universal models[END_REF] were obtained for κ of countable cofinality by Džamonja and Shelah in [START_REF] Džamonja | Universal graphs at the successor of a singular cardinal[END_REF] and for arbitrary cofinality by Cummings, Džamonja, Magidor, Morgan and Shelah in [START_REF] Cummings | A framework for forcing constructions at successors of singular cardinals[END_REF]. We quote that general result: Theorem 2.3 (Cummings et al. [START_REF] Cummings | A framework for forcing constructions at successors of singular cardinals[END_REF]) If κ is a supercompact cardinal, λ < κ is a regular cardinal and Θ is a cardinal with cf(Θ) ≥ κ ++ and κ +3 ≤ Θ there is a forcing extension in which cf(κ) = λ, 2 κ = 2 κ + = Θ and there is a universal family of graphs on κ + of size κ ++ . However, it is not known in Theorem 2.3 if the universality number is exactly κ ++ . For all we know, in that model there could be a universal graph on κ + . Worse, we do not know how to imitate the negative universality presented in Theorems 2.1 and 2.2 above. We do not know how to obtain a model in which the relevant instances of GCH fail and the universality number of graphs is 2 λ for λ the successor of a singular. We have given Shelah's argument about the Cohen forcing in gory detail to invite the reader to think if anything like this can be produced at a singular κ. Initial results by Cummings and Magidor (private communication) indicate that a naive generalization might not be possible. Perhaps there is some sort of singular cardinal hypothesis-like behaviour here. Perhaps we cannot just monkey around with the universality number for graphs at the successor of singular even when we are basically as far from L as we can possibly be, at least as far as the power set function is concerned?

Conclusion

We have discussed two problems where the intuition of the singular cardinal being in a sense more difficult than a regular one, seems to be completely false. In fact, the truth seems to be that although the properties of the singular cardinals are harder to discover, once we have done that difficult discovery, these properties are actually nicer than their analogues at the regular cardinals. Some other results but the ones presented here can be viewed with this idea in mind, for example does not the whole story of the Singular Cardinal Hypothesis including the celebrated theorem of Shelah [(∀n < ω)2 ℵn < ℵ ω ] =⇒ 2 ℵω < ℵ ω 4 , does not this story say that the singulars are in fact more intuitive than the regulars? Erdös has said something to the extent of the infinite being the easy part, and the finite the difficult one. If the infinite is the limit of the finite, a singular cardinal is a limit of the successors of regulars, and maybe it is at such limits that the unruly universe of set theory wishes to express its more tame behaviour. It seems possible that by investigating finer combinatorics than that expressed by the power set function we may find combinatorial versions of SCH which are just outright true.

This is different than the usual κ-trees, which are also required to have levels of size < κ.

The author thanks EPSRC for their grant EP/I00498.


Thomas Huraux
email: thomas.huraux@edf.fr

Nicolas Sabouret
email: nicolas.sabouret@limsi.fr

Yvon Haradji
email: yvon.haradji@edf.fr

A Multi-Level Model for Multi-Agent Based Simulation

Keywords: Multi-Level Modeling, Multi-Agent Systems, Simulation

In this paper, we consider the problem of modeling complex systems at several levels of abstraction. We design SIMLAB, a multi-level model for multi-agent based simulation. Our approach is based on the coexistence of different levels during simulation to enhance the model with complementary experts' opinion. We present how a same concept can be defined independently of its granularity using the notion of modeling axis. We consider recursive agents with interactions and influences which captures the inter-level dynamics. We also propose observations to detect and to reify macroscopic entities.

INTRODUCTION

The simulation of complex phenomena is based on the use of models that allow experts to understand systems and to anticipate changes. These models are highly constrained by the modeler's view of the system and by the computational limits, in terms of memory or computation time required to run simulations. However, we know that considering a complex system as a whole to reproduce the immense diversity of its behavior is unfeasible [START_REF] Batty | Modeling complexity: the limits to prediction[END_REF]. This is the reason why simulations are based on partial representations. Rather than considering the whole picture, people use simplifications and abandon some aspects that they consider less relevant for a given study. The role of experts in the modeling process is then to make choices about what should be considered in the model.

Multi-agent systems (MAS) provide a well-suited paradigm for simulating such complex phenomena. One of the main strength of multi-agent simulation is that it uses distinct entities to represent every concept that has been identified as important by the modeler. Moreover, the behavior of every agent, i.e. every significant entity to the modeler, can be recorded and analyzed. As a consequence, and in contrast to other approaches, the produced model does not take the form of a "black box": as Edmonds explains [START_REF] Edmonds | The use of models-making mabs more informative[END_REF], MAS offer an ideal support to interact with experts based on the agent's behavior analysis.

Another advantage of multi-agent based simula-tion is that it can use multi-level organisation. Indeed, for a given complex system, expert knowledge is available at different granularity levels, depending on the domain, based on the idea that expert knowledge is largely unusable if we just consider the microscopic level [START_REF] Conte | Sociology and social theory in agent based social simulation: A symposium[END_REF]. For instance in social science, studies go from psychology (individuals) to sociology (groups) through ergonomics (activity). In multi-level agent-based simulation, entities that correspond to different abstractions' level will be represented by agents at different levels in the MAS organization. However, in most existing work, the analysis of the emergent phenomena in multi-agent systems only considers expert knowledge from one level at a time. In this paper, we claim that some behaviors cannot be understood without a multi-level context, i.e. a positioning in what forms the agent (entities at the lower levels) and what constrains it (entities from upper levels). Hence, our hypothesis is that representing and co-simulating different levels in the same model may produce agents with more complete behaviors.

The work presented here relies on two core ideas. First, common characteristics of the same concept shall be defined independently from its level of abstraction. Second, levels should coexist during the simulation not as different visualizations of a single phenomenon, but to connect different aspects, different expert knowledge. As we explain in the section 2, most of the existing models were not designed to co-simulate complementary points of view. They are designed to perform abstractions or aggregations that control the microscopic level. In section 3, we present our multi-level model. Then, we illustrate in section 4 its properties with a simple example and in section 5 we discuss the perspectives of our works.

POSITIONING

Several frameworks and methodologies have been developed for engineering multi-agent systems. For instance, the MaSE [START_REF] Wood | An overview of the multiagent systems engineering methodology[END_REF] methodology proposes an iterative progression to build a multi-agent system. The methodology is divided into six phases but none of them is the question of choosing levels of abstraction, even less a possible coexistence of these levels. Yet we believe that it should play a central role in the design process of systems. In Gaia [START_REF] Zambonelli | Organisational abstractions for the analysis and design of multi-agent systems[END_REF], AGRE [START_REF] Ferber | Agre: Integrating environments with organizations[END_REF] or INGENIAS [START_REF] Pavón | Agent oriented software engineering with ingenias[END_REF], the use of organizations can be considered as an addition in the system of other levels of abstraction. In these works, organizations are groups of agents with tasks or/and goals in common. Agents are then subordinated to organizations in which they belong and this organization strongly relies on the agents' goals. In our work, we propose a multi-level model for simulation with intentional agents without explicit goals manipulation.

Multi-level models in the literature are often domain-dependent. For instance the RIVAGE model in [START_REF] Servat | When agents emerge from agents : Introducing multiscale viewpoints in multi-agent simulations[END_REF] which consider water as a multi-level set of agents for modeling flow, erosion and infiltration on heterogeneous soils. Another example : the model in [START_REF] Tranouez | Contribution à la modélisation et à la prise en compte informatique de niveaux de description multiples[END_REF] simulate liquid flow where authors use vortex and macroscopicvortex models. These specific models cannot be reused in a different context. But what is important with these models is that they are not designed to lower computational cost but to facilitate studies using several levels. This idea is at the heart of our work. Actually, it is not one of our objectives in this current paper to build a generic model.

In contrast, other works use multi-level modeling to speed up simulations. For instance, the level-ofdetail approach used by [START_REF] Navarro | Dynamic level of detail for large scale agent-based urban simulations[END_REF] to realize large scale urban simulation. The system selects by itself the level of representation for each agent allowing a significant computational gain. In such systems, only one level is activated at the same time and so several levels do not coexist. We notice the same problem with the hierarchical multi-level model SWARM [START_REF] Minar | The swarm simulation system : a toolkit for building multi-agent simulations[END_REF] and the SimulBogota model [START_REF] Gil-Quijano | Mechanisms of automated formation and evolution of socialgroups : A multi-agent system to model the intraurban mobilities of Bogota city[END_REF] based on agent ag-gregation. In these models, macroscopic entities take the lead of microscopic ones which loose their autonomy. Here, even though macroscopic levels are explicitly represented, levels do not really coexist.

In [START_REF] Nguyen | An hybrid equation-based and agent-based modeling of crowd evacuation on road network[END_REF], authors choose a multimodeling approach using heterogeneous models to represent several levels. Agents are aggregated and constitute path using equations of fluid flow to simulate evacuation in case of tsunami alert of the vietnamese city Nha Trang. This approach is studied in [START_REF] Siebert | Agents and artefacts for multiple models co-evolution: building complex system simulation as a set of interacting models[END_REF] : the meta-model AA4MM use artifact to couple models of several levels. In these models, inter-level interactions allow coupling between models with functions of information sharing. Although multi-modeling enable to join existing models from different domain, it can be presumably more interesting to get domain experts together to exchange looks on a same model.

The interested reader can obtain additional references in the literature review on multi-level agentbased modeling by G. Morvan [START_REF] Morvan | Multi-level agent-based modelingbibliography[END_REF]. Based on the literature, we identify two limits in the existing models :

1. Levels do not really coexist during the simulation with often controlled microscopic levels.

2. Interactions and perceptions between levels are not clearly elucidated.

For that reason we propose in this article a multi-level model for multi-agent simulations (SIMLAB stands for SIMLAB Is Multi-Level Agent Based) in which various level agents can coexist and their interactions reflect the properties of common notions between entities, as understood by the modeler.

THE SIMLAB MODEL

Our multi-level agent-based model is based on the following fundamental concepts. First, some characteristic elements of the modeled entities are shared by agents from different levels. To this purpose, we introduce the notion of modeling axis, which captures the representation of transverse agents' components. Second, we propose to distinguish between agent interactions (i.e. exchange of informations or requests to the purpose of the system's execution) and intraaxis influence of properties, which captures the dynamics of these transverse components. Last, in order to have a dynamic reorganization in the MAS, we propose to use observations that detect and reify macro entities that make sense for the experts.

The following subsections present the general agent model and these four components of our multi-level MAS model.

Agent Model

All entities in the system are recursive agents (agents composed of other agent with properties and interactions transferred from one level to another). Let Ω be the set of all agents. For each agent ω ∈ Ω, we have Ω ω sup the set of direct super-agents of ω and Ω ω sub the set of direct sub-agents. We denote the non-transitive inter-level relation:

ω 1 ω 2 means that ω 1 ∈ Ω ω 2
sub and ω 2 ∈ Ω ω 1 sup . We assume that is acyclic, but no other restriction is specified in our model. In particular, an agent can have several superagents.

Every agent ω ∈ Ω is characterized by: a set of properties P (see 3.1.1), a set of actions A (see 3.1.2) and interactions I (see 3.1.3), and a set of observations V (see 3.4).

Agent Properties

Agent properties are the variables that can be manipulated by the agent. They capture the characteristic notions of the modeled entity. A property can be atomic (real, boolean, ...) or more complex (list, set, or even another agent). We denote ω.p the property p of agent ω. We denote P the set of all porperties and P (ω) the set of properties of ω.

Agent Actions

Each agent has a set of internal actions to modify its properties. To describe the effect of an action, we introduce the operator ":=" to change state properties : given a value ω.p := v means that v is allocated to the property p of the agent ω. We denote A(ω) the set of actions of ω. Each a ∈ A(ω) is a set of property allocations. Moreover, we associate a precondition Pre(a) (i.e. a function of P (ω) to B) to each action a and, at every step of execution, an agent performs all its actions whose preconditions are satisfied.

Interactions Between Agents

Our interaction mechanism is a simplified version of the classical intentional communication model proposed by FIPA (FIPA consortium, 2003). Every agent ω ∈ Ω is associated with a set of reactions R (ω), i.e. actions that can only be triggered by interactions. Like actions, reactions are a set of properties allocations and are associated with a precondition (Pre(r)). Moreover, every agent ω has a set of interactions I (ω), where each i ∈ I (ω) is a tuple target, reactions with target ∈ Ω the recipient and reactions ⊆ R (target) a set of reactions by the recipient. As for reactions and internal actions, we associate a precondition Pre(i) to each interaction. At every step of execution, for all i such that Pre(i) is satisfied, for all r ∈ reactions(i) such that Pre(r) is satisfied, all the effects of r are performed by target.

Example Let n and h be two agents ∈ Ω corresponding to an individual and a heater, h.temp ∈ P (h) the temperature property of h and increase ∈ I (n) the possible interaction of n on h define as :

increase = h, {h.temp := h.temp * 1.1}
If the individual performs the increase interaction on the heater, it will increase the temperature by 10%.

(De)Activation of Agents

Each agent can be activated or de-activated during the simulation, either for selecting a suitable simulation's level for a given study, or for reducing the computation load. We note ω.active the property that states whether an agent is active or not, and we have two set of actions f on and f o f f which are triggered when the agent activates (resp. de-activates). When de-activated, an agent continues to influence its peer properties but it will no longer interact with other agents (this interaction task is moved to the responsibility of its super-agents) or perform internal actions.

Modeling Axis

A modeling axis is intended to represent consistency between super and sub-agents. It consists of a set of entities that correspond to the same concept. In other words, it regroups all the abstraction levels of a same aspect of the phenomenon being studied. For instance, individuals, families and social groups are elements of the population axis.

In our model, we have the to following properties: • agents in the same axis are connected with the relation , • agents in the same axis share a set of common properties.

Notation We denote χ c ⊆ Ω the modeling axis corresponding to concept c (e.g. χ population ).

Agents Relation in an Axis

Every axis χ c forms a connex subset of Ω for the relation : all agents ω i ∈ χ c are connected to the others ω j ∈ χ c via .

We denote lvl(ω) the agent's level in its axis, with lvl(ω) = 0 for lower-level agents, and lvl(ω) = max m∈Ω ω sub (lvl(m)) for higher-level agents. The modeler can activate or de-activate agents of a given level, for the purpose of its study or for performance issues. χ c (i) ⊆ χ c represents the set of all agents with lvl = i.

Shared Properties in an Axis

It is important that different modeling levels formed by the relationship " " mean something to the modeler. Indeed, there is an infinite number of levels for a same phenomenon, and they are not all relevant in the context of a given study. What links these different levels within a modeling axis, conceptually, is sharing some properties. Consider the example of human activity, it can be modeled as a sequence of tasks, or at a higher level as a set of habits. With these two models of the same phenomenon, there are common properties like conditions, preferential periods, frequency of realization, etc.

Every axis χ c is characterised by a subset of properties P χ c ⊂ P such that:

∀ω ∈ χ c , ∀p ∈ P χ c , p ∈ P (ω) (1)
We call P χ c the set of shared properties of the axis χ c .

Intra-Axis Influences

To describe inter-level relations in a modeling axis, we introduce the notion of influence. It is intended to represent how agent properties are influenced by its super or sub-agents. In MAS, we find the notion of influence in [START_REF] Morvan | Irm4mls: the influence reaction model for multilevel simulation[END_REF] where the influence is the " desire" of an agent to modify its environment. The semantic is different here, we are closer to the definition of social influence and the influence of individuals on the group as it is found, for example, in work on social computing [START_REF] Wang | Social computing: From social informatics to social intelligence[END_REF]. Through this mechanism, agents of different levels will be able to co-evolve during the simulation.

In the model, we define F as the set of influences. An influence f ∈ F is characterized by a tuple ω e , ω r , P src , p, in f l . It allows an agent ω e to influence the value of a property of one of its super or sub-agents called ω r , based on some of its properties.

P src ⊆ P (ω e ) is the set of properties of ω e used to compute the influence on ω r , p ∈ P (ω r ) the changed property and in f l the influence function which change the property. We denote f (P src ) the value that ω r must integrate in p (with the relation :=).

Example Let n be a sub-agent of f . They correspond to an individual and its family. t ∈ [0, 1] is an individual's property which represents its tendency to increase the heater. prio ∈ {co, sp} describes if the family gives priority to its comfort or its spending.

We define ∈ F the following influence:

f , n, prio,t, t * 0.5 prio = sp t prio = co
It means that the individual's tendency to increase the heater is halved when its family give priority to spending.

When an agent is de-activated, it continues to have an influence, unlike the actions and interactions that the agent can not achieve anymore. The idea is that the agent's behavior is always potentially influenced by the presence in the system of its super and subagents, regardless of their activation status.

Note that influences apply on properties, not agent instances of properties. As a consequence, shared properties have the same influences for all agents in the axis.

Remark Considering the influences as a directed graph with P the set of nodes (corresponding to the set of properties, potentially involved in influences), we must constrain the model to prevent the presence of cycle. Let (p 0 , p 1 , ..., p n-1 , p n ) be a sequence of nodes in which two consecutive nodes p i and p i+1 are connected by an influence. The system must verify the following acyclic property :

(p 0 , p 1 , ..., p n-1 , p n ) | p 0 = p n
(2)

Influences Integration

Each agent property will be influenced by other properties in the same modeling axis. The agent is responsible for aggregating all these influences to determine the value of its property, using a σ combination function (which can be a sum, a product or any combination chosen by the modeler) :

ω.p := σ(E(p)) (3)
with E(p) representing the set of all influences.

Recursive Properties

The concept of influence allows us to define recursive properties. A recursive property is a property that is defined for all agents of an axis (n.b. recursive properties are also shared properties) and is influenced by all the source property values in the lower-level agents.

The influence of a recursive property is always oriented from the sub-agent to the super-agent.

The introduction of shared properties and recursive properties in the model, with the influence's mechanism, allows the modeler to establish consistency in behavior between different levels (e.g. establishing a link between the preferences of an individual and those of a group he belongs). On one side the shared properties constitute the structural elements of a modeling axis. On the other, the influence and recursive properties link levels together and form a common dynamic.

We denote P χ c rec ⊆ P χ c the sub-set of recursive properties of the χ c axis. For each shared property p between an agent a and its sub-agents Ω a sub , there is a corresponding influence. Formally :

∀p ∈ P χ c rec ∀i > 0 ∀a ∈ χ c (i) ∀ω e ∈ Ω a
sub ω e , a, P src , p, in f l ∈ F (4)

Influence of a Recursive Property

Changing the value of a recursive property translates into a recursive function whose computation is from the agent to the sub-agents. Indeed, an agent ω ∈ Ω recursively computes the influence f (see 3.3) for each of its properties, such as :

f (ω) = ω.σ( f (sub 1 ), ..., f (sub n )) Ω ω sub = / 0 0 Ω ω sub = / 0 (5)
with sub i ∈ Ω ω sub , σ the combination function and 0 the neutral element for the influenced property.

Self-Observation and Transformations

We consider that to be effective, our approach to multi-level modeling requires a dynamic structure.

Agents should be able to reorganize themselves in response to the entrance or exit of agents, to allow dynamic formation of super-agents, or with an eye to reify emergent phenomena. To this end, each agent can be associated with one or more observations represented as a tuple S,M,φ,t with S ⊆ Ω the measured agents. Each measurement is then compared (using the following function : M : S → R) with an activation threshold φ ∈ R to potentially trigger a transformation t ∈ T (see 3.4.1).

Transformation of the System

A transformation modifies the organizational structure of the system. In the multi-level representation domain, we find this type of operation with holonic systems based on Koestler's work [START_REF] Koestler | The Ghost in the Machine[END_REF],

for instance the CRIO model in [START_REF] Gaud | Systèmes Multi-Agents Holoniques : De l'Analyse à l'Implantation[END_REF]. Let T be the set of transformations. A transformation t ∈ T is a couple cond, ∆ i with cond a condition on the MAS structure for the completion of t and ∆ i a set of modifications on the organizational structure of the system.

When an agent triggers a transformation, it is always directed to a single target agent. Transformations are defined independently of agents: for a given transformation's type, there is potentially |Ω| 2 transformations. Agents have five types of transformations:

(1) Create The target agent is added by to the set Ω.

(2) Join The target agent is added to the set of superagents of the triggering agent.

(3) Merge The triggering agent and the target agent group together to form a new super-agent. This transformation is composed of a create transformation following by two join. Note that two agents cannot "merge" if they already have a common super-agent with the same properties: common super-agents at a given level must have different properties. However, two individuals could form both a family and a group. (4) Leave The target agent is removed from the set of super-agents of the triggering agent.

(5) Delete The target agent is removed from the set of agents Ω.

Triggering a Transformation

When the measurement function M, applied to one of the agents of S, exceeds the threshold φ, the observation triggers the associated transformation t ∈ T :

∃x ∈ 2 S |M(x) ≥ φ → t(x)

ILLUSTRATIVE EXAMPLE

To illustrate our proposal, let us provide a simple example of multi-level modeling : we consider the thermal comfort of individuals and groups. Individuals in a room has a thermal comfort which will encourages them to adjust their heater according to the group.

Applying the proposed model we introduce two modeling axis : the population and the environment. The population is composed of individuals that can form groups and environment is limited to heater located in rooms. As shown in figure 1, each individual (which influence each other within the group) will interact with the heater to adjust the thermostat according to its thermal comfort. Then, the heater influences

Population Axis

We denote χ pop this modeling axis. It contains all populations on several levels. We denote com f ∈ {-2, -1, 0, 1, 2} the recursive property representing the level of thermal comfort. As shown in 3.3.2, it means that this property is influenced by all the source property values in the lower-level population agents.

Individual

At the microscopic level we have the individuals. An individual is characterized by ct ∈ {-1, 0, 1} a cold-tolerance level, pt ∈ N the perceived temperature, tend ∈ [0, 1] the tendency to adjust the heating, ψ ∈ [0, 1] a probability to change it and cr ∈ χ env the current room. The cold-tolerance changes the level of thermal comfort felt by individuals.

Action An individual i ∈ χ pop updates continuously its thermal comfort following :

i.com f := i.pt -(21 + i.ct)
For this example, we simply consider 21 • C as the ideal temperature. This is an obviously caricatural description of thermal comfort mechanism but our example is intended to illustrate the possibilities of our model.

An individual modifies its tendency to adjust the heating according to group's thermal comfort.

Reaction An individual modifies its perceived temperature accordingly to the room's interaction (see 4.2.2).

Interactions An individual can act upon heater h with the following interactions:

• inc = h, {h.th := h.th + 1} • dec = h, {h.th := h.th -1}
The heater will influence the room's temperature which, in turn, impacts the individual's thermal comfort. A constant discomfort threshold is used as a precondition to trigger these interactions from the individuals.

Influence Because thermal comfort is a recursive property, individual i influences the thermal comfort of the group g following : i, g, {i.com f }, g.com f , i.com f Obervation We consider a simple observation which adds an individual i to a group when it enters into a room : Groups ⊂ χ pop , M, 1, join with

M : g ∈ Groups → 1 g.room = i.cr ∧ i / ∈ Ω g sub 0 otherwise

Group

A group is an agent composed of several individuals in the same room room.

Action A group g ∈ χ pop updates continuously its level of thermal comfort using the average function on influences to its comfort property (see σ in 3.3).

Influence A group g influences the probability of its members to adjust the heating following :

Environment Axis

Let χ env be the environment axis. It contains the heaters and the rooms as seen as groups of heaters. Rooms are defined in a static manner, they do not evolve during the simulation.

Heater

A heater is characterized by a thermostat th ∈ [0, 9].

Reaction A heater modifies its thermostat accordingly to individuals' interactions.

Influence A heater h influences the temperature of the room r with : h, r, h.th, r.t, r.t + (h.th * α)

with α the heater's efficiency.

Room

We define a room as a super-agent of heater. It is characterized by a current temperature t.

Action A room r ∈ χ env updates continuously its temperature using an average function as σ on all the influences coming from heaters :

r.t = f (sub 1 ), ..., f (sub n ) ∀sub i ∈ Ω r sub
We consider that rooms' temperature is only dependent on heaters' thermostat.

Discussion

This example shows how much the notion of modeling axis is implicitly present when we designing models. As it often happens with MABS, we have several concepts in this example. First, individuals and groups are entities which represent actors in the system. Second, heaters and rooms that represent the environment with our model. It is very staightforward to define the population and the environment axis corresponding to these concepts. As a result, we tend to obtain a multi-level representation which do not distort the modeled system. Moreover, shared properties facilitate the modeling task by encouraging the reflection around what is common to all levels in a modeling axis. Once this work is completed, there is no need to define these properties for each agent. Recursive properties extend this simplification of modeling to the dynamic's design. This is illustrated in the example : the thermal comfort is computed on the individual level and it is transmitted to the group. One can see how practical it could be for complex system modeling.

Interactions are at the heart of agent based modeling. However, it is not sufficient when entities of several levels are introduced into the model. This is why we introduce influences in addition to interactions. In fact, the difference is purely conceptual : On the one hand, interactions contribute to the system's dynamics (in this example, leading to a change of thermostat or thermal comfort). On the other hand, influences contribute to the coherence between levels. For instance, the comfort level of the group is always connected to the individuals' comfort. In fact, it would be possible to represent influences using interaction (e.g. an individual interact with the group to change its comfort) but the main idea here is to separate them in order to simplify the modeling process. Thus, modeling strategy can then be summarized in four steps :

1. What are the concepts involved to define the corresponding modeling axis and then define levels for each of them ?

2. In which ways entities interact ?

3. How the behavior of agents influences their superagent, and vice versa ?

4. What organizational elements should be dynamic and what could be the observations and the associated transformations ?

The balance between influences (i.e. non-autonomous variable modification) and interactions (i.e. autonomous exchange of information) need to be further studied, to decide how the system designer can have agent that are aware of other levels and more or less sensitive to influences. This is one of our current research objectives. The role of observations as part of the organizational process, was not fully illustrated in our example. In order to better understand this feature, we must consider a more complete and complex example. Consider now that individuals can perform tasks (i.e. elements of everyday life activity : sleeping, eating, watching TV, ...), modifying their current room and their thermal comfort (some task such as cleaning leads to increasing the amount of body heat production and therefore changes the perceived temperature). Hence, third concept is introduced in our model leading to create a new modeling axis : the activity axis. Such an axis allows us to represent human activity on several levels of abstraction (e.g. tasks, habits, lifestyles, ...). With activities, we only need to provide observations to individuals such that they automatically form groups when they perform the same activity pattern. Groups can be interesting for the modeler in many studies. For instance in a study on energy consumption, groups are highly relevant as they can help domain experts to identify some typologies of consumers and their related energetic behavior. It must be emphasized that it is important that agents are able to perceive themselves and modify their organizations. Indeed, modeling is facilitated because some levels can be created automatically. Moreover, an explicit representation of reified entities gives them visibility in addition to a real role in the simulation due to possible influences.

In this paper we propose SIMLAB, a novel model for multi-level agent based simulation. This model has the particularity to explicitly define the notion of modeling axis allowing representation on others aspects than only actors. In addition, influences are designed to represent inter-level relationships and influences of recursive properties are spread from one level to another. Moreover, observations make the model capable of modifying the system's organization, as detecting and reifying macro-entities. As we have explained, it would be interesting to represent multi-level entities within a same model allowing experts of different domain to work together at the level that suits them best.

In the SMACH platform [START_REF] Amouroux | Simulating human activities to investigate household energy consumption[END_REF], we are currently working on the application of this multi-level model to simulate human behavior. The SMACH simulation platform is intended to study household activities and their relation with electrical consumption depending on specific pricing policies or appliance use. We are extending the SMACH model to study population, activity and environment at several levels of representation. Our goal is to evaluate possible incentives to diminish peak hours electricity demand. We may be able to evaluate our model in a three axis representation of human activity. For instance, such model may well be able to reproduce interesting social phenomena without having to simulate thousands of agents introducing explicit social entities.

Figure 1 :

 1 Figure 1: Overview diagram

  i, {g.com f }, i.ψ, i.tend * |g.com f | 2

Interaction

  A room r change the perceived temperature by individuals : updtT = r, {∀i ∈ Ω group sub | group.cr = r}, {i.pt := r.t}


Nyoman Juniarta
email: nyoman.juniarta@loria.fr

Victor Codocedo
email: victor.codocedo@inria.cl

Miguel Couceiro
email: miguel.couceiro@loria.fr

Amedeo Napoli
email: amedeo.napoli@loria.fr

Biclustering Based on FCA and Partition Pattern Structures for Recommendation Systems

Keywords: biclustering, FCA, pattern structures, recommendation

This paper focuses on item recommendation for visitors in a museum within the framework of European Project CrossCult about cultural heritage. We present a theoretical research work about recommendation using biclustering. Our approach is based on biclustering using FCA and partition pattern structures. First, we recall a previous method of recommendation based on constant-column biclusters. Then, we propose an alternative approach that incorporates an order information and that uses coherent-evolution-on-columns biclusters. This alternative approach shares some common features with sequential pattern mining. Finally, given a dataset of visitor trajectories, we indicate how these approaches can be used to build a collaborative recommendation strategy.

Introduction

CrossCult (http://www.crosscult.eu) is a European project whose idea is to support the emergence of a European cultural heritage by allowing visitors in different cultural sites (e.g. museum, historic city, archaeological site) to improve the quality of their visit by using adapted computer-based devices and to consider the visit at a European level. Such improvement can be accomplished by studying, among others, the possibility to build a dynamic recommendation system. This system should be able to produce a relevant suggestion on which part of a cultural site may be interesting for a specific visitor.

Here, our objective is to study a dynamic recommendation system for visitors in a museum. Given a new visitor V n , the task is to suggest a museum item that may be interesting for him/her. Based on how a suggestion is made to a new visitor V n , a recommendation system can be classified into one of the three following categories [START_REF] Adomavicius | Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions[END_REF]:

-Content-based recommendations: The system makes a suggestion based only on the previous visited items of V n . For example, if V n visited mostly the items from prehistoric era, then the system recommends another item from that era.

-Collaborative recommendations: The system looks for previous users who have similar interest to V n , and makes a suggestion based on their visited items. For example, if many of V n 's similar users have visited item I, then the system recommends this item. -Hybrid approaches: The combination of content-based and collaborative approaches.

Our method belongs to the second category (collaborative recommendation).

First we group all previous users based on their visit trajectories using biclustering. When V n arrives, we try to find a G s , i.e. a group of visitors who shares a similar interest to V n . Then, based on the behavior of the visitors in G s , we can suggest one item that may be interesting for V n .

In this paper we will recall an approach in [START_REF] Codocedo | Lattice-based biclustering using partition pattern structures[END_REF] that uses partition pattern structures to obtain biclusters with constant (or similar) values on the columns. Then we will propose an alternative approach that relies on this approach to mine another type of biclusters: those with coherent evolution on the columns (CEC biclusters). This bicluster type is useful when we are dealing with a dataset of trajectories where each trajectory corresponds to an ordered list of items. Furthermore, the mining of CEC biclusters can be related to sequential pattern mining, which we will explore in this paper.

This paper is organized as follows. First, we mention some related works about recommendation in Section 2. Then the basic background on biclustering is given in Section 3. Section 4 explains how to perform biclustering using partition pattern structures. The application of biclustering to recommendation systems will be presented in Section 5. Finally, we conclude our paper and outline some future works in Section 6.

Related work

In this section, we will describe related work about recommendation systems, biclustering, and Formal Concept Analysis (FCA).

FCA has been studied in collaborative movie recommendations for a user by looking at the ratings given by other users. In [START_REF] Du Boucher-Ryan | Collaborative recommending using formal concept analysis[END_REF], FCA is used to generate a lattice from a binary matrix (with users as rows and movies as columns) as the formal context. This matrix is derived from a rating dataset which is binarized, such that the matrix contains only the information whether a user has rated a movie. The lattice is then drawn to select some neighbors -i.e. users who have rated the same movies as the new user -regardless of the rating values. In this way, the exhaustive search of neighbors can be avoided. The neighbors' ratings can be then studied to recommend movies rated by the neighbors but not yet rated by the new user.

Pattern structures [START_REF] Ganter | Pattern structures and their projections[END_REF][START_REF] Kaytoue | Biclustering meets triadic concept analysis[END_REF] are a generalization of FCA, where the objects have more complex descriptions (e.g. sequence, graph, etc.). FCA was also extended into Triadic Concept Analysis, and it was shown in [START_REF] Kaytoue | Biclustering meets triadic concept analysis[END_REF] that triadic concepts are in 1-1-correspondence with maximal biclusters of similar values.

Partition pattern structures are an instance of the pattern structure framework. They were used in a collaborative movie recommendation [START_REF] Codocedo-Henríquez | Contributions à l'indexation et à la récupération d'information utilisant l'analyse formelle de concepts[END_REF] by identifying similar-column biclusters within the rating matrix. Such a bicluster corresponds to a set of users with similar rating behavior (hence similar interest) across a set of movies. Therefore, to recommend a movie to a new user, there is a search for biclusters whose users have similar interest to him/her. Then, a recommendation is given by looking at the movies rated by users in the biclusters but not yet rated by the new user. Using the real MovieLens data, a study was also conducted based on Boolean matrix factorization [START_REF] Akhmatnurov | Context-aware recommender system based on boolean matrix factorisation[END_REF].

Moreover, recommendation systems based on FCA and/or biclustering have been applied to other real world problems such as detection of future advertising terms for a company [START_REF] Ignatov | Concept-Based Biclustering for Internet Advertisement[END_REF], educational orientation of Russian school graduates [START_REF] Ignatov | Recommender system based on algorithm of bicluster analysis RecBi[END_REF], and idea recommendation at a crowdsourcing project of Witology company [START_REF] Ignatov | FCA-based recommender models and data analysis for crowdsourcing platform Witology[END_REF]. Furthermore, a unified taxonomy of biclustering methods was proposed in [START_REF] Ignatov | Towards a unified taxonomy of biclustering methods[END_REF].

Biclustering

In this section, we will recall the basic background and discuss illustrative examples of the different types of biclusters as described in [START_REF] Madeira | Biclustering algorithms for biological data analysis: a survey[END_REF]. We consider a dataset composed of a set of objects, each of which has values over a set of attributes. This dataset can be represented as a numerical matrix, where each cell ij indicates the value of object i w.r.t. attribute j.

One may be interested in finding which subset of objects possesses the same values w.r.t. a subset of attributes. Regarding the matrix representation, this is equivalent to the problem of finding a submatrix that has a constant value over all of its elements (example in Table 1). This task is called biclustering with constant values, which is a simultaneous clustering of the rows and columns of a matrix.

Table 1. A bicluster with constant value (shaded)

1 1 4 3 5 1 1 2 5 1 3 3 4 2 1
Other than constant values, the bicluster approach also focused on finding other types of submatrices, as shown in Table 2. A bicluster with constant columns (rows) is a submatrix where each column (row) has the same value, as illustrated in Table 2a (Table 2b, resp.).

In a bicluster with additive coherent values, the value of each cell ij follows the equation γ + α i + β j , where γ is a constant, α i is a constant value for row i, and β j is a constant value for column j. For example, if γ = 1, (α 1 , α 2 , α 3 , α 4 ) = [START_REF] Alqadah | Biclustering neighborhood-based collaborative filtering method for top-n recommender systems[END_REF][START_REF] Akhmatnurov | Context-aware recommender system based on boolean matrix factorisation[END_REF][START_REF] Ben-Dor | Discovering local structure in gene expression data: the order-preserving submatrix problem[END_REF][START_REF] Codocedo | Lattice-based biclustering using partition pattern structures[END_REF], and (β 1 , β 2 , β 3 , β 4 ) = (0, -2, 1, -1), then we can obtain the bicluster in Table 2c. Similarly, we can obtain a bicluster with multiplicative coherent values as shown in Table 2d using a constant for each row and each column. The main difference is that, instead of adding, we multiply them. Another interesting type is the CEC bicluster, also known as order-preserving submatrix [START_REF] Ben-Dor | Discovering local structure in gene expression data: the order-preserving submatrix problem[END_REF]. In this type of bicluster, each row induces the same linear order across all columns. For example, in the bicluster in Table 2e, each row follows column1 ≤ column2 ≤ column4 ≤ column3. Moreover, a bicluster with coherent evolution on the rows can be defined similarly, as shown in Table 2f.

Those different types of biclusters are useful when we are interested in identifying a group of people who behave similarly according to a set of attributes. This group identification is necessary in the task of collaborative recommendation, because in the process of making a suggestion to a person, we first identify the people who are similar to him/her. As suggested in [START_REF] Alqadah | Biclustering neighborhood-based collaborative filtering method for top-n recommender systems[END_REF] the bicluster-based recommendation may give a better performance than state-of-the-art recommendation algorithms.

Biclustering Using Partition Pattern Structures

Biclustering has many common elements with FCA. In FCA, from a binary matrix we try to find a maximal submatrix whose elements are 1. In other words, the objective is to identify maximal constant-value biclusters (but only for biclusters whose values are 1). Hence, a formal concept can be considered as a bicluster of objects and attributes. Furthermore, formal concepts are arranged in a concept lattice, that can describe the hierarchical relation among all biclusters.

Consider the matrix given by Table 3, where we are interested in finding constant-column biclusters. We recognize that the values of m 1 "break" the objects into two sets: {g 1 , g 2 } and {g 3 , g 4 }. The same "break" is also obtained from the values of m 4 . In particular, we can see that the pair ({g 1 , g 2 }, {m 1 , m 4 }) corresponds to a constant-column bicluster. Therefore, it is possible to mine this type of bicluster using this "breaking" -or "partitioning" -technique. Moreover, this technique can be performed using partition pattern structures -an extension of FCA.

In this section, first we will recall the constant-column biclustering approach using partition pattern structures [START_REF] Codocedo | Lattice-based biclustering using partition pattern structures[END_REF]. After that, we will explain the possibility to perform CEC biclustering based on this approach.

Biclustering with Constant Columns

A partition d = {p i } of a set G is a collection of p i ⊆ G such that: pi∈d p i = G and p i ∩ p j = ∅ whenever i = j. (1)
Notice that when calculating the initial partitions, missing values can produce overlapping partitions (i.e. p i ∩ p j = ∅). Consider the dataset given by Table 3 that has G = {g 1 , g 2 , g 3 , g 4 } as the set of objects and M = {m 1 , m 2 , m 3 , m 4 , m 5 } as the set of attributes. Here we can define a partition mapping δ : M → D. The partition is based on the fact that the values of the attribute are equal for all objects in a subset. For example, δ(m 1 ) = {{g 1 , g 2 }, {g 3 , g 4 }} because G is partitioned as such regarding the value of m 1 , whereas δ(m 4 ) = {{g 1 , g 2 }, {g 1 , g 3 , g 4 }}. This partition overlaps on g 1 since this object has a missing value on m 4 . Intuitively, g 1 can be grouped with either {g 2 } or {g 3 , g 4 } w.r.t. m 4 .

Table 3. A dataset with 4 objects and 5 attributes m1 m2 m3 m4 m5 g 1 1 5 3 ? 7 g 2 1 1 4 2 7 g 3 2 5 4 5 3 g 4 2 5 4 5 7

The space D of all partitions over G is a complete lattice, where the meet and join of two partitions d 1 = {p i } and d 2 = {p j } are defined as:

d 1 d 2 =   i,j p i ∩ p j   + (2) d 1 d 2 =   pi∩pj =∅ p i ∪ p j   + (3)
where (.) + is a closure that preserves only the maximal components in d. For example, δ(m

1 ) δ(m 4 ) = {{g 1 , g 2 }, {g 1 }, {g 3 , g 4 }} + = {{g 1 , g 2 }, {g 3 , g 4 }}, and δ(m 1 ) δ(m 4 ) = {{g 1 , g 2 }, {g 1 , g 2 , g 3 , g 4 }, {g 1 , g 3 , g 4 }} + = {{g 1 , g 2 , g 3 , g 4 }}.
The order between any two partitions is given by the subsumption relation:

d 1 d 2 ⇐⇒ d 1 d 2 = d 1 (4)
Given a set of attributes M, a partition space D, and a mapping δ, a partition pattern structures for constant-column biclustering is determined by the triple (M, (D, ), δ). A pair (A, d) is then called a partition pattern concept (pp-concept) iff A = d and d = A, where:

A = m∈A δ(m) A ⊆ M (5) d = {m ∈ M|d δ(m)} d ∈ D (6)
For any partition component p ∈ d, each pair (p, A) corresponds to a constantcolumn bicluster. For example, from the concept ({m 1 , m 4 }, {{g 1 , g 2 }, {g 3 , g 4 }}), two biclusters can be obtained: ({g 1 , g 2 }, {m 1 , m 4 }) and ({g 3 , g 4 }, {m 1 , m 4 }).

Biclustering with Coherent Evolution on the Columns

In a dataset of movie ratings, bicluster with constant columns is useful to identify a set of users with the same taste regarding a set of movies. Another interesting problem arises, e.g. when the dataset contains watching order. In that case, we may be interested in finding a set of users who watch a set of movies in the same order. This problem corresponds to CEC biclustering, where the objective is to find a set of rows which has coherent evolution over a set of columns, as previously described in Section 3. In the current section, we will explain the possible application of partition pattern structures to discover CEC biclusters. Consider the dataset given by Table 4, with the set of attributes G = {g 1 , g 2 , g 3 , g 4 , g 5 }. First, we have to list each pair of attributes and the partition according to the pair's evolution. For the pair p 1,2 = (m 1 , m 2 ), the partition is {{g 1 , g 3 }, {g 2 , g 4 , g 5 }} because in g 1 and g 3 , m 1 is less than m 2 , whereas in g 2 , g 4 , and g 5 , m 1 is greater. As in Subsection 4.1, missing values generate an overlapping partition. For instance, the pair p 1,4 gives rise to the partition is {{g 1 , g 2 , g 5 }, {g 2 , g 3 , g 4 }}. Furthermore, two columns with the same value (e.g. g 3 in m 4 and m 5 ) can also produce an overlapping partition because, by our definition of CEC bicluster in Section 3, they satisfy m 4 ≤ m 5 and m 5 ≤ m 4 . Therefore, the partition for p 4,5 is {{g 1 , g 2 , g 3 }, {g 2 , g 3 , g 4 , g 5 }}. Some pairs and their partitions are listed in Table 5.

Since a CEC partition is defined by at least two attributes, the partition mapping becomes γ : P → D. For instance, γ(p 1,2 ) = {{g 1 , g 3 }, {g 2 , g 4 , g 5 }}.

Table 5. Some examples of partitions over Table 4 Pair Partition

p 1,2 {{g 1 , g 3 }, {g 2 , g 4 , g 5 }} p 1,3 {{g 1 , g 3 , g 5 }, {g 2 , g 4 }} p 1,4 {{g 1 , g 2 , g 5 }, {g 2 , g 3 , g 4 }} p 2,3 {{g 1 , g 3 , g 5 }, {g 2 , g 4 }} p 2,5 {{g 1 , g 2 , g 5 }, {g 3 , g 4 }}
As in Subsection 4.1, given a set of attribute pairs P, a partition space D, and the mapping function γ, a partition pattern structures for coherent-evolution biclustering is determined by the triple (P, (D, ), γ). A pp-concept is a pair (B, d) such that B = d and d = B, where:

B = p∈B γ(p) B ⊆ P (7)
d = {p ∈ P|d γ(p)} d ∈ D (8)
Here, the extent of a pp-concept is a set of attribute pairs. We can obtain a CEC bicluster in a pp-concept if there is a clique among the attributes in the pairs. For example, consider the pp-concept ppc 1 with extent {p 1,2 , p 1,3 , p 2,3 } and intent {{g 1 , g 3 }, {g 5 }, {g 2 , g 4 }}. Its extent forms a clique among m 1 , m 2 , and m 3 , since all pairings of any two of those attributes are included.

If a pp-concept (B, d) contains a set of attributes A that forms a clique, then each pair (p, A), for any partition component p ∈ d, corresponds to a CEC bicluster. For example, from ppc 1 , we can obtain bicluster ({g 1 , g 3 }, {m 1 , m 2 , m 3 }).

Comparison with Sequential Pattern Mining

A sequence is an ordered list s 1 s 2 . . . s m , where s i is an itemset {i 1 , . . . , i n }. A sequence s = s 1 s 2 . . . s m is a subsequence of s = s 1 s 2 . . . s n , denoted by s s , if there exist indices 1 ≤ i 1 < i 2 < . . . < i m ≤ n such that s j ⊆ s ij for all j = 1 . . . m and m ≤ n. For example, the sequence {a}{d} is a subsequence of {a, b}{a, c, d} , while sequence {c}{d} is not.

Notice that the problem of retrieving CEC biclusters can be thought of as a particular type of sequential pattern mining where each itemset is composed by only one item, i.e. the sequences are an ordered list of items. Mining sequential patterns means retrieving frequent subsequences (i.e., subsequences that are present in more than n sequences) and for which there exist many efficient algorithms [START_REF] Yan | CloSpan: Mining: Closed sequential patterns in large datasets[END_REF][START_REF] Wang | BIDE: Efficient mining of frequent closed sequences[END_REF].

The CEC biclustering differs from sequential pattern mining when we allow overlaps in the partitions. Consider Table 4 as a sequential dataset. Each number in row x column y corresponds to the itemset when item y appears in the sequence x. For example, the sequence of object g 3 is {m 4 , m 5 }{m 1 }{m 2 }{m 3 } .

Let us consider items m 1 , m 4 , and m 5 . According to sequential pattern mining, g 3 is different from g 4 , because m 4 and m 5 appear in the same itemset in g 3 . On the other hand, according to CEC biclustering with overlaps, g 3 is similar to g 4 , because in both objects m 5 ≤ m 4 ≤ m 1 .

Recommendation

In the context of CrossCult, we are working on a visitor dataset that comprises several trajectories in a museum. Within this project, our main objective is to build a dynamic recommendation system for new visitors. This system should be able to suggest a museum item to visitors based on their trajectories and by looking at the trajectories of previous visitors. Also, it should be able to update the suggestion as they move inside the museum.

Matrix as order of interest

For each item in the museum, we can measure (e.g. by rating, duration of visit, etc.) their level of interestingness from a set of visitors. An example is shown in Table 6, where the number in cell xy is the ranking of item y according to visitor x. Here we have 3 visitors (v 1 , v 2 , and v 3 ) in the database and 1 target visitor (v a ). Among the existing visitors, only v 1 has complete values over all five items. According to this visitor i 1 is the best, followed by i 2 , i 3 , i 4 , and the worst i 5 . For v 2 (v 3 ), the order of interest of i 2 (i 4 resp.) is not known.

The target visitor (v a ) has visited only three items, with the same order of preference in i 1 and i 2 . This visitor will be included in the bicluster ({v 1 , v 2 , v a }, {i 1 , i 2 , i 3 }). The other two members of this bicluster do not agree on the order of interest of i 4 and i 5 . Hence, we should suggest i 5 to him/her, since one visitor (v 2 ) similar to him/her ranked it first.

Matrix as order of visit

Consider the dataset given by Table 7

is i 6 → i 1 → i 4 → i 2 → i 3 → i 7 → i 5 .
Now we have a new visitor v a who recently arrives to the museum. He/She visits i 3 , followed by i 4 . Our task is to recommend a new item to her, by studying the CEC biclusters over the first four visitors. Some of those biclusters are listed in Table 8. From B7, we can see that all four visitors visit i 7 after i 2 . In B3, v 1 and v 3 follow the same order w.r.t. {i 3 , i 4 , i 5 , i 7 }: i 3 → i 4 → i 5 → i 7 . These two visitors also agree in the order of items {i 1 , i 4 , i 5 , i 7 }, as seen in B4. Those CEC biclusters can be studied to give a recommendation to v a by focusing on those visitors that are similar to him/her. Thus, we can propose a recommendation strategy that follows sequential patterns in the dataset. The idea behind is the following: if many visitors have the path i a → i b → i c , then we should recommend item i c to a visitor who has done i a → i b .

Since v a has path i 3 → i 4 , we focus on the CEC biclusters that have those two items, i.e. B1, B2, and B3. One of those biclusters (B2) has a different ordering (i 3 after i 4 ), and thus we filter it out. Then, in B3 for example, the path is i 3 → i 4 → i 5 → i 7 . Therefore, we can recommend i 5 to v a .

Conclusion

In this work, we have explored an approach to build collaborative recommendation strategy for visitors in a museum. This strategy takes into account the order of interest or the order of visit for each visitor, and we showed how to use CEC biclustering to obtain a set of similar visitors. We also presented a technique for mining CEC biclusters based on FCA using partition pattern structures. This recommendation strategy can be applied to any dataset where the order of items is relevant.

Table 2 .

 2 Examples of some types of biclusters. (a) Constant columns, (b) constant rows, (c) additive coherent values, (d) multiplicative coherent values, (e) coherent evolution on the columns, and (f) coherent evolution on the rows.

Table 4 .

 4 A dataset with 5 objects and 5 attributes

	m1 m2 m3 m4 m5
	g 1 1 2 3 4 5
	g 2 4 2 1 ? 3
	g 3 2 3 4 1 1
	g 4 5 4 2 3 1
	g 5 2 1 5 4 3

Table 6 .

 6 Order of interest of 5 items, observed from certain visitors

	i1 i2 i3 i4 i5
	v1 1 2 3 4 5
	v2 3 ? 4 2 1
	v3 2 4 3 ? 1
	va 1 1 2 ? ?

  about 4 visitors in a museum with 7 items. As explained in Subsection 4.3, this table can be regarded as a sequential dataset. The numbers in row x indicate the path of visitor v x . For example, the path of v 2

Table 7 .

 7 Order of visit of 7 items, observed from certain visitors

	i1 i2 i3 i4 i5 i6 i7
	v1 1 2 3 4 5 6 7
	v2 2 4 5 3 7 1 6
	v3 4 2 1 5 6 3 7
	v4 7 3 1 4 2 6 5
	va ? ? 1 2 ? ? ?

Table 8 .

 8 Some CEC biclusters in Table7

	# Visitors	Items (in order)
	B1 v1	i1, i2, i3, i4, i5, i6, i7
	B2 v2	i6, i1, i4, i2, i3, i7, i5
	B3 v1, v3	i3, i4, i5, i7
	B4 v1, v3	i1, i4, i5, i7
	B5 v1, v4	i3, i5, i6
	B6 v2, v3	i6, i1, i4, i5
	B7 v1, v2, v3, v4 i2, i7

As future work, we intend to explore recommendations based on the order of visit. The problem to be solved is how to model visitors who visit a single item multiple times (for example, i 1 , i 2 , and back to i 1 ).

Another noteworthy question is how to measure the "score" of each bicluster in order to rank recommendations for a new visitor. Ranking candidate items was studied in [3] for constant-value biclusters, and it is possible to extend this work to CEC biclusters. Moreover, further comparisons of CEC biclustering and sequential pattern mining should be investigated, in particular, regarding their complexities and their results. Finally, an implementation of the CEC biclustering using partition pattern structures and an empirical study on real-world data should be performed to measure its complexity and efficiency.