<?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>0254-0770</journal-id>
<journal-title><![CDATA[Revista Técnica de la Facultad de Ingeniería Universidad del Zulia]]></journal-title>
<abbrev-journal-title><![CDATA[Rev. Téc. Ing. Univ. Zulia]]></abbrev-journal-title>
<issn>0254-0770</issn>
<publisher>
<publisher-name><![CDATA[Facultad de Ingeniería, Universidad del Zulia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0254-07702017000200005</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[A Recursive Pattern Recognition Algorithm]]></article-title>
<article-title xml:lang="es"><![CDATA[Un Algoritmo Recursivo de Reconocimiento de Patrones]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Puerto Cuadros]]></surname>
<given-names><![CDATA[Eduard Gilberto]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Aguilar Castro]]></surname>
<given-names><![CDATA[Jose Lisandro]]></given-names>
</name>
<xref ref-type="aff" rid="A02"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad Francisco de Paula Santander Facultad de Ingeniería ]]></institution>
<addr-line><![CDATA[Cúcuta ]]></addr-line>
<country>Colombia</country>
</aff>
<aff id="A02">
<institution><![CDATA[,Universidad de Los Andes Facultad de Ingeniería ]]></institution>
<addr-line><![CDATA[Mérida ]]></addr-line>
<country>Venezuela</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>08</month>
<year>2017</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>08</month>
<year>2017</year>
</pub-date>
<volume>40</volume>
<numero>2</numero>
<fpage>095</fpage>
<lpage>104</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_arttext&amp;pid=S0254-07702017000200005&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_abstract&amp;pid=S0254-07702017000200005&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_pdf&amp;pid=S0254-07702017000200005&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[This work presents a pattern recognition algorithm based on the systematic functioning of the human neocortex, in processes of pattern recognition. The algorithm exploits the idea of recursivity, based on the neocortical hierarchy and the decomposition/integration in the recognition process. The proposed algorithm is tested to analyze its capabilities of pattern recognition.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este trabajo, proponemos un algoritmo de reconocimiento de patrones basado en el funcionamiento sistemático del neocórtex humano, en procesos de reconocimiento de patrones. El algoritmo explota la idea de recursividad, basada en la jerarquía neocortical y en la desagregación/integración del patrón en el proceso de reconocimiento. El algoritmo propuesto es probado para analizar sus capacidades de reconocimiento de patrones.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[recursivity]]></kwd>
<kwd lng="en"><![CDATA[pattern]]></kwd>
<kwd lng="en"><![CDATA[pattern recognition modules]]></kwd>
<kwd lng="es"><![CDATA[recursividad]]></kwd>
<kwd lng="es"><![CDATA[patrón]]></kwd>
<kwd lng="es"><![CDATA[módulo de reconocimiento de patrones]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><b><font face="Verdana">A Recursive Pattern Recognition Algorithm</font></b></p>     <p align="center"><font face="Verdana" size="2"> <b>Un Algoritmo Recursivo de Reconocimiento de Patrones</b></font></p>     <p align="center"> <font face="Verdana" size="2">Puerto Cuadros Eduard Gilberto<sup>1</sup> , Aguilar Castro Jose Lisandro <sup>2</sup></font></p>     <p align="center"> <font face="Verdana" size="2"> <sup>1</sup> Facultad de Ingeniería, Universidad Francisco de Paula Santander. Cúcuta,  Colombia.  <a href="mailto:eduardpuerto@ufps.edu.co">eduardpuerto@ufps.edu.co</a></font></p>     <p align="center"><font face="Verdana" size="2">&nbsp; <sup>2</sup> Facultad de Ingeniería, Universidad de Los Andes. Mérida, Venezuela.  Prometeo researcher, Universidad Técnica Particular de Loja, Ecuador.  <a href="mailto:aguilar@ula.ve">aguilar@ula.ve</a></font></p>     <p align="justify"><font face="Verdana" size="2"><b> Abstract</b></font></p>     <p align="justify"> <font face="Verdana" size="2">This work presents a pattern recognition algorithm based on the systematic  functioning of the human neocortex, in  processes of pattern recognition. The algorithm exploits the idea of recursivity,  based on the neocortical hierarchy and the  decomposition/integration in the recognition process. The proposed algorithm is  tested to analyze its capabilities of pattern  recognition. </font> </p>     <p align="justify">  <font face="Verdana" size="2">  <b>Keywords:</b> recursivity; pattern; pattern recognition modules.</font></p>     <p align="justify"> &nbsp;</p>     <p align="justify"> <font face="Verdana" size="2"> <b>Resumen</b></font></p>     ]]></body>
<body><![CDATA[<p align="justify"> <font face="Verdana" size="2">En este trabajo, proponemos un algoritmo de reconocimiento de patrones basado en  el funcionamiento sistemático del  neocórtex humano, en procesos de reconocimiento de patrones. El algoritmo  explota la idea de recursividad, basada en la  jerarquía neocortical y en la desagregación/integración del patrón en el proceso  de reconocimiento. El algoritmo propuesto  es probado para analizar sus capacidades de reconocimiento de patrones.</font></p>     <p align="justify"> <font face="Verdana" size="2"> <b>Palabras Clave:</b> recursividad; patrón; módulo de reconocimiento de patrones.</font></p>     <p align="justify"><font face="Verdana" size="2">Recibido el 18 de Enero de 2016 En forma revisada el 24 de Abril de 2017</font></p>     <p align="justify"> <font face="Verdana" size="2"> <b>1. Introducción</b></font></p>     <p align="justify"> <font face="Verdana" size="2">En general, existen muchos algoritmos para la  resolución del problema de reconocimiento de patrones  desde hace tiempo [1]. Algunos de ellos, basados en  modelos computaciones del cerebro, tal como la Teoría de  Resonancia Adaptativa [2], o el modelo neuronal aleatorio  [3]. Actualmente, el aprendizaje profundo o  Deep Learning, ha evolucionado y perfeccionado el reconocimiento de  patrones [4] [5]. Las arquitecturas bajo aprendizaje  profundo generan modelos composicionales, donde el  objeto (a analizar y reconocer) es expresado como una  composición de niveles de imágenes primitivas (parecido al  modelo presentado en la sección 2). Por otra parte, existen  otros modelos relacionados con el funcionamiento parcial  del neocortex, que revelan como el cerebro representa o  mantiene la información en memoria [6] [7]. Además, se  está desarrollando tecnología basadas en los principios que  rigen el neocortex [8], como en  Numenta, compañía que  basa toda su tecnología en la  Hierarchical Temporal Memory (HTM), teoría computacional sobre el neocórtex [9]. </font> </p>     <p align="justify">  <font face="Verdana" size="2">Nuestra propuesta del algoritmo de reconocimiento de  patrones recursivo adopta teorías sobre el funcionamiento  del neocórtex del cerebro humano (la región del cerebro  responsable de las funciones cognitivas de alto nivel) [10],  [11]. La teoría de la mente basada en el reconocimiento  de patrones (en adelante, PRTM por sus siglas en inglés),  describe un modelo del funcionamiento del neocórtex sobre la base que el proceso de reconocimiento de  patrones en el neocórtex se realiza a través de módulos  de reconocimiento de patrones, conformados por unas  100 neuronas, y que estos módulos (y los patrones) están  organizados en niveles, reflejando así una organización  jerárquica del mismo. Para el diseño del algoritmo de  reconocimiento de patrones recursivo, introducimos la  formalización lógico-matemática necesaria. El algoritmo es  probado en un problema de reconocimiento de patrones,  para determinar su capacidad de reconocimiento.</font></p>     <p align="justify"><font face="Verdana" size="2"><b>2. Modelo de la Mente Basado en el  Reconocimiento de Patrones: Una  Síntesis de PRTM.</b></font></p>     <p align="justify"> <font face="Verdana" size="2">En PRTM se definen los siguientes aspectos del  funcionamiento del cerebro humano [11]: i) Nuestra  memoria se maneja como una jerarquía de patrones, ii)  Si sólo percibimos una parte de un patrón (mediante la  vista, el oído, o el olfato), podemos reconocerlo. </font> </p>     <p align="justify"> <font face="Verdana" size="2">Por otra parte, PRTM presupone varias hipótesis  sobre la estructura del neocórtex biológico [11]: i)  Uniformidad de la estructura básica del neocórtex,  denominada columna cortical. Ellas son los  módulos de reconocimiento de patrones neocortical para PRTM; ii)  Los módulos de reconocimiento de patrones se conectan  entre sí durante todo el tiempo.</font></p>     <p align="justify"> <font face="Verdana" size="2">Pasemos a describir el módulo de reconocimiento  de patrones de PRTM (ver <a href="#f1">figura 1</a>): a) Cada una de  las dendritas (cada circulo de color mostaza) envía  información (parámetros de tamaño, importancia,  variabilidad (f )) hacia el interior del módulo, indicando  la presencia de un patrón en el nivel inferior, o hacia  el exterior, indicando que se está a la espera del  reconocimiento del respectivo patrón. Cuando hay  reconocimiento, se genera una salida (b). Cada patrón se  hace/define según un orden secuencial de las señales de  entrada, para que el reconocedor de patrones sea capaz  de reconocerlo. Por otra parte, si un reconocedor de  patrones de nivel más alto recibe una señal procedente  de casi todos los reconocedores que conforman su  entrada, entonces este reconocedor es posible que envíe  una señal excitadora hacia los reconocedores de más bajo  nivel de los patrones faltantes (vía una dendrita), para  indicar que está a la expectativa de los mismos (caso (c)).  Además, existen señales inhibidoras procedentes tanto  de un espacio de reconocimiento de más bajo nivel (d),  como de más alto nivel (e), que pueden inhibir el proceso  de reconocimiento de un patrón. </font> </p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2"><a name="f1"></a> </font> </p>     <p align="center"> <img border="0" src="/img/fbpe/rtfiuz/v40n2/art05.2.jpg"></p>     
<p align="justify"><font face="Verdana" size="2"><b>3. Modelo Matemático del Algoritmo Recursivo  de Reconocimiento de Patrones propuesto</b></font></p>     <p align="justify"> <font face="Verdana" size="2">El esquema general del proceso recursivo del modelo  PRTM se muestra en la <a href="#f2">figura 2</a> en adelante denominado  AR2P por sus siglas en español. El sistema general de  reconocimiento recibe como entrada un patrón  s(), que viene  del sistema de percepción. Entonces, el sistema toma  s() e  inicia su proceso de reconocimiento. Para ello, dispone de  varios niveles de reconocimiento, representados como óvalos  en el esquema, e identificados como &#967; i , desde i=1 hasta m. &#967; 1 es el nivel de reconocimiento para patrones atómicos, y  &#967; m es  nivel de reconocimiento para patrones complejos.</font></p>     <p align="justify"> <font face="Verdana" size="2">Cada nivel está compuesto por varios módulos de  reconocimiento de patrones &#915; ji (para j=1,2,3, ...,# de módulos  en el nivel i), que conforman el espacio de reconocimiento del  nivel &#967; i . Cada módulo tiene la función de reconocer su patrón  respectivo &#961; ji . La función de cada reconocedor de patrones es  la de reconocer su correspondiente patrón. Veamos con más  detalle el modelo:</font></p>     <p align="justify"> <font face="Verdana" size="2">•  Las función de entrada  s() , representa la presencia  de un patrón a reconoce</font></p>     <p align="justify"> <font face="Verdana" size="2">•  Existe una relación &#957; de composición jerárquica  estructural entre los &#915; ji de los diferentes niveles &#967; i , tal que &#957;:  &#915; rt &#8594; &#915; Lk , donde t &lt; k, y la relación “&#8594;“ indica que los &#915; rt &#8712;&#967; t están contenidos o hacen parte de &#915; lk &#8712;&#967; k de más alto nivel.  En otras palabras, un &#915; de &#967; k se compone de diferentes &#915;del  &#967; t de más bajo nivel.</font></p>     <p align="justify"> <font face="Verdana" size="2">•  Cada nivel i produce una señal de salida (de  reconocimiento o aprendizaje) en función de las respuestas  de sus módulos.</font></p>     <p align="justify"> <font face="Verdana" size="2">Prueba:  Sea &#961; ji un patrón reconocido por el módulo &#915; ji (módulo j de reconocimiento de patrones del nivel i). Si &#961; ji tiene un número finito de sub-patrones que lo componen,  entonces los módulos &#915; que los reconocen no pueden  encontrarse en el mismo nivel de reconocimiento de i, sino  en un nivel más abajo (i-1) en la jerarquía. Así, las salidas  de los módulos de reconocimiento de más bajo nivel se  convierten en señales de reconocimiento para los módulos  de más alto nivel que los contienen, estableciendo de esta  manera la relación &#957;: &#915; rt &#8594; &#915; lk .</font></p>     <p align="justify"> <font face="Verdana" size="2"> <b>3.1 Estructura Formal del Módulo de  Reconocimiento de Patrones AR2P</b></font></p>     ]]></body>
<body><![CDATA[<p align="justify"> <font face="Verdana" size="2">Un módulo &#915; de reconocimiento de patrones para  el algoritmo recursivo se define formalmente como una  3-tupla &#915; = &lt; E, U, S o &gt; (ver <a href="#t1">tabla 1</a>), donde,  E: es una matriz  conformada por la 2-tupla E=&lt;S,C&gt;, con S: S=&lt;Señal,  Estado&gt;, matriz que representa el conjunto de señales que  conforman al patrón reconocido por &#915; y sus respectivos  estados. La variable estado es “true” cuando está presente  la señal y “false” en caso contrario. Cada señal presente en  &#915; tiene su correspondiente reconocedor del patrón de nivel  más bajo, y cuando ha sido reconocido su estado es “true”.  El número de señales que conforman al patrón es específico  para cada módulo &#915;. C=&lt;D, V, P&gt; es la matriz que codifica  información sobre el patrón: D son los descriptores propios  del patrón en &#915;; V es el vector de dominio del descriptor o  variabilidad esperada del mismo (por ejemplo, “de tiempo”,  “de distancia”, etc.); y P es el peso de importancia del  descriptor para el reconocimiento del patrón. </font> </p>     <p align="justify"><a name="f2"></a></p>     <p align="center"><img border="0" src="/img/fbpe/rtfiuz/v40n2/art05.3.jpg" width="477" height="418"></p>     
<p align="justify">&nbsp;</p>     <p align="justify">   <font face="Verdana" size="2">U: Es el vector de umbrales usado por el módulo &#915;  para el reconocimiento del patrón. Existen dos tipos de  umbrales:  &#916;U1 es el umbral de reconocimiento usado por  el algoritmo para el caso del reconocimiento del patrón  por señales claves, y  &#916;U2 es el umbral de reconocimiento  usado por el algoritmo para el caso del reconocimiento del  patrón por mapeo parcial y/o total. </font> </p>     <p align="justify">  <font face="Verdana" size="2">So: Señal de salida. Cada módulo &#915; produce una única  señal de salida  (So)  de reconocimiento del patrón hacia los  niveles superiores, o señales de petición hacia niveles más  bajos de reconocimiento. Cuando hay reconocimiento,  esta señal So es la salida del sistema, y se difunde a niveles  superiores alcanzables, haciendo que se modifique el  estado de la señal a “true” en los patrones de más alto nivel  del cual hace parte.  So como petición se convierte en la  señal de entrada  s() para los módulos de reconocimiento  de patrones de nivel inferior. La <a href="#t1">tabla 1</a> muestra la  estructura de datos definida para Matriz E.</font></p>     <p align="justify"><a name="t1"></a></p>     <p align="center"> <img border="0" src="/img/fbpe/rtfiuz/v40n2/art05.4.gif" width="586" height="320"></p>     
<p align="justify"> &nbsp;</p>     <p align="justify">  <font face="Verdana" size="2">  <b>3.2 Teoremas para el Reconocimiento de un  Patrón</b></font></p>     ]]></body>
<body><![CDATA[<p align="justify"> <font face="Verdana" size="2">Para reconocer un patrón se han definido dos  teoremas:   Teorema 1: Reconocimiento por señales claves. Usa los  descriptores con mayor peso de importancia para el patrón  a reconocer y el umbral  &#916;U1 , para el reconocimiento. Este  teorema establece que se reconoce un patrón &#961; por señales  claves, si la suma de los descriptores de mayor importancia  reconocidos es mayor al umbral. Los descriptores de  mayor importancia son denominados señales claves para  ese patrón. </font> </p>     <p align="justify">  <font face="Verdana" size="2">  <u>Definición señal clave.</u> Una señal  S activa en el módulo  &#915; es clave si su peso de importancia tiene un valor mayor  o igual al peso promedio de todas las señales en &#915;. Sean  S(&#915;)={S i | S i <img border="0" src="/img/fbpe/rtfiuz/v40n2/art05.1.gif" width="15" height="21">&#915;, con i=1,...,n }, P(S i ) el peso de importancia  de la señal particular S i , P m ( ) el peso promedio de las  señales que hacen parte de &#915;, y Clave &#915; = {S i | S i <img border="0" src="/img/fbpe/rtfiuz/v40n2/art05.2.gif">&#915; <img border="0" src="/img/fbpe/rtfiuz/v40n2/art05.3.gif"> S i es  clave} el conjunto de señales claves, la ecuación siguiente  establece quienes son las señales claves.</font></p>     
<p align="justify"><font face="Verdana" size="2"><img border="0" src="/img/fbpe/rtfiuz/v40n2/art05.4.jpg" width="427" height="36">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (1)</font></p>     
<p align="justify"> <font face="Verdana" size="2">Este teorema matemáticamente se formaliza de la siguiente manera:  </font> </p>     <p align="justify"><font face="Verdana" size="2"><img border="0" src="/img/fbpe/rtfiuz/v40n2/art05.5.jpg" width="635" height="69">&nbsp; (2)</font></p>     
<p align="justify"><font face="Verdana" size="2">(3)</font></p>     <p align="justify"> <font face="Verdana" size="2"> <b>Teorema 2:</b></font></p>     <p align="justify"> <font face="Verdana" size="2">Reconocimiento por mapeo() parcial.  Usa para el reconocimiento a todas las señales. Este  teorema establece que se reconoce un patrón &#961;  por  mapeo() parcial , si la suma de los descriptores  reconocidos es mayor al umbral &#916; U2 . Este teorema se  formaliza como sigue:</font></p>     <p align="justify"><font face="Verdana" size="2"><img border="0" src="/img/fbpe/rtfiuz/v40n2/art05.6.jpg" width="461" height="60">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  (3)</font></p>     
<p align="justify">&nbsp;</p>     ]]></body>
<body><![CDATA[<p align="justify"> <font face="Verdana" size="2">Estos teoremas son usados por cada módulo de cada nivel de reconocimiento X i (desde X 2 hasta X m ) de AR2P, excepto  por el nivel atómico.</font></p>     <p align="justify"> <font face="Verdana" size="2"> <b>4. Modelo Computacional del Algoritmo  Recursivo de Reconocimiento de Patrones  AR2P Propuesto</b></font></p>     <p align="justify"> <font face="Verdana" size="2">En el algoritmo de reconocimiento del patrón, el&nbsp; módulo de nivel superior invoca a los módulos del nivel  inferior que lo constituyen, y estos de manera recursiva  hacen lo mismo (ver <a href="#f2">figura 2</a>). </font> </p>     <p align="justify"> <a name="f3"></a> </p>     <p align="justify"><font face="Verdana" size="2"><b>Algoritmo Recursivo de Reconocimiento de Patrones AR2P</b></font></p>     <p align="justify"><font face="Verdana" size="2">1.  y= s() </font> </p>     <p align="justify">  <font face="Verdana" size="2">2.  L= descomponer(y) // extraer sub-patrones &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">3.  Determinar el nivel X i de la jerarquía como inicio del reconocimiento de y  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">4.  Crear L solicitudes de petición de reconocimiento de (y)  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">5.  IF y = señales de más bajo nivel X i=1 o tiene señales atómicas reconocidas THEN // regreso de la recursión. &nbsp;</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">6.  Calcular reconocimiento (y)  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">7.  IF calcular exitoso por cualquier estrategia THEN  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">8.  Realizar Aprendizaje por refuerzo &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">9.  IF Ultimo nivel de la Jerarquía X m y X m &#8800;X i=1 // X m del s() inicial &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">10.  Enviar So de reconocimiento (Y) salida del sistema. &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">11.  ELSE &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">12.  Crear salida So // armar la señal a difundir 13.  Enviar la salida So de reconocimiento de (y) a nivel superior // hay difusión. 14.  FIN IF  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">15.  ELSE // caso cuando no se reconoce algo nuevo  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">16.  IF señales atómicas reconocidas // Todas.  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">17.  Realizar aprendizaje nuevo en ese nivel. &nbsp;</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">18.  Crear So // armar la señal a difundir.  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">19.  Enviar So de reconocimiento de (y) a nivel superior //difusión  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">20.  ELSE ignorar //información insuficiente para aprender nuevo patrón &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">21.  FIN IF &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">22.  FIN IF // cierre de IF línea 7 &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">23.  FIN IF // cierre del IF de señales atómicas línea 5.  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">24.  ELSE //  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">25.  Enviar L solicitudes de petición de reconocimiento de (y) // a los niveles  inferiores.  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">26.  Recibir L respuestas de los niveles inferiores // &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">27.  Calcular reconocimiento de (y)  &nbsp;</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">28.  IF calcular exitoso por cualquier estrategia THEN  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">29.  Realizar Aprendizaje por refuerzo &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">30.  IF Ultimo nivel de la Jerarquía X m // X m del s() inicial &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">31.  Enviar So de reconocimiento (Y) salida del sistema.  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">32.  ELSE // seguir subiendo en el reconocimiento  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">33.  Crear So // armar la señal a difundir.  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">34.  Enviar So de reconocimiento de (y) a nivel superior //difusión  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">35.  FIN IF &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">36.  ELSE // caso cuando no se reconoce algo nuevo &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">37.  IF señales atómicas reconocidas // Todas.  &nbsp;</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">38.  Realizar aprendizaje nuevo en ese nivel. &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">39.  Crear So // armar la señal a difundir.  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">40.  Enviar So de reconocimiento de (y) a nivel superior //difusión  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">41.  ELSE ignorar //información insuficiente para aprender nuevo patrón &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">42.  FIN IF &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">43.  FIN IF  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">44.  FIN IF</font></p>     <p align="justify">&nbsp;</p>     <p align="center"> <font face="Verdana" size="2"> <b>Figura 3.</b> Algoritmo recursivo de reconocimiento de patrones AR2P.</font></p>     <p align="justify"> <font face="Verdana" size="2">El algoritmo funciona de la siguiente manera, el  sistema de reconocimiento recibe un patrón de entrada a  reconocer s()  (línea 1) y genera señales de reconocimiento  de  s() como señal de salida  S o en diferentes casos (líneas  10, 13, 19, 31, 34, 40). Además, tiene dos pasos para  aprender: uno para cuando hubo reconocimiento del  patrón de entrada, en ese caso hay un aprendizaje  por refuerzo (líneas 8, 29); y otro cuando no hubo  reconocimiento ya que es un patrón nuevo (líneas 17,  38). Los dos mecanismos de aprendizaje son  Aprendizaje_ nuevo y  Aprendizaje_por_refuerzo . El primero crea un  nuevo módulo de reconocimiento para un nuevo patrón y  el segundo ajusta el modulo a los cambios existentes en el  patrón de entrada. Para más detalle de estos procesos de  adaptación ver [12], donde se especifican los algoritmos  de aprendizaje propuestos.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">&nbsp; Recibida s(), se descompone en sus sub-patrones (línea  2), y se determina el nivel X i de la jerarquía como inicio del  reconocimiento de s() (línea 3). Fijado el nivel, se crea L  peticiones de reconocimiento de (y) a través de  s()  (línea  4). Si son patrones atómicos (nivel X 1 ) se realiza el proceso  de reconocimiento de los patrones atómicos (líneas  5-23), de lo contrario se envían L solicitudes a los niveles  inferiores (línea 25), y se espera sus reconocimientos  (línea 26). </font> </p>     <p align="justify">  <font face="Verdana" size="2">A continuación se calcula el reconocimiento del patrón  actual (línea 27). Si el reconocimiento fue exitoso (Ecs. 2 y  3) (línea 28), y si es el último nivel de la jerarquía (X m , nivel  donde inicio el reconocimiento), se realiza un aprendizaje  por refuerzo (línea 29) y se genera una señal de salida  S o del módulo, que se convierte en la señal de salida del  sistema “patrón reconocido” (línea 31). Si no es el tope de  la jerarquía, se crea y se envía la señal  S o de reconocimiento  de (y) a los niveles superiores (líneas 33-34). Si no se  reconoce nada y ese módulo ha recibido varias señales  atómicas (línea 37), se realiza aprendizaje nuevo (línea  38) y se reconoce como patrón nuevo (línea 39), por lo  cual se envía la señal de salida  S o de reconocimiento por  aprendizaje. En la línea 25 acontece la llamada recursiva  del sistema. Las  s() son recibidas por los módulos de  reconocimiento de más bajo nivel, que pueden seguir  descomponiendo el patrón (línea 2) hasta llegar al nivel X 1 (línea 5), donde se inicia el proceso de reconocimiento del  patrones atómicos.</font></p>     <p align="justify"> <font face="Verdana" size="2">La descripción de la propuesta en términos recursivos,  es la siguiente: el algoritmo reduce progresivamente  la complejidad del patrón a reconocer (ver línea 25  del algoritmo de la <a href="#f3">figura 3</a>), y al llegar al nivel atómico  (patrones base no divisibles) &#967; 1 (ver línea 5 del algoritmo),  inicia el proceso de reconocimiento de patrones, desde  los atómicos hasta el más complejo. Todo ese proceso  se resuelve de forma recursiva, tal que a medida que  se descompone se invocan los respectivos módulo de  reconocimiento de patrones del siguiente nivel, hasta  llegar el nivel atómico, el cual regresa sí reconoció o no  (líneas 6 al 23) a los módulos de reconocimiento de su nivel  superior, los cuales a su vez realizan lo mismo (regreso de  la llamada recursiva, ver líneas 27 al 41). El proceso de  reconocimiento de los niveles superiores se basa en los  teoremas 1 y 2. Así, vemos que el algoritmo se invoca a  sí mismo (cuando realiza solicitudes de reconocimiento  (línea 4 del algoritmo), y va regresando los resultados  (si reconoció o no a su patrón) de cada llamada recursiva  (líneas 7 al 23 del algoritmo). De esta manera, el caso  base de la recursividad es el nivel atómico, y los procesos  de descomposición y reconocimiento (basados en los  teoremas 1 y 2) que se dan en los otros niveles son los  casos generales. Además, entre ellos solo se envían señales  indicando si se reconoció o no el patrón respectivo. Es  decir, los parámetros que se envían es simplemente una  señal, diciendo sí reconoció o no. </font> </p>     <p align="justify">  <font face="Verdana" size="2">  <b>5. Parte Experimental </b></font></p>     <p align="justify">  <font face="Verdana" size="2">Para analizar la utilidad del algoritmo AR2P con  respecto a otros métodos de reconocimiento, se desarrolla  un caso de prueba para reconocer un automóvil , que  permiten verificar la capacidad de manejar cualquier  tipo de patrón, además, de cualquier tipo de complejidad,  siguiendo un mismo procedimiento algorítmico. </font> </p>     <p align="justify">   <font face="Verdana" size="2">   <u>Descripción del escenario</u>. Un vehículo tiene múltiples  vistas. Estas vistas dependen tanto del observador como del  vehículo mismo. Por ejemplo, el ángulo de observación al  vehículo, el estado del vehículo (chocado, deteriorado, etc.),  entre otros. La <a href="#f4">figura 4</a> muestra tres perfiles de observación  de un automóvil: vista delantera, y dos vistas laterales. </font> </p>     <p align="justify">   <a name="f4"></a> </p>     <p align="center"> <img border="0" src="/img/fbpe/rtfiuz/v40n2/art05.7.jpg" width="587" height="124"></p>     
<p align="justify"> <font face="Verdana" size="2">Para el reconocimiento del patrón de la  <a href="#f4">figura 4</a> (en  cualquiera de sus tres vistas 1,2, o 3) usando AR2P, se  consideran los siguientes sub-patrones: puertas, faros,  ruedas, espejos, placas, etc. <u>Utilización del Algoritmo AR2P</u>. Se asume que con la  anterior información del escenario, se instancia AR2P  para el reconocimiento del automóvil. Se definen dos  espacios de reconocimiento:  X i =1 para patrones atómicos,  que en este escenario son lo sub-patrones de análisis,  i.e., las partes del vehículo; placa, espejos, ruedas, etc.  El otro espacio es  X i =2,  que en este escenario consta de  tres módulos de reconocimiento, uno para cada perfil del  vehículo (ver <a href="#f4">figura 4</a>). </font> </p>     <p align="justify">  <font face="Verdana" size="2">Para mostrar el algoritmo AR2P, se toma como entrada  la imagen 2 de la <a href="#f4">figura 4</a>. Sea  y=s() = la imagen 2 de la <a href="#f4">figura  4</a> (línea 1 del algoritmo), el siguiente paso consiste en  descomponer la imagen del vehículo en los sub-patrones  de análisis (línea 2). En este caso se tienen como sub- patrones: espejos retrovisores laterales, espejo retrovisor  central, farolas delanteras, llantas delanteras y placa, etc. </font> </p>     ]]></body>
<body><![CDATA[<p align="justify">  <font face="Verdana" size="2">El proceso de descomposición particular se logra con  métodos de segmentación de imágenes (por ejemplo, por  métodos de detección de bordes). Una vez se tiene las partes  de la imagen del vehículo particionadas, se determina el  espacio de reconocimiento  X i en la arquitectura propuesta  (ver <a href="#f2">figura 2</a>), a partir del cual continuar con el proceso  de reconocimiento. En esta prueba, el nivel de inicio de  reconocimiento es el 2,  X i =2 .  Después, se procede a crear  L solicitudes de petición de reconocimiento de las partes  que conforman al vehículo o patrón  y (línea 4). Así, dado  que el nivel actual del proceso es  X i =2,  para profundizar el  proceso de análisis del patrón se envían L solicitudes de  petición de reconocimiento de cada una de las partes del  vehículo ( y ) a los niveles inferiores (línea 25). Esta línea  invoca el proceso recursivo, generándose nuevos procesos  de reconocimiento en paralelo e independientes, para  cada uno de los sub-patrones. De esta manera, el  proceso_ principal  invoca la recursividad. A continuación, se inician  los nuevos procesos de reconocimiento invocados en la  línea 25 por parte del  proceso_principal,  para el respectivo  reconocimiento de las partes del vehículo contenidas en  el patrón original, por ejemplo: L 1= sub-patrón de imagen  espejo retrovisor lateral izquierdo, etc.</font></p>     <p align="justify"> <font face="Verdana" size="2">Veamos el caso del reconocimiento de L 1 . Ahora  y=s() =la sub-imagen de espejo retrovisor lateral izquierdo  de la imagen 2 de la <a href="#f4">figura 4</a>. El siguiente paso (línea 2),  consiste en descomponer la sub-imagen del vehículo en  los sub-patrones de análisis, en este caso el conjunto de  sub-patrones de análisis es vacío. Por cuanto es un patrón  atómico, se determina que el espacio de reconocimiento  Xi es el nivel 1,  X i =1 .  Ya estando en el nivel  X i =1  de inicio  de reconocimiento, se procede a crear L solicitudes de  petición de reconocimiento de las partes que conforman  al vehículo o patrón  y (línea 4). L contiene sólo el patrón  de entrada por ser indivisible. Dado que el nivel actual  del proceso es  X i =1  Se cumple la condición para realizar  el cuerpo de instrucciones entre las líneas 6 y 23. Se  procede entonces a realizar el reconocimiento del patrón  del espejo retrovisor lateral ( y ) (línea 6), y consiste en  mapear dicho patrón (bajo alguna dimensión) con la base  de datos de patrones atómicos que constituye el espacio  de reconocimiento  X i =1. Damos por hecho que el mapeo  es exitoso (línea 7), y se procede a aprender (ver [12] para  más detalles). Se mira si el proceso está en el último nivel  de la jerarquía  &#967; m . Como no se ha alcanzado el ultimo nivel  (que es  &#967; m =2),  se pasa al ELSE del condicional (línea 11),  que consiste en crear la salida  So,  y enviar dicha salida  So de reconocimiento del patrón espejo retrovisor lateral al  nivel superior (difusión de una señal de reconocimiento  positivo (True) al  proceso_principal). </font> </p>     <p align="justify">  <font face="Verdana" size="2">En este punto se  termina este proceso interno, que fue invocado en la Línea  25, donde quedo el proceso principal.  Este mismo proceso se aplica para las demás  solicitudes de reconocimiento. Si asumimos que hubo  reconocimiento de todos las partes, el proceso principal  retoma el control del programa donde se hizo la solicitud  de los L reconocimientos (línea 25), y se procede a  instanciar la estructura de datos de la <a href="#t1">Tabla 1</a>, con las  respuestas recibidas de las solicitudes de reconocimiento  (ver <a href="#t2">tabla 2</a>). </font> </p>     <p align="justify">   <font face="Verdana" size="2">La <a href="#t2">tabla 2</a> muestra las 9 señales que corresponden  a los sub-patrones del proceso de descomposición de la  imagen del vehículo, con todos los estados de los patrones  reconocidos (estado=true). En este experimento se ha  asignado el peso de importancia de acuerdo a su influencia  para el reconocimiento. Por ejemplo, los descriptores de  las señales 1, 2, 3, 5 y 8 tienen poco peso (0.5) puesto  que son partes opcionales o accesorios. En cambio,  las señales 4, 6, 7 y 9 que corresponden a los faroles,  persiana, llantas y vidrios parabrisas, tiene bastante peso  (1) pues son claves para el reconocimiento del vehículo.  Continuado con el proceso de reconocimiento del proceso  principal, en la línea 26 se reciben las 9 respuestas de los  niveles inferiores de la solicitud L. Una vez recibidas  estas señales en el módulo de reconocimiento de  X 2 desde donde se invocó la solicitud de reconocimiento, se  procede a calcular el reconocimiento de los patrones de  los módulos que las contienen (línea 27). En este caso, el  módulo de interés que vamos a analizar es el que entra en  reconocimiento del perfil del vehículo frontal, imagen 2  de la <a href="#f4">figura 4</a>. Para calcular el reconocimiento, se usan los  teoremas 1 y 2. El teorema 1 es para el Reconocimiento  del vehículo por señales claves. En este caso se ha definido  el umbral &#916; U1= 0.75 . Aplicando la Ec(1), las señales  claves son:  = {i= 4 ,6,7,9}. Aplicando la Ec(2) para  verificar el teorema 1, se obtiene que 1&gt;0.75. Por tanto,  hay reconocimiento por señales claves. Así, no se aplica  el teorema 2.</font></p>     <p align="justify">   <a name="t2"></a></p>     <p align="center"> <img border="0" src="/img/fbpe/rtfiuz/v40n2/art05.6.gif" width="575" height="378"></p>     
<p align="justify"> <font face="Verdana" size="2">Después de eso, el proceso principal pasa a chequear  el resultado del cálculo (línea 29), y si el cálculo es exitoso  por cualquier teorema, se procede a ejecutar el aprendizaje  (línea 29, ver [12] para detalles de aprendizaje). Realizado  el proceso de adaptación, se chequea si el proceso de  reconocimiento del patrón vehículo está en el último  nivel de la jerarquía (Línea 30). En efecto, actualmente  el proceso de reconocimiento esta en Xm=2, que es el  último nivel de la jerarquía, y coincide con el nivel de  reconocimiento inicial. Por tanto, se crea la señal de salida  So de reconocimiento ( y=s() inicial ), correspondiente a la  imagen 2 de la <a href="#f4">figura 4</a> (Línea 31). </font> </p>     <p align="justify">  <font face="Verdana" size="2">  <b>6. Discusión de Resultados</b></font></p>     <p align="justify"> <font face="Verdana" size="2">El modelo propuesto formaliza computacionalmente el  modelo teórico del funcionamiento biológico del neocórtex  en tareas cognitivas de reconocimiento de patrones. Basado  en dicho modelo teórico, el algoritmo de reconocimiento  de patrones debe ser altamente recursivo y uniforme. La   uniformidad permite que el proceso recursivo se de en todos  los niveles de la misma forma, sin importar la complejidad.  Así, el algoritmo reconoce un patrón de entrada sin importar  su nivel de complejidad ni la naturaleza del mismo (imagen,  texto, sonido, etc.). </font> </p>     <p align="justify"><font face="Verdana" size="2">El algoritmo reconoce los patrones de entrada por  auto-asociación jerárquica de patrones. El sistema usa  dos estrategias para el reconocimiento (teoremas de  reconocimiento), una por señales claves y otra por mapeo  total o parcial. La primera explota las señales importantes  que facilitan el reconocimiento, la segunda estrategia  explota de manera total las señales de entrada. Ambas  controlan su disparo de reconocimiento a través de  umbrales particulares. </font> </p>     ]]></body>
<body><![CDATA[<p align="justify">  <font face="Verdana" size="2">La importancia del algoritmo AR2P frente a otros  métodos de reconocimiento de patrones, es que se basa  en el modelo biológico del neocórtex cerebral en tareas  de reconocimiento, descrito en [11], el cual es altamente  recursivo y uniforme. El modelo recursivo permite  descomponer el problema de reconocimiento de patrones  en patrones más simples, lo que posibilita analizar patrones  muy complejos. Los cálculos definidos en los teoremas 1 y  2 son muy simples, y por el enfoque distribuido, es muy  fácil realizar una paralelización por nivel. Así, el costo  computacional puede ser mejorado con respecto a otros  enfoques, además, con un uso más eficiente de la memoria,  al contemplar en una sólo estructura de datos abstracta  (ver <a href="#t1">tabla 1</a>) muchas posibles instancias de varios patrones  de objetos que compartan subpatrones. Otros métodos  son menos eficiente porque la descomposición del proceso  de reconocimiento no es posible, y consumen específicos  espacios de memoria por cada objeto almacenado. En  específico, si el patrón a reconocer es de tamaño u orden  N, este enfoque se basa en el reconocimiento de sus sub- patrones de un tamaño menor que N. De esta forma,  al ir reduciendo progresivamente la complejidad del  reconocimiento (descomponiéndolo y determinando si  es posible reconocerlo usando los teoremas 1 y 2, caso  general de la recursividad), llegará un momento en que se  reconoce simplemente al patrón atómico (calculo trivial).  El patrón atómico es el caso base de la recursividad.</font></p>     <p align="justify"> <font face="Verdana" size="2"> <b>Conclusiones</b></font></p>     <p align="justify"> <font face="Verdana" size="2">Este trabajo presenta un algoritmo de reconocimiento  de patrones basado en la teoría de la mente propuesta  por Ray Kruzweil. El algoritmo de reconocimiento de  patrones usa dos estrategias de análisis: una basada  en señales claves y otra en señales activas. El algoritmo  se basa en una formalización matemática del concepto  de patrón, así como en definiciones lógico-matemáticas  de los mecanismos de reconocimiento. Por otro lado, el  algoritmo opera sobre una jerarquía, lo cual es susceptible  de extenderse hacia un tratamiento simultáneo de los  niveles (paralelismo). </font> </p>     <p align="justify">  <font face="Verdana" size="2">El algoritmo de reconocimiento de patrones usa  dos métodos de aprendizaje definidos, basado en un  esquema de aprendizaje por reforzamiento, mejorando  así su capacidad de reconocimiento y ampliando sus  bases de conocimiento, sin perder su capacidad de  reconocimiento. Los algoritmos propuestos actualmente  se están extendiendo, para introducir la idea de  aprendizaje profundo, de tal manera de poder descubrir  automáticamente los descriptores característicos de los  patrones.</font></p>     <p align="justify"> <font face="Verdana" size="2"> <b>Agradecimientos</b></font></p>     <p align="justify"> <font face="Verdana" size="2">Dr. Aguilar ha sido parcialmente financiado por el  Proyecto Prometeo del Ministerio de Educación Superior,  Ciencia, Tecnología e Innovación de la República del  Ecuador.</font></p>     <p align="justify"> <font face="Verdana" size="2"> <b>Referencias Bibliográficas </b></font></p>     <p align="justify">  <font face="Verdana" size="2">[1]  Aguilar, J.; Hernández, L.: “Diseño e Implementación  de un Sistema de Reconocimiento de Patrones para  Análisis de Líquidos Biológicos”, IEEE Latinoamerica  Transactions, Vol. 7, No. 1(2009) 12-26. &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">[2]  Altamiranda, J., Aguilar, J. Hernández L.: “Sistema  de reconocimiento de patrones de sustancias  químicas cerebrales basado en minería de datos.”  Computación y Sistemas Vol. 19, No 1(2015), 89- 107. &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">[3]  Aguilar, José: “A Color Pattern Recognition Problem  Based on the Multiple Classes Random Neural  Network Model”, Neurocomputing (special issue:  Hybrid Neurocomputing), Elsevier, 61, 71-83,  2004. &nbsp;</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">[4] Deng, L., &amp; Yu, D.: “ Deep learning: Methods and  applications”. Foundations and Trends in Signal  Processing, Vol. 7 (2014), 197-387.  &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">[5]  Schmidhuber, J.: “Deep learning in neural networks:  An overview”. Neural Networks, 61, 85-117. 2015. &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">[6]  Postle, Bradley R.: “How Does the Brain Keep  Information “in Mind”?.” Current Directions in  Psychological Science, Vol. 25, No. 3(2016) 151-156. &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">[7]  Miller, Kenneth D.: “Canonical computations of  cerebral cortex Current opinion in neurobiology”,  Vol. 37 (2016) 75-84.  &nbsp;</font></p>     <!-- ref --><p align="justify"><font face="Verdana" size="2">[8]  Numenta, «NuPIC. Numenta Platform for Intelligent  Computing» 2016. [En línea]. Available: http:// numenta.com/. [consultada Diciembre 2016].    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2397037&pid=S0254-0770201700020000500008&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> &nbsp;</font></p>     <!-- ref --><p align="justify"><font face="Verdana" size="2">[9]  C. Surpur, «Cortical Learning Algorithm as  Implemented in NuPIC» 2014. [En línea]. Disponible:  http://chetansurpur.com/slides/2014/5/4/cla-in- nupic.html#1. [consultada Diciembre 2016].    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2397039&pid=S0254-0770201700020000500009&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">[10] Hawkins J. and Blakeslee S.: “On intelligence”,  Macmillan, 2007. &nbsp;</font></p>     <!-- ref --><p align="justify"><font face="Verdana" size="2">[11] Kurzweil R.: “How to create a mind”, Penguin Books,  2013.    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[&#160;<a href="javascript:void(0);" onclick="javascript: window.open('/scielo.php?script=sci_nlinks&ref=2397042&pid=S0254-0770201700020000500011&lng=','','width=640,height=500,resizable=yes,scrollbars=1,menubar=yes,');">Links</a>&#160;]<!-- end-ref --> &nbsp;</font></p>     <p align="justify"><font face="Verdana" size="2">[12] Puerto, E., Aguilar J.: “Learning Algorithm for the  Recursive Pattern Recognition Model.” Applied  Artificial Intelligence, Vol. 30, No 7 (2016) 662-678. </font> </p>     <p align="justify">  &nbsp;</p>       ]]></body>
<back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Aguilar,]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Hernández,]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Diseño e Implementación de un Sistema de Reconocimiento de Patrones para Análisis de Líquidos Biológicos]]></article-title>
<source><![CDATA[IEEE Latinoamerica Transactions]]></source>
<year>2009</year>
<volume>7</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>12-26</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Altamiranda,]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Aguilar,]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[Hernández]]></surname>
<given-names><![CDATA[L]]></given-names>
</name>
</person-group>
<article-title xml:lang="es"><![CDATA[Sistema de reconocimiento de patrones de sustancias químicas cerebrales basado en minería de datos]]></article-title>
<source><![CDATA[Computación y Sistemas]]></source>
<year>2015</year>
<volume>19</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>89- 107</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Aguilar,]]></surname>
<given-names><![CDATA[José]]></given-names>
</name>
</person-group>
<source><![CDATA[A Color Pattern Recognition Problem Based on the Multiple Classes Random Neural Network Model Neurocomputing (special issue : Hybrid Neurocomputing)]]></source>
<year>2004</year>
<month>, </month>
<day>71</day>
<publisher-loc><![CDATA[61 ]]></publisher-loc>
<publisher-name><![CDATA[Elsevier]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Deng,]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Yu,]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Deep learning: Methods and applications]]></article-title>
<source><![CDATA[Foundations and Trends in Signal Processing]]></source>
<year>2014</year>
<volume>7</volume>
<numero>x</numero>
<issue>x</issue>
<page-range>197-387</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Schmidhuber,]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[Deep learning in neural networks: An overview]]></source>
<year>2015</year>
<month>, </month>
<day>85</day>
<publisher-loc><![CDATA[61 ]]></publisher-loc>
<publisher-name><![CDATA[Neural Networks]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Postle,]]></surname>
<given-names><![CDATA[BradleyR]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[How Does the Brain Keep Information in Mind?]]></article-title>
<source><![CDATA[Current Directions in Psychological Science]]></source>
<year>2016</year>
<volume>25</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>151-156</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[Miller,]]></surname>
<given-names><![CDATA[KennethD]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Canonical computations of cerebral cortex]]></article-title>
<source><![CDATA[Current opinion in]]></source>
<year>2016</year>
<volume>neurobiology</volume>
<numero>37</numero>
<issue>37</issue>
<page-range>75-84</page-range></nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="">
<collab>NuPIC</collab>
<source><![CDATA[Numenta Platform for Intelligent Computing]]></source>
<year>2016</year>
</nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Surpur]]></surname>
<given-names><![CDATA[C]]></given-names>
</name>
</person-group>
<source><![CDATA[Cortical Learning Algorithm as Implemented in NuPIC]]></source>
<year></year>
</nlm-citation>
</ref>
<ref id="B10">
<label>10</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Hawkins]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
<name>
<surname><![CDATA[Blakeslee]]></surname>
<given-names><![CDATA[S]]></given-names>
</name>
</person-group>
<source><![CDATA[On intelligence]]></source>
<year>2007</year>
<publisher-name><![CDATA[Macmillan]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<label>11</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Kurzweil]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<source><![CDATA[How to create a mind]]></source>
<year>2013</year>
<publisher-name><![CDATA[Penguin Books]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B12">
<label>12</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Puerto,]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Aguilar]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Learning Algorithm for the Recursive Pattern Recognition Model]]></article-title>
<source><![CDATA[Applied Artificial Intelligence]]></source>
<year>2016</year>
<volume>30</volume>
<numero>7</numero>
<issue>7</issue>
<page-range>662-678</page-range></nlm-citation>
</ref>
</ref-list>
</back>
</article>
