Spelling suggestions: "subject:"beräkningskomplexitet""
1 |
Hierarkiska tillståndsmaskiner i C# / Hierarchical statemachines in C#Ekblom, Tom January 2013 (has links)
I det här arbetet skapas två implementationer av hierarkiska tillståndsmaskiner i C#, en med artificiell trädstruktur och en med arv för att representera tillståndshierarkin. Implementationernas tidskomplexitet och underhållbarhet utvärderas sedan i .NET och Mono. Experimenten utförs på Sameks tillståndsdiagram och visar på att den som implementeras med arv är snabbare än den med artificiell trädstruktur samt att .NET är snabbare än Mono. Underhållbarhetsanalysen visar på att den som är baserad på artificiell trädstruktur är lättare att underhålla.
|
2 |
Grön mjukvaruutveckling : Förhållandet mellan gröna val och standarderSöder, Felicia January 2023 (has links)
Att minska energikonsumtionen inom mjukvaruutveckling är ett högst aktuellt ämne då datacenter och dataöverföringar står för 0,9% av de globala växthusgasutsläppen. Syftet med den här studien var att undersöka förhållandet mellan gröna val och standarder i system med många utvecklare. Detta har gjorts genom att undersöka hur utvecklare på Monitor ERP System AB ser på hållbarhet under utvecklingsprocessen, samt hur en algoritms tidskomplexitet och val av primitiva datatyper och datastrukturer påverkar en mjukvarulösnings energikonsumtion. Arbetet genomfördes med mixad metod och använde intervjuer och experiment som datainsamlingsmetoder. Intervjuer hölls med utvecklare på Monitor ERP System för att undersöka vad som påverkade utvecklingsprocessen och skapa en uppfattning om var gröna val kunde ta plats. Experiment genomfördes för att undersöka hur algoritmers tidskomplexitet och val av primitiva datatyper och datastrukturer påverkar energikonsumtionen i en mjukvarulösning. Resultatet från intervjuerna visade att hållbarhet inte togs in som en faktor i utveck-lingsprocessen på grund av kunskapsbrist och att prestanda var en högt prioriterad faktor. Detta kombinerades med experimentets resultat att energikonsumtionen av en mjukvarulösning berodde på programinstruktioners exekveringstid i kombination med en algoritms tidskomplexitet. Slutsatsen av arbetet är att grön mjukvaruutveckling kan tas in i system med standarder genom att skapa nya gröna standarder med fokus på prestanda och lättillgänglig sammanställning av gröna val. / Reducing the energy consumption in software development is a highly relevant subject, as data centers and data transmissions make up 0.9% of the global carbon emissions. The purpose of this study was to examine the relationship between green choices and standards in systems with many developers. This was investigated by examining how developers at Monitor ERP System AB view sustainability during the development process, as well as how an algorithm’s time complexity and choices of primitive data types and data structures influence a software solution’s energy consumption. The study was conducted using mixed method with interviews and an experiment as data collection methods. Interviews were held with developers at Monitor ERP System to determine what affected the development process and create a perception for where green choices could take place. Experiments were conducted to investigate how an algorithm’s time complexity and choices of primitive data types and data structures affect the energy consumption of a software solution. The interview results show that sustainability was not considered during the development process due to a lack of knowledge and that performance was a heavily prioritized factor. This was combined with the experiment results that energy consumption was dependent on the execution time of program instructions in combination with an algorithm’s time complexity. The conclusion was that green software development can take place in systems with standards by creating new green standards, focusing on performance and easy access to a collection of green choices.
|
3 |
Approximating multi-commodity max-flow in practice / Approximera multi-commodity max-flow i praktikenEmanuelsson, Kristoffer January 2016 (has links)
Garg and Könemann developed a framework for computing multi-commodity maximum flow in a graph, later called a multiplicative weight update framework. Madry used this framework and exchanged Dijkstra’s algorithm to a dynamic graph algorithm for approximating the shortest paths through the graph. With this approachhe developed the fastest algorithm to date for calculating the multi-commodity maximum flow, with a running time of Õ(mnϵ2). This project have implemented the algorithm and compared it with a slightly modified version of the former fastest algorithm by Fleischer with a time complexity of Õ(m2ϵ2). The results show that Madry’s algorithms is slower than Fleischer’s algorithm in practice for graph with less than 100 million edges. This project also computed the space needed for the dynamic algorithms used in Madry’s algorithm and can show a resulting space complexity of O(n(n+m)log2n), compared to the space complexity of Fleischer’s algorithm of O(n). For a graph with 100 million edges, 50 million Gb of space is needed to use Madry’s algorithm, which is more than our test computers had. We can therefore conclude that Madry’s algorithm is not usable in real life today, both in terms of memory usage and time consumption. / Garg and Könemann utvecklade ett framework för att beräkna multi-commodity maximum flöde i en graf sedan kallat ett multiplicative weight update framework. Madry använde detta framework och bytte ut Dijkstra’s algoritm mot en dynamisk grafalgoritm för att kunna approximera kortaste vägen i grafen. Med detta angeppssätt utvecklade han den idag snabbaste algoritmen för beräkning av multicommodity maximum flöde med en tids komplexitet på Õ(mnϵ2). Det här projektet har implementerat hans algoritm och jämfört den med den tidigare snabbaste algoritmen skapad av Fleischer med en tidskomplexitet på Õ(m2ϵ2). Resultatet visar att Madrys algoritm är långsammare än Fleischers algoritm i praktiken för grafer med färre än 100 miljoner kanter. Detta projekt beräknade också minnesåtgången för de dynamiska algoritmerna i Madrys algorithm och kan visa en resulterade minneskomplexitet på O(n(n+m)log2n), jämfört med Fleischers algoritm på O(n). För en graf med 100 miljoner kanter så behövs 50 miljoner Gb av minne för att kunna använda Madrys algoritm, vilket var mer än våra testdatorer hade. Vi kan därför konstatera att Madrys algoritm inte är användbar i praktiken idag, både när det kommer till minnesanvändning och till tidsåtgång.
|
Page generated in 0.0587 seconds