Share to: share facebook share twitter share wa share telegram print page
Available for Advertising

Algoritmo divide e vencerás

Na cultura popular, divide e vencerás fai referencia a un refrán que implica resolver un problema difícil, dividíndoo en partes máis simples tantas veces como sexa necesario, ata que a resolución das partes tórnase obvia. A solución do problema principal constrúese coas solucións atopadas.

Nas ciencias da computación, o termo divide e vencerás (DYV) fai referencia a un dos máis importantes paradigmas de deseño algorítmico. O método baséase na resolución recursiva dun problema dividíndoo en dous ou máis subproblemas de igual tipo ou similar. O proceso continúa ata que estes chegan a ser o suficientemente sinxelos como para que se resolvan directamente. Ao final, as solucións a cada un dos subproblemas combínanse para dar unha solución ao problema orixinal. Esta técnica é a base dos algoritmos eficientes para case calquera tipo de problema como, por exemplo, algoritmos de ordenamento (quicksort, mergesort, entre moitos outros) e a transformada discreta de Fourier.

Deseño e posta en funcionamento

Os algoritmos divide e vencerás (ou divide and conquer, en inglés), deséñanse como procedementos xeralmente recursivos.

  AlgoritmoDYV(p: TipoProblema): TipoSolucion
    
    IF esCasoBase(p)
       return resolve(p)
    
    ELSE
       subproblemas: ARRAY OF TipoProblema
       subproblemas = divideEnSubproblemas(p)
       solucións_parciais: ARRAY OF TipoSolucion
    
       FOR EACH sp IN subproblemas
          solucións_parciais.push_back(AlgoritmoDYV(sp))
    
       return mestura(solucións_parciais)

Con todo, este tipo de algoritmos tamén se poden programar como un algoritmo non recursivo que almacene as solucións parciais nunha estrutura de datos explícita, como pode ser unha pila, cola, ou cola con prioridade. Esta aproximación dá maior liberdade ao deseñador, de forma que se poida escoller que subproblema é o que se vai a resolver a continuación, o que pode ser importante no caso de usar técnicas como Ramificación e anotación ou de optimización.

Vantaxes

Resolución de problemas complexos

Este modelo algorítmico é unha ferramenta potente para solucionar problemas complexos, tales como o clásico xogo das torres de Hanoi. Todo o que necesita este algoritmo é dividir o problema en subproblemas máis sinxelos, e estes noutros máis sinxelos ata chegar a uns subproblemas sinxelos (tamén chamados casos base). Unha vez aí, resólvense e combínanse os subproblemas en orde inversa ao seu inicio. Como dividir os problemas é, a miúdo, a parte máis complexa do algoritmo. Por iso, en moitos problemas, o modelo só ofrece a solución máis sinxela, non a mellor.

Eficiencia do algoritmo

Normalmente, esta técnica proporciona unha forma natural de deseñar algoritmos eficientes. Por exemplo, se o traballo de dividir o problema e de combinar as solucións parciais é proporcional ao tamaño do problema (n); ademais, hai un número limitado p de subproblemas de tamaño aproximadamente igual a n/p en cada etapa; e para rematar, os casos base requiren un tempo constante (Ou(1)); entón o algoritmo divide e vencerás ten por cota superior asintótica a Ou(nlogn). Esta cota é a que teñen os algoritmos divide e vencerás que solucionan problemas tales como ordenar e a transformada discreta de fourier. Ambos os procedementos reducen a súa complexidade, anteriormente definida por Ou(n2). Para terminar, cabe destacar que existen outros enfoques e métodos que melloran estas cotas.

Paralelismo

Este tipo de algoritmos adáptase de forma natural á execución en contornas multiprocesador, especialmente en sistemas de memoria compartida onde a comunicación de datos entre os procesadores non necesita ser planeada por adiantado, polo que subproblemas distintos pódense executar en procesadores distintos.

Acceso a memoria

Os algoritmos que seguen o paradigma Divide e vencerás, tenden naturalmente a facer un uso eficiente das memorias cachés. A razón é que unha vez que un subproblema é o suficientemente pequeno, el e todos os seus subproblemas pódense, en principio, solucionar dentro desa caché, sen ter acceso á memoria principal, que é da orde de decenas de veces máis lenta. Un algoritmo deseñado para aproveitar a memoria caché deste xeito chámase modelo caché-esquecediza, esquecediza porque non contén o tamaño da memoria como parámetro explícito. Por outra banda, estes algoritmos pódense deseñar para moitos problemas importantes, tales como ordenación, a multiplicación de matrices, de maneira que se faga un uso óptimo da caché. En contraste, o achegamento tradicional para explotar a caché é facer bloques, desta forma, o problema divídese explicitamente nas partes de tamaños apropiados para que se poida utilizar ao caché de forma óptima, pero soamente cando o algoritmo é mellorado para o tamaño específico da caché dunha máquina particular. A mesma vantaxe existe no que respecta a outros sistemas xerárquicos de memoria, por exemplo NUMA ou memoria virtual, así como para niveis múltiples de caché: unha vez que un subproblema é suficientemente pequeno, pode ser solucionado dentro dun nivel dado da xerarquía, sen ter que acceder ao máis alto (máis lento).

Con todo, a clase de optimalidad asintótica descrita aquí, análoga a notación Ou maiúscula, non fai caso de factores constantes, e o engadir melloras adicionais específicas da máquina e caché non é un requirimento para alcanzar o óptimo nun sentido absoluto.

Desvantaxes

A principal desvantaxe deste método é a súa lentitude na repetición do proceso recursivo: os gastos indirectos das chamadas recursivas á resolución dos subproblemas, xunto co feito de ter que almacenar a pila de chamadas (o estado en cada punto na repetición), poden empeorar calquera mellora ata entón lograda. Esta tara, con todo, depende do estilo de programación: con casos base o suficientemente grandes, redúcense os gastos indirectos da repetición das chamadas.

Exercicios

  • Multiplicación de Enteiros Grandes: algoritmo eficiente para multiplicar números de tamaño considerable, que se saen dos límites de representación, e non abordable cos algoritmos clásicos debido ao excesivo custo.
  • Subvector de suma máxima: Algoritmo eficiente para atopar subcadenas dentro dun vector evitando ter que percorrer todo o vector desde cada posición.

Read other articles:

dr. H. Zaini AbdullahGubernur Aceh ke-17Masa jabatan25 Juni 2012 – 25 Juni 2017PresidenSusilo Bambang YudhoyonoJoko WidodoWakilMuzakir ManafPendahuluTarmizi Abdul Karim(Pejabat Gubernur Aceh)PenggantiIrwandi Yusuf Informasi pribadiLahir24 April 1940 (umur 83)Beureunuen, Mutiara, Pidie, AcehPartai politikPartai Aceh (2007–2016)Suami/istriNiazah A HamidAnakNiza Ratna ZainiHasnita Zahra ZainiSri Wahyuni ZainiKarier militerPihak Gerakan Aceh MerdekaMasa dinas4 Desember ...

Національна система автомобільних доріг КанадиЗагальні даніКраїна  КанадаВідкрито 1988Довжина 38.021 км Національна система автомобільних доріг (фр. Réseau routier national) у Канаді є федеральним позначенням стратегічної транспортної мережі шосе та автомагістралей[1]. Систе...

Constitution of the State of PenangDate effective30 August 1957PurposeInstitution of a formal constitution for the State of Penang, a constituent state of Malaysia.The Constitution of Penang, introduced in 1957, is the fundamental law of the Malaysian state of Penang. The constitution, which came into effect just before the independence of the Malayan Federation (now Malaysia) from the British Empire, concerns the formation and proceedings of the state government.[1] It also esta...

Suburb of Sydney, New South Wales, AustraliaWest Pennant HillsSydney, New South WalesKoala ParkMapPopulation16,374 (2016 census)[1]Established1796Postcode(s)2125Elevation218 m (715 ft)Location21 km (13 mi) NW of Sydney CBDLGA(s) The Hills Shire Hornsby ShireState electorate(s)Castle HillFederal division(s) Mitchell Berowra Suburbs around West Pennant Hills: Castle Hill Cherrybrook Pennant Hills Baulkham Hills West Pennant Hills Pennant Hills North Rocks C...

Boa Vista dos Andradas   Distrito do Brasil   Localização Mapa de Boa Vista dos Andradas Coordenadas 20° 12' 08 S 49° 52' 29 O Estado  São Paulo Município Álvares Florence História Criado em 23 de dezembro de 1981 (41 anos) Características geográficas Área total 72,820 km² População total (2010) 522 hab. Boa Vista dos Andradas é um distrito do município brasileiro de Álvares Florence, no interior do estado de São Paulo[1...

Krisis TangierBagian dari Penyebab Perang Dunia IWilhelm berparade melalui Tangier.TanggalMaret 1905 – Mei 1906LokasiTangier, MorokoHasil Perjanjian AlgecirasPihak terlibat  France United Kingdom  German EmpireTokoh dan pemimpin Theophile Delcasse Wilhelm II lbsPerebutan Afrika Tunisia (1881) Sudan (1881) Mesir (1882) Wassoulou (1883) Madagaskar (1883) Eritrea (1887) Dahomey (1890) Mashonaland (1890) Dahomey (1892) Matabeleland (1893) Wassoulou (1894) Ashanti (1895) Etiopia (...

United States historic placeTrenton Battle MonumentU.S. National Register of Historic PlacesNew Jersey Register of Historic Places The monument in 2023Show map of Mercer County, New JerseyShow map of New JerseyShow map of the United StatesLocationTrenton, New JerseyCoordinates40°13′33″N 74°45′53″W / 40.22583°N 74.76472°W / 40.22583; -74.76472Built1891–1893ArchitectJohn H. DuncanArchitectural styleBeaux ArtsSculptors:William Rudolf O'DonovanThomas Eak...

United States historic placeFranklin Terrace HotelU.S. National Register of Historic Places Franklin Terrace Inn, January 2019Show map of North CarolinaShow map of the United StatesLocation67 Harrison Ave., Franklin, North CarolinaCoordinates35°11′1″N 83°23′2″W / 35.18361°N 83.38389°W / 35.18361; -83.38389Area2 acres (0.81 ha)Built1888 (1888)Architectural styleItalianateNRHP reference No.82003483[1]Added to NRHPJuly 29, 1982...

Halaman ini berisi artikel tentang Bupati Belitung Timur periode 2010-2015. Untuk Gubernur DKI Jakarta yang sekaligus adalah kakaknya yang kerap dipanggil Ahok, lihat Basuki Tjahaja Purnama. dr.Basuri Tjahaja PurnamaM.Gizi., Sp.GK.Bupati Belitung Timur ke-3Masa jabatan6 September 2010 – 8 September 2015[1]PresidenSusilo Bambang Yudhoyono Joko WidodoGubernurEko Maulana AliRustam EffendiWakilZarkaniPendahuluKhairul EfendiPenggantiYuslih Ihza Mahendra Informasi pribadiLahi...

Fictional character from EastEnders Soap opera character Kelly TaylorEastEnders characterPortrayed byBrooke KinsellaDuration2001–2004First appearanceEpisode 221711 December 2001 (2001-12-11)Last appearanceEpisode 2748/274918 June 2004 (2004-06-18)ClassificationFormer; regularIntroduced byJohn Yorke (2001)Louise Berridge (2002)In-universe informationOccupationMarket trader (clothing)Holiday rep (Spain) Kelly Taylor is a fictional character fr...

Gannett Company Тип Публичная компания Листинг на бирже NYSE: GCI Основание 1906 Основатели Фрэнк Ганнетт[en] Расположение Тайсонс-Корнер[en], Виргиния, США Ключевые фигуры Майк Рид (управляющий, президент и CEO)[1] Отрасль средство массовой информации Продукция журналы, газеты, интер...

1956 soundtrack album by Bing CrosbyHigh Society: A New High Fidelity Recording From the Sound Track of the MGM PictureSoundtrack album by Bing CrosbyReleased1956RecordedJanuary 1956GenreTraditional popLabelCapitolBing Crosby chronology Bing Sings Whilst Bregman Swings(1956) High Society: A New High Fidelity Recording From the Sound Track of the MGM Picture(1956) Bing with a Beat(1957) High Society is a 1956 soundtrack album, featuring Bing Crosby, Frank Sinatra, Louis Armstrong and G...

Steels Phases Ferrite Austenite Cementite Martensite Graphite Microstructures Spheroidite Pearlite Bainite Ledeburite Tempered martensite Widmanstätten structures Classes Crucible steel Carbon steel Spring steel Alloy steel Maraging steel Stainless steel High-speed steel Weathering steel Tool steel Other iron-based materials Cast iron Gray iron White iron Ductile iron Malleable iron Wrought iron Polycrystalline structure of malleable iron, in thin section magnified 100× Malleable iron is ca...

Barangay Bagbaguin, Sta. Maria, BulacanBarangayRegionLuzon TengahProvinsiBulacanMunicipalitySanta MariaPemerintahan • JenisBarangay • Barangay CaptainAnselmo J. RamosKetinggian40 m (130 ft)Zona waktuGMT (UTC+8)Kode pos3022Kode area telepon44 Bagbaguin adalah salah satu dari dua puluh empat barangay pada munisipalitas Santa Maria, Bulacan. Barangay ini berbatasan dengan Barangay Turo, Tabing Bakod, Poblacion, Sta. Clara dan San Gabriel. lbsSanta Maria, Bulacan...

Antonio Conte[1] Conte pada 2015Informasi pribadiTanggal lahir 31 Juli 1969 (umur 54)Tempat lahir Lecce, ItaliaTinggi 178 cm (5 ft 10 in)[2]Posisi bermain GelandangKarier junior LecceKarier senior*Tahun Tim Tampil (Gol)1985–1992 Lecce 89 (1)1992–2004 Juventus 295 (29)Total 384 (30)Tim nasional1994–2000 Italia 20 (2)Kepelatihan2006–2007 Arezzo2007–2009 Bari2009–2010 Atalanta2010–2011 Siena2011–2014 Juventus2014–2016 Italia2016–2018 Chelse...

Isla de La Toja Illa da Toxa (en gallego) Ubicación geográficaOcéano AltánticoContinente EuropaUbicación Ría de ArosaCoordenadas 42°29′22″N 8°50′55″O / 42.489444444444, -8.8486111111111Ubicación administrativaPaís España EspañaComunidad autónoma Galicia GaliciaSubdivisión Pontevedra PontevedraLocalidades El GroveCaracterísticas generalesSuperficie 1,1 km²Longitud 2,17 kmAnchura máxima 815 mPunto más alto ()Distancia a tie...

Questa voce sull'argomento sinagoghe è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Sinagoga di Castel GoffredoCastel Goffredo, Vicolo RemotoStato Italia RegioneLombardia LocalitàCastel Goffredo Coordinate45°17′53″N 10°28′33″E / 45.298056°N 10.475833°E45.298056; 10.475833Coordinate: 45°17′53″N 10°28′33″E / 45.298056°N 10.475833°E45.298056; 10.475833 ReligioneEbraismo Inizio costruzioneXV se...

American TV series or program Savage X Fenty ShowGenreFashionCreated byRihannaStarringRihannaCountry of originUnited StatesOriginal languageEnglishNo. of seasons4No. of episodes4ProductionExecutive producers Rihanna Jay Brown Jennifer Rosales Keith Baptista Jihye Song Michael Antinoro David Chamberlin Production locationsBrooklyn, NY Los Angeles, CAProduction companies Fenty Films Prodject Endeavor Content Original releaseNetworkAmazon Prime VideoReleaseSeptember 20, 2019 (2019-09-2...

For the village in Iran, see Chauk, Iran. Town in Magway Region, MyanmarChauk ချောက်TownThe Bagan-Chauk Road crossing, close to BaganChaukLocation in Myanmar (Burma)Coordinates: 20°53′N 94°49′E / 20.883°N 94.817°E / 20.883; 94.817Country MyanmarDivision Magway RegionDistrictMagway DistrictTownshipChauk TownshipPopulation (2014 Census) • Total44,289Time zoneUTC+6.30 (MMT) Chauk (Burmese: ချောက်) is a town and ri...

Danish oil and gas company Maersk OilNorth Sea oil and gas platform Tyra East, operated by Maersk Oil.Native nameMærsk Olie og Gas A/SFormerlyDansk BoreselskabTypePrivateIndustryOil and GasFoundedCopenhagen, Denmark 1962 (1962)FoundersArnold Peter MøllerMærsk Mc-Kinney MøllerHeadquartersEsplanaden 50, Copenhagen, DenmarkNumber of locationsAngolaGreenlandDenmarkAlgeriaKazakhstanUnited KingdomUnited StatesNorwayBrazilKenyaEthiopiaKurdistan Region of IraqArea servedWorldwideKey peopleJa...

Kembali kehalaman sebelumnya