2 resultados para raiz
em Universidad Politécnica de Madrid
Resumo:
Dentro de los paradigmas de programación en el mundo de la informática tenemos la "Programación Lógica'', cuyo principal exponente es el lenguaje Prolog. Los programas Prolog se componen de un conjunto de predicados, cada uno de ellos definido en base a reglas que aportan un elevado nivel de abstracción y declaratividad al programador. Sin embargo, las formulación con reglas implica, frecuentemente, que un predicado se recompute varias veces para la misma consulta y además, Prolog utiliza un orden fijo para evaluar reglas y objetivos (evaluación SLD) que puede entrar en "bucles infinitos'' cuando ejecuta reglas recursivas declarativamente correctas. Estas limitaciones son atacadas de raiz por la tabulación, que se basa en "recordar'' en una tabla las llamadas realizadas y sus soluciones. Así, en caso de repetir una llamada tendríamos ya disponibles sus soluciones y evitamos la recomputación. También evita "bucles infinitos'' ya que las llamadas que los generan son suspendidas, quedando a la espera de que se computen soluciones para las mismas. La implementación de la tabulación no es sencilla. En particular, necesita de tres operaciones que no pueden ser ejecutadas en tiempo constante simultáneamente. Dichas operaciones son: suspensión de llamadas, relanzamiento de llamadas y {acceso a variables. La primera parte de la tesis compara tres implementaciones de tabulación sobre Ciao, cada una de las cuales penaliza una de estas operaciones. Por tanto, cada solución tiene sus ventajas y sus inconvenientes y se comportan mejor o peor dependiendo del programa ejecutado. La segunda parte de la tesis mejora la funcionalidad de la tabulación para combinarla con restricciones y también para evitar computaciones innecesarias. La programación con restricciones permite la resolución de ecuaciones como medio de programar, mecanismo altamente declarativo. Hemos desarrollado un framework para combinar la tabulación con las restricciones, priorizando objetivos como la flexibilidad, la eficiencia y la generalidad de nuestra solución, obteniendo una sinergia entre ambas técnicas que puede ser aplicada en numerosas aplicaciones. Por otra parte, un aspecto fundamental de la tabulación hace referencia al momento en que se retornan las soluciones de una llamada tabulada. Local evaluation devuelve soluciones cuando todas las soluciones de la llamada tabulada han sido computadas. Por contra, batched evaluation devuelve las soluciones una a una conforme van siendo computadas, por lo que se adapta mejor a problemas donde no nos interesa encontrar todas las soluciones. Sin embargo, su consumo de memoria es exponencialmente peor que el de local evaluation. La tesis presenta swapping evaluation, que devuelve soluciones tan pronto como son computadas pero con un consumo de memoria similar a la de local evaluation. Además, se implementan operadores de poda, once/1, para descartar la búsqueda de soluciones alternativas cuando encontramos la solución deseada. Por último, Prolog adopta con relativa facilidad soluciones para paralelismo gracias a su flexibilidad en el control de la ejecución y a que sus asignaciones son lógicas. La tercera parte de la tesis extiende el paralelismo conjuntivo de Ciao para trabajar con programas no deterministas, lo que presenta dos problemas principales: los objetivos atrapados y la recomputación de objetivos. Las soluciones clásicas para los objetivos atrapados rompían muchos invariantes de la ejecución Prolog, siendo soluciones difíciles de mantener y de extender, que la experiencia nos dice que han caído en desuso. Nosotros proponemos una solución modular (basada en la implementación de swapping evaluation), localizada y que no rompe los invariantes de la ejecución Prolog, pero que mantiene un alto rendimiento de la ejecución paralela. En referencia a la recomputación de objetivos paralelos en presencia de no determinismo hemos adaptado ténicas derivadas de la tabulación para memorizar computaciones de estos objetivos y evitar su recomputación.
Resumo:
Los nombres que se usan actualmente para las grúas los ponen las empresas fabricantes y muy frecuentemente no tienen relación con su tipología ni con su capacidad. Por otra parte, es de uso común en la construcción, llamar a las grúas usando su tonelaje nominal que coincide normalmente con su capacidad máxima que se obtiene a radio mínimo. Existe una controversia por el uso de este valor ya que no suele definir bien la capacidad de las maquinas. En cuanto el radio de trabajo se aleja de sus valores mínimos, las grúas están limitadas por el momento de vuelco que no tiene porque comportarse de manera proporcional o ni siquiera relacionada con el valor de la capacidad nominal. Esto hace que comparar grúas mediante sus capacidades nominales (que son sus denominaciones) pueda inducir a errores importantes. Como alternativa, se pretende estudiar el uso de momento máximo de vuelco MLM por sus siglas en ingles (Maximum Load Moment) para intentar definir la capacidad real de las grúas. Se procede a realizar un análisis técnico y financiero de grúas con respecto a ambos valores mencionados con objeto de poder determinar cual de los dos parámetros es más fiable a la hora de definir la capacidad real de estas maquinas. Para ello, se seleccionan dentro de las tres tipologías más importantes por su presencia e importancia en la construcción (grúas de celosía sobre cadenas, grúas telescópicas sobre camión y grúas torre) nueve grúas de distintos tamaños y capacidades con objeto de analizar una serie de parámetros técnicos y sus costes. Se realizan de este modo diversas comparativas analizando los resultados en función de las tipologías y de los tamaños de las distintas maquinas. Para cada máquina se obtienen las capacidades y los momentos de vuelco correspondientes a distintos radios de trabajo. Asimismo, se obtiene el MLM y el coste hora de cada grúa, este último como suma de la amortización de la máquina, intereses del capital invertido, consumos, mantenimiento y coste del operador. Los resultados muestran las claras deficiencias del tonelaje nominal como valor de referencia para definir la capacidad de las grúas ya que grúas con el mismo tonelaje nominal pueden dar valores de capacidad de tres a uno (e incluso mayores) cuando los radios de trabajo son importantes. A raiz de este análisis se propone el uso del MLM en lugar del tonelaje nominal para la denominación de las grúas ya que es un parámetro mucho más fiable. Siendo conscientes de la dificultad que supone un cambio de esta entidad al tratarse de un uso común a nivel mundial, se indican posibles actuaciones concretas que puedan ir avanzando en esa dirección como seria por ejemplo la nomenclatura oficial de los fabricantes usando el MLM dentro del nombre de la grúa que también podría incluir la tipología o al menos alguna actuación legislativa sencilla como obligar al fabricante a indicar este valor en las tablas y características de cada máquina. El ratio analizado Coste horario de la grúa / MLM resulta ser de gran interés y permite llegar a la conclusión que en todas las tipologías de grúas, la eficiencia del coste por hora y por la capacidad (dada por el MLM) aumenta al aumentar la capacidad de la grúa. Cuando los tamaños de cada tipología se reducen, esta eficiencia disminuye y en algunos casos incluso drasticamente. La tendencia del mundo de la construcción de prefabricación y modularización que conlleva pesos y dimensiones de cargas cada vez más grandes, demandan cada vez grúas de mayor capacidad y se podría pensar en un primer momento que ante un crecimiento de capacidades tan significativo, el coste de las grúas se podría disparar y por ello disminuir la eficiencia de estas máquinas. A la vista de los resultados obtenidos con este análisis, no solo no ocurre este problema sino que se observa que dicho aumento de tamaños y capacidades de grúas redunda en un aumento de su eficiencia en cualquiera de las tipologías de estas maquinas que han sido estudiadas. The crane names that are actually used are given by crane manufacturers and, very frequently, they do not have any relationship with the crane type nor with its capacity. On the other hand, it is common in construction to use the nominal capacity (which corresponds in general to the capacity at minimum radius) as crane name. The use of this figure is controversial since it does not really reflect the real crane capacity. When the working radius increases a certain amount from its minimum values, the crane capacity starts to be limited by the crane tipping load and the moment is not really related to the value of the nominal capacity. Therefore, comparing cranes by their nominal capacity (their names) can lead to important mistakes. As an alternative, the use of the maximum load moment (MLM) can be studied for a better definition of real crane capacity. A technical and financial analysis of cranes is conducted using both parameters to determine which one is more reliable in order to define crane’s real capacity. For this purpose, nine cranes with different sizes and capacities will be selected within the most relevant crane types (crawler lattice boom cranes, telescopic truck mounted cranes and tower cranes) in order to analyze several parameters. The technical and economic results will be compared according to the crane types and sizes of the machines. For each machine, capacities and load moments are obtained for several working radius as well as MLM and hourly costs of cranes. Hourly cost is calculated adding up depreciation, interests of invested capital, consumables, maintenance and operator’s cost. The results show clear limitations for the use of nominal capacity as a reference value for crane definition since cranes with the same nominal capacity can have capacity differences of 3 to 1 (or even bigger) when working on important radius. From this analysis, the use of MLM as crane name instead of nominal capacity is proposed since it is a much more reliable figure. Being aware of the difficulty of such change since nominal capacity is commonly used worldwide; specific actions are suggested to progress in that direction. One good example would be that manufacturers would include MLM in their official crane names which could also include the type as well. Even legal action can be taken by simply requiring to state this figure in the crane charts and characteristics of every machine. The analyzed ratio: hourly cost / MLM is really interesting since it leads to the conclusion that for all crane types, the efficiency of the hourly cost divided by capacity (given by MLM) increases when the crane capacity is higher. When crane sizes are smaller, this efficiency is lower and can fall dramatically in certain cases. The developments in the construction world regarding prefabrication and modularization mean bigger weights and dimensions, which create a demand for bigger crane capacities. On a first approach, it could be thought that crane costs could rise significantly because of this capacity hugh increase reducing in this way crane efficiency. From the results obtained here, it is clear that it is definitely not the case but the capacity increase of cranes will end up in higher efficiency levels for all crane types that have been studied.