How the Mathematical Conundrum Called the ‘Knapsack Problem’ Is All Around Us

Imagine you’re a thief robbing a museum exhibition of tantalizing jewelry, geodes and rare gems. És novo nisto, por isso só trouxeste uma mochila. Seu objetivo deve ser escapar com os objetos mais valiosos sem sobrecarregar o seu saco até que ele quebra ou se torna muito pesado para transportar. Como você escolhe entre os objetos para maximizar o seu saque? Você poderia listar todos os artefatos e seus pesos para resolver a resposta à mão., Mas quanto mais objetos existem, mais tributando este cálculo se torna para uma pessoa—ou um computador.

este dilema ficcional, o “problema da mochila”, pertence a uma classe de problemas matemáticos famosos por empurrar os limites da computação. E o problema da mochila é mais do que uma experiência de pensamento. “Um monte de problemas que enfrentamos na vida, seja em negócios, finanças, incluindo logística, carregamento de navios de contêineres, carregamento de aeronaves — estes são todos problemas de Mochila”, diz Carsten Murawski, professor da Universidade de Melbourne, na Austrália., “De uma perspectiva prática, o problema da mochila é onipresente na vida cotidiana.”

pesquisadores uma vez se aproveitaram da complexidade do problema para criar sistemas de segurança do computador, mas estes podem agora ser rachados uma vez que o problema foi tão bem estudado. Hoje, como a tecnologia capaz de quebrar as fechaduras em nossas comunicações digitais tear no horizonte, o problema da mochila pode inspirar novas maneiras de se preparar para essa revolução.

All or Nothing

The knapsack problem belongs to a class of “NP” problems, which stands for “nondeterministic polynomial time.,”O nome refere como esses problemas forçam um computador a passar por muitos passos para chegar a uma solução, e o número aumenta dramaticamente com base no tamanho das entradas—por exemplo, o inventário de itens para escolher ao encher uma mochila particular. Por definição, os problemas NP também têm soluções que são fáceis de verificar (seria trivial verificar que uma lista particular de itens cabe, de fato, em uma mochila).,

“the problem the theoreticians started to look was how eficientemente a particular task can be carried out on a computer”, writes Keith Devlin in the book the Millennium Problems. Por exemplo: dada uma lista de 1 milhão de artefatos de museus com seus pesos e valores monetários, e uma mochila limitada a 25 libras, um computador teria que executar todas as combinações possíveis para gerar o único com o transporte mais lucrativo. Dado um tempo indefinido, um computador poderia usar Força bruta para otimizar grandes casos como este, mas não em prazos que seriam práticos., “nós pensamos que você poderia cobrir toda a terra com processadores e executá-los até a morte do calor do universo e ainda não resolver casos relativamente pequenos de versões apropriadas desses problemas”, diz Noah Stephens-Davidowitz, um pesquisador da Microsoft no Instituto Simons em Berkeley, Califórnia.

Alguns problemas NP, como a mochila exemplo, têm uma propriedade especial: No início da década de 1970, Stephen Cook e Richard Karp, mostrou que uma variedade de problemas NP pode ser convertido em um problema de lógica formal., Portanto, se alguém pudesse ser resolvido e verificado eficientemente com um algoritmo, todos eles poderiam. Esta propriedade é conhecida como ” NP completude.”

uma das questões mais teimosas na ciência da computação e matemática é se esses problemas NP, incluindo o problema knapsack, são verdadeiramente diferentes dos problemas P, aqueles que podem ser resolvidos no que é chamado de tempo polinomial. Se P=NP, então é possível resolver todos os problemas cujas soluções são fáceis de verificar, diz Stephens-Davidowitz. Assim, se esta desigualdade persistir, o problema geral da mochila será sempre difícil.,

Manter as Coisas em Segredo

Criptografia de pesquisadores amor de problemas que são difíceis de computadores para resolver, porque eles são úteis em digital com criptografia de mensagens. Códigos de segurança tipo Knapsack-problema não são úteis para isso, pois eles são facilmente decifrados, mas métodos mais complicados inspirados por este problema estão sendo desenvolvidos, e pode um dia desempenhar um papel na superação da próxima geração de computação.,

In an early knapsack-style encryption method, one person’s private key would be a list of numbers in which each is larger than the sum of its predecessors. Intercâmbios envolvendo essa pessoa usariam uma chave pública que parece aleatória, mas é composta de números da primeira lista com transformações específicas aplicadas. Por exemplo, se a chave pública é , a mensagem transmitida “1, 0, 0, 1” seria codificado como 2+0+0+5 = 7 (porque 2*1=2, 3*0=0, 4*0=0, e 5*1=5). Os números secretos envolvidos nas conversões entre teclas permitem que a mensagem original seja revelada.,

para que isso funcione, um computador também deve descobrir se qualquer número dado pode ser escrito como a soma de um subconjunto de números na chave privada, que se torna um problema fácil de Mochila. É como encher uma mochila com um lote de itens de tamanho diferente-como um anel, um quadro, um carro e uma casa — e saber que você não pode colocar em mais nada depois de ter verificado que o anel e a pintura encaixam. Os criptógrafos Ralph Merkle e Martin Hellman descreveram esta ideia em 1978, mas outros descobriram como decifrá-la no início da década de 1980.,

trocas de informações privadas na internet de hoje muitas vezes usam chaves envolvendo grandes números primos, e enquanto factoring números grandes é difícil, não é pensado para pertencer à mesma classe “NP completo” que o problema knapsack. No entanto, os cientistas da computação já estão se preparando para um futuro no qual os computadores quânticos podem desbloquear rapidamente essas chaves. computadores quânticos dependem dos princípios da mecânica quântica, que diz que uma partícula não está localizada em uma única posição, mas tem uma probabilidade de estar em muitos lugares diferentes, a menos que seja presa e medida., Enquanto computadores normais codificam informações em 0s e 1s, cada “qubit” em um computador quântico teria uma ampla gama de estados possíveis relacionados às propriedades das partículas. Computadores quânticos não seriam úteis para navegar na internet ou escrever um roteiro em um café, mas eles libertariam o poder nunca visto em alguns tipos de problemas de matemática. Infelizmente, esses problemas matemáticos constituem as bases da cibersegurança moderna.”de certa forma, tivemos muito azar”, Diz Stephens-Davidowitz., “Conseguimos descansar a segurança da internet na dureza de alguns dos poucos problemas que parecem ser difíceis para computadores clássicos, mas fáceis para computadores quânticos.”

enquanto a computação quântica está em sua infância, alguns pesquisadores dizem que estamos atrasados na preparação para ela. Em 2016, o Instituto Nacional de normas e Tecnologia (NIST) pediu novos métodos de criptografia de resistência quântica, anunciando 26 semi-finalistas no ano passado. Um desses tipos de algoritmo que está sendo desenvolvido é chamado criptografia baseada em retículos., Em vez de usar números, ele usa chaves que existem em múltiplas dimensões e envolvem a formação de uma estrutura de estrutura feita de pontos igualmente espaçados no espaço. A questão é onde esses pontos estão, e quão próximo um dado ponto aleatório Está das coordenadas de uma estrutura. Em seu coração, este é um problema de mochila em mais de uma dimensão.

“A minha actual obsessão é tentar descobrir quão seguras estas coisas baseadas em retículos são, idealmente antes de as usarmos para gerir a internet”, diz Stephens-Davidowitz.,

“This means that we need quantum-resistant cryptography much earlier than we expect quantum computer to reach their full potential”, said Leo Ducas, researcher at the Centrum Wiskunde & Informatica in The Netherlands.

além da pesquisa de criptografia, o problema da mochila e seus primos completos NP estão em toda parte na vida real. Por exemplo, você pode ter ouvido falar do problema do “caixeiro viajante”, que também é NP completo., O desafio aqui é encontrar o caminho mais curto para um vendedor para viajar entre um determinado número de cidades antes de retornar ao ponto de partida. Intimamente relacionado é o problema de roteamento do veículo, que considera vários veículos que fazem entregas.Luciana Buriol, Professora Associada da Universidade Federal do Rio Grande do Sul, atacou este problema para tentar encontrar novas abordagens para o setor de saúde., Ela trabalhou com um serviço de assistência em casa onde médicos e enfermeiras visitam pacientes em suas casas e ajudaram a otimizar suas rotas, dado um número limitado de carros disponíveis para transporte. “dados 300 pacientes e 15 carros, você não pode encontrar a solução em um tempo razoável”, disse ela. “Se você tem dias para executar o algoritmo você vai encontrar – mas você tem que encontrar em menos de 2 horas, caso contrário você nunca vai usar na prática.”

nenhum algoritmo de tamanho único pode resolver estes problemas., Em vez disso, Buriol encontra formas rápidas de chegar a aproximações úteis para que elas possam ser postas em ação. para aqueles que não são cientistas da computação e enfrentam este tipo de problemas na vida real, quão bons somos? O grupo de Murawski encontra resultados preliminares de que quando você dá aos humanos problemas como mochila, nós também lutamos com força., Em pequenos experimentos em que os participantes foram convidados a encher uma mochila em uma tela de computador com itens Carregando valores declarados e pesos, as pessoas tendem a ter um tempo mais difícil otimizar o conteúdo da mochila como o número de opções de itens aumentou—os mesmos computadores problema têm. Os pesquisadores dizem que esta descoberta pode estar relacionada a” sobrecarga de escolha”: a forma como congelamos quando damos muitas escolhas, mesmo em situações simples como comprar geleia em uma mercearia.no entanto, no mundo real, sobrevivemos. Prestar atenção também é um problema de Mochila., Ao dirigir, enfrentamos uma cornucópia de possíveis distrações, como pássaros, nuvens, rádio e edifícios circundantes. Nós devemos colocar apenas os estímulos mais pertinentes em nossas mochilas mentais—e geralmente, nós fazemos.

a questão permanece: dado que os problemas completos de NP são mais difíceis para computadores do que outros tipos de conundrums, eles também são mais difíceis para as pessoas? Os limitados resultados iniciais sugerem que poderiam ser, o que surpreendeu Murawski.,

“Se isso acontece, isso sugere que a dureza de tais problemas é uma característica dos problemas—uma propriedade da natureza—e não no olho do observador”, diz Murawski.

Share

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *