<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0717-5000</journal-id>
<journal-title><![CDATA[CLEI Electronic Journal]]></journal-title>
<abbrev-journal-title><![CDATA[CLEIej]]></abbrev-journal-title>
<issn>0717-5000</issn>
<publisher>
<publisher-name><![CDATA[Centro Latinoamericano de Estudios en Informática]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0717-50002016000100006</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[Vulcanus 2.0: A Recommender System for Accessibility]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Gomes Cardoso]]></surname>
<given-names><![CDATA[Ismael]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Mota]]></surname>
<given-names><![CDATA[Bruno]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Victória Barbosa]]></surname>
<given-names><![CDATA[Jorge Luis]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[da Rosa Righi]]></surname>
<given-names><![CDATA[Rodrigo]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,University of Vale do Rio dos Sinos Applied Computing Graduate Program ]]></institution>
<addr-line><![CDATA[São Leopoldo RS]]></addr-line>
<country>Brazil</country>
</aff>
<aff id="A">
<institution><![CDATA[,brunomota55@gmail.com  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A">
<institution><![CDATA[,jbarbosa@unisinos.br  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<aff id="A">
<institution><![CDATA[,rrrighi@unisinos.br  ]]></institution>
<addr-line><![CDATA[ ]]></addr-line>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>04</month>
<year>2016</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>04</month>
<year>2016</year>
</pub-date>
<volume>19</volume>
<numero>1</numero>
<fpage>6</fpage>
<lpage>6</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_arttext&amp;pid=S0717-50002016000100006&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_abstract&amp;pid=S0717-50002016000100006&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://www.scielo.edu.uy/scielo.php?script=sci_pdf&amp;pid=S0717-50002016000100006&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[Even though the use of recommender systems is already widely spread in several application areas, there is still a lack of studies for accessibility research field. One of these attempts to use recommender system benefits for accessibility needs is Vulcanus. The Vulcanus recommender system uses similarity analysis to compare user&#8217;s trails. In this way, it is possible to take advantage of the user&#8217;s past behavior and distribute personalized content and services. The Vulcanus combined concepts from ubiquitous computing, such as user profiles, context awareness, trails management, and similarity analysis. It uses two different approaches for trails similarity analysis: resources patterns and categories patterns. In this work we performed an asymptotic analysis, identifying Vulcanus&#8217; algorithm complexity. Furthermore we also propose improvements achieved by dynamic programming technique, so the ordinary case is improved by using a bottom-up approach. With that approach, many unnecessary comparisons can be skipped and now Vulcanus 2.0 is presented with improvements in its average case scenario.]]></p></abstract>
<abstract abstract-type="short" xml:lang="pt"><p><![CDATA[Apesar do uso de sistemas de recomendação já ser amplamente difundido em inúmeras áreas de aplicação, na área de pesquisa sobre acessibilidade ainda há falta de estudos. Uma das tentativas de utilizar os benefícios dos sistemas de recomendação para necessidades de acessibilidade é o Vulcanus. O sistema de recomendação Vulcanus usa análise de similaridade para comparar trilhas de usuários. Desta forma, é possível tirar proveito do comportamento histórico do usuário e prover serviços e conteúdos personalizados. O Vulcanus combina conceitos de computação ubíqua, como perfis de usuários, sensibilidade ao contexto, gerenciamento de trilhas, e análise de similaridade. Ele possui duas abordagens diferentes para a análise de similaridade de trilhas: padrão de recursos e padrão de categorias. Neste trabalho foi realizado uma análise assintótica, identificando a complexidade algorítmica do Vulcanus. Além disso, é proposto melhorias no algoritmo através de técnicas de programação dinâmica, onde o caso médio é aprimorado com uso de uma abordagem bottom-up. Com isto muitas comparações desnecessárias são evitadas e o Vulcanus 2.0 é apresentado com aperfeiçoamentos para cenários de caso médio.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[Recommender System]]></kwd>
<kwd lng="en"><![CDATA[Accessibility]]></kwd>
<kwd lng="en"><![CDATA[Context Awareness]]></kwd>
<kwd lng="en"><![CDATA[Asymptotic Analysis]]></kwd>
<kwd lng="pt"><![CDATA[Sistemas de Recomendação]]></kwd>
<kwd lng="pt"><![CDATA[Acessibilidade]]></kwd>
<kwd lng="pt"><![CDATA[Sensibilidade ao Contexto]]></kwd>
<kwd lng="pt"><![CDATA[Análise Assintótica]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <div class="maketitle">                                                                                                                                                                                      <h2 class="titleHead" style="font-size:14pt">Vulcanus 2.0: A Recommender System for Accessibility</h2>                                                    <div class="author" > <span  class="cmbx-12">Ismael Gomes Cardoso, Bruno Mota,</span>     <br>                                       <span  class="cmbx-12">Jorge Luis Vict</span><span  class="cmbx-12">ória Barbosa, Rodrigo da Rosa Righi</span>     <br>                               <span  class="cmr-12">University of Vale do Rio dos Sinos, Applied Computing Graduate Program,</span>     <br>                                              <span  class="cmr-12">Av. Unisinos, 950 - S</span><span  class="cmr-12">ão Leopoldo, RS, Brazil,</span>     <br><span  class="cmti-12"><a href="mailto:ismaelcardoso@yahoo.com.br"> ismaelcardoso@yahoo.com.br</a>, <a href="mailto:brunomota55@gmail.com">brunomota55@gmail.com</a>,</span>     <br>             <span  class="cmti-12"><a href="mailto:jbarbosa@unisinos.br">jbarbosa@unisinos.br</a>, <a href="mailto:rrrighi@unisinos.br">rrrighi@unisinos.br</a> </span></div>    <br>     <div class="date" ></div>    </div>        <div  class="abstract"  >     ]]></body>
<body><![CDATA[<div class="center"  > <!--l. 47-->    <p class="noindent" >     <div class="minipage">    <div class="center"  > <!--l. 47-->    <p class="noindent" > <!--l. 47-->    <p class="noindent" ><span  class="cmbx-10">Abstract</span></div> <!--l. 48-->    <p class="noindent" >Even though the use of recommender systems is already widely spread in several application areas, there is still a lack of studies for accessibility research field. One of these attempts to use recommender system benefits for accessibility needs is Vulcanus. The Vulcanus recommender system uses similarity analysis to compare user&#8217;s trails. In this way, it is possible to take advantage of the user&#8217;s past behavior and distribute personalized content and services. The Vulcanus combined concepts from ubiquitous computing, such as user profiles, context awareness, trails management, and similarity analysis. It uses two different approaches for trails similarity analysis: resources patterns and categories patterns. In this work we performed an asymptotic analysis, identifying Vulcanus&#8217; algorithm complexity. Furthermore we also propose improvements achieved by dynamic programming technique, so the ordinary case is improved by using a bottom-up approach. With that approach, many unnecessary comparisons can be skipped and now Vulcanus 2.0 is presented with improvements in its average case scenario. <!--l. 59-->    <p class="noindent" >Abstract in Spanish or Portuguese <!--l. 61-->    <p class="noindent" >Apesar do uso de sistemas de recomendação já ser amplamente difundido em inúmeras áreas de aplicação, na área de pesquisa sobre acessibilidade ainda há falta de estudos. Uma das tentativas de utilizar os benefícios dos sistemas de recomendação para necessidades de acessibilidade é o Vulcanus. O sistema de recomendação Vulcanus usa análise de similaridade para comparar trilhas de usuários. Desta forma, é possível tirar proveito do comportamento histórico do usuário e prover serviços e conteúdos personalizados. O Vulcanus combina conceitos de computação ubíqua, como perfis de usuários, sensibilidade ao contexto, gerenciamento de trilhas, e análise de similaridade. Ele possui duas abordagens diferentes para a análise de similaridade de trilhas: padrão de recursos e padrão de categorias. Neste trabalho foi realizado uma análise assintótica, identificando a complexidade algorítmica do Vulcanus. Além disso, é proposto melhorias no algoritmo através de técnicas de programação dinâmica, onde o caso médio é aprimorado com uso de uma abordagem bottom-up. Com isto muitas comparações desnecessárias são evitadas e o Vulcanus 2.0 é apresentado com aperfeiçoamentos para cenários de caso médio.</div></div>                                                                                                                                                                                     </div> <!--l. 72-->    <p class="noindent" ><span  class="cmbx-10">Keywords: </span>Recommender System, Accessibility, Context Awareness, Asymptotic Analysis.<br  class="newline">Keywords in Portuguese: Sistemas de Recomendação, Acessibilidade, Sensibilidade ao Contexto, Análise Assintótica.<br  class="newline">Received: 2015-10-25 Revised: 2016-03-07 Accepted: 2016-04-11<br  class="newline">DOI: <a  href="http://dx.doi.org/10.19153/cleiej.19.1.6" class="url" ><span  class="cmtt-10">http://dx.doi.org/10.19153/cleiej.19.1.6</span></a>    <h3 class="sectionHead"><span class="titlemark">1   </span> <a   id="x1-10001"></a>Introduction</h3> <!--l. 81-->    ]]></body>
<body><![CDATA[<p class="noindent" >Technology is in the era of big data <span class="cite">[<a  href="#XBigData">1</a><a id="br1">]</a></span>, where information is abundant and even generated in excess. People make use of a variety of strategies in order to take daily decisions on what to buy, on how to make better use of their free time and even on whom to date. Recommender Systems (RSs) arise as a way to automate some of these strategies, intending to provide accessible and customized recommendations with high quality and precision <span class="cite">[<a  href="#XRSIntro">2</a><a id="br2">]</a></span>. <!--l. 83-->    <p class="indent" >   Both RSs and Ubiquitous Computing (ubicomp) <span class="cite">[<a  href="#Xweiser">3</a><a id="br3">]</a></span> have a common goal, which is to remain &#8220;transparent&#8221; and invisible to the users, making them interact with the system in a natural and immersive way. Ubicomp tries to study techniques aiming to integrate technologies into people&#8217;s everyday life and has been considered the natural destination to which desktop computing tends to migrate, as described by <span class="cite">[<a  href="#Xvan">4</a><a id="br4">]</a></span>. Ubicomp is becoming increasingly widespread and accessible in several fields such as Logistics <span class="cite">[<a  href="#Xoliveira">5</a><a id="br5">]</a></span>, Education <span class="cite">[<a  href="#XbarbosaEdu">6</a><a id="br6">]</a></span>, and Health <span class="cite">[<a  href="#Xudoctor">7</a><a id="br7">]</a></span>. However, Ubiquitous Accessibility (U-Accessibility) is an area that lacks studies and researches that bring emerging solutions, as highlighted by <span class="cite">[<a  href="#Xvan">4</a><a id="br4">]</a></span>. According to the reasoning approached by <span class="cite">[<a  href="#Xvan">4</a><a id="br4">]</a></span>, following the behavior of classical computing, which now migrates from desktop to ubiquitous and cloud computing, it is necessary to break paradigms and look for solutions that not only &#8220;adapt the computer in front of us&#8221;. This lack of research and solutions regarding accessibility brings together a vast and growing area. <!--l. 85-->    <p class="indent" >   The use of information from a user&#8217;s history is already widely disseminated in some approaches of RSs, as in the collaborative approach. Thus, it is possible to analyze such information and use it in order to estimate a recommendation of items. This analysis may be performed by a similarity analysis, which measures a similarity index between two user histories. Information on a user&#8217;s context history, also known as trails <span class="cite">[<a  href="#Xsilva">8</a><a id="br8">]</a></span>, differs from an ordinary history because it is grouped and organized in a chronological way, so that the whole set is analyzed and not only each history&#8217;s element. <!--l. 87-->    <p class="indent" >   Based on this context, this work presents improvements to be performed in a recommender system for accessibility, named Vulcanus <span class="cite">[<a  href="#Xvulc">9</a><a id="br9">]</a></span>, which, through a trail similarity analysis, recommends accessibility resources to the user, considering information of the user&#8217;s context and profile. Vulcanus considers trail similarity analysis <span class="cite">[<a  href="#Xsilva">8</a><a id="br8">]</a></span> <span class="cite">[<a  href="#Xsimcop">10</a><a id="br10">]</a></span> <span class="cite">[<a  href="#Xoracon">11</a><a id="br11">]</a></span>, context information <span class="cite">[<a  href="#Xschmidt">12</a><a id="br12">]</a></span> <span class="cite">[<a  href="#Xdey">13</a><a id="br13">]</a></span>, and users&#8217; profiles <span class="cite">[<a  href="#Xwagner">14</a><a id="br14">]</a></span> in the recommendation of resources that offer accessibility to the user. These resources are estimated as the most likely to be of the user&#8217;s interest, according to the similarity between the resource trail that the user is generating and the trails already performed by the community having the same disability. Moreover, Vulcanus can be integrated into several projects aiming to promote accessibility to people, as in the Hefestos project <span class="cite">[<a  href="#Xtavares">15</a><a id="br15">]</a></span>. The system is able to recommend resources that offer accessibility services to any type of disability, both physical and mental. As a continuation of previous work <span class="cite">[<a  href="#Xvulc">9</a><a id="br9">]</a></span>, this study presents an asymptotic analysis of Vulcanus&#8217; algorithm and proposes improvements to be performed, creating the Vulcanus 2.0. <!--l. 89-->    <p class="indent" >   Despite the fact that Vulcanus is able to encompass a variety of disabilities, we developed its prototype exclusively for motor disability, since the mapping of resources with accessibility to locomotion has an open community that maintains itself updated <span class="cite">[<a  href="#Xwheelmap">16</a><a id="br16">]</a></span>. The use of real resources aims to spread accessibility to the users, offering resources used by other users with the same disability and in similar situations. In order to simulate trails performed by the community, which are used for trails similarity analysis, we implemented a trail simulator that, based on different user profiles, makes use of resources based on a probabilistic distribution. The simulation generated data trails for 300 wheelchair users, with three different profiles, during a period of six months. For the trail similarity analysis, we used two approaches, one considering trails of used resources and another evaluating trails of categories of used resources. <!--l. 91-->    <p class="indent" >   This work is divided in <a  href="#x1-290006">6<!--tex4ht:ref: secFinal --></a> sections. The section <a  href="#x1-20002">2<!--tex4ht:ref: SecRW --></a> presents related works and compare them according to their features and limitations. Next section <a  href="#x1-80003">3<!--tex4ht:ref: secModel --></a> brings the Vulcanus model, its architecture and features. The section <a  href="#x1-180004">4<!--tex4ht:ref: secImplement --></a> presents the prototype implementation, the description of evaluation scenarios, and also the obtained and inferred results. The following section <a  href="#x1-260005">5<!--tex4ht:ref: secPlus --></a> describes the changes performed on Vulcanus&#8217; algorithm regarding performance. Finally, the section <a  href="#x1-290006">6<!--tex4ht:ref: secFinal --></a> concludes the study with its contributions and presents future works to be                                                                                                                                                                                     performed. <!--l. 93-->    <p class="noindent" >    <h3 class="sectionHead"><span class="titlemark">2   </span> <a   id="x1-20002"></a>Related Works</h3> <!--l. 96-->    <p class="noindent" >As mentioned earlier, the use of RSs in the field of accessibility still lacks studies, but we selected works having some relation to Vulcanus. In fact, we did not find any work proposing to solve the lack of RSs designed specifically for accessibility, despite the existence of several studies that might use a RS in order to improve the promotion of accessibility. <!--l. 98-->    <p class="indent" >   We selected some related works because they developed some type of RS in the study and because they are directly related to disabled or elderly people and thus affect people with special needs. The works were evaluated according to the classification of the used RS, the target public of users, and the use of user profiles, contexts, history or trails, and similarity analysis. <!--l. 100-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">2.1   </span> <a   id="x1-30002.1"></a>Recommendation of Travel Plans for Elderly People</h4> <!--l. 101-->    ]]></body>
<body><![CDATA[<p class="noindent" >The study presented in <span class="cite">[<a  href="#Xbatouche">17</a><a id="br17">]</a></span> proposes an RS for travels that is exclusive for elderly people who usually have capacity and health restrictions. The work brings this solution, since current travel services do not consider such restrictions. The work aims to use Semantic Web to perform a complete survey on the restrictions and preferences of a group of users. The work presents a method of collaboration between requisition, profile and tourism models to elaborate a recommendation, and allows selecting a travel plan according to the group capacity. <!--l. 103-->    <p class="indent" >   Focused on the RS, it aims to filter, in an intelligent way, a set of destinations in order to attend to the group&#8217;s preferences. These preferences may be obtained on each user&#8217;s profile or be deducted from the user&#8217;s consumptions. The study distinguishes four recommendation approaches:      <ul class="itemize1">      <li class="itemize">Stereotype approach: It classifies the user profiles in a list of categories. Each category has its own      destinations. This approach is not used when the categories of user profile or destination classes are      not defined and enumerated.      </li>      <li class="itemize">Contains approach: This approach is based on the destination&#8217;s content. The destinations already      visited by the user are verified and so similar destinations are proposed. This approach is impracticable      when a new user profile is created, as it does not have previous history information.      </li>      <li class="itemize">Collaborative approach: In this approach, the user history and his or her evaluation are used to perform      the calculation of the nearest user, thus generating a recommendation based on the history of the      community of users. As in the Contains approach, when there is no history, this approach cannot be      used.      </li>      <li class="itemize">Knowledge  approach:  It  consists  in  determining  the  combination  between  destinations  and  users.      Knowledge may be defined (A) mathematically, using learning machines, neural networks, among      others; or (B) implicitly, by using reasoning engines, such as the Semantic Web technology.</li>    </ul> <!--l. 111-->    <p class="indent" >   The RS of this work uses the travel history of each user, thus recommending other destinations having features similar to the ones that were already visited. In this case, the services are the offered items, while the user&#8217;s capacity is a parameter of the filter. The user profiles, together with the tourism ontologies, give the RS the necessary information to elaborate the recommendation. The application has not yet been evaluated, but this evaluation will be performed in future works. <!--l. 113-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">2.2   </span> <a   id="x1-40002.2"></a>SOLVE-D</h4> <!--l. 115-->    <p class="noindent" >SOLVE-D <span class="cite">[<a  href="#XsolveD">18</a><a id="br18">]</a></span> is a context-sensitive recommendation framework of personalized services for disabled people in smart home environments. As in the study of <span class="cite">[<a  href="#Xbatouche">17</a><a id="br17">]</a></span>, SOLVE-D uses ontology for representing its data, dividing them into three main modules:                                                                                                                                                                                          <ul class="itemize1">      <li class="itemize">Generic Service Ontology (GS-ONT): It is responsible for the ontology of standard domestic services. It      is built using the knowledge in the manuals of each service provided by the manufacturers and interviews      with the developers. This ontology has several concepts related to the standard processing of these      domestic services. These services include, for example, washing machine, refrigerator, air conditioner,      among others.      </li>      <li class="itemize">Personalized  Service  Ontology  (PS-ONT):  This  ontology  is  generated  for  the  recommendation  of      personalized services, since GS-ONT has difficulties in recommending services based on the user&#8217;s      behavior or preference. If the user modifies the standard process of a service, this action is considered      a  signal  that  reflects  his  or  her  preference,  conducting  the  task  to  a  specific  context.  Therefore,      this  ontology  undergoes  changes  according  to  the  changes  performed  by  the  user,  altering  the      recommendation of service processes.      </li>      <li class="itemize">Service Context Ontology (SC-ONT): It represents context information. This information is obtained      when the user changes the service&#8217;s standard process, and personalizes it. These data are collected using      sensors in the service (weight of dirty laundry in the washing machine, temperature in the environment      of the air conditioner, etc.), as well as using Web Services (time, climate, temperature, among others).</li>    </ul> <!--l. 123-->    <p class="indent" >   The module that generates the recommendations is named PSRM (Personalized Service Recommendation Module). The module makes recommendations considering the user&#8217;s profile and his or her context. With such information, the service&#8217;s operation process considered more adequate to the context will be the recommended model. Figure <a  href="#x1-40011">1<!--tex4ht:ref: figSolveD --></a> shows the search algorithm of the customized process in the ontology PS-ONT where each already stored context is compared to the current one and the most similar is then recommended. <!--l. 125-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >                                                                                                                                                                                     <a   id="x1-40011"></a>                                                                                                                                                                                      <!--l. 127-->    ]]></body>
<body><![CDATA[<p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06f1.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;1: </span><span   class="content">Algorithm for search of optimal PS-ONT. <span class="cite">[<a  href="#XsolveD">18</a><a id="br18">]</a></span></span></div><!--tex4ht:label?: x1-40011 -->                                                                                                                                                                                     <!--l. 130-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 132-->    <p class="indent" >   The study was applied in a practical way, the developed framework was implanted in household appliances and a case study was performed. The study simulated a blind person trying to use the washing machine. Changing the service&#8217;s standard process, new parameters were established for the activity and the framework was able to adapt to the new modification, adding it as a new possible process to be recommended based on context information obtained in the situation.    <h4 class="subsectionHead"><span class="titlemark">2.3   </span> <a   id="x1-50002.3"></a>Project SAID</h4> <!--l. 137-->    <p class="noindent" >The project SAID (Social Aid Interactive Development) <span class="cite">[<a  href="#Xsaid">19</a><a id="br19">]</a></span> proposes a tool of personalized interfaces that allows internet access to elderly people. The project was proposed based on the assumption that the structure of webpages is complex and that elderly people have difficulties to access the information. Thus, SAID aims to reduce the complexity of webpages. One of the study&#8217;s premise is to adapt webpages according to the user&#8217;s preferences, thus making it easy for the user to achieve his or her goals when accessing a given information. <!--l. 139-->    <p class="indent" >   This work uses recommendation algorithms based on probability that estimate the user&#8217;s objective, offering the option to consult it quickly. This algorithm uses previously collected information and adapts according to the behavior of an observed user. The website information is organized according to the ontology presented during the study. The main source of information on the interests of each user is obtained through questionnaires filled previously to the use of the system SAID. Besides the information collected by questionnaires, the system also collects the number of times a user selected a specific context, showing interest on that information, and the time the user spends on the webpage, another indication that user has interest on that specific content. <!--l. 141-->    <p class="indent" >   The study compares the use of the recommendation algorithm to Bayesian networks. However, in the presented situation, the use of Bayesian networks is invalid since it handles sub-trees independently in relation to the whole tree. Therefore, an approach using a RS provides an optimized response to the prediction of the user&#8217;s interests and to recommend items according to a given subject. <!--l. 144-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">2.4   </span> <a   id="x1-60002.4"></a>User Modelling Wizard for People with Motor Disabilities</h4> <!--l. 146-->    <p class="noindent" >The work presented in <span class="cite">[<a  href="#Xassistente">20</a><a id="br20">]</a></span> reports the development of user modelling wizard that is specific for people with motor disabilities. The wizard is used in order to obtain a deep understanding of the interaction patterns between users with motor disabilities and mobile devices, leading to a user model. Using this model, it is possible to determine configuration parameters of an application, customizing it specifically for the user.        ]]></body>
<body><![CDATA[<div class="table">                                                                                                                                                                                     <!--l. 148-->    <p class="indent" >   <a   id="x1-60011"></a><hr class="float">    <div class="float"  >                                                                                                                                                                                         <div class="center"  > <!--l. 149-->    <p class="noindent" >     <br>     <div class="caption"  ><span class="id">Table&#x00A0;1: </span><span   class="content">User Model Parameters. <span class="cite">[<a  href="#Xassistente">20</a><a id="br20">]</a></span></span></div><!--tex4ht:label?: x1-60011 --> <!--l. 151-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06t1.png" alt="PIC"   > </div>                                                                                                                                                                                        </div><hr class="endfloat">    </div> <!--l. 156-->    <p class="indent" >   Using a context-based approach, the wizard uses recommendation algorithms to determine configuration parameters that define the interaction of the user with mobile devices. The determined parameters for the composition of the user model are described in Table <a  href="#x1-60011">1<!--tex4ht:ref: tabelaParametros --></a>. All parameters are related to the user&#8217;s interaction with the device, since the interaction mode with the GUI (Graphical User Interface) varies according to the motor disabilities of each user. <!--l. 158-->    <p class="indent" >   According to the tests performed in the study, it has been proved that the configuration parameters proposed by the RS can compete with the parameters generated by the consultant. The next steps of the study suggest the development of an adaptation model that is able to change the visual representation according to the user&#8217;s abilities. Moreover, a user model in execution time is proposed, being able to detect deviations and update them in real time.    <h4 class="subsectionHead"><span class="titlemark">2.5   </span> <a   id="x1-70002.5"></a>Comparative analysis of the related works</h4> <!--l. 162-->    ]]></body>
<body><![CDATA[<p class="noindent" >Table <a  href="#x1-70012">2<!--tex4ht:ref: tabelaComp --></a> compares the works regarding the classification of the used RS, support system, and the use of the user profiles, contexts, history or trails and similarity analysis. <!--l. 164-->    <p class="indent" >   Regarding the RS&#8217;s classification, the studies concentrate on different domains, then different types of RSs are already expected. We highlight the work <span class="cite">[<a  href="#Xbatouche">17</a><a id="br17">]</a></span>, which uses a hybrid approach, having more resources to generate recommendations. While other works use a specific RS approach to provide the recommendation.        <div class="table">                                                                                                                                                                                     <!--l. 167-->    <p class="indent" >   <a   id="x1-70012"></a><hr class="float">    <div class="float"  >                                                                                                                                                                                         <div class="center"  > <!--l. 168-->    <p class="noindent" >     <br>     <div class="caption"  ><span class="id">Table&#x00A0;2: </span><span   class="content">Comparison between the selected works</span></div><!--tex4ht:label?: x1-70012 --> <!--l. 170-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06t2.png" alt="PIC"   > </div>                                                                                                                                                                                        </div><hr class="endfloat">    </div> <!--l. 175-->    ]]></body>
<body><![CDATA[<p class="indent" >   Regarding the target users of the systems, the works <span class="cite">[<a  href="#XsolveD">18</a><a id="br18">]</a></span> and <span class="cite">[<a  href="#Xassistente">20</a><a id="br20">]</a></span> have wider approaches, supporting people with disabilities, as well as elderly users, while <span class="cite">[<a  href="#Xbatouche">17</a><a id="br17">]</a></span> and <span class="cite">[<a  href="#Xsaid">19</a><a id="br19">]</a></span> focus their efforts specifically on elderly people. Among all works, only <span class="cite">[<a  href="#Xbatouche">17</a><a id="br17">]</a></span> does not make use of context information. However, as the others, it makes use of the user profiles for the personalized recommendation of items. <!--l. 177-->    <p class="indent" >   Regarding the use of trails, none of the works makes use of them. The works <span class="cite">[<a  href="#Xbatouche">17</a><a id="br17">]</a></span> and <span class="cite">[<a  href="#XsolveD">18</a><a id="br18">]</a></span> make use of information from the user history, but this information is only analyzed individually and not in a collective or grouped way, which is the basic characteristic of trails. In the last evaluated issue, the same studies <span class="cite">[<a  href="#Xbatouche">17</a><a id="br17">]</a></span> and <span class="cite">[<a  href="#XsolveD">18</a><a id="br18">]</a></span> use similarity analysis in their RSs, comparing the user&#8217;s information with a different stored information. <!--l. 179-->    <p class="indent" >   From this analysis, we recognized the need of an RS for accessibility that considers aspects of contexts, user profiles, trails, and similarity analysis in order to provide to these people with special needs the resources that provide accessibility and convenience in their daily live. The proposed RS uses a hybrid approach that uses information from the community together with information of the items themselves.    <h3 class="sectionHead"><span class="titlemark">3   </span> <a   id="x1-80003"></a>Recommendation Model Vulcanus</h3> <!--l. 185-->    <p class="noindent" >In <span class="cite">[<a  href="#Xvulc">9</a><a id="br9">]</a></span>, we proposed Vulcanus, a recommender system for accessibility based on the trail similarity analysis. The system considers the resource trail that the user covered in order to make the recommendation of items that other users of the community have used. Therefore, the system promotes accessibility, as it highlights resources that other users used in a similar context, recommending them. We consider the community&#8217;s opinion as unanimity, i.e., the resources and interests of the community are known as absolute truths. So the recommendation is elaborated based on trails for community, where we analyze the user&#8217;s trail with all community&#8217;s trails. Thus it is possible to infer that the more a resource is used, the more useful it is and the better they offer help to the user&#8217;s accessibility. The next subsections present the main concepts involved in the study and the proposal of Vulcanus. <!--l. 187-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">3.1   </span> <a   id="x1-90003.1"></a>Concepts involved</h4> <!--l. 189-->    <p class="noindent" >Among the main concepts used in this work there are: User Profile, which represents the people that use the accessibility resources; Context, where the information is gathered from the environment in which the user is, e.g., his or her physical location (GPS coordinates); Trail, which is the chronological history of items used by the user; Resources, which are the items that offer some type of accessibility to the user, described in two categories: (1) Generic, which attends to all types of disabilities, or (2) Specific, which only attends some disabilities; Disabilities, which are the needs that each user has. The following items report the used concepts and its features:      <ul class="itemize1">      <li class="itemize">User profile: It represents the entities that need the resources with accessibility. It may be a person with      a disability or an elderly person with different special needs. The profile contains information about the      user, such as name, age, disability and login data. Vulcanus uses this information in order to perform      a recommendation. The information on disability is indispensable, as the recommended resources are      directly correlated to the type of disability of the user. For example, if the user has a visual impairment,      items that do not give accessibility to this type of disability should not be recommended, such as an      access ramp. The user has an account that contains all this information, which is maintained in a      database.      </li>      <li class="itemize">Context: This represents the context information in which the user is found. Vulcanus performs the      recommendation of resources to the user using this information as a reference. Such information is      related to location, used resources and the user&#8217;s disability. Among all the trails generated by the      community, the similarity analysis finds the most relevant trails according to the trail generated by      the user, thus recommending to the user the next resources that follow in the trails of the community.      </li>      <li class="itemize">Trail: It represents the resources that each user consumes throughout the day, thus maintaining a      chronological history of the resources&#8217; usage, storing together all the context information in which the                                                                                                                                                                                          user was while using the resources. With this chronological information of the trail, the RS can analyze      the similarity with other trails of the community that happened in a similar context. From that, it      is possible to perform the recommendation of items that are ahead in the community trails, inferring      information based partial user trail.      </li>      <li class="itemize">Resources: This corresponds to the items that the RS recommends to the user. The resources may be      generic or specific, i.e., they give accessibility to all disabilities or are specific and give support only to      some types of disability. For example, a parking space is a generic accessible resource, as it attends to      all disabilities. On the other hand, an access ramp is a specific resource, as it only attends users with      motor disabilities, so it does not give support to others.      </li>      <li class="itemize">Disabilities: It refers to the special needs that each user has. They have multiple classifications, such      as physical, visual, auditory, mental, among others. The disabilities become a type of filter in the      trail mining. This filter occurs because, for example, only the trails of the community of wheelchair      users are relevant for a wheelchair user. There is no evident benefit in analyzing trails of different      disabilities. Thus, it guarantees that only the resources that in fact offer support to a given user&#8217;s need      are recommended.      </li>    </ul> <!--l. 200-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">3.2   </span> <a   id="x1-100003.2"></a>Architecture of the model</h4> <!--l. 202-->    <p class="noindent" >Vulcanus is able to generate recommendations of items that have accessibility according to two approaches of trails&#8217; similarity. One considers the use of the resources themselves and the other analyzes based on the resources&#8217; categories in the trail. While the former evaluates the chronological sequence of resources, the latter analyzes the sequence of categories of resources, even if the community has not used any resource in specific from the user&#8217;s trail. Figure <a  href="#x1-100012">2<!--tex4ht:ref: model --></a> shows the modelling of Vulcanus and its modules. Vulcanus uses user profiles <span class="cite">[<a  href="#Xwagner">14</a><a id="br14">]</a></span>, context sensitivity <span class="cite">[<a  href="#Xdey">13</a><a id="br13">]</a></span>, trails <span class="cite">[<a  href="#Xsilva">8</a><a id="br8">]</a></span>, mapped resources <span class="cite">[<a  href="#Xwheelmap">16</a><a id="br16">]</a></span> and similarity analysis <span class="cite">[<a  href="#Xsimcop">10</a><a id="br10">]</a></span>. <!--l. 204-->    <p class="indent" >   <hr class="figure">    ]]></body>
<body><![CDATA[<div class="figure"  >                                                                                                                                                                                     <a   id="x1-100012"></a>                                                                                                                                                                                      <!--l. 206-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06f2.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;2: </span><span   class="content">Vulcanus model.</span></div><!--tex4ht:label?: x1-100012 -->                                                                                                                                                                                     <!--l. 209-->    <p class="indent" >   </div><hr class="endfigure">    <h4 class="subsectionHead"><span class="titlemark">3.3   </span> <a   id="x1-110003.3"></a>Components</h4> <!--l. 213-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">3.3.1   </span> <a   id="x1-120003.3.1"></a>Profile module</h5> <!--l. 214-->    <p class="noindent" >In this module, it is proposed that each user stores his or her profile not only with identification data, but also with information that refers to the type of disability and special needs. This module is used in the resource recommendation (together with the other modules) since the profile information is considered critical for the resource recommendation. Since each recommendation is intended to a user, different needs must be considered. This user profile information is used in the contextualization of the recommendation. As presented in Figure <a  href="#x1-130013">3<!--tex4ht:ref: figContext --></a>, the profile information is used in both <span  class="cmti-10">Disability Context</span>, which correlates a disability to the user, and the <span  class="cmti-10">Temporal Context</span>, which registers the events performed by each individual. <!--l. 216-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">3.3.2   </span> <a   id="x1-130003.3.2"></a>Context module</h5> <!--l. 217-->    <p class="noindent" >This module is responsible for the storage and maintenance of contexts, as shown in Figure <a  href="#x1-130013">3<!--tex4ht:ref: figContext --></a>. Three different types of context information are used: <span  class="cmti-10">Location Context</span>, <span  class="cmti-10">Disability Context </span>and <span  class="cmti-10">Temporal Context</span>. The <span  class="cmti-10">Location Context</span> encompasses the information of user&#8217;s location (GPS coordinates, or latitude and longitude), place name, ID (Identification), among other information of the environment in which the user is might be located. The <span  class="cmti-10">Disability</span> <span  class="cmti-10">Context </span>represents the disabilities that the user has and the disabilities in which each resource is able to provide support. Finally, the <span  class="cmti-10">Temporal Context </span>is responsible for the events that occur in the contexts, such as the use of resources or the negative indication to a resource available in the environment. An example of negative evaluation would be the indication that a mapped resource actually does not exist or is not correctly situated. In this last type of context, the type of event, name, description, hour, date and an ID are stored. <!--l. 219-->    <p class="indent" >   <hr class="figure">    ]]></body>
<body><![CDATA[<div class="figure"  >                                                                                                                                                                                     <a   id="x1-130013"></a>                                                                                                                                                                                      <!--l. 221-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06f3.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;3: </span><span   class="content">Diagram of the context module.</span></div><!--tex4ht:label?: x1-130013 -->                                                                                                                                                                                     <!--l. 224-->    <p class="indent" >   </div><hr class="endfigure">    <h5 class="subsubsectionHead"><span class="titlemark">3.3.3   </span> <a   id="x1-140003.3.3"></a>Trail module</h5> <!--l. 227-->    <p class="noindent" >This module manages all the trails that a user has. The trails can be defined as a series of &#8220;snapshots&#8221; containing information from context, profile, event, and used resource obtained over time according to the user&#8217;s actions. All information necessary for the creation of a trail is show on Figure <a  href="#x1-140014">4<!--tex4ht:ref: figTrail --></a>. The profile information reveals the needs that must be assisted; the resources provide accessibility for disabilities and the location of the event&#8217;s occurrence; and the event refers to the classification of the situation. All this information, together with the <span  class="cmti-10">Context Module</span>, generates each element of the trail, which is composed by a collection of those. Furthermore, the similarity analysis is performed between the trail generated by the user and the community&#8217;s trails. Each trail event has the following information: date, time, user ID and resource ID (<span  class="cmti-10">Disability Context</span>). The information of the <span  class="cmti-10">Location Context </span>may be inferred by the resource location itself, approaching also situations where the resource could move. For instance, in the case of accessible buses with multiple stops in their routes. <!--l. 229-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >                                                                                                                                                                                     <a   id="x1-140014"></a>                                                                                                                                                                                      <!--l. 231-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06f4.png" alt="PIC"   >     <br>     ]]></body>
<body><![CDATA[<div class="caption"  ><span class="id">Figure&#x00A0;4: </span><span   class="content">Internal components of a trail.</span></div><!--tex4ht:label?: x1-140014 -->                                                                                                                                                                                     <!--l. 234-->    <p class="indent" >   </div><hr class="endfigure">    <h5 class="subsubsectionHead"><span class="titlemark">3.3.4   </span> <a   id="x1-150003.3.4"></a>Resource module</h5> <!--l. 237-->    <p class="noindent" >This module is responsible by the management of resources, their mapping, classification, and to which needs they are destined. The resource may be either mobile or static, generic or specific. All this information, as well as name, description, location and an ID, is stored and managed in this module. A resource might be considered as any item that provides some type of accessibility for at least one disability. Some examples or resources are establishments with access to wheelchairs or other disabilities, access ramps, parking places, elevators, sound signals, and notifications in Braille, among others. The resources may be classified in several categories. In the example of Figure <a  href="#x1-150015">5<!--tex4ht:ref: figResources --></a>, the resource was classified in the category <span  class="cmti-10">Food </span>with the subcategory <span  class="cmti-10">Cafe</span>. Besides this information, its location in coordinates and which disabilities the resource support are also maintained. In the presented case, all resources present support to wheelchairs, which is the disability approached in the evaluation model. <!--l. 239-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >                                                                                                                                                                                     <a   id="x1-150015"></a>                                                                                                                                                                                      <!--l. 241-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06f5.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;5: </span><span   class="content">Resources and their information.</span></div><!--tex4ht:label?: x1-150015 -->                                                                                                                                                                                     <!--l. 244-->    <p class="indent" >   </div><hr class="endfigure">    <h5 class="subsubsectionHead"><span class="titlemark">3.3.5   </span> <a   id="x1-160003.3.5"></a>Similarity module</h5> <!--l. 247-->    <p class="noindent" >This module evaluates the similarity of the user&#8217;s generated trail or it is still generating with those generated by the community with same disability, so being able to find similar trails. Based on this analysis, a trail list is generated. This trail list contains all relevant trails for the recommendation of items and will be subsequently used in the <span  class="cmti-10">Recommendation Module</span>. Figure <a  href="#x1-160016">6<!--tex4ht:ref: figSeqsim --></a> presents a sequence of actions performed for the mining of relevant trails. This module acts as a filter, where from all the trails generated by the community, only certain relevant and similar ones pass to the <span  class="cmti-10">Recommendation Module</span>. Trails are considered relevant if generated by users with the same disability as the user generating the trail. The similarity analysis only occurs on relevant trails, so there is a filter to reduce the amount of trails to be compared. The concept of similar is wider, as it considers information of the trail that the user is generating as well as information of the user&#8217;s location. <!--l. 249-->    ]]></body>
<body><![CDATA[<p class="indent" >   <hr class="figure">    <div class="figure"  >                                                                                                                                                                                     <a   id="x1-160016"></a>                                                                                                                                                                                      <!--l. 251-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06f6.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;6: </span><span   class="content">Diagram of similarity analysis sequence.</span></div><!--tex4ht:label?: x1-160016 -->                                                                                                                                                                                     <!--l. 254-->    <p class="indent" >   </div><hr class="endfigure">    <h5 class="subsubsectionHead"><span class="titlemark">3.3.6   </span> <a   id="x1-170003.3.6"></a>Recommendation module</h5> <!--l. 258-->    <p class="noindent" >In this module, the relevant trails filtered by the <span  class="cmti-10">Similarity Module </span>are evaluated. The resources of these similar trails receive a proper score. This score is calculated through the amount of elements that are equal to, or belong to the same category (depending on the approach used), the trail generated by the user in relation to the community trails. Thus, the resources with higher scores that are ahead in the relevant community trails are recommended. <!--l. 260-->    <p class="indent" >   Figure <a  href="#x1-170017">7<!--tex4ht:ref: figSeqRec --></a> presents the sequence diagram of the recommendation. The implemented recommendation uses two approaches: one that analyzes the resources&#8217; trail and other that explores the trail of resources&#8217; categories, i.e., not the resource itself, but rather the category of each resource in the trail. This second approach also considers situations where the user is generating a trail with resources that have not been yet used by the community. In this specific case, an analysis of the resources&#8217; trail is not applicable. Instead, this approach explores the resource categories, identifying all trails that have resources of a specific category and there are in a specific range from the user&#8217;s location. Therefore, even if the user is using a resource so far unknown from the community, a recommendation will be offered approaching the trail of resources&#8217; categories, which is always able to perform a recommendation of resources to the user. <!--l. 262-->    <p class="indent" >   The implemented recommendation needed three loop levels (Figure <a  href="#x1-170017">7<!--tex4ht:ref: figSeqRec --></a>): one for the size of the trail generated by the user, other for its comparison to each relevant trail and the last one for performing the comparison itself. After this evaluation, the subsequent resources of the community&#8217;s trails are recommended and ordered according to their score. The higher the similarity, the higher the score; the higher the frequency that a subsequent resource appears, the higher its score. <!--l. 264-->    <p class="indent" >   <hr class="figure">    ]]></body>
<body><![CDATA[<div class="figure"  >                                                                                                                                                                                     <a   id="x1-170017"></a>                                                                                                                                                                                      <!--l. 266-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06f7.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;7: </span><span   class="content">Diagram of recommendation sequence.</span></div><!--tex4ht:label?: x1-170017 -->                                                                                                                                                                                     <!--l. 269-->    <p class="indent" >   </div><hr class="endfigure">    <h3 class="sectionHead"><span class="titlemark">4   </span> <a   id="x1-180004"></a>Aspects of Implementation and Evaluation</h3> <!--l. 274-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">4.1   </span> <a   id="x1-190004.1"></a>Implementation</h4> <!--l. 275-->    <p class="noindent" >In order to evaluate Vulcanus, we implemented a prototype that consists of the several modules of the system. All the used data and information were stored in a database exclusive for the application. The chosen database was MySQL Workbench 6.1, a simple database of easy implementation, but appropriate enough to be used in the proposed prototype. <!--l. 277-->    <p class="indent" >   Information of 300 fictional wheelchair users were stored in the database developed in the prototype, as well as 8756 establishments with accessibility to this community of disabled people and more than 800 thousand resource events used in the trails, generated from a simulation that inferred the use of resources by the 300 users during a period of six months. The database followed the diagram in Figure <a  href="#x1-190018">8<!--tex4ht:ref: figDatabase --></a>, which contains all the components presented in the model&#8217;s description. <!--l. 279-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >                                                                                                                                                                                     <a   id="x1-190018"></a>                                                                                                                                                                                      <!--l. 281-->    ]]></body>
<body><![CDATA[<p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06f8.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;8: </span><span   class="content">RE (Relationship Entity) diagram of the database used in the prototype.</span></div><!--tex4ht:label?: x1-190018 -->                                                                                                                                                                                     <!--l. 284-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 286-->    <p class="indent" >   The table <span  class="cmti-10">Disability </span>contains all the disabilities that the users of all communities have. The table contains the ID, name and description of each of the disabilities. Thus, it is possible to optimize the size of data, since the users with the same disability will have the information based on the ID and not all the replicated information. On the developed prototype, only one disability, wheelchair, was since we aimed a simple application for the evaluation of Vulcanus model. <!--l. 288-->    <p class="indent" >   The table <span  class="cmti-10">Profile </span>stores the information of each of the system&#8217;s user. Information such as ID, name, login, password, telephone and disability (only its ID) are essential for obtaining information of context, insertion of events in trails and for the recommendation itself. We created 300 fictional users, all with the same motor disability, as they were all wheelchair users. <!--l. 290-->    <p class="indent" >   The table <span  class="cmti-10">Resource </span>presents all the resources registered in Vulcanus. Each resource has an ID, name, type, category, latitude, longitude, and the disability to which it gives accessibility (only its ID). We recorded 8756 real resources, obtained obtained through the open community Wheelmap <span class="cite">[<a  href="#Xwheelmap">16</a><a id="br16">]</a></span>. In this open community, each user may record real establishments in his or her city and evaluate them according to the accessibility provided to wheelchair users. There are four levels of category: fully accessible, partially accessible, non-accessible and unknown. All 8756 recorded establishments are fully accessible, as this is the only classification that is relevant for Vulcanus. According to Figure <a  href="#x1-190029">9<!--tex4ht:ref: figMapa --></a>, these resources are located in the city of Berlin, Germany. <!--l. 292-->    <p class="indent" >   <hr class="figure">    <div class="figure"  >                                                                                                                                                                                     <a   id="x1-190029"></a>                                                                                                                                                                                      <!--l. 294-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06f9.png" alt="PIC"   >     ]]></body>
<body><![CDATA[<br>     <div class="caption"  ><span class="id">Figure&#x00A0;9: </span><span   class="content">Map with resources used by the prototype.</span></div><!--tex4ht:label?: x1-190029 -->                                                                                                                                                                                     <!--l. 297-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 299-->    <p class="indent" >   These resources are divided in 12 main categories. These categories are attributed during the creating of each establishment. These categories are information of high value, because it is through them that the approach of category trails is implemented. Furthermore, this information have also become relevant in the creation of the community trails due to the approach of different profiles with different needs. The categories used in the resource classification are listed in Table <a  href="#x1-190033">3<!--tex4ht:ref: TabCat --></a>.        <div class="table">                                                                                                                                                                                     <!--l. 301-->    <p class="indent" >   <a   id="x1-190033"></a><hr class="float">    <div class="float"  >                                                                                                                                                                                          <div class="caption"  ><span class="id">Table&#x00A0;3: </span><span   class="content">Categories for resource classification.</span></div><!--tex4ht:label?: x1-190033 -->     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v19n1/1a060x.png" alt="|-----------------| |---Categories----| |1--Public-Transfer-| |2--Food----------| |3--Leisure--------| |4--Bank-Post-----| |5--Education------| |6--Shopping-------| |7--Sport---------| |8--Tourism--------| |9--Accommodation-| |10--Miscellaneous--| |11--Government---| -12--Health--------- " ></div>                                                                                                                                                                                        </div><hr class="endfloat">    </div> <!--l. 324-->    <p class="indent" >   This list of resources was obtained from an API (Application Programming Interface) of the community Wheelmap itself. In this API, a pair coordinates (<span  class="cmti-10">Point A </span>and <span  class="cmti-10">Point B</span>) form an imaginary rectangle where all the resources within this coordinates are returned in an XML (eXtensible Markup Language) archive. The used imaginary square covers the city of Berlin, beginning at the coordinates of latitude 52.569107 and longitude 13.215619 (<span  class="cmti-10">Point A</span>) to the final coordinate of latitude 52.381737 and longitude 13.716870 (<span  class="cmti-10">Point B</span>) presented by Figure <a  href="#x1-1900410">10<!--tex4ht:ref: figResource --></a>. We chose the city of Berlin for the use of the prototype because it is the capital of Germany, which is the host nation of Wheelmap, having a huge number of registered resources. In addition, in the year 2013, Berlin received the &#8220;Access City&#8221; award, organized by the European Disability Forum <span class="cite">[<a  href="#XnewsBerlim">21</a><a id="br21">]</a></span>. <!--l. 326-->    ]]></body>
<body><![CDATA[<p class="indent" >   <hr class="figure">    <div class="figure"  >                                                                                                                                                                                     <a   id="x1-1900410"></a>                                                                                                                                                                                      <!--l. 328-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06f10.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;10: </span><span   class="content">Area with resource mapping.</span></div><!--tex4ht:label?: x1-1900410 -->                                                                                                                                                                                     <!--l. 331-->    <p class="indent" >   </div><hr class="endfigure"> <!--l. 333-->    <p class="indent" >   Besides the resources, the nearest resources information was also stored. In the table <span  class="cmti-10">Resource</span><span  class="cmti-10">_Near </span>the relationship of the 1000 nearest resources and each registered resource, with their respective distances, are stored. This information was necessary especially in the simulation of the community trails and was used in the similarity analysis that approaches the trails of resource categories. <!--l. 335-->    <p class="indent" >   Finally, the table <span  class="cmti-10">Trail </span>contains all the events of resource use. During the simulation, each time a user used a resource this event was stored. Each trail contains an ID, the user&#8217;s ID, the used resource&#8217;s ID, date, time, distance since the last resource used by the user until that moment, and the type of user in that given day.    <h4 class="subsectionHead"><span class="titlemark">4.2   </span> <a   id="x1-200004.2"></a>Trail simulation</h4> <!--l. 340-->    <p class="noindent" >Since the community trails, generated by the use of registered resources, are a kind of data that need to be collected or simulated, we evaluated and elaborated the implementation of a trail simulator able to generate logical and viable trails. These trail data cannot be generated randomly because, since they deal with real resources, the user locomotion is an important information to be considered. For example, if we consider a wheelchair user that used a resource in a part of the city and soon after used another resource 20 kilometers away and then returns to a resource close to the first one in a short time, this trail is clearly unreal and does not represent the user&#8217;s behavior. <!--l. 342-->    <p class="indent" >   Aiming to create trails for the use in resource recommendation, we elaborated a trail simulator able to elaborate feasible trails simulating a real behavior. Using all data cited in the implementation of the prototype of Vulcanus, the simulator generated data from the 300 users for 180 days. In each day, each user adopted one of the three created profiles: <span  class="cmti-10">Worker</span>, <span  class="cmti-10">Tourist </span>or <span  class="cmti-10">Lazy</span>. In each of these profiles, the user is subjected to the use of a number of resources. On each day, the profile that a user will have is randomly chosen based on the probabilistic distribution presented in Table <a  href="#x1-200014">4<!--tex4ht:ref: TabPerfis --></a>. In addition to the probability of each profile, we also defined the time windows in which the resources may be used. This information of &#8220;total hours&#8221; and &#8220;velocity&#8221; refers to the range of resources that the user reaches, which will be explained further.        ]]></body>
<body><![CDATA[<div class="table">                                                                                                                                                                                     <!--l. 345-->    <p class="indent" >   <a   id="x1-200014"></a><hr class="float">    <div class="float"  >                                                                                                                                                                                          <div class="caption"  ><span class="id">Table&#x00A0;4: </span><span   class="content">Probabilistic Distribution of Profiles in Everyday Use.</span></div><!--tex4ht:label?: x1-200014 -->     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v19n1/1a061x.png" alt="|-------|------------------|--------------|------------|---------| |Profile-|-Daily-Probability-|Daily-Period--|Total-hours-|Velocity-| |Worker-|-------65%--------|---6-to-18h----|--12 hours--|-2 Km/h--| |Tourist-|-------10%--------|---8-to-22h----|--14 hours--|-4 Km/h--| |-Lazy--|-------25%--------|---9-to-20h-------11 hours----1 Km/h--- --Total---------100%--------- " ></div>                                                                                                                                                                                        </div><hr class="endfloat">    </div> <!--l. 359-->    <p class="indent" >   The number of resources that the user uses on each day is randomly generated, varying between 5 and 35 resources. Each profile has a different distribution that refers to each need. This distribution of the number of used resources on each day is presented in Table <a  href="#x1-200025">5<!--tex4ht:ref: TabUtilRec --></a>.        <div class="table">                                                                                                                                                                                     <!--l. 361-->    <p class="indent" >   <a   id="x1-200025"></a><hr class="float">    <div class="float"  >                                                                                                                                                                                          <div class="caption"  ><span class="id">Table&#x00A0;5: </span><span   class="content">Probabilistic Distribution of the Daily Number of Used Resources.</span></div><!--tex4ht:label?: x1-200025 -->     ]]></body>
<body><![CDATA[<div class="pic-tabular"> <img  src="/img/revistas/cleiej/v19n1/1a062x.png" alt="|-----------|------|-------|-------|-------|-------|-------| |  No. of   |5~10  |10~15  |15~20  |20~25  |25~30  |30 ~35 | |Resources--|------|-------|-------|-------|-------|-------| |--Worker---|-5%---|-40%---|-40%---|-10%---|-2,5%--|-2,5%--| |--Tourist---|-5%---|-5%----|-15%---|-30%---|-30%---|--15%--| ----Lazy-----80%-----15%------5%------0%------0%------0%---- " ></div>                                                                                                                                                                                        </div><hr class="endfloat">    </div> <!--l. 374-->    <p class="indent" >   For each day, the number of resources to be used is defined. From this information, together with the total hours of the daily window of each profile, it is possible to know the interval of the use of each resource. Defining this interval as a value <img  src="/img/revistas/cleiej/v19n1/1a063x.png" alt="&#x0394;  "  class="math" >, it is possible, together with the information of velocity (<img  src="/img/revistas/cleiej/v19n1/1a064x.png" alt="&#x03BD;  "  class="math" >), to estimate the range (<img  src="/img/revistas/cleiej/v19n1/1a065x.png" alt="&#x03B3;  "  class="math" >) for the use of resources on that specific day. This value is defined by the formula: <img  src="/img/revistas/cleiej/v19n1/1a066x.png" alt="&#x03B3;  "  class="math" > = <img  src="/img/revistas/cleiej/v19n1/1a067x.png" alt="&#x0394;  "  class="math" > <img  src="/img/revistas/cleiej/v19n1/1a068x.png" alt="&#x00D7; "  class="math" ><img  src="/img/revistas/cleiej/v19n1/1a069x.png" alt="&#x03BD;  "  class="math" >. Based on this range value, the uses of resources are performed. Each user is randomly connected to one of the 8756 resources. This resource will be the user&#8217;s starting point, which will daily begin with the use of this starting resource. <!--l. 376-->    <p class="indent" >   Moreover, during the trail creation, we considered the categories of each resource and attributed a probability of use of a certain category, given the user&#8217;s profile in a certain day. This probabilistic distribution is shown in Table <a  href="#x1-200036">6<!--tex4ht:ref: TabProbRec --></a>. It was defined by discussing among experts involved in the work. Some categories have a higher incidence in certain profiles, for example <span  class="cmti-10">Transport</span>, <span  class="cmti-10">Education</span>, <span  class="cmti-10">Health</span>, among others, which have a high incidence in the profile <span  class="cmti-10">Worker</span>. On the other hand, the profile <span  class="cmti-10">Tourist </span>has a higher incidence in the categories <span  class="cmti-10">Tourism</span>, <span  class="cmti-10">Leisure</span>, <span  class="cmti-10">Accommodation</span>, and <span  class="cmti-10">Shopping</span>. Finally, the profile <span  class="cmti-10">Lazy </span>has a higher incidence of the categories <span  class="cmti-10">Leisure</span>, <span  class="cmti-10">Food </span>and <span  class="cmti-10">Misc</span>.        <div class="table">                                                                                                                                                                                     <!--l. 378-->    <p class="indent" >   <a   id="x1-200036"></a><hr class="float">    <div class="float"  >                                                                                                                                                                                          <div class="caption"  ><span class="id">Table&#x00A0;6: </span><span   class="content">Probabilistic Distribution of Resource Categories in Relation to the Profile.</span></div><!--tex4ht:label?: x1-200036 -->     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v19n1/1a0610x.png" alt="                  |--------|--------|------| |-----------------|Worker--|Tourist-|Lazy--| |      Transport  | 16%    |  8%    | 3%   | |           Food  |        |        |      | |         Leisure  |        |        |      | |    Money  Post  |        |        |      | |      Education  |        |        |      | |       Shopping  |        |        |      | |          Sport  |        |        |      | |        Tourism  |        |        |      | |Accommodation    |        |        |      | |           Misc  |        |        |      | |    Government   |        |        |      | |         Health  |        |        |      | |                 |-15%----|--8%----|-15%--| |                 |-1,5%---|--15%---|-30%--| |                 |-15%----|--8%----|-3%---| |                 |-15%----|--1%----|-3%---| |                 |-1,5%---|--10%---|-3%---| |                 |-1,5%---|--8%----|-9%---| |                 |-1,5%---|--20%---|-3%---| |                 |-1,5%---|--10%---|-3%---| |                 |-1,5%---|--8%----|-15%--| |                 |-15%----|--1%----|-3%---| |                 |-15%----|--3%----|-10%--| |-----------------|--------|--------|------| ------Total---------100%-----100%----100%--- " ></div>                                                                                                                                                                                        </div><hr class="endfloat">    </div>    <h4 class="subsectionHead"><span class="titlemark">4.3   </span> <a   id="x1-210004.3"></a>Methodology</h4> <!--l. 404-->    <p class="noindent" >The research community has been using the scenario methodology for the validation of context-sensitive systems <span class="cite">[<a  href="#XdeySalber">22</a><a id="br22">]</a></span>, ubiquitous systems <span class="cite">[<a  href="#Xsaty2">23</a><a id="br23">]</a></span> and systems of ubiquitous accessibility <span class="cite">[<a  href="#Xtavares">15</a><a id="br15">]</a></span>. Similarly, for the evaluation of the Vulcanus model, we performed simulation in three different scenarios, each one describing a possible application of the system. So we provided an input (according to the scenario), and then we discuss the recommendation output of Vulcanus. Each scenario approaches three wheelchair users, in the city of Berlin, in different contexts and with distinct purposes. The description of each scenario is given below: <!--l. 406-->    <p class="noindent" >    <h5 class="subsubsectionHead"><span class="titlemark">4.3.1   </span> <a   id="x1-220004.3.1"></a>Scenario 1: Tourism</h5> <!--l. 408-->    ]]></body>
<body><![CDATA[<p class="noindent" ><span  class="cmti-10">&#8220;Amanda is a Brazilian wheelchair user and decided to spend her summer holidays in Germany with a companion.</span> <span  class="cmti-10">After making all reservations in Brazil, she and her companion travel to Berlin and disembarked at the local airport.</span> <span  class="cmti-10">After that, they take a wheelchair-adapted taxi, arrive at the booked hotel (Bax Pax Downtown Hostel/Hotel) and</span> <span  class="cmti-10">check in. At the hotel, the purpose is to have a good night&#8217;s sleep before the next day&#8217;s journey. The couple</span> <span  class="cmti-10">plans to visit several tourist sites. As they do not have any previous experience in the city, they use a</span> <span  class="cmti-10">tourist application for smartphones. This application was developed exclusively for tourists in Berlin and</span> <span  class="cmti-10">presents a recommendation of establishments with accessibility to wheelchairs. The recommendation</span> <span  class="cmti-10">system that integrates the application is Vulcanus RS, using an approach of resource trails. Leaving the</span> <span  class="cmti-10">hotel as the point of origin, the couple starts the day. Following the application&#8217;s recommendation, the</span> <span  class="cmti-10">couple decides to visit the museum &#8220;Alte Nationalgalerie&#8221;, moving around via taxi. After visiting the</span> <span  class="cmti-10">museum, they wish to have lunch in the Indian restaurant &#8220;Aari&#8221;, and, for that purpose, they take</span> <span  class="cmti-10">the German public transfer, the &#8220;U Oranienburger Tor&#8221;. After lunch, the couple search for a nearby</span> <span  class="cmti-10">ATM (Automated Teller Machine) in order to withdraw money and then, via taxi, go to the &#8220;Museum</span> <span  class="cmti-10">Blindenwerkstatt Otto Weidt&#8221;...&#8221; </span>Table <a  href="#x1-220017">7<!--tex4ht:ref: TabC1 --></a> presents a partial trail generated through a fraction of the couple&#8217;s day.        <div class="table">                                                                                                                                                                                     <!--l. 412-->    <p class="indent" >   <a   id="x1-220017"></a><hr class="float">    <div class="float"  >                                                                                                                                                                                          <div class="caption"  ><span class="id">Table&#x00A0;7: </span><span   class="content">Partial Trail of Scenario 1.</span></div><!--tex4ht:label?: x1-220017 -->     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v19n1/1a0611x.png" alt="|----------------|---------------------------------|-----------------------------| |Trail&#8217;s-Element--|--------Resource--Name-----------|Position-in-Recommendation----| |-------1--------|--Bax-Pax-Downtown-Hostel/Hotel---|-------------X---------------| |-------2--------|-------Alte-Nationalgalerie---------|--------------3--------------| |-------3--------|-------U-Oranienburger-Tor--------|-------------11--------------| |-------4--------|--------------Aarti--------------|--------------7--------------| |-------5--------|--------------ATM----------------|--------------5--------------| --------6---------Museum--Blindenwerkstatt Otto-Weidt---------------3--------------- " ></div>                                                                                                                                                                                        </div><hr class="endfloat">    </div>    <h5 class="subsubsectionHead"><span class="titlemark">4.3.2   </span> <a   id="x1-230004.3.2"></a>Scenario 2: Worker</h5> <!--l. 430-->    <p class="noindent" ><span  class="cmti-10">&#8220;Helen is a German wheelchair user searching for an easy routine. Despite living in Berlin for about two years, she</span> <span  class="cmti-10">still does not know many places that offer accessibility to her disability. Thus, after an indication of a friend who is</span> <span  class="cmti-10">also a wheelchair user, she installed in her smartphone an application of urban travelling that, more than only</span> <span  class="cmti-10">generating routes, also recommends establishments with accessibility to several disabilities. This application</span> <span  class="cmti-10">has the Vulcanus RS focused on trails of resources&#8217; categories and it is able to save the trails daily</span> <span  class="cmti-10">generated by the users. Helen intends to use the application in her daily life in order to know new</span> <span  class="cmti-10">available resources in her routine range, looking for convenience and accessibility to her special needs.</span> <span  class="cmti-10">Following her routine, she usually uses accessible public transfer to go to the school &#8220;Grundschule unter</span> <span  class="cmti-10">den Kastanien&#8221;, her working place. At the school, during her lunch break, she usually goes to nearby</span> <span  class="cmti-10">restaurants and fast foods, returning to work after the meal. By the end of the workday, she returns home</span> <span  class="cmti-10">using again the public transfer. Based on this description of a daily routine, the trail in Table </span><a  href="#x1-230018"><span  class="cmti-10">8</span><!--tex4ht:ref: TabC2Trilha --></a> <span  class="cmti-10">was</span> <span  class="cmti-10">elaborated.&#8221;</span>        <div class="table">                                                                                                                                                                                     <!--l. 434-->    <p class="indent" >   <a   id="x1-230018"></a><hr class="float">    <div class="float"  >                                                                                                                                                                                          ]]></body>
<body><![CDATA[<div class="caption"  ><span class="id">Table&#x00A0;8: </span><span   class="content">Trail elaborated by Scenario 2.</span></div><!--tex4ht:label?: x1-230018 -->     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v19n1/1a0612x.png" alt="|-------------|-----------------|----------|---------| |Resource-ID--|Resource--Name---|Category--|--Type---| |    6932     |  Kranoldplatz    |  Public   |   Bus   | |-------------|-----------------|-Transfer--|--Stop---| |    6916     |Grundschule unter|Education  | School  | |-------------|--den Kastanien--|----------|---------| |----6909-----|---Burger King---|--Food----|Fast- Food| |    6916     |Grundschule unter|Education  | School  | |-------------|--den Kastanien--|----------|---------| |    6668     |  Lange Straße    |  Public   |   Bus   | ----------------------------------Transfer-----Stop---- " ></div>                                                                                                                                                                                        </div><hr class="endfloat">    </div> <!--l. 450-->    <p class="indent" >   From this category trail, after a similarity analysis with other trails and the score of resource recommendation, the application used by Helen returned the establishments presented in Table <a  href="#x1-230029">9<!--tex4ht:ref: TabC2Rec --></a>.        <div class="table">                                                                                                                                                                                     <!--l. 453-->    <p class="indent" >   <a   id="x1-230029"></a><hr class="float">    <div class="float"  >                                                                                                                                                                                          <div class="caption"  ><span class="id">Table&#x00A0;9: </span><span   class="content">Recommended resources based on the category trail.</span></div><!--tex4ht:label?: x1-230029 -->     <div class="pic-tabular"> <img  src="/img/revistas/cleiej/v19n1/1a0613x.png" alt="|------------------|-----------------------------|-----------------| |Recommendation    |      Resource  Name         |Category  -Type  | |-----Order--------|-----------------------------|-----------------| |--------1---------|--------Deutsche-Bank---------|-Bank-Post-Bank--| |--------2---------|Grundschule-unter den-Kastanien|Education--School-| |--------3---------|------------ATM--------------|-Bank-Post-ATM---| |--------4---------|-----------Milans------------|Food--Co-ffee Shop| |--------5---------|------Hedwig-Apotheke--------|Health--Pharmacy-| |--------6---------|------Berliner-Sparkasse-------|-Bank-Post-ATM---| |--------7---------|--Thai-Restaurant-iMM---DEE-----|-Food--Restaurant-| |--------8---------|---------PizzaLiebe-----------|-Food--Restaurant-| |--------9---------|-----Gertruden-Apotheke------|Health--Pharmacy-| --------10----------------Seydlitz-Apotheke--------Health--Pharmacy-- " ></div>                                                                                                                                                                                        </div><hr class="endfloat">    </div>    <h5 class="subsubsectionHead"><span class="titlemark">4.3.3   </span> <a   id="x1-240004.3.3"></a>Scenario 3: Lazy</h5> <!--l. 475-->    <p class="noindent" ><span  class="cmti-10">&#8220;Thomas is a German wheelchair user looking for new places to have fun, both with friends and with his girlfriend.</span> <span  class="cmti-10">He is attentive to new technologies and read in a blog dedicated to assistive technologies about the release of a new</span> <span  class="cmti-10">GPS that includes recommendation of places according to the support to different disabilities. Interested in the</span> <span  class="cmti-10">product, he acquired the GPS and started to test it. This GPS includes Vulcanus RS, specifically its module of</span> <span  class="cmti-10">category trails.</span> <!--l. 477-->    <p class="indent" >   <span  class="cmti-10">During the weekend, Thomas and his girlfriend use the GPS and go to &#8220;Getr</span><span  class="cmti-10">änke Hoffmann&#8221; (Shopping -</span> <span  class="cmti-10">Drinks) in his private car. After arriving, the GPS generates a recommendation of several resources. The couple</span> <span  class="cmti-10">becomes interested in &#8220;Kino UNION Filmtheater&#8221; (Leisure - Cinema, Figure </span><a  href="#x1-2400111"><span  class="cmti-10">11</span><!--tex4ht:ref: figCen3 --></a><span  class="cmti-10">a)) and decides to go there. During</span> <span  class="cmti-10">the film, Thomas needs to go to the bathroom and finds its reference in the GPS, the recommendation of the resource</span> <span  class="cmti-10">&#8220;City Toilet&#8221; (Misc - Toilet, Figure </span><a  href="#x1-2400111"><span  class="cmti-10">11</span><!--tex4ht:ref: figCen3 --></a><span  class="cmti-10">b)). After using the toilet, the recommendations are updated (Figure </span><a  href="#x1-2400111"><span  class="cmti-10">11</span><!--tex4ht:ref: figCen3 --></a><span  class="cmti-10">c))</span> <span  class="cmti-10">and he returns to the cinema. Back to the cinema, the recommendations are again updated (Figure </span><a  href="#x1-2400111"><span  class="cmti-10">11</span><!--tex4ht:ref: figCen3 --></a><span  class="cmti-10">d)) and the</span> <span  class="cmti-10">couple decides to return home.&#8221;</span> <!--l. 479-->    ]]></body>
<body><![CDATA[<p class="indent" >   <hr class="figure">    <div class="figure"  >                                                                                                                                                                                     <a   id="x1-2400111"></a>                                                                                                                                                                                      <!--l. 481-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06f11.png" alt="PIC"   >     <br>     <div class="caption"  ><span class="id">Figure&#x00A0;11: </span><span   class="content">Top 5 recommended resources at each new trail element.</span></div><!--tex4ht:label?: x1-2400111 -->                                                                                                                                                                                     <!--l. 484-->    <p class="indent" >   </div><hr class="endfigure">    <h4 class="subsectionHead"><span class="titlemark">4.4   </span> <a   id="x1-250004.4"></a>Results</h4> <!--l. 489-->    <p class="noindent" >Based on the scenarios described in Subsection <a  href="#x1-210004.3">4.3<!--tex4ht:ref: secEval --></a>, it is possible to perform an analysis and infer aspects in order to ascertain whether the study used the correct approaches, as well as to identify where the study must focus its improvements. The choice of different scenarios, with different focuses, aims to evaluate Vulcanus on different aspects. In each scenario, we analyzed and evaluated the prototype&#8217;s behaviors in search for the system&#8217;s negative and positive aspects. <!--l. 491-->    <p class="indent" >   The first scenario included the use of recommendations, which in turn were generated through the approach of resource trails. In scenario 1, the couple used resources listed in the recommendation, adding them to the trail generated in real time, an event that leads to the generation of a new recommendation. The couple had a tourist profile and the choice of resources was based on this specific interest. Leaving the hotel, the couple went via taxi to the museum <span  class="cmti-10">Alte Nationalgalerie</span>. Looking for a place to lunch, they took an accessible bus (<span  class="cmti-10">U Oranienburger Tor</span>). After that, they went to an Indian restaurant (<span  class="cmti-10">Aarti</span>) and then to an ATM. Finally, they visited the museum <span  class="cmti-10">Blindenwerkstatt Otto Weidt</span>, which finished the scenario&#8217;s description. <!--l. 493-->    <p class="indent" >   The last column of Table <a  href="#x1-220017">7<!--tex4ht:ref: TabC1 --></a> presents the resource&#8217;s position in each of the generated recommendations. Through these indexes, it is possible to observe that some resources used by the couple, mainly the third and fourth resources (with positions 11 and 7, respectively), obtained a low degree of similarity with the trails generated by the community and therefore a lower score. <!--l. 495-->    <p class="indent" >   In the case of the third resource (<span  class="cmti-10">U Oranienburger Tor</span>), the system indicated ten resources of higher relevance based on the trail generated by the couple, even if these resources were not relevant to the tourism context presented in the scenario. In the second case, the fourth resource used by the couple (<span  class="cmti-10">Aarti</span>) was only in the seventh position of the recommendation generated by the system, which therefore had six more relevant resources, i.e., with higher scores. <!--l. 497-->    ]]></body>
<body><![CDATA[<p class="indent" >   After the evaluation, it was found that the community trails are determinant for the generated recommendations, because if the community trails do not make sense, neither do the recommendations. And even with the profile <span  class="cmti-10">Tourist </span>described in scenario 1, many resources of the profile <span  class="cmti-10">Worker </span>obtained a higher relevance in the recommendations due to the similarity algorithm, which was not developed to filter trails based on the profile of the user that generated it. <!--l. 499-->    <p class="indent" >   The second scenario approached a recommendation according to the category trail. After the presentation of the user&#8217;s trail, a recommendation of resources was generated, i.e., the trail composed by <span  class="cmti-10">Public</span> <span  class="cmti-10">Transfer</span>, <span  class="cmti-10">Education</span>, <span  class="cmti-10">Food</span>, <span  class="cmti-10">Education </span>and <span  class="cmti-10">Public Transfer </span>was compared to all the community trails and, after a filter, it indicated the relevant ones, i.e., the trails having a resource of the category <span  class="cmti-10">Public</span> <span  class="cmti-10">Transfer </span>within a certain range from the user&#8217;s location. These relevant trails are then evaluated, receiving a score according to the similarity level. For example, a trail containing <span  class="cmti-10">Food</span>, <span  class="cmti-10">Education </span>and <span  class="cmti-10">Public Transfer</span>, in this order exactly, has a higher similarity than a trail having <span  class="cmti-10">Education </span>and <span  class="cmti-10">Public</span> <span  class="cmti-10">Transfer </span>also in this order exactly when compared to the category trail of scenario 2. The generated recommendation is shown in Table <a  href="#x1-230029">9<!--tex4ht:ref: TabC2Rec --></a>, which informs the <span  class="cmti-10">Top 10 </span>resources with higher relevance and similarity. <!--l. 501-->    <p class="indent" >   Given the scenario 2, the presented recommendation was in fact able to offer relevant resources that attend to the scenario&#8217;s needs. From the 10 resources of Table <a  href="#x1-230029">9<!--tex4ht:ref: TabC2Rec --></a>, only the second one may be questioned, while the others were able to attend to the needs imposed by the scenario, which seeks resources near to the user&#8217;s geographic location through daily services (for example, banks, restaurants and pharmacies). The second resource <span  class="cmti-10">&#8220;School - Grundschule unter den Kastanien&#8221; </span>may be questioned because it was already used during the generation of the category trail. This reveals that Vulcanus does not consider whether the resources were used along the trail generated by the user, thus being likely that it recommends a resource already known by the user, affecting the innovation in the resource offering. <!--l. 503-->    <p class="indent" >   Finally, the third scenario presented the recommendations generated at each new resource use. Each time the user uses a resource, the application detects this event and the resource is added to the trail that the user generates in real time. In scenario 3, such as in scenario 2, an approach of category trails was evaluated. The user started from a resource of the category <span  class="cmti-10">Shopping</span>, going to <span  class="cmti-10">Leisure</span>, which was the fourth resource in the list of recommended resources. The subsequent resources were from the categories <span  class="cmti-10">Misc </span>and <span  class="cmti-10">Leisure</span>, respectively. <!--l. 505-->    <p class="indent" >   Figure <a  href="#x1-2400111">11<!--tex4ht:ref: figCen3 --></a> presents the <span  class="cmti-10">Top 5 </span>recommended resources. The user generates this recommendation list at each new use of resources, improving the generated trail. The recommended items are shown according to the user&#8217;s described proposition, yet some resources, such as in scenario 1, are more appropriate for a profile                                                                                                                                                                                     <span  class="cmti-10">Worker </span>than a profile <span  class="cmti-10">Lazy</span>, which the user presents. That is the case with the resources <span  class="cmti-10">&#8220;Esso&#8221; </span>(<span  class="cmti-10">Public</span> <span  class="cmti-10">Transfer</span>); <span  class="cmti-10">&#8220;EKT - Friedrichshagener Kinderladen e.V.&#8221; </span>(<span  class="cmti-10">Education</span>); and <span  class="cmti-10">&#8220;B</span><span  class="cmti-10">ügeramt III&#8221; </span>(<span  class="cmti-10">Government</span>). This happens because the community trail is not filtered according to the user&#8217;s profile. The user&#8217;s profile (<span  class="cmti-10">Worker</span>, <span  class="cmti-10">Tourist</span>, and <span  class="cmti-10">Lazy</span>) was elaborated in the trail simulator, not in Vulcanus. Vulcanus considers the user&#8217;s profile, but this information is specifically related to each individual&#8217;s disability and needs. <!--l. 507-->    <p class="indent" >   Such as in scenario 2, which also uses category trails, scenario 3 presents repeated resources, which, despite having been used in the user&#8217;s trail, are still recommended and presented in the <span  class="cmti-10">Top 5 </span>list of recommended resources. Through this scenario, it was possible to analyze a peculiar behavior of the user, who repeats the use of resources in the same trail. This behavior ends up illustrating a different context, because in this way, the recommendation of a previously used resource might becomes valid. The recommendation loses innovation, as the user already knows the resource. However, as this behavior is usual in the community, the RS correctly generates such recommendations. <!--l. 509-->    <p class="noindent" >    <h3 class="sectionHead"><span class="titlemark">5   </span> <a   id="x1-260005"></a>Asymptotic Analysis</h3> <!--l. 511-->    <p class="noindent" >For Vulcanus, initially presented in <span class="cite">[<a  href="#Xvulc">9</a><a id="br9">]</a></span>, the main goal of its algorithm is comparing the sequence of element&#8217;s categories between two distinct trails. For example, it is possible to compare a trail with following element&#8217;s categories sequence: &#8220;Leisure(1) - Education(2) - Food (3)&#8221;. Based on that sequence, the algorithm can identify trails with that same sequence. That sequence can be presented in any part of several different trails. After finding that sequence (completely or partially), the next resource of trail, if any, is added in a resources list and receives a score according to its incidence. The algorithm&#8217;s results is a list of sorted resources, where the highest score refers to the resource which has a high incidence and/or similarity with the original compared trail. This is the first version of its algorithm: <br  class="newline">    <!--l. 521-->     <div class="lstlisting" id="listing-1"><span class="label"><a   id="x1-26001r1"></a><span  class="cmr-5">1</span></span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">different</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">sizes</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">of</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26002r2"></a><span  class="cmr-5">2</span></span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">i</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">i</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x003C;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">.</span><span  class="cmtt-9">size</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">i</span><span  class="cmtt-9">++)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-26003r3"></a><span  class="cmr-5">3</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">.</span><span  class="cmtt-9">size</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">i</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26004r4"></a><span  class="cmr-5">4</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26005r5"></a><span  class="cmr-5">5</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">every</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">relevant</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26006r6"></a><span  class="cmr-5">6</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">j</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">j</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x003C;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">size</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">j</span><span  class="cmtt-9">++)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26007r7"></a><span  class="cmr-5">7</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26008r8"></a><span  class="cmr-5">8</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26009r9"></a><span  class="cmr-5">9</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">check</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">every</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">element</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">of</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">that</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">has</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">length</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26010r10"></a><span  class="cmr-5">10</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">boolean</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">flag_same_cat</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">true</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26011r11"></a><span  class="cmr-5">11</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">boolean</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">short_trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">false</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26012r12"></a><span  class="cmr-5">12</span></span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-26013r13"></a><span  class="cmr-5">13</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">index_trail</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26014r14"></a><span  class="cmr-5">14</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">index_stack</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26015r15"></a><span  class="cmr-5">15</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26016r16"></a><span  class="cmr-5">16</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">k</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">k</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x003C;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">k</span><span  class="cmtt-9">++)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26017r17"></a><span  class="cmr-5">17</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26018r18"></a><span  class="cmr-5">18</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">((</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getIndex</span><span  class="cmtt-9">()</span><span  class="cmtt-9">-</span><span  class="cmtt-9">k</span><span  class="cmtt-9">)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x003E;=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">0)</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26019r19"></a><span  class="cmr-5">19</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26020r20"></a><span  class="cmr-5">20</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">index_trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getIndex</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">k</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26021r21"></a><span  class="cmr-5">21</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">index_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">.</span><span  class="cmtt-9">size</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">k</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-1;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26022r22"></a><span  class="cmr-5">22</span></span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-26023r23"></a><span  class="cmr-5">23</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">String</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">comp_a</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getArray</span><span  class="cmtt-9">()</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">index_trail</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getCat</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26024r24"></a><span  class="cmr-5">24</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26025r25"></a><span  class="cmr-5">25</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">String</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">comp_b</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">index_stack</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getIden2</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26026r26"></a><span  class="cmr-5">26</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26027r27"></a><span  class="cmr-5">27</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(!</span><span  class="cmtt-9">comp_a</span><span  class="cmtt-9">.</span><span  class="cmtt-9">equals</span><span  class="cmtt-9">(</span><span  class="cmtt-9">comp_b</span><span  class="cmtt-9">)</span><span  class="cmtt-9">)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26028r28"></a><span  class="cmr-5">28</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">flag_same_cat</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">false</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26029r29"></a><span  class="cmr-5">29</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">break</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26030r30"></a><span  class="cmr-5">30</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">BREAK</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">when</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">&#8217;</span><span  class="cmtt-9">s</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">element</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">and</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">&#8217;</span><span  class="cmtt-9">s</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">element</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">are</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">the</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">same</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26031r31"></a><span  class="cmr-5">31</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">the</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">is</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">relevant</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26032r32"></a><span  class="cmr-5">32</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-26033r33"></a><span  class="cmr-5">33</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26034r34"></a><span  class="cmr-5">34</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">else</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26035r35"></a><span  class="cmr-5">35</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Check</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">is</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">smaller</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">than</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">resource</span><span  class="cmtt-9">&#8217;</span><span  class="cmtt-9">s</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26036r36"></a><span  class="cmr-5">36</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">cannot</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">be</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">checked</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">too</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">short</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26037r37"></a><span  class="cmr-5">37</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">short_trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">true</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26038r38"></a><span  class="cmr-5">38</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">break</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26039r39"></a><span  class="cmr-5">39</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26040r40"></a><span  class="cmr-5">40</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26041r41"></a><span  class="cmr-5">41</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26042r42"></a><span  class="cmr-5">42</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">In</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">case</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">was</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">checked</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">is</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">relevant</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">then</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">calculate</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-26043r43"></a><span  class="cmr-5">43</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(</span><span  class="cmtt-9">flag_same_cat</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&amp;&amp;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">!</span><span  class="cmtt-9">short_trail</span><span  class="cmtt-9">)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26044r44"></a><span  class="cmr-5">44</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26045r45"></a><span  class="cmr-5">45</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">index_</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getIndex</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26046r46"></a><span  class="cmr-5">46</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">int</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">siz</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getArray</span><span  class="cmtt-9">()</span><span  class="cmtt-9">.</span><span  class="cmtt-9">size</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26047r47"></a><span  class="cmr-5">47</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26048r48"></a><span  class="cmr-5">48</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">((</span><span  class="cmtt-9">int</span><span  class="cmtt-9">)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">index_</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x003C;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(</span><span  class="cmtt-9">siz</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1)</span><span  class="cmtt-9">)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26049r49"></a><span  class="cmr-5">49</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">aux_res</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26050r50"></a><span  class="cmr-5">50</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getArray</span><span  class="cmtt-9">()</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getIndex</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getRec</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26051r51"></a><span  class="cmr-5">51</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">Check</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">resource</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">was</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">added</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">into</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">recommendation</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26052r52"></a><span  class="cmr-5">52</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(!</span><span  class="cmtt-9">contemRes</span><span  class="cmtt-9">(</span><span  class="cmtt-9">res2Rec</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">aux_res</span><span  class="cmtt-9">)</span><span  class="cmtt-9">)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-26053r53"></a><span  class="cmr-5">53</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">First</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">occurrence</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26054r54"></a><span  class="cmr-5">54</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Recommend</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">aux_rec</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">new</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Recommend</span><span  class="cmtt-9">(</span><span  class="cmtt-9">aux_res</span><span  class="cmtt-9">,</span><span  class="cmtt-9">score</span><span  class="cmtt-9">[</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1])</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26055r55"></a><span  class="cmr-5">55</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">res2Rec</span><span  class="cmtt-9">.</span><span  class="cmtt-9">add</span><span  class="cmtt-9">(</span><span  class="cmtt-9">aux_rec</span><span  class="cmtt-9">)</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26056r56"></a><span  class="cmr-5">56</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">System</span><span  class="cmtt-9">.</span><span  class="cmtt-9">out</span><span  class="cmtt-9">.</span><span  class="cmtt-9">println</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">.</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">aux_rec</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getRec</span><span  class="cmtt-9">()</span><span  class="cmtt-9">.</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">got</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">[</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1].</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">It</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">has</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">element</span><span  class="cmtt-9">(</span><span  class="cmtt-9">s</span><span  class="cmtt-9">)</span><span  class="cmtt-9">"</span><span  class="cmtt-9">)</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26057r57"></a><span  class="cmr-5">57</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26058r58"></a><span  class="cmr-5">58</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">else</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26059r59"></a><span  class="cmr-5">59</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">repeated</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">occurrence</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">no</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">need</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">to</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">add</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">in</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26060r60"></a><span  class="cmr-5">60</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">int</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">addScore</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">[</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1];</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26061r61"></a><span  class="cmr-5">61</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">adicionaScore</span><span  class="cmtt-9">(</span><span  class="cmtt-9">res2Rec</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">aux_res</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">addScore</span><span  class="cmtt-9">)</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26062r62"></a><span  class="cmr-5">62</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">System</span><span  class="cmtt-9">.</span><span  class="cmtt-9">out</span><span  class="cmtt-9">.</span><span  class="cmtt-9">println</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">.</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">aux_res</span><span  class="cmtt-9">.</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">got</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">[</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1].</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">repeated</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">element</span><span  class="cmtt-9">(</span><span  class="cmtt-9">s</span><span  class="cmtt-9">)</span><span  class="cmtt-9">"</span><span  class="cmtt-9">)</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-26063r63"></a><span  class="cmr-5">63</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26064r64"></a><span  class="cmr-5">64</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26065r65"></a><span  class="cmr-5">65</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26066r66"></a><span  class="cmr-5">66</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">else</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26067r67"></a><span  class="cmr-5">67</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">Do</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">not</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">calculate</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26068r68"></a><span  class="cmr-5">68</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">System</span><span  class="cmtt-9">.</span><span  class="cmtt-9">out</span><span  class="cmtt-9">.</span><span  class="cmtt-9">println</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">.</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">.</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">No</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">"</span><span  class="cmtt-9">)</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26069r69"></a><span  class="cmr-5">69</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26070r70"></a><span  class="cmr-5">70</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-26071r71"></a><span  class="cmr-5">71</span></span><span  class="cmtt-9">}</span>    </div> <!--l. 596-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">5.1   </span> <a   id="x1-270005.1"></a>Big O</h4> <!--l. 597-->    ]]></body>
<body><![CDATA[<p class="noindent" >We performed the asymptotic analysis <span class="cite">[<a  href="#Xtoscani">24</a><a id="br24">]</a></span> of first version of Vulcanus algorithm, by dividing the source code into small parts, that summed provide the total algorithm complexity. The following information is related to the complexity of each small parts.      <ul class="itemize1">      <li class="itemize">IF line 18-33 <br  class="newline">18 (2 <img  src="/img/revistas/cleiej/v19n1/1a0614x.png" alt="&#x00D7; "  class="math" > Op. Get) + Op. Sub + Op. Comp<br  class="newline">20 Op. Attr + (2 <img  src="/img/revistas/cleiej/v19n1/1a0615x.png" alt="&#x00D7; "  class="math" > Op. Get) + Op. Sub<br  class="newline">21 Op. Attr + Op. Get + (2 <img  src="/img/revistas/cleiej/v19n1/1a0616x.png" alt="&#x00D7; "  class="math" > Op. Sub)<br  class="newline">23 Op. Attr + (4 <img  src="/img/revistas/cleiej/v19n1/1a0617x.png" alt="&#x00D7; "  class="math" > Op. Get)<br  class="newline">25 Op. Attr + (2 <img  src="/img/revistas/cleiej/v19n1/1a0618x.png" alt="&#x00D7; "  class="math" > Op. Get)<br  class="newline">27 Op. Equ<br  class="newline">28 Op. Attr<br  class="newline">ELSE 34-39 is not evaluated since its complexity is smaller than IF 18-33.<br  class="newline">      </li>                                                                                                                                                                                          <li class="itemize">FOR line 16-40<br  class="newline">16 Op. Attr + Op. Comp + Op. Add<br  class="newline">(IF 18-33)<br  class="newline">      </li>      <li class="itemize">IF line 43-65<br  class="newline">43 2 <img  src="/img/revistas/cleiej/v19n1/1a0619x.png" alt="&#x00D7; "  class="math" > Op. Comp<br  class="newline">45 Op. Attr + (2 <img  src="/img/revistas/cleiej/v19n1/1a0620x.png" alt="&#x00D7; "  class="math" > Op. Get)<br  class="newline">46 Op. Attr + (3 <img  src="/img/revistas/cleiej/v19n1/1a0621x.png" alt="&#x00D7; "  class="math" > Op. Get)<br  class="newline">48 Op. Cast + Op. Sub + Op. Comp<br  class="newline">49 Op. Attr + (6 <img  src="/img/revistas/cleiej/v19n1/1a0622x.png" alt="&#x00D7; "  class="math" > Op. Get) + Op. Sub<br  class="newline">52 Op. LSearch<br  class="newline">ELSE 58-63<br  class="newline">IF 52-57 is not evaluated since its complexity is smaller than ELSE 58-63<br  class="newline">      </li>      <li class="itemize">ELSE 58-63<br  class="newline">60 Op. Attr + Op. Sub<br  class="newline">61 Op. LSearch + Op. Add<br  class="newline">62 Op. Prnt + (3 <img  src="/img/revistas/cleiej/v19n1/1a0623x.png" alt="&#x00D7; "  class="math" > Op. ToStr) + (7 <img  src="/img/revistas/cleiej/v19n1/1a0624x.png" alt="&#x00D7; "  class="math" > Op. Soma) + Op. Sub<br  class="newline">      </li>      <li class="itemize">FOR line 6-70<br  class="newline">6 Op. Attr + Op Comp + Op. Soma<br  class="newline">10 Op. Attr<br  class="newline">11 Op. Attr<br  class="newline">FOR 16-40<br  class="newline">IF 43-65<br  class="newline">ELSE 66-69 is not evaluated since its complexity is smaller than IF 43-66<br  class="newline">      </li>      <li class="itemize">FOR line 2-71<br  class="newline">2 Op. Attr + Op. Comp + Op. Add<br  class="newline">3 Op. Attr + Op. Get + Op. Sub<br  class="newline">FOR 6-70</li>    </ul> <!--l. 643-->    <p class="indent" >   In summary, from all operation, we have a critical set which is defined by: FOR 2-71 <img  src="/img/revistas/cleiej/v19n1/1a0625x.png" alt="&#x00D7; "  class="math" > FOR 6-70 <img  src="/img/revistas/cleiej/v19n1/1a0626x.png" alt="&#x00D7; "  class="math" > FOR 16-40 <img  src="/img/revistas/cleiej/v19n1/1a0627x.png" alt="&#x00D7; "  class="math" > IF 18-33. Where the Big O(<img  src="/img/revistas/cleiej/v19n1/1a0628x.png" alt="n3  "  class="math" >). The described operations are the following: Attribution, Comparison, Addition, Subtraction, method get, method equals, method toString, method println, and Linear search in array. The terms that compose the Big O are related to the size of resources&#8217; stack, and the quantity of relevant trails for a determined sequence. <!--l. 646-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">5.2   </span> <a   id="x1-280005.2"></a>Dynamic Programming</h4> <!--l. 647-->    <p class="noindent" >Following the asymptotic analysis performed, we applied a dynamic programming technique (<span  class="cmti-10">bottom-up</span>) in order to improve the Vulcanus&#8217; algorithm. The new version of Vulcanus&#8217; algorithm is as follows:    <!--l. 649-->     <div class="lstlisting" id="listing-2"><span class="label"><a   id="x1-28001r1"></a><span  class="cmr-5">1</span></span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">different</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">sizes</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">of</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28002r2"></a><span  class="cmr-5">2</span></span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">i</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">i</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x003C;=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">.</span><span  class="cmtt-9">size</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">i</span><span  class="cmtt-9">++)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28003r3"></a><span  class="cmr-5">3</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">i</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28004r4"></a><span  class="cmr-5">4</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28005r5"></a><span  class="cmr-5">5</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">every</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">relevant</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-28006r6"></a><span  class="cmr-5">6</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">j</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">j</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x003C;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">size</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">j</span><span  class="cmtt-9">++)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28007r7"></a><span  class="cmr-5">7</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28008r8"></a><span  class="cmr-5">8</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(!(</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getRelevance</span><span  class="cmtt-9">()</span><span  class="cmtt-9">)</span><span  class="cmtt-9">)</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28009r9"></a><span  class="cmr-5">9</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">break</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28010r10"></a><span  class="cmr-5">10</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28011r11"></a><span  class="cmr-5">11</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28012r12"></a><span  class="cmr-5">12</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">check</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">every</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">element</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">of</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">that</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">has</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">length</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28013r13"></a><span  class="cmr-5">13</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">boolean</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">flag_same_cat</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">true</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28014r14"></a><span  class="cmr-5">14</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">boolean</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">short_trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">false</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28015r15"></a><span  class="cmr-5">15</span></span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-28016r16"></a><span  class="cmr-5">16</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">index_trail</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28017r17"></a><span  class="cmr-5">17</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">index_stack</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28018r18"></a><span  class="cmr-5">18</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28019r19"></a><span  class="cmr-5">19</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">k</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">k</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x003C;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">k</span><span  class="cmtt-9">++)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28020r20"></a><span  class="cmr-5">20</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28021r21"></a><span  class="cmr-5">21</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">((</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getIndex</span><span  class="cmtt-9">()</span><span  class="cmtt-9">-</span><span  class="cmtt-9">k</span><span  class="cmtt-9">)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x003E;=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">0)</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28022r22"></a><span  class="cmr-5">22</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28023r23"></a><span  class="cmr-5">23</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">index_trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getIndex</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">k</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28024r24"></a><span  class="cmr-5">24</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">index_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">.</span><span  class="cmtt-9">size</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">k</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-1;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28025r25"></a><span  class="cmr-5">25</span></span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-28026r26"></a><span  class="cmr-5">26</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">String</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">comp_a</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28027r27"></a><span  class="cmr-5">27</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getArray</span><span  class="cmtt-9">()</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">index_trail</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getCat</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28028r28"></a><span  class="cmr-5">28</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">String</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">comp_b</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">index_stack</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getIden2</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28029r29"></a><span  class="cmr-5">29</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28030r30"></a><span  class="cmr-5">30</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(!</span><span  class="cmtt-9">comp_a</span><span  class="cmtt-9">.</span><span  class="cmtt-9">equals</span><span  class="cmtt-9">(</span><span  class="cmtt-9">comp_b</span><span  class="cmtt-9">)</span><span  class="cmtt-9">)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28031r31"></a><span  class="cmr-5">31</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">flag_same_cat</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">false</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28032r32"></a><span  class="cmr-5">32</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">setRelevance</span><span  class="cmtt-9">(</span><span  class="cmtt-9">false</span><span  class="cmtt-9">)</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28033r33"></a><span  class="cmr-5">33</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">break</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28034r34"></a><span  class="cmr-5">34</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">BREAK</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">when</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">&#8217;</span><span  class="cmtt-9">s</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">element</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">and</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">&#8217;</span><span  class="cmtt-9">s</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">element</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">are</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">the</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">same</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28035r35"></a><span  class="cmr-5">35</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">the</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">is</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">relevant</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">for</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-28036r36"></a><span  class="cmr-5">36</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28037r37"></a><span  class="cmr-5">37</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28038r38"></a><span  class="cmr-5">38</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">else</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28039r39"></a><span  class="cmr-5">39</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Check</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">is</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">smaller</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">than</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">resource</span><span  class="cmtt-9">&#8217;</span><span  class="cmtt-9">s</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">stack</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28040r40"></a><span  class="cmr-5">40</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">cannot</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">be</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">checked</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">too</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">short</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28041r41"></a><span  class="cmr-5">41</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">short_trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">true</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28042r42"></a><span  class="cmr-5">42</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">break</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28043r43"></a><span  class="cmr-5">43</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28044r44"></a><span  class="cmr-5">44</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28045r45"></a><span  class="cmr-5">45</span></span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-28046r46"></a><span  class="cmr-5">46</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">In</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">case</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">was</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">checked</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">is</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">relevant</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">then</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">calculate</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28047r47"></a><span  class="cmr-5">47</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(</span><span  class="cmtt-9">flag_same_cat</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&amp;&amp;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">!</span><span  class="cmtt-9">short_trail</span><span  class="cmtt-9">)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28048r48"></a><span  class="cmr-5">48</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28049r49"></a><span  class="cmr-5">49</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">index_</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getIndex</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28050r50"></a><span  class="cmr-5">50</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">int</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">siz</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getArray</span><span  class="cmtt-9">()</span><span  class="cmtt-9">.</span><span  class="cmtt-9">size</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28051r51"></a><span  class="cmr-5">51</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28052r52"></a><span  class="cmr-5">52</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">((</span><span  class="cmtt-9">int</span><span  class="cmtt-9">)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">index_</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x003C;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(</span><span  class="cmtt-9">siz</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1)</span><span  class="cmtt-9">)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28053r53"></a><span  class="cmr-5">53</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Integer</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">aux_res</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28054r54"></a><span  class="cmr-5">54</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getArray</span><span  class="cmtt-9">()</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">list</span><span  class="cmtt-9">.</span><span  class="cmtt-9">get</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getIndex</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1)</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getRec</span><span  class="cmtt-9">()</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28055r55"></a><span  class="cmr-5">55</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">In</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">case</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">trail</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">was</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">checked</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">is</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">relevant</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">then</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">calculate</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-28056r56"></a><span  class="cmr-5">56</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">if</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">(!</span><span  class="cmtt-9">contemRes</span><span  class="cmtt-9">(</span><span  class="cmtt-9">res2Rec</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">aux_res</span><span  class="cmtt-9">)</span><span  class="cmtt-9">)</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28057r57"></a><span  class="cmr-5">57</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">First</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">occurrence</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28058r58"></a><span  class="cmr-5">58</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Recommend</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">aux_rec</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">new</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">Recommend</span><span  class="cmtt-9">(</span><span  class="cmtt-9">aux_res</span><span  class="cmtt-9">,</span><span  class="cmtt-9">score</span><span  class="cmtt-9">[</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1])</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28059r59"></a><span  class="cmr-5">59</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">System</span><span  class="cmtt-9">.</span><span  class="cmtt-9">out</span><span  class="cmtt-9">.</span><span  class="cmtt-9">println</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">.</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">aux_rec</span><span  class="cmtt-9">.</span><span  class="cmtt-9">getRec</span><span  class="cmtt-9">()</span><span  class="cmtt-9">.</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">got</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">[</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1].</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">has</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">element</span><span  class="cmtt-9">(</span><span  class="cmtt-9">s</span><span  class="cmtt-9">)</span><span  class="cmtt-9">"</span><span  class="cmtt-9">)</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28060r60"></a><span  class="cmr-5">60</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">res2Rec</span><span  class="cmtt-9">.</span><span  class="cmtt-9">add</span><span  class="cmtt-9">(</span><span  class="cmtt-9">aux_rec</span><span  class="cmtt-9">)</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28061r61"></a><span  class="cmr-5">61</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28062r62"></a><span  class="cmr-5">62</span></span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28063r63"></a><span  class="cmr-5">63</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">else</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28064r64"></a><span  class="cmr-5">64</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">repeated</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">occurrence</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">no</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">need</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">to</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">add</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">in</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">list</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28065r65"></a><span  class="cmr-5">65</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">int</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">addScore</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">=</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">[</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1];</span><span  class="cmtt-9">&#x00A0;</span>    ]]></body>
<body><![CDATA[<br><span class="label"><a   id="x1-28066r66"></a><span  class="cmr-5">66</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">adicionaScore</span><span  class="cmtt-9">(</span><span  class="cmtt-9">res2Rec</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">aux_res</span><span  class="cmtt-9">,</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">addScore</span><span  class="cmtt-9">)</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28067r67"></a><span  class="cmr-5">67</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">System</span><span  class="cmtt-9">.</span><span  class="cmtt-9">out</span><span  class="cmtt-9">.</span><span  class="cmtt-9">println</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">.</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">aux_res</span><span  class="cmtt-9">.</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">got</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">[</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">1].</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">repeated</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">element</span><span  class="cmtt-9">(</span><span  class="cmtt-9">s</span><span  class="cmtt-9">)</span><span  class="cmtt-9">"</span><span  class="cmtt-9">)</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28068r68"></a><span  class="cmr-5">68</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28069r69"></a><span  class="cmr-5">69</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28070r70"></a><span  class="cmr-5">70</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">else</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">{</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28071r71"></a><span  class="cmr-5">71</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">//</span><span  class="cmtt-9">Do</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">not</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">calculate</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28072r72"></a><span  class="cmr-5">72</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">System</span><span  class="cmtt-9">.</span><span  class="cmtt-9">out</span><span  class="cmtt-9">.</span><span  class="cmtt-9">println</span><span  class="cmtt-9">(</span><span  class="cmtt-9">j</span><span  class="cmtt-9">.</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">c_stack</span><span  class="cmtt-9">.</span><span  class="cmtt-9">toString</span><span  class="cmtt-9">()</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">+</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">"</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">-</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">No</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">score</span><span  class="cmtt-9">!</span><span  class="cmtt-9">"</span><span  class="cmtt-9">)</span><span  class="cmtt-9">;</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28073r73"></a><span  class="cmr-5">73</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28074r74"></a><span  class="cmr-5">74</span></span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">&#x00A0;</span><span  class="cmtt-9">}</span><span  class="cmtt-9">&#x00A0;</span>    <br><span class="label"><a   id="x1-28075r75"></a><span  class="cmr-5">75</span></span><span  class="cmtt-9">}</span>    </div> <!--l. 727-->    ]]></body>
<body><![CDATA[<p class="indent" >   The first change performed in code is in the first FOR definition (FOR 2-75). Now that FOR has the initial value 1 instead of 0, which is going to be directly assigned for variable c_stack (line 3). That way, we changed the order of initial comparison. Before that change, the comparison was initially with the two complete trails. From now on, it initializes from the shortest, the element in trails&#8217; tail, and the following resources are added in every FOR iteration, until the final comparison with both complete trails&#8217; sequence.                                                                                                                                                                                     <!--l. 729-->    <p class="indent" >   In order to get a true search optimization, in line 32 we changed a boolean value, which stores information related to trails&#8217; relevance. This flag is modified to false in first occurrence when resources comparison is negative, which means that the first elements difference is found. From that point, the trail is no longer relevant, and its further comparisons with remaining elements of this same trail can be skipped. In lines 8-10, we included an IF condition which checks if the trail to be compared is relevant or can be skipped. All the trails are initially defined with relevance flag setted with value true. <!--l. 732-->    <p class="noindent" >    <h3 class="sectionHead"><span class="titlemark">6   </span> <a   id="x1-290006"></a>Final Considerations</h3> <!--l. 735-->    <p class="noindent" >This study approached the implementation and optimization of Vulcanus<span class="cite">[<a  href="#Xvulc">9</a><a id="br9">]</a></span> a recommender system dedicated to accessibility and focused on the recommendation of resources that give support to users with certain needs. We implemented an evaluation model that, through the trail similarity analysis, is able to recommend resources using two distinct approaches: resource trails and resource category trails. <!--l. 737-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">6.1   </span> <a   id="x1-300006.1"></a>Conclusions</h4> <!--l. 738-->    <p class="noindent" >The studies on recommender systems and their applications are already widespread. However, the area of accessibility, whether ubiquitous or not, still lacks researches. In other words, there are works proposing the development of assistive technologies for users with special needs, but such studies use recommender systems in a simplified form. This work was concerned about searching for RSs, their categories and applications in order to have a widespread theoretical base consistent with other researches that also developed and implemented RSs. Thus, this study presented the Vulcanus prototype as well as performance improvements in its processing time, offering relevant resources for users with special needs, creating the improved Vulcanus 2.0. <!--l. 740-->    <p class="indent" >   The results obtained in the developed scenarios confirmed that the recommendation offers resources that are in fact relevant to the users in the presented contexts, both in the resource trails and the category trails approaches. Scenario 1 presented recommendations according to the resource trail. Although the recommendation presents resources that are interesting to the user, the recommended resources did not achieve the highest scores due to the community trails, since the elaborated simulation contains trails that does not imitate a real behavior. Scenario 2 exhibited the recommendations according to the given trail, approaching resource category trails. This recommendation presents resources that were relevant to the user, even though there was among them a resource already used by the user in her trail. What seemed to be a failure, scenario 3 proved to be the opposite. Scenario 3 showed recommendation based on category trail according to the insertion of new resources in the user&#8217;s trail. Contrary to scenario 2, in this case the user repeated the use of a resource, making the recommendation of a previously known resource valid in some cases by offering relevant resources for his context, even if repeated or already used by the user. As presented in the Subsection <a  href="#x1-250004.4">4.4<!--tex4ht:ref: secResult --></a>, the gathered results are directly related to the quality of the trails generated by the community of users. This means that improvements must be presented in the collection of the updated data, whether done by trail simulators or in fact by real users. <!--l. 742-->    <p class="indent" >   From the asymptotic analysis performed in section <a  href="#x1-260005">5<!--tex4ht:ref: secPlus --></a>, with the use of dynamic programming, in specific bottom-up approach, we were able to improve the presented Vulcanus&#8217; algorithm. If a new asymptotic analysis is performed on Vulcanus 2.0, the worst case scenario will still be the same Big O(<img  src="/img/revistas/cleiej/v19n1/1a0629x.png" alt=" 3 n  "  class="math" >). However the worst case has a very unlikely occurrence. The changes performed aim to improve the average scenario. In average, the trails are composed of several elements (from 10 to 35), and only a few trails are similar and therefore relevant. With the use of relevance flag, summed up with bottom-up comparison, it was possible to in fact improve Vulcanus&#8217; algorithm. <!--l. 744-->    <p class="noindent" >    <h4 class="subsectionHead"><span class="titlemark">6.2   </span> <a   id="x1-310006.2"></a>Contributions</h4> <!--l. 745-->    <p class="noindent" >Table <a  href="#x1-3100110">10<!--tex4ht:ref: compFinal --></a> presents a comparison of the works presented in Section <a  href="#x1-20002">2<!--tex4ht:ref: SecRW --></a> (Recommendation of Travel Plans for Elderly People <span class="cite">[<a  href="#Xbatouche">17</a><a id="br17">]</a></span>, SOLVE-D <span class="cite">[<a  href="#XsolveD">18</a><a id="br18">]</a></span>, Project SAID <span class="cite">[<a  href="#Xsaid">19</a><a id="br19">]</a></span>, and User Modelling Wizard for People with Motor Disabilities <span class="cite">[<a  href="#Xassistente">20</a><a id="br20">]</a></span>), including now the Vulcanus RS. This work addressed the Vulcanus&#8217; algorithm optimization and presenting its evaluation model that, through a hybrid approach (collaborative,                                                                                                                                                                                     context-based and knowledge-based) is able to offer resources to users with different needs in different contexts. <!--l. 747-->    ]]></body>
<body><![CDATA[<p class="indent" >   This hybrid approach is due to the use of trails generated by the community of users (collaborative), context information (context-based) and information of each of the registered resources (knowledge-based). Vulcanus 2.0 is still able to support both people with disabilities and elderly people, according to the convenience of the application using the RS. Vulcanus 2.0 uses concepts such as user profiles, contexts and similarity analysis, in the same way as the other presented works. The main difference and contribution of Vulcanus 2.0 to other works is the use of trails and not only history. While histories deal only with data related to the user&#8217;s past, trails consider the chronological information as a whole, obtaining a context of use at each new resource insertion.        <div class="table">                                                                                                                                                                                     <!--l. 750-->    <p class="indent" >   <a   id="x1-3100110"></a><hr class="float">    <div class="float"  >                                                                                                                                                                                         <div class="center"  > <!--l. 751-->    <p class="noindent" >     <br>     <div class="caption"  ><span class="id">Table&#x00A0;10: </span><span   class="content">Comparison between the selected works, including Vulcanus 2.0.</span></div><!--tex4ht:label?: x1-3100110 --> <!--l. 753-->    <p class="noindent" ><img  src="/img/revistas/cleiej/v19n1/1a06t10.png" alt="PIC"   > </div>                                                                                                                                                                                        </div><hr class="endfloat">    </div>    <h4 class="subsectionHead"><span class="titlemark">6.3   </span> <a   id="x1-320006.3"></a>Future Works</h4> <!--l. 759-->    <p class="noindent" >Based on the obtained data and through the evaluation scenarios, we found questions yet to be better explored and improved. The first of them is related to the quality and fidelity of the community trails. Despite the efforts to obtain real trails, the presented trail simulator was unable to generated well-defined trails or trails with a specific purpose. It was able to generate feasible trails, but some of them do not have a well-determined logic sequence or a specified purpose, therefore questioning the trail&#8217;s quality. <!--l. 763-->    ]]></body>
<body><![CDATA[<p class="indent" >   In Vulcanus 2.0 itself, it is possible to improve the <span  class="cmti-10">Similarity Module</span>, adding a function in order to avoid the excessive recommendation of resources already presented in the user&#8217;s trail. Scenario 3 showed that some situations validate the recommendation of a resource already present in the user&#8217;s trail. However, this recommendation must be performed with caution, only in situations of high similarity between trails, as the innovation in the resource supply may be affected. Finally, the acceptance of Vulcanus 2.0 may only be evaluated by real users. For this purpose, Vulcanus 2.0 must be integrated with an application, such as the prototype Hefestos <span class="cite">[<a  href="#Xtavares">15</a><a id="br15">]</a></span>. It is through the evaluation of these aspects that we may obtain irrefutable and clear results. The results obtained in this work are important because they show aspects that need to evolve, but only from real implementation it will be possible to precisely validate Vulcanus 2.0. <!--l. 2-->    <p class="noindent" >    <h3 class="likesectionHead"><a   id="x1-330006.3"></a>References</h3> <!--l. 2-->    <p class="noindent" >         <div class="thebibliography">         <p class="bibitem" ><span class="biblabel">   [<a href="#br1">1</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="XBigData"></a>V.&#x00A0;J. Breternitz and L.&#x00A0;A. Silva, &#8220;Big data: Um novo conceito gerando oportunidades e desafios,&#8221;     <span  class="cmti-10">Revista Eletr</span><span  class="cmti-10">ônica de Tecnologia e Cultura</span>, vol.&#x00A0;2, no.&#x00A0;2, pp. 1&#8211;8, 2013.     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br2">2</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="XRSIntro"></a>D.&#x00A0;Jannach,     M.&#x00A0;Zanker,     A.&#x00A0;Felfernig,     and     G.&#x00A0;Friedrich,     <span  class="cmti-10">Recommender     Systems:</span>     <span  class="cmti-10">An    Introduction</span>.      Cambridge     University     Press     (CUP),     2009.     [Online].     Available:     <a  href="http://dx.doi.org/10.1017/CBO9780511763113" class="url" >http://dx.doi.org/10.1017/CBO9780511763113</a>     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br3">3</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xweiser"></a>M.&#x00A0;Weiser, &#8220;The computer for the 21 st century,&#8221; <span  class="cmti-10">SIGMOBILE Mob. Comput. Commun. Rev.</span>,     vol.&#x00A0;3, no.&#x00A0;3, pp. 3&#8211;11, jul 1999. [Online]. Available: <a  href="http://dx.doi.org/10.1145/329124.329126" class="url" >http://dx.doi.org/10.1145/329124.329126</a>     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br4">4</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xvan"></a>G.&#x00A0;C.  Vanderheiden,  &#8220;Ubiquitous  accessibility,  common  technology  core,  and  micro  assistive     technology,&#8221;  <span  class="cmti-10">ACM  Trans.  Access.  Comput.</span>,  vol.&#x00A0;1,  no.&#x00A0;2,  pp.  1&#8211;7,  oct  2008.  [Online].  Available:     <a  href="http://dx.doi.org/10.1145/1408760.1408764" class="url" >http://dx.doi.org/10.1145/1408760.1408764</a>     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br5">5</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xoliveira"></a>R.&#x00A0;R.  Oliveira,  F.&#x00A0;C.  Noguez,  C.&#x00A0;A.  Costa,  J.&#x00A0;L.  Barbosa,  and  M.&#x00A0;P.  Prado,  &#8220;SWTRACK:     An   intelligent   model   for   cargo   tracking   based   on   off-the-shelf   mobile   devices,&#8221;   <span  class="cmti-10">Expert</span>     <span  class="cmti-10">Systems   with   Applications</span>,   vol.&#x00A0;40,   no.&#x00A0;6,   pp.   2023&#8211;2031,   may   2013.   [Online].   Available:     <a  href="http://dx.doi.org/10.1016/j.eswa.2012.10.021" class="url" >http://dx.doi.org/10.1016/j.eswa.2012.10.021</a>     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br6">6</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="XbarbosaEdu"></a>J.&#x00A0;L.&#x00A0;V.  Barbosa,  R.&#x00A0;M.  Hahn,  D.&#x00A0;N.&#x00A0;F.  Barbosa,  and  A.&#x00A0;I.  da&#x00A0;Costa  Zanel&#x00A0;Saccol,  &#8220;A     ubiquitous learning model focused on learner interaction,&#8221; <span  class="cmti-10">IJLT</span>, vol.&#x00A0;6, no.&#x00A0;1, p.&#x00A0;62, 2011. [Online].     Available: <a  href="http://dx.doi.org/10.1504/IJLT.2011.040150" class="url" >http://dx.doi.org/10.1504/IJLT.2011.040150</a>                                                                                                                                                                                         </p>         ]]></body>
<body><![CDATA[<p class="bibitem" ><span class="biblabel">   [<a href="#br7">7</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xudoctor"></a>H.&#x00A0;D. Vianna and J.&#x00A0;L.&#x00A0;V. Barbosa, &#8220;A model for ubiquitous care of noncommunicable diseases,&#8221;     <span  class="cmti-10">IEEE Journal of Biomedical and Health Informatics</span>, vol.&#x00A0;18, no.&#x00A0;5, pp. 1597&#8211;1606, sep 2014. [Online].     Available: <a  href="http://dx.doi.org/10.1109/JBHI.2013.2292860" class="url" >http://dx.doi.org/10.1109/JBHI.2013.2292860</a>     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br8">8</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsilva"></a>J.&#x00A0;M. Silva, J.&#x00A0;H. Rosa, J.&#x00A0;L.&#x00A0;V. Barbosa, D.&#x00A0;N.&#x00A0;F. Barbosa, and L.&#x00A0;A.&#x00A0;M. Palazzo, &#8220;Content     distribution in trail-aware environments,&#8221; <span  class="cmti-10">Journal of the Brazilian Computer Society</span>, vol.&#x00A0;16, no.&#x00A0;3,     pp. 163&#8211;176, jul 2010. [Online]. Available: <a  href="http://dx.doi.org/10.1007/s13173-010-0015-1" class="url" >http://dx.doi.org/10.1007/s13173-010-0015-1</a>     </p>         <p class="bibitem" ><span class="biblabel">   [<a href="#br9">9</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xvulc"></a>I.&#x00A0;G. Cardoso, B.&#x00A0;Mota, J.&#x00A0;L.&#x00A0;V. Barbosa, and R.&#x00A0;da&#x00A0;Rosa&#x00A0;Righi, &#8220;Vulcanus: A recommender     system   for   accessibility   based   on   trails,&#8221;   in   <span  class="cmti-10">2015  Latin  American  Computing  Conference,</span>     <span  class="cmti-10">CLEI   2015,   Arequipa,   Peru,   October   19-23,   2015</span>,   2015,   pp.   1&#8211;12.   [Online].   Available:     <a  href="http://dx.doi.org/10.1109/CLEI.2015.7360003" class="url" >http://dx.doi.org/10.1109/CLEI.2015.7360003</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br10">10</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsimcop"></a>T.&#x00A0;Wiedemann, &#8220;Simcop: Um framework para analise de similaridade em sequencias de contextos,&#8221;     Thesis of Masters on Applied Computing, University of Vale do Rio dos Sinos, São Leopoldo, 2014.     [Online]. Available: <a  href="http://www.repositorio.jesuita.org.br/handle/UNISINOS/4755" class="url" >http://www.repositorio.jesuita.org.br/handle/UNISINOS/4755</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br11">11</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xoracon"></a>J.&#x00A0;H. da&#x00A0;Rosa, J.&#x00A0;L. Barbosa, and G.&#x00A0;D. Ribeiro, &#8220;ORACON: An adaptive model for context     prediction,&#8221;  <span  class="cmti-10">Expert  Systems  with  Applications</span>,  vol.&#x00A0;45,  pp.  56&#8211;70,  mar  2016.  [Online].  Available:     <a  href="http://dx.doi.org/10.1016/j.eswa.2015.09.016" class="url" >http://dx.doi.org/10.1016/j.eswa.2015.09.016</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br12">12</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xschmidt"></a>A.&#x00A0;Schmidt, K.&#x00A0;A. Aidoo, A.&#x00A0;Takaluoma, U.&#x00A0;Tuomela, K.&#x00A0;V. Laerhoven, and W.&#x00A0;V. de&#x00A0;Velde,     &#8220;Advanced interaction in context,&#8221; in <span  class="cmti-10">Handheld and Ubiquitous Computing</span>.   Springer Science Business     Media, 1999, pp. 89&#8211;101. [Online]. Available: <a  href="http://dx.doi.org/10.1007/3-540-48157-5\_10" class="url" >http://dx.doi.org/10.1007/3-540-48157-5<span  class="cmsy-10">\</span>_10</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br13">13</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xdey"></a>A.&#x00A0;K. Dey, &#8220;Understanding and using context,&#8221; <span  class="cmti-10">Personal and Ubiquitous Computing</span>, vol.&#x00A0;5, no.&#x00A0;1,     pp. 4&#8211;7, feb 2001. [Online]. Available: <a  href="http://dx.doi.org/10.1007/s007790170019" class="url" >http://dx.doi.org/10.1007/s007790170019</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br14">14</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xwagner"></a>A.&#x00A0;Wagner, J.&#x00A0;L.&#x00A0;V. Barbosa, and D.&#x00A0;N.&#x00A0;F. Barbosa, &#8220;A model for profile management applied     to ubiquitous learning environments,&#8221; <span  class="cmti-10">Expert Systems with Applications</span>, vol.&#x00A0;41, no.&#x00A0;4, pp. 2023&#8211;2034,     mar 2014. [Online]. Available: <a  href="http://dx.doi.org/10.1016/j.eswa.2013.08.098" class="url" >http://dx.doi.org/10.1016/j.eswa.2013.08.098</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br15">15</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xtavares"></a>J.&#x00A0;Tavares, J.&#x00A0;Barbosa, I.&#x00A0;Cardoso, C.&#x00A0;Costa, A.&#x00A0;Yamin, and R.&#x00A0;Real, &#8220;Hefestos: an intelligent     system applied to ubiquitous accessibility,&#8221; <span  class="cmti-10">Universal Access in the Information Society</span>, aug 2015.     [Online]. Available: <a  href="http://dx.doi.org/10.1007/s10209-015-0423-2" class="url" >http://dx.doi.org/10.1007/s10209-015-0423-2</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br16">16</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xwheelmap"></a>Wheelmap.org, &#8220;Wheelmap.org website,&#8221; 2015. [Online]. Available: <a  href="http://wheelmap.org/en/" class="url" >http://wheelmap.org/en/</a>                                                                                                                                                                                         </p>         ]]></body>
<body><![CDATA[<p class="bibitem" ><span class="biblabel">  [<a href="#br17">17</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xbatouche"></a>B.&#x00A0;Batouche, D.&#x00A0;Nicolas, H.&#x00A0;Ayed, and D.&#x00A0;Khadraoui, &#8220;Recommendation of travelling plan for     elderly people according to their abilities and preferences,&#8221; in <span  class="cmti-10">2012 Fourth International Conference on</span>     <span  class="cmti-10">Computational Aspects of Social Networks (CASoN)</span>.   Institute of Electrical &amp; Electronics Engineers     (IEEE), nov 2012. [Online]. Available: <a  href="http://dx.doi.org/10.1109/CASoN.2012.6412423" class="url" >http://dx.doi.org/10.1109/CASoN.2012.6412423</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br18">18</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="XsolveD"></a>M.&#x00A0;Sohn, S.&#x00A0;Jeong, and H.&#x00A0;J. Lee, &#8220;Self-evolved ontology-based service personalization framework     for disabled users in smart home environment,&#8221; in <span  class="cmti-10">2013 Seventh International Conference on Innovative</span>     <span  class="cmti-10">Mobile and Internet Services in Ubiquitous Computing</span>.   Institute of Electrical &amp; Electronics Engineers     (IEEE), jul 2013. [Online]. Available: <a  href="http://dx.doi.org/10.1109/IMIS.2013.48" class="url" >http://dx.doi.org/10.1109/IMIS.2013.48</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br19">19</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsaid"></a>I.&#x00A0;Zinnikus,  A.&#x00A0;Bogdanovich,  and  R.&#x00A0;Schäfer,  &#8220;An  ontology  based  recommendation  system  for     elderly and disabled persons,&#8221; in <span  class="cmti-10">Workshop Adaptability and User Modeling in Interactive Systems</span>     <span  class="cmti-10">(ABIS 2002)</span>, 2002.     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br20">20</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xassistente"></a>W.&#x00A0;Kurschl, M.&#x00A0;Augstein, H.&#x00A0;Stitz, P.&#x00A0;Heumader, and C.&#x00A0;Pointner, &#8220;A user modelling wizard for     people with motor impairments,&#8221; in <span  class="cmti-10">Proceedings of International Conference on Advances in Mobile</span>     <span  class="cmti-10">Computing &amp; Multimedia - MoMM13</span>.   Association for Computing Machinery (ACM), 2013. [Online].     Available: <a  href="http://dx.doi.org/10.1145/2536853.2536860" class="url" >http://dx.doi.org/10.1145/2536853.2536860</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br21">21</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="XnewsBerlim"></a>E.&#x00A0;Commission, &#8220;2013 access city award for disabled-friendly cities goes to berlin,&#8221; 2012. [Online].     Available: <a  href="http://europa.eu/rapid/press-release\_IP-12-1309\_en.htm" class="url" >http://europa.eu/rapid/press-release<span  class="cmsy-10">\</span>_IP-12-1309<span  class="cmsy-10">\</span>_en.htm</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br22">22</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="XdeySalber"></a>A.&#x00A0;Dey, G.&#x00A0;Abowd, and D.&#x00A0;Salber, &#8220;A conceptual framework and a toolkit for supporting the     rapid  prototyping  of  context-aware  applications,&#8221;  <span  class="cmti-10">Human-Comp.  Interaction</span>,  vol.&#x00A0;16,  no.&#x00A0;2,  pp.     97&#8211;166, dec 2001. [Online]. Available: <a  href="http://dx.doi.org/10.1207/S15327051HCI16234\_02" class="url" >http://dx.doi.org/10.1207/S15327051HCI16234<span  class="cmsy-10">\</span>_02</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br23">23</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xsaty2"></a>M.&#x00A0;Satyanarayanan, &#8220;Pervasive computing: vision and challenges,&#8221; <span  class="cmti-10">IEEE Pers. Commun.</span>, vol.&#x00A0;8,     no.&#x00A0;4, pp. 10&#8211;17, 2001. [Online]. Available: <a  href="http://dx.doi.org/10.1109/98.943998" class="url" >http://dx.doi.org/10.1109/98.943998</a>     </p>         <p class="bibitem" ><span class="biblabel">  [<a href="#br24">24</a>]<span class="bibsp">&#x00A0;&#x00A0;&#x00A0;</span></span><a   id="Xtoscani"></a>L.&#x00A0;V. Toscani and P.&#x00A0;A. Veloso, <span  class="cmti-10">Complexidade de algoritmos</span>.  Porto Alegre&#8211;RS: ARTMED Editora     SA, 2008. </p>     </div>           ]]></body><back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Breternitz]]></surname>
<given-names><![CDATA[V. J]]></given-names>
</name>
<name>
<surname><![CDATA[Silva]]></surname>
<given-names><![CDATA[L. A]]></given-names>
</name>
</person-group>
<article-title xml:lang="pt"><![CDATA[Big data: Um novo conceito gerando oportunidades e desafios]]></article-title>
<source><![CDATA[Revista Eletrônica de Tecnologia e Cultura,]]></source>
<year>2013</year>
<volume>2</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>1-8</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Jannach]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
<name>
<surname><![CDATA[Zanker]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Felfernig]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Friedrich]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<source><![CDATA[Recommender Systems: An Introduction]]></source>
<year></year>
<publisher-name><![CDATA[Cambridge University Press]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Weiser]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[The computer for the 21 st century]]></article-title>
<source><![CDATA[SIGMOBILE Mob. Comput. Commun. Rev]]></source>
<year>jul </year>
<month>19</month>
<day>99</day>
<volume>3</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>3-11</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Vanderheiden]]></surname>
<given-names><![CDATA[G. C]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Ubiquitous accessibility, common technology core, and micro assistive technology]]></article-title>
<source><![CDATA[ACM Trans. Access. Comput]]></source>
<year>oct </year>
<month>20</month>
<day>08</day>
<volume>1</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>1-7</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Oliveira]]></surname>
<given-names><![CDATA[R. R]]></given-names>
</name>
<name>
<surname><![CDATA[Noguez]]></surname>
<given-names><![CDATA[F. C.]]></given-names>
</name>
<name>
<surname><![CDATA[Costa]]></surname>
<given-names><![CDATA[C. A.]]></given-names>
</name>
<name>
<surname><![CDATA[Barbosa]]></surname>
<given-names><![CDATA[J. L.]]></given-names>
</name>
<name>
<surname><![CDATA[Prado]]></surname>
<given-names><![CDATA[M. P.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[SWTRACK: An intelligent model for cargo tracking based on off-the-shelf mobile devices]]></article-title>
<source><![CDATA[Expert Systems with Applications]]></source>
<year>may </year>
<month>20</month>
<day>13</day>
<volume>40</volume>
<numero>6</numero>
<issue>6</issue>
<page-range>2023-2031</page-range></nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Barbosa]]></surname>
<given-names><![CDATA[J. L. V]]></given-names>
</name>
<name>
<surname><![CDATA[Hahn]]></surname>
<given-names><![CDATA[R. M.]]></given-names>
</name>
<name>
<surname><![CDATA[Barbosa]]></surname>
<given-names><![CDATA[D. N. F]]></given-names>
</name>
<name>
<surname><![CDATA[da Costa Zanel Saccol]]></surname>
<given-names><![CDATA[A. I.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A ubiquitous learning model focused on learner interaction]]></article-title>
<source><![CDATA[IJLT]]></source>
<year></year>
<volume>. 6</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>62</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Vianna]]></surname>
<given-names><![CDATA[H. D.]]></given-names>
</name>
<name>
<surname><![CDATA[Barbosa]]></surname>
<given-names><![CDATA[J. L. V]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A model for ubiquitous care of noncommunicable diseases]]></article-title>
<source><![CDATA[IEEE Journal of Biomedical and Health Informatics]]></source>
<year>sep </year>
<month>20</month>
<day>14</day>
<volume>18</volume>
<numero>5</numero>
<issue>5</issue>
<page-range>1597-1606</page-range></nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Silva]]></surname>
<given-names><![CDATA[J. M.]]></given-names>
</name>
<name>
<surname><![CDATA[Rosa]]></surname>
<given-names><![CDATA[J. H.]]></given-names>
</name>
<name>
<surname><![CDATA[Barbosa]]></surname>
<given-names><![CDATA[J. L. V.]]></given-names>
</name>
<name>
<surname><![CDATA[Barbosa]]></surname>
<given-names><![CDATA[D. N. F.]]></given-names>
</name>
<name>
<surname><![CDATA[Palazzo]]></surname>
<given-names><![CDATA[L. A. M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Content distribution in trail-aware environments]]></article-title>
<source><![CDATA[Journal of the Brazilian Computer Society]]></source>
<year>jul </year>
<month>20</month>
<day>10</day>
<volume>16</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>163-176</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Cardoso]]></surname>
<given-names><![CDATA[I. G.]]></given-names>
</name>
<name>
<surname><![CDATA[Mota]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Barbosa]]></surname>
<given-names><![CDATA[J. L. V.]]></given-names>
</name>
<name>
<surname><![CDATA[da Rosa Righi]]></surname>
<given-names><![CDATA[R.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Vulcanus: A recommender system for accessibility based on trails]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Latin American Computing Conference]]></conf-name>
<conf-date>October 19-23, 2015</conf-date>
<conf-loc>Arequipa </conf-loc>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wiedemann]]></surname>
<given-names><![CDATA[T]]></given-names>
</name>
</person-group>
<source><![CDATA[Simcop: Um framework para analise de similaridade em sequencias de contextos]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[da Rosa]]></surname>
<given-names><![CDATA[J. H]]></given-names>
</name>
<name>
<surname><![CDATA[Barbosa]]></surname>
<given-names><![CDATA[J. L]]></given-names>
</name>
<name>
<surname><![CDATA[Ribeiro]]></surname>
<given-names><![CDATA[G. D.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[ORACON: An adaptive model for context prediction]]></article-title>
<source><![CDATA[Expert Systems with Applications]]></source>
<year>mar </year>
<month>20</month>
<day>16</day>
<volume>45</volume>
<page-range>56-70</page-range></nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Schmidt]]></surname>
<given-names><![CDATA[A.]]></given-names>
</name>
<name>
<surname><![CDATA[Aidoo]]></surname>
<given-names><![CDATA[K. A.]]></given-names>
</name>
<name>
<surname><![CDATA[Takaluoma]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Tuomela]]></surname>
<given-names><![CDATA[U]]></given-names>
</name>
<name>
<surname><![CDATA[Laerhoven]]></surname>
<given-names><![CDATA[K. V]]></given-names>
</name>
<name>
<surname><![CDATA[de Velde]]></surname>
<given-names><![CDATA[W. V.]]></given-names>
</name>
</person-group>
<source><![CDATA[Advanced interaction in context: in Handheld and Ubiquitous Computing]]></source>
<year>1999</year>
<page-range>89-101</page-range><publisher-name><![CDATA[Springer Science Business Media]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B13">
<label>13</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dey]]></surname>
<given-names><![CDATA[A. K.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Understanding and using context]]></article-title>
<source><![CDATA[Personal and Ubiquitous Computing]]></source>
<year>feb </year>
<month>20</month>
<day>01</day>
<volume>5</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>4-7</page-range></nlm-citation>
</ref>
<ref id="B14">
<label>14</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Wagner]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Barbosa]]></surname>
<given-names><![CDATA[J. L. V]]></given-names>
</name>
<name>
<surname><![CDATA[Barbosa]]></surname>
<given-names><![CDATA[D. N. F.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A model for profile management applied to ubiquitous learning environments]]></article-title>
<source><![CDATA[Expert Systems with Applications]]></source>
<year>mar </year>
<month>20</month>
<day>14</day>
<volume>41</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>2023-2034</page-range></nlm-citation>
</ref>
<ref id="B15">
<label>15</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Tavares]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Barbosa]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Cardoso]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[Costa]]></surname>
</name>
<name>
<surname><![CDATA[Yamin]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Real]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[Hefestos: an intelligent system applied to ubiquitous accessibility]]></source>
<year>aug </year>
<month>20</month>
<day>15</day>
</nlm-citation>
</ref>
<ref id="B16">
<label>16</label><nlm-citation citation-type="">
<collab>Wheelmap.org</collab>
<source><![CDATA[Wheelmap.org website]]></source>
<year>2015</year>
</nlm-citation>
</ref>
<ref id="B17">
<label>17</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Batouche]]></surname>
<given-names><![CDATA[B]]></given-names>
</name>
<name>
<surname><![CDATA[Nicolas]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Ayed]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Khadraoui]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Recommendation of travelling plan for elderly people according to their abilities and preferences]]></article-title>
<source><![CDATA[]]></source>
<year></year>
<conf-name><![CDATA[ Fourth International Conference on Computational Aspects of Social Networks]]></conf-name>
<conf-date>nov 2012</conf-date>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B18">
<label>18</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Sohn]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
<name>
<surname><![CDATA[Jeong]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
<name>
<surname><![CDATA[Lee]]></surname>
<given-names><![CDATA[H. J.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Self-evolved ontology-based service personalization framework for disabled users in smart home environment]]></article-title>
<source><![CDATA[]]></source>
<year>jul </year>
<month>20</month>
<day>13</day>
<conf-name><![CDATA[ Seventh International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing]]></conf-name>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B19">
<label>19</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Zinnikus]]></surname>
<given-names><![CDATA[I]]></given-names>
</name>
<name>
<surname><![CDATA[Bogdanovich]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Schäfer]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[An ontology based recommendation system for elderly and disabled persons]]></source>
<year>2002</year>
</nlm-citation>
</ref>
<ref id="B20">
<label>20</label><nlm-citation citation-type="confpro">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kurschl]]></surname>
<given-names><![CDATA[W]]></given-names>
</name>
<name>
<surname><![CDATA[Augstein]]></surname>
<given-names><![CDATA[M.]]></given-names>
</name>
<name>
<surname><![CDATA[Stitz]]></surname>
<given-names><![CDATA[H.]]></given-names>
</name>
<name>
<surname><![CDATA[Heumader]]></surname>
<given-names><![CDATA[P.]]></given-names>
</name>
<name>
<surname><![CDATA[Pointner]]></surname>
<given-names><![CDATA[C.]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A user modelling wizard for people with motor impairments]]></article-title>
<source><![CDATA[]]></source>
<year>2013</year>
<conf-name><![CDATA[ Proceedings of International Conference on Advances in Mobile Computing & Multimedia - MoMM13]]></conf-name>
<conf-loc> </conf-loc>
</nlm-citation>
</ref>
<ref id="B21">
<label>21</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Commission]]></surname>
<given-names><![CDATA[E]]></given-names>
</name>
</person-group>
<source><![CDATA[2013 access city award for disabled-friendly cities goes to berlin]]></source>
<year>2012</year>
</nlm-citation>
</ref>
<ref id="B22">
<label>22</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Dey]]></surname>
<given-names><![CDATA[A]]></given-names>
</name>
<name>
<surname><![CDATA[Abowd]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
<name>
<surname><![CDATA[Salber]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[A conceptual framework and a toolkit for supporting the rapid prototyping of context-aware applications]]></article-title>
<source><![CDATA[Human-Comp. Interaction]]></source>
<year>dec </year>
<month>20</month>
<day>01</day>
<volume>16</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>97-166</page-range></nlm-citation>
</ref>
<ref id="B23">
<label>23</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Satyanarayanan]]></surname>
<given-names><![CDATA[M]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Pervasive computing: vision and challenges]]></article-title>
<source><![CDATA[IEEE Pers. Commun]]></source>
<year>2001</year>
<volume>8</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>10-17</page-range></nlm-citation>
</ref>
<ref id="B24">
<label>24</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Toscani]]></surname>
<given-names><![CDATA[L. V.]]></given-names>
</name>
<name>
<surname><![CDATA[Veloso]]></surname>
<given-names><![CDATA[P. A]]></given-names>
</name>
</person-group>
<source><![CDATA[Complexidade de algoritmos]]></source>
<year>2008</year>
<publisher-loc><![CDATA[Porto Alegre^eRS RS]]></publisher-loc>
<publisher-name><![CDATA[ARTMED]]></publisher-name>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
