Share to: share facebook share twitter share wa share telegram print page

Análise amortizada

Na ciência da computação, análise amortizada é um método para analisar a complexidade de tempo de um algoritmo ou quantos recursos computacionais, especialmente de tempo ou de memória no contexto de programas de computadores, ele leva para executar. Diferente das outras análises que focam no tempo de execução no pior caso, a análise amortizada examina como um algoritmo irá se comportar na prática ou na média.[1]

Enquanto certas operações de um dado algoritmo tenham um grande custo em recursos, outras operações talvez não sejam tão custosas. A análise amortizada considera os dois tipos de operações juntos. Isso pode cobrir tipos diferentes de dados de entrada, tamanho da entrada, e outros fatores que afetam o desempenho do algoritmo.[2]

História

A análise amortizada inicialmente surgiu de um método chamado de análise agregada, que hoje é incorporada pela análise amortizada. No entanto, essa técnica foi primeiramente formalmente introduzida por Robert Tarjan em 1985 em sua publicação Amortized Computational Complexity, na qual ele comentou a necessidade de uma forma mais útil de análise de algoritmos do que os métodos probabilístico que eram normalmente mais usados. Amortização foi inicialmente usada para tipos muito específicos de algoritmos, particularmente aqueles que envolviam árvores binárias e operações de união. No entanto, agora é muito presente e usada para a análise de vários outros algoritmos também.

Método

Esse método requer conhecimento de quais sequencias de operações são possíveis. Isso normalmente é o caso com estruturas de dados, que possuem estado persistente entre operações. A ideia básica é que uma operação no pior caso pode alterar o estado de tal forma que o pior caso não possa ocorrer novamente por um longo tempo, assim "amortizando" seu custo.

Geralmente existem três métodos para realizar a análise amortizada: o método de análise agregada, o método contabilizador e o método potencial. Todos esses dão as mesmas respostas e a diferença em seu uso é principalmente circunstancial e por preferência individual.[3]

  • O método de análise agregada determina o limitante superior T(n) no custo total de uma sequencia de n operações, e então calcula o custo amortizado como sendo T(n) / n.[3]
  • O método contabilizador determina o custo individual de cada operação, combinando o tempo de sua execução imediata com a influencia no tempo de execução em futuras operações. Normalmente, muitas operações de curta execução acumulam uma "dívida" de estados desfavoráveis em pequenos incrementos, enquanto raras operações de longa execução a diminuem drasticamente.[3]
  • O método potencial é parecido com o método contabilizador, mas com operações iniciais "sobretaxadas" para cobrir o custo não contabilizado de operações futuras.[3]

Exemplos

Arranjo dinâmico

Análise Amortizada da operação de inserir em um arranjo dinâmico. Cada coluna é uma iteração da inserção, a altura das colunas representa o tempo utilizado.

Considere um arranjo dinâmico que cresce em tamanho com cada elemento adicionado como um ArrayList em Java. Se nós começarmos com um arranjo dinâmico de tamanho 4, ele terá um tempo constante para inserir 4 elementos dentro dele. Entretanto inserir um quinto elemento nesse arranjo tomará mais tempo, pois o arranjo terá que criar criar um novo arranjo de duas vezes o tamanho atual (8), copiar todos os elementos antigos para o novo e apenas então adicionar o novo elemento. As próximas três inserções iriam tomar tempo constante até que a quarta inserção iria exigir mais tempo para dobrar o tamanho do arranjo novamente.

Em geral. se considerássemos um número arbitrário de inserções n em um arranjo de tamanho n, nós notaríamos que todas as operações de inserção tomariam tempo constante menos a última, que tomaria tempo O(n) para realizar a operação de dobrar o tamanho. Como existiriam n operações nós podemos pegar a média disso e concluir que a inserção de elementos em um arranjo dinâmico leva :, tempo constante.[3]

Fila

Vamos olhar para a implementação em Ruby de uma Fila, uma estrutura de dados FIFO :

class Queue
  def initialize
    @input = []
    @output = []
  end

  def enqueue(element)
    @input << element
  end

  def dequeue
    if @output.empty?
      while @input.any?
        @output << @input.pop
      end
    end

    @output.pop
  end
end

A operação de enfileiramento é sempre de tempo constante, pois ela apenas insere um elemento no arranjo de entrada. Essa operação não depende dos tamanhos de entrada ou saída, então apenas toma tempo constante.

Entretanto a operação de desenfileirar é mais complicada. Se o arranjo de saída já tiver elementos nele, então o programa leva tempo constante para realizar essa operação. Mas se a saída estiver vazia, o tempo para adicionar todos os elementos do arranjo de entrada para o arranjo de saída será de tempo O(n), com n sendo o tamanho do arranjo de entrada. Agora, se nós já copiamos os n elementos da entrada, então podemos realizar n operações de desenfileirar com cada uma sendo de tempo constante antes de termos que realizar outra operação custosa de copiar todos os elementos da entrada novamente. Assim, em prática, o tempo de execução amortizado de desenfileirar é de  O(1).[4]

Uso geral

  • Em uso geral, um "algoritmo amortizado" é aquele que em que uma análise amortizada mostrou um bom desempenho.

Referências

  1. «Lecture 7: Amortized Analysis» (PDF). cs.cmu.edu/. Consultado em 14 de março de 2015 
  2. Rebecca Fiebrink (2007), Amortized Analysis Explained (PDF), consultado em 3 de maio de 2011 
  3. a b c d e «Lecture 20: Amortized Analysis». cs.cornell.edu/. Cornell University. Consultado em 14 de março de 2015 
  4. Grossman, Dan. «CSE332: Data Abstractions» (PDF). cs.washington.edu. Consultado em 14 de março de 2015 

Bibliografia

Read other articles:

Karnataka State Film Award for Best Actress2018 recipient: Meghana RajAwarded forAward for Best Performance of an actress in Leading RoleSponsored byGovernment of KarnatakaReward(s)Silver Medal₹ 20,000First awarded1967–68Last awarded2018Most recent winnerMeghana RajHighlightsTotal awarded51First winnerKalpana The Karnataka State Film Award for Best Actress is a state film award of the Indian state of Karnataka given during the annual Karnataka State Film Awards. The award honours Kannada ...

 

此條目可参照英語維基百科、烏克蘭語維基百科和俄語維基百科相應條目来扩充。 (2023年10月1日)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记{{Translated page}}标签。 「Z」符號在方格內的「Z」符號「V」符號「O」符號2022年俄羅斯入侵烏克...

 

The process of recycling used engine and motor oils Waste oil collection for recycling at the Fairgreen Amenity Site, Portadown Automotive oil recycling involves the recycling of used oils and the creation of new products from the recycled oils, and includes the recycling of motor oil and hydraulic oil. Oil recycling also benefits the environment:[1] increased opportunities for consumers to recycle oil lessens the likelihood of used oil being dumped on lands and in waterways. For exam...

American automotive media company Motor Trend Group, LLCFormerly Source Interlink Media (2007–2014) TEN: The Enthusiast Network (2014–2018) TypeSubsidiaryIndustryMass mediaFounded2007HeadquartersSilver Spring, Maryland, United StatesProductsMagazinesTelevisionOwnerWarner Bros. DiscoveryParentWarner Bros. Discovery SportsWebsitewww.motortrendgroup.com Motor Trend Group, LLC, formerly known as Source Interlink Media and TEN: The Enthusiast Network, is a media company that specializes in ent...

 

В Википедии есть статьи о других людях с такой фамилией, см. Зиновьев. Юрий Константинович Зиновьев Дата рождения 1893 Место рождения Пенза, Российская империя Дата смерти 19 января 1949(1949-01-19) Место смерти Аугуста, Сиракуза, Сицилия, Италия Принадлежность  Российская и

 

Wilson Bentley Información personalNacimiento 9 de febrero de 1867 Jericho (Estados Unidos) Fallecimiento 23 de diciembre de 1931 (64 años)Jericho (Estados Unidos) Causa de muerte Neumonía Nacionalidad EstadounidenseInformación profesionalOcupación Agricultor y fotógrafo Seudónimo Bentley, Wilson Alwyn [editar datos en Wikidata] Fotografías de copos de nieve hechas por Wilson Bentley cerca de 1902. Wilson Alwyn Snowflake Bentley (9 de febrero, de 1865 – 23 de diciembre, de...

هيرفينغ لوزانو (بالإسبانية: Hirving Lozano)‏  معلومات شخصية الاسم الكامل هيرفينغ رودريغو لوزانو باهينا الميلاد 30 يوليو 1995 (العمر 28 سنة)مدينة مكسيكو، المكسيك الطول 1.77 م (5 قدم 9 1⁄2 بوصة) مركز اللعب وسط الجنسية مكسيكي معلومات النادي النادي الحالي بي إس في آيندهوفن الرق

 

A bandeira do povo Assírio (Siríaco: ܐܬܐ ܕܐܬܘܪ, Ata D'Atoor) é a bandeira que universalmente representa a nação Assíria na sua terra nativa e na diáspora. A Aliança Universal Assíria concebeu a bandeira em 1968 e adoptou-a em 1971. Consiste de um círculo dourado ao centro, representativo do sol, que, pelas suas chamas, gera calor e luz para suster a terra e todas as coisas vivas. A estrela de quatro pontas que rodeia o sol simboliza a terra, e a sua cor azul simboliza tranqu...

 

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: Is Religion Dangerous? – news · newspapers · books · scholar · JSTOR (August 2023) (Learn how and when to remove this template message) This article is w...

Species of butterfly Spotted mystic Lethe tristigmata in Lepidoptera Indica Scientific classification Kingdom: Animalia Phylum: Arthropoda Class: Insecta Order: Lepidoptera Family: Nymphalidae Genus: Lethe Species: L.  tristigmata Binomial name Lethe tristigmataElwes, 1887[1] Lethe tristigmata, the spotted mystic, is a species of Satyrinae butterfly found in the Indomalayan realm (Sikkim, Nepal) .[2][3] In 2015, it was also recorded from Neora Valley National Park...

 

Sporting event delegationCanada at theOlympicsIOC codeCANNOCCanadian Olympic CommitteeWebsitewww.olympic.ca (in English and French)Medals Gold 125 Silver 158 Bronze 188 Total 471 Summer appearances19001904190819121920192419281932193619481952195619601964196819721976198019841988199219962000200420082012201620202024Winter appearances192419281932193619481952195619601964196819721976198019841988199219941998200220062010201420182022Other related appearances1906 Intercalated Games Clara Hughes at ...

 

Dích dắc lớn song song namtại Thế vận hội Mùa đông lần thứ XXIIIĐịa điểmCông viên Phoenix BogwangThời gian24 tháng 2Số VĐV32 từ 13 quốc giaNgười đoạt huy chương Nevin Galmarini  Thụy Sĩ Lee Sang-ho  Hàn Quốc Žan Košir  Slovenia← 20142022 → Trượt ván trên tuyết tạiThế vận hội Mùa đông 2018Vòng loại Nhào lộn trên khôngnamnữLòng mángnamnữDích dắc lớn song song...

Computer program which combines multiple object files into a single file An illustration of the linking process. Object files and static libraries are assembled into a new library or executable In computing, a linker or link editor is a computer system program that takes one or more object files (generated by a compiler or an assembler) and combines them into a single executable file, library file, or another object file. A simpler version that writes its output directly to memory is called t...

 

German photographer Ilse BingSelf portrait in 1931Born(1899-03-23)23 March 1899Frankfurt, GermanyDied10 March 1998(1998-03-10) (aged 98)Manhattan, New York, United StatesNationalityGermanOccupationPhotographerSpouse Konrad Wolff ​(m. 1937)​ Ilse Bing (23 March 1899 – 10 March 1998) was a German avant-garde and commercial photographer who produced pioneering monochrome images during the inter-war era. Biography Background and early life Bing was born to a we...

 

Australian screenwriter and actor Emma and Craig Pearce at The Great Gatsby premiere in Sydney in 2013 Craig Pearce is an Australian screenwriter and actor. Pearce's acting credits include a regular role in soap opera The Restless Years in 1981, guest roles in Bellamy, E Street[1] and G.P., and film roles in I Can't Get Started (1985), Nightmaster (1988), To Make a Killing (1988), Mad Bomber in Love (1992) and The Seventh Floor (1994). Pearce co-wrote the play Strictly Ballroom and th...

Japanese glass company AGC Inc.Headquarters at Shin-Marunouchi Building in Marunouchi, Chiyoda, TokyoNative nameAGC株式会社Romanized nameEijīshī kabushiki gaishaFormerlyAsahi Glass Company, Ltd.TypePublic KKTraded asTYO: 5201Nikkei 225 ComponentIndustryGlassCeramicsFoundedAmagasaki, Hyōgo, Japan (September 8, 1907 (1907-09-08))HeadquartersShin-Marunouchi Building, Marunouchi, Chiyoda-ku, Tokyo 100-8405, JapanKey peopleTakuya Shimamura (CEO and President)ProductsGlass pro...

 

У Вікіпедії є статті про інших людей із прізвищем Жук. Жук Михайло Іванович Автопортрет (ксилографія). Чернігів.Народження 2 жовтня 1883(1883-10-02)Каховка, Дніпровський повіт, Таврійська губернія, Російська імперіяСмерть 7 червня 1964(1964-06-07)[1] (80 років)  Одеса, Українська РС�...

 

1998 concert tour by Mariah Carey Butterfly World TourTour by Mariah CareyButterfly World Tour book coverAssociated albumButterflyStart dateJanuary 11, 1998 (1998-01-11)End dateFebruary 21, 1998 (1998-02-21)Legs3No. of shows11Mariah Carey concert chronology Daydream World Tour(1996) Butterfly World Tour(1998) Rainbow World Tour(2000) The Butterfly World Tour was the third concert tour by American singer-songwriter Mariah Carey. The tour promoted Carey's album But...

Oscar Straus Der letzte Walzer (The Last Waltz) is a Viennese operetta in three acts, with music by Oscar Straus, to a libretto by Julius Brammer and Alfred Grünwald. It opened at the Berliner Theater [de] in Berlin on 12 February 1920 and starred Fritzi Massary. It was first given in Vienna at the Theater an der Wien on 5 October 1923, with Betty Fischer [de], Max Hansen, and Richard Tauber in leading roles. English adaptations An English adaptation for Broadway wa...

 

Railway station in Kent, England Martin MillMartin Mill stationGeneral informationLocationMartin Mill, DoverEnglandGrid referenceTR341466Managed bySoutheasternPlatforms2Other informationStation codeMTMClassificationDfT category EHistoryOpened15 June 1881Original companyDover and Deal Joint RailwayPre-groupingDover and Deal Joint RailwayPost-groupingSouthern RailwayPassengers2017/18 59,2382018/19 63,2482019/20 70,6482020/21 19,9562021/22 37,658 NotesPassenger statistics from the Office of Rail...

 
Kembali kehalaman sebelumnya