Qual é a complexidade da multiplicação?

O algoritmo ingênuo que a gente faz com papel e lápis multiplica um dígito
do número "de baixo" por cada dígito do número "de cima", então dá \(O(n^2)\).
Depois soma as parcelas, que são tantas quanto o número de dígitos do número
"de baixo" o que dá \(O(n)\), isto é, a multiplicação como um todo continua
\(O(n^2)\).


Existe um algoritmo conhecido de complexidade menor? Alguma prova de cota inferior?

Add Done
    almost 2 years ago Gustavo Sacomoto said:

    Existe uma cota inferior trivial que é O(n), porque é necessário ler toda a entrada.

    Please sign in to answer question.

    4
    Arthur Azevedo de Amorim

    http://umamao.com/questions/qual-e-a-complex...rs/4c8906db79de4f1a20000312

    almost 2 years ago Gustavo Sacomoto said:

    Não conheço nenhum algoritmo melhor do que o FFT.

    almost 2 years ago Helder Ribeiro said:

    Esclarecendo: com "tem pelo menos essa complexidade" você quer dizer que isso é uma cota superior, claramente.

    4
    Pacífico

    http://umamao.com/questions/qual-e-a-complex...rs/4c8906de79de4f1a2000037d

    almost 2 years ago Gustavo Sacomoto said:

    Esse algoritmo é uma divisão e conquista que segue a mesma linha do algoritmo de Strassen pra multiplicação de matrizes. O truque está na forma como a recursão é fórmulada, a ideia é mesmo do algoritmo de Strassen (Tem no Cormen). Claro, isso não muda a cota inferior dada pelo FFT, já que \(n \log n \leq n^{\log_2{3}}\). O grau de \(n\) neste algoritmo do AHO é \(\log_2{3}\)

    over 1 year ago Helder Ribeiro said:

    Não entendi a parte da soma das meias multiplicações. Por que ele soma AC e BD e depois subtrai exatamente AC e BD de novo? (A propósito, suponho aqui que AB é a concatenação de A e B, e A*B é a multiplicação, certo?)

    12 months ago Caio Tiago Oliveira de Sousa said:

    Segundo a Wikipedia ( http://en.wikipedia.org/wiki/Karatsuba_algorithm ):

    x = x1*10 + x0 (ou seja, pra um número AB, x1 seria A e x0 seria B)
    y = y1*10 + y0 
    z2 = x1y1
    z1 = x1y0 + x0y1
    z0 = x0y0 
    xy = (x1*10 + x0)(y1*10 + y0) = z2*10² + z1*10 + z0
    

    Pra números maiores, se faz recursivamente. Na página da Wikipedia mencionada acima há algumas curiosidades, como evitar uma das multiplicações acima.

    Search results:
    Como tirar prova real de uma conta de multiplicação, divisão ...

    answers.yahoo.com/question/index?qid=20090528114209AAMWH70

    A operação inversa da multiplicação é a divisão e vice ... Preciso de uma maneira fácil de entender e ensinar como se… qual é a operação inversa da ...

    Qual o resultado da multiplicação? - Yahoo! Respostas

    br.answers.yahoo.com/question/index?qid=20080802150413AAsWDsd

    Melhor resposta: Edição *****… √5 . √(5+√5) . √(5-√5) A expressão: √(5+√5) . √(5-√5) Já que é uma multiplicação, podemos colocar ...

    Tabuada da Multiplicação do 10, 11 e 12 - YouTube

    www.youtube.com/watch?v=1DwdLM2a_eA

    Tabuada da Multiplicação do 10, 11 e 12 ... Neste vídeo vamos explicar a tabuada do ... qual o nome do programa?

    Complexidade computacional - Umamao - Find Together

    umamao.com/topics/Complexidade-computacional

    http://umamao.com/questions/Resolver-PLI-por...rs ... "Arthur Azevedo de Amorim"'s answer to "Qual é a complexidade da multiplicação?"

    E a tabuada?: Jogo da antecipação

    eatabuada.blogspot.com/2010/11/jogo-da-antecipacao.html

    Encontre o Vedoque que está escondido, para isso acerte o resultado da operação. Operações de adição, subtração e multiplicação, você escolhe qual.

    Search results provided by Bing | Keep searching on Bing / Google