383 research outputs found

    Asymmetric Price Transmission and Non-linear Adjustment in the Iranian Mutton Market

    Get PDF
    This paper analyses the asymmetric price transmission and non-linear adjustment at the farm and retail levels in the Iran’s mutton market. We applied a multivariate threshold error correction mechanism for monthly price data. We tested the non-linear adjustment using sup-LR, sup-LM and sup-Wald tests. The results confirm the presence of non-linear cointegration relationship between the retail and farm prices. In short-run, the price transmission behavior reveals that reactions of both the retail and farm prices to positive and negative deviations from the long-run price spread are asymmetric. More specially, the retailers show more strong responses to the both positive and negative shocks imposed to the farmers.Threshold Cointegration, Non-linearity, Mutton, Price, Iran, Livestock Production/Industries,

    Ultra low-power, high-performance accelerator for speech recognition

    Get PDF
    Automatic Speech Recognition (ASR) is undoubtedly one of the most important and interesting applications in the cutting-edge era of Deep-learning deployment, especially in the mobile segment. Fast and accurate ASR comes at a high energy cost, requiring huge memory storage and computational power, which is not affordable for the tiny power budget of mobile devices. Hardware acceleration can reduce power consumption of ASR systems as well as reducing its memory pressure, while delivering high-performance. In this thesis, we present a customized accelerator for large-vocabulary, speaker-independent, continuous speech recognition. A state-of-the-art ASR system consists of two major components: acoustic-scoring using DNN and speech-graph decoding using Viterbi search. As the first step, we focus on the Viterbi search algorithm, that represents the main bottleneck in the ASR system. The accelerator includes some innovative techniques to improve the memory subsystem, which is the main bottleneck for performance and power, such as a prefetching scheme and a novel bandwidth saving technique tailored to the needs of ASR. Furthermore, as the speech graph is vast taking more than 1-Gigabyte memory space, we propose to change its representation by partitioning it into several sub-graphs and perform an on-the-fly composition during the Viterbi run-time. This approach together with some simple yet efficient compression techniques result in 31x memory footprint reduction, providing 155x real-time speedup and orders of magnitude power and energy saving compared to CPUs and GPUs. In the next step, we propose a novel hardware-based ASR system that effectively integrates a DNN accelerator for the pruned/quantized models with the Viterbi accelerator. We show that, when either pruning or quantizing the DNN model used for acoustic scoring, ASR accuracy is maintained but the execution time of the ASR system is increased by 33%. Although pruning and quantization improves the efficiency of the DNN, they result in a huge increase of activity in the Viterbi search since the output scores of the pruned model are less reliable. In order to avoid the aforementioned increase in Viterbi search workload, our system loosely selects the N-best hypotheses at every time step, exploring only the N most likely paths. Our final solution manages to efficiently combine both DNN and Viterbi accelerators using all their optimizations, delivering 222x real-time ASR with a small power budget of 1.26 Watt, small memory footprint of 41 MB, and a peak memory bandwidth of 381 MB/s, being amenable for low-power mobile platforms.Los sistemas de reconocimiento automático del habla (ASR por sus siglas en inglés, Automatic Speech Recognition) son sin lugar a dudas una de las aplicaciones más relevantes en el área emergente de aprendizaje profundo (Deep Learning), specialmente en el segmento de los dispositivos móviles. Realizar el reconocimiento del habla de forma rápida y precisa tiene un elevado coste en energía, requiere de gran capacidad de memoria y de cómputo, lo cual no es deseable en sistemas móviles que tienen severas restricciones de consumo energético y disipación de potencia. El uso de arquitecturas específicas en forma de aceleradores hardware permite reducir el consumo energético de los sistemas de reconocimiento del habla, al tiempo que mejora el rendimiento y reduce la presión en el sistema de memoria. En esta tesis presentamos un acelerador específicamente diseñado para sistemas de reconocimiento del habla de gran vocabulario, independientes del orador y que funcionan en tiempo real. Un sistema de reconocimiento del habla estado del arte consiste principalmente en dos componentes: el modelo acústico basado en una red neuronal profunda (DNN, Deep Neural Network) y la búsqueda de Viterbi basada en un grafo que representa el lenguaje. Como primer objetivo nos centramos en la búsqueda de Viterbi, ya que representa el principal cuello de botella en los sistemas ASR. El acelerador para el algoritmo de Viterbi incluye técnicas innovadoras para mejorar el sistema de memoria, que es el mayor cuello de botella en rendimiento y energía, incluyendo técnicas de pre-búsqueda y una nueva técnica de ahorro de ancho de banda a memoria principal específicamente diseñada para sistemas ASR. Además, como el grafo que representa el lenguaje requiere de gran capacidad de almacenamiento en memoria (más de 1 GB), proponemos cambiar su representación y dividirlo en distintos grafos que se componen en tiempo de ejecución durante la búsqueda de Viterbi. De esta forma conseguimos reducir el almacenamiento en memoria principal en un factor de 31x, alcanzar un rendimiento 155 veces superior a tiempo real y reducir el consumo energético y la disipación de potencia en varios órdenes de magnitud comparado con las CPUs y las GPUs. En el siguiente paso, proponemos un novedoso sistema hardware para reconocimiento del habla que integra de forma efectiva un acelerador para DNNs podadas y cuantizadas con el acelerador de Viterbi. Nuestros resultados muestran que podar y/o cuantizar el DNN para el modelo acústico permite mantener la precisión pero causa un incremento en el tiempo de ejecución del sistema completo de hasta el 33%. Aunque podar/cuantizar mejora la eficiencia del DNN, éstas técnicas producen un gran incremento en la carga de trabajo de la búsqueda de Viterbi ya que las probabilidades calculadas por el DNN son menos fiables, es decir, se reduce la confianza en las predicciones del modelo acústico. Con el fin de evitar un incremento inaceptable en la carga de trabajo de la búsqueda de Viterbi, nuestro sistema restringe la búsqueda a las N hipótesis más probables en cada paso de la búsqueda. Nuestra solución permite combinar de forma efectiva un acelerador de DNNs con un acelerador de Viterbi incluyendo todas las optimizaciones de poda/cuantización. Nuestro resultados experimentales muestran que dicho sistema alcanza un rendimiento 222 veces superior a tiempo real con una disipación de potencia de 1.26 vatios, unos requisitos de memoria modestos de 41 MB y un uso de ancho de banda a memoria principal de, como máximo, 381 MB/s, ofreciendo una solución adecuada para dispositivos móviles

    Leveraging run-time feedback for efficient ASR acceleration

    Get PDF
    © 2019 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes,creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.In this work, we propose Locality-AWare-Scheme (LAWS) for an Automatic Speech Recognition (ASR) accelerator in order to significantly reduce its energy consumption and memory requirements, by leveraging the locality among consecutive segments of the speech signal. LAWS diminishes ASR's workload by up to 60% by removing most of the off-chip accesses during the ASR's decoding process. We furthermore improve LAWS's effectiveness by selectively adapting the amount of ASR's workload, based on run-time feedback. In particular, we exploit the fact that the confidence of the ASR system varies along the recognition process. When confidence is high, the ASR system can be more restrictive and reduce the amount of work. The end design provides a saving of 87% in memory requests, 2.3x reduction in energy consumption, and a speedup of 2.1x with respect to the state-of-the-art ASR accelerator.Peer ReviewedPostprint (author's final draft

    A low-power, high-performance speech recognition accelerator

    Get PDF
    © 2019 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes,creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.Automatic Speech Recognition (ASR) is becoming increasingly ubiquitous, especially in the mobile segment. Fast and accurate ASR comes at high energy cost, not being affordable for the tiny power-budgeted mobile devices. Hardware acceleration reduces energy-consumption of ASR systems, while delivering high-performance. In this paper, we present an accelerator for largevocabulary, speaker-independent, continuous speech-recognition. It focuses on the Viterbi search algorithm representing the main bottleneck in an ASR system. The proposed design consists of innovative techniques to improve the memory subsystem, since memory is the main bottleneck for performance and power in these accelerators' design. It includes a prefetching scheme tailored to the needs of ASR systems that hides main memory latency for a large fraction of the memory accesses, negligibly impacting area. Additionally, we introduce a novel bandwidth-saving technique that removes off-chip memory accesses by 20 percent. Finally, we present a power saving technique that significantly reduces the leakage power of the accelerators scratchpad memories, providing between 8.5 and 29.2 percent reduction in entire power dissipation. Overall, the proposed design outperforms implementations running on the CPU by orders of magnitude, and achieves speedups between 1.7x and 5.9x for different speech decoders over a highly optimized CUDA implementation running on Geforce-GTX-980 GPU, while reducing the energy by 123-454x.Peer ReviewedPostprint (author's final draft

    15- vuotiaiden hammasterveys ja koulussa annettu suuterveyden opetus Teheranissa

    Get PDF
    The aim of the present study was to assess dental health and its determinants among 15-year-olds in Tehran, Iran and to evaluate the impact of a school-based educational intervention on their oral cleanliness and gingival health. The total sample comprised 506 students. Data collection was performed through a clinical dental examination and a self-administered structured questionnaire. This questionnaire covered the student s background information, socio-economic status, self-perceived dental health, tooth-brushing, and smoking. The clinical dental examination covered caries experience, gingival status, dental plaque status, and orthodontic treatment needs. Participation was voluntary, and all students responded to the questionnaire. Only three students refused the clinical dental examination. The intervention was based on exposing students to dental health education through a leaflet and a videotape designed for the present study. The outcome examinations took place 12 weeks after the baseline among the three groups of the intervention trial (leaflet, videotape, and control). High participation rates at the baseline and scanty drop-outs (7%) in the intervention speak for reliability of the results. Mean value of the DMFT (D=decayed, M=missing, and F=filled teeth) index of the 15-year-olds was 2.1, which comprised DT=0.9, MT=0.2, and FT=1.0 with no gender differences. Dental plaque existed on at least one index tooth of all students, and healthy periodontium (Community Periodontal Index=0) was found in less than 10% of students. Need for caries treatment existed in 40% of students, for scaling in 24%, for oral hygiene instructions in all, and for orthodontic treatment in 26%. Students with the highest level of parents education had fewer dental caries (36% vs. 48%) and less dental plaque (77% vs. 88%). Of all students, 78% assessed their dental health as good or better. Even more of those with their DMFT=0 (73% vs. 27%) and DT=0 (68% vs. 32%) assessed their dental health as good or better. Smokers comprised 5% of the boys and 2% of the girls. Smoking was common among students of less-educated parents (6% vs. 3%). Of all students, 26% reported twice-daily tooth-brushing; girls (38% vs. 15%) and those of higher socio-economic background (33% vs. 17%) did so more frequently. The best predictors for a good level of oral cleanliness were female gender or twice-daily tooth-brushing. The present study demonstrated that a school-based educational intervention can be effective in the short term in improving the oral cleanliness and gingival health of adolescents. At least 50% reduction in numbers of teeth with dental plaque compared to baseline was achieved by 58% of the students in the leaflet group, by 37% in the videotape group, and by 10% of the controls. Corresponding figures for gingival bleeding were 72%, 64%, and 30%. For improving the oral cleanliness and gingival health of adolescents in countries such as Iran with a developing oral health system, school-based educational intervention should be established with focus on oral self-care and oral health education messages. Emphasizing the immediate gains from good oral hygiene, such as fresh breath, clean teeth, and attractive appearance should be key aspects for motivating these adolescents to learn and maintain good dental health, whilst in planning school-based dental health intervention, special attention should be given to boys and those with lower socio-economic status. Author s address: Reza Yazdani, Department of Oral Public Health, Institute of Dentistry, University of Helsinki, P.O. Box 41, FI-00014 Helsinki, Finland. E-mail: [email protected] hammasterveys ja koulussa annettu suuterveyden opetus Teheranissa Tutkimuksen tavoitteena oli tutkia hammasterveyttä ja siihen liittyviä tekijöitä 15-vuotiailla koululaisilla Teheranissa Iranissa. Tavoitteena oli myös arvioida koulussa annetun suuhygienian opetuksen vaikutusta oppilaiden hampaiden puhtauteen ja ienterveyteen. Tutkimukseen osallistui yhteensä 509 koululaista joista 506:lle hammaslääkäri teki kliinisen. Kaikki tutkimukseen osallistuneet vastasivat lisäksi kyselyyn, jossa tiedusteltiin käsityksiä omasta hammasterveydestä, hampaiden harjaustottumuksia, tupakointia ja perheen taloudellista asemaa ja vanhempien koulutustasoa. Kliinisessä tutkimuksessa arvioitiin reikiintyneiden hampaiden lukumäärä, ikenien tila, suuhygienian taso ja hampaiden oikomishoidon tarve. Suun omahoidon opetus toteutettiin kolmessa ryhmässä tutkimusta varten kehitetyn oppimismateriaalin avulla. Ensimmäisessä ryhmässä käytettiin ohje-kirjasta, toisessa ryhmässä videota ja kolmas ryhmä toimi kontrolliryhmänä. Kliininen tutkimus suoritettiin uudelleen 12 viikon kuluttua terveysopetuksen antamisesta. Jokaisella oppilaalla todettiin keskimäärin yksi reikiintynyt ja yksi paikattu hammas. Joka viidenneltä oli poistettu yksi hammas. Täysin terveet ikenet todettiin alle 10 %:lla oppilaista. Korjaavan hammashoidon tarvetta löydettiin 40 %:lla ja hammaskiven poiston tarvetta t24 %:lla. Suuhygienian opetuksen tarve oli kaikilla tutkituista ja hampaiden oikomisen tarvetta rekisteröitiin 26 %:lla. Oppilailla, joiden vanhemmat olivat korkeimmin koulutettuja, oli vähemmän reikiintyneitä hampaita ja parempi suuhygienia kuin vähemmän koulutettujen vanhempien lapsilla. Kaikista oppilaista 78 % arvioi oman hammasterveytensä vähintään hyväksi. Ne, joilla ei todettu mitään hammasongelmaa arvioivat useimmin oman hammasterveytensä hyväksi kuin muut. Pojista 5 % ja tytöistä 2 % ilmoitti tupakoivansa. Tupakointi oli yleisempää vähemmän koulutettujen vanhempien kuin enemmän koulutettujen vanhempien lapsilla (6 % vs.3 %). Kaikista oppilaista 26 % ilmoitti harjaavansa hampaansa kahdesti päivässä, tytöistä 38 % ja pojista 15 %. Ne, joiden perheen taloudellinen asema oli korkeampi, harjasivat useammin (33 %) hampaansa kaksi kertaa päivässä kuin ne, joiden perheen taloudellinen asema oli alempi (17 %). Paras suuhygienian taso oli tytöillä ja kaksi kertaa päivässä hampaansa harjaavilla. 12 viikon kuluttua terveysopetuksesta bakteerien peittämien hampaiden määrä ja ienverenvuoto olivat vähentyneet kaikissa kolmessa testiryhmässä, opaskirjaryhmässä enemmän kuin videoryhmässä. Myös kontrolliryhmässä tapahtui pientä suuhygienian paranemista. Tutkimus osoitti, että koulussa annettu suun terveyden opetus voi lyhyessä ajassa parantaa oppilaiden suuhygienian tasoa. Kehittyvissä suun terveydenhuollon maissa kuten Iranissa suuterveyden opetuksen tulisi keskittyä hampaiden omahoidon opetukseen, jolla voidaan parantaa nuorison suuhygieniaa. Lisäksi tulisi korostaa välittömiä hyötyjä, joita hyvä suuhygienia tuottaa. Raikas hengitys, puhtaat hampaat ja hyvä ulkonäkö ovat tekijöitä joilla motivoidaan nuoret oppimaan ja säilyttämään hyvä suuhygienia. Kouluissa pidettävää suun terveyden opetusta annettaessa tulisi erityistä huomiota kiinnittää poikiin ja alemman tulotason perheisiin

    Estimating Iranian Wheat Market (A Comparative Study between ARDL and SUR)

    Get PDF
    In this study with estimating the econometric pattern of wheat, the affecting element in supply, product, import and consumption can be recognized. Auto regressive distributed lag (ARDL) and seemingly unrelated regressions (SUR) have been used for getting the following results: Price elasticity of demand for wheat is 2/29 and the cross price elasticity of demand between wheat and barley is 1/49. Production function showed that with increasing the area under harvested with 1 percent, the amount of production will increase 0/68 percent. Fertilizer has direct effect in the amount of production in next year. Results of consumption model show that consumption income element in demand model is a small number with positive sign but it is not meaningful. The results of demand elasticity of bread showed that this factor is 0/156. It means that the demand for bread is not very responsive to changes in price. Although results showed increasing the consumption per capita of rice with 1 percent will decrease the consumption per capita of wheat with 0/23 percent. Import model shows that increasing the amount of gross domestic production with 1 percent will increase the amount of demand with 1/1 percent. In this estimation, the coefficient of the price ratios is positive and is opposite the ordinary cases. It is because of the responsibility of government in importing wheat and this activity doesn’t relate to domestic price and is related to domestic needs

    Determining the Welfare Effects of Sugar Beet Mechanization

    Get PDF
    Sugar beet is a by-product of industrial agriculture which plays an important role in providing the required domestic sugar. Given the high proportion of imported sugar in sugar consumption, one way to provide the required sugar is to use a support tool. One of these tools is mechanization. In order to assess the impact of mechanization on the welfare of producers and consumers, supply and demand equations for sugar beet for the period 1971-2012 are developed using two-stage least squares (2SLS). The effect of mechanization on welfare and the welfare of producers’ and consumers’ communities is then analysed in three scenarios: 1%, 4% and 10% reduction in price. The results show that price elasticity of demand is -0.02 and price elasticity of supply 0.013. Additionally, in all scenarios, according to the proportion of total consumer welfare surplus in total social welfare surplus, implementation of this policy is supported by consumers

    An ultra low-power hardware accelerator for automatic speech recognition

    Get PDF
    Automatic Speech Recognition (ASR) is becoming increasingly ubiquitous, especially in the mobile segment. Fast and accurate ASR comes at a high energy cost which is not affordable for the tiny power budget of mobile devices. Hardware acceleration can reduce power consumption of ASR systems, while delivering high-performance. In this paper, we present an accelerator for large-vocabulary, speaker-independent, continuous speech recognition. It focuses on the Viterbi search algorithm, that represents the main bottleneck in an ASR system. The proposed design includes innovative techniques to improve the memory subsystem, since memory is identified as the main bottleneck for performance and power in the design of these accelerators. We propose a prefetching scheme tailored to the needs of an ASR system that hides main memory latency for a large fraction of the memory accesses with a negligible impact on area. In addition, we introduce a novel bandwidth saving technique that removes 20% of the off-chip memory accesses issued during the Viterbi search. The proposed design outperforms software implementations running on the CPU by orders of magnitude and achieves 1.7x speedup over a highly optimized CUDA implementation running on a high-end Geforce GTX 980 GPU, while reducing by two orders of magnitude (287x) the energy required to convert the speech into text.Peer ReviewedPostprint (author's final draft

    Ultra low-power, high-performance accelerator for speech recognition

    Get PDF
    Automatic Speech Recognition (ASR) is undoubtedly one of the most important and interesting applications in the cutting-edge era of Deep-learning deployment, especially in the mobile segment. Fast and accurate ASR comes at a high energy cost, requiring huge memory storage and computational power, which is not affordable for the tiny power budget of mobile devices. Hardware acceleration can reduce power consumption of ASR systems as well as reducing its memory pressure, while delivering high-performance. In this thesis, we present a customized accelerator for large-vocabulary, speaker-independent, continuous speech recognition. A state-of-the-art ASR system consists of two major components: acoustic-scoring using DNN and speech-graph decoding using Viterbi search. As the first step, we focus on the Viterbi search algorithm, that represents the main bottleneck in the ASR system. The accelerator includes some innovative techniques to improve the memory subsystem, which is the main bottleneck for performance and power, such as a prefetching scheme and a novel bandwidth saving technique tailored to the needs of ASR. Furthermore, as the speech graph is vast taking more than 1-Gigabyte memory space, we propose to change its representation by partitioning it into several sub-graphs and perform an on-the-fly composition during the Viterbi run-time. This approach together with some simple yet efficient compression techniques result in 31x memory footprint reduction, providing 155x real-time speedup and orders of magnitude power and energy saving compared to CPUs and GPUs. In the next step, we propose a novel hardware-based ASR system that effectively integrates a DNN accelerator for the pruned/quantized models with the Viterbi accelerator. We show that, when either pruning or quantizing the DNN model used for acoustic scoring, ASR accuracy is maintained but the execution time of the ASR system is increased by 33%. Although pruning and quantization improves the efficiency of the DNN, they result in a huge increase of activity in the Viterbi search since the output scores of the pruned model are less reliable. In order to avoid the aforementioned increase in Viterbi search workload, our system loosely selects the N-best hypotheses at every time step, exploring only the N most likely paths. Our final solution manages to efficiently combine both DNN and Viterbi accelerators using all their optimizations, delivering 222x real-time ASR with a small power budget of 1.26 Watt, small memory footprint of 41 MB, and a peak memory bandwidth of 381 MB/s, being amenable for low-power mobile platforms.Los sistemas de reconocimiento automático del habla (ASR por sus siglas en inglés, Automatic Speech Recognition) son sin lugar a dudas una de las aplicaciones más relevantes en el área emergente de aprendizaje profundo (Deep Learning), specialmente en el segmento de los dispositivos móviles. Realizar el reconocimiento del habla de forma rápida y precisa tiene un elevado coste en energía, requiere de gran capacidad de memoria y de cómputo, lo cual no es deseable en sistemas móviles que tienen severas restricciones de consumo energético y disipación de potencia. El uso de arquitecturas específicas en forma de aceleradores hardware permite reducir el consumo energético de los sistemas de reconocimiento del habla, al tiempo que mejora el rendimiento y reduce la presión en el sistema de memoria. En esta tesis presentamos un acelerador específicamente diseñado para sistemas de reconocimiento del habla de gran vocabulario, independientes del orador y que funcionan en tiempo real. Un sistema de reconocimiento del habla estado del arte consiste principalmente en dos componentes: el modelo acústico basado en una red neuronal profunda (DNN, Deep Neural Network) y la búsqueda de Viterbi basada en un grafo que representa el lenguaje. Como primer objetivo nos centramos en la búsqueda de Viterbi, ya que representa el principal cuello de botella en los sistemas ASR. El acelerador para el algoritmo de Viterbi incluye técnicas innovadoras para mejorar el sistema de memoria, que es el mayor cuello de botella en rendimiento y energía, incluyendo técnicas de pre-búsqueda y una nueva técnica de ahorro de ancho de banda a memoria principal específicamente diseñada para sistemas ASR. Además, como el grafo que representa el lenguaje requiere de gran capacidad de almacenamiento en memoria (más de 1 GB), proponemos cambiar su representación y dividirlo en distintos grafos que se componen en tiempo de ejecución durante la búsqueda de Viterbi. De esta forma conseguimos reducir el almacenamiento en memoria principal en un factor de 31x, alcanzar un rendimiento 155 veces superior a tiempo real y reducir el consumo energético y la disipación de potencia en varios órdenes de magnitud comparado con las CPUs y las GPUs. En el siguiente paso, proponemos un novedoso sistema hardware para reconocimiento del habla que integra de forma efectiva un acelerador para DNNs podadas y cuantizadas con el acelerador de Viterbi. Nuestros resultados muestran que podar y/o cuantizar el DNN para el modelo acústico permite mantener la precisión pero causa un incremento en el tiempo de ejecución del sistema completo de hasta el 33%. Aunque podar/cuantizar mejora la eficiencia del DNN, éstas técnicas producen un gran incremento en la carga de trabajo de la búsqueda de Viterbi ya que las probabilidades calculadas por el DNN son menos fiables, es decir, se reduce la confianza en las predicciones del modelo acústico. Con el fin de evitar un incremento inaceptable en la carga de trabajo de la búsqueda de Viterbi, nuestro sistema restringe la búsqueda a las N hipótesis más probables en cada paso de la búsqueda. Nuestra solución permite combinar de forma efectiva un acelerador de DNNs con un acelerador de Viterbi incluyendo todas las optimizaciones de poda/cuantización. Nuestro resultados experimentales muestran que dicho sistema alcanza un rendimiento 222 veces superior a tiempo real con una disipación de potencia de 1.26 vatios, unos requisitos de memoria modestos de 41 MB y un uso de ancho de banda a memoria principal de, como máximo, 381 MB/s, ofreciendo una solución adecuada para dispositivos móviles.Postprint (published version
    corecore