fbpx
Sigmoidal
  • Home
  • Cursos
  • Pós-Graduação
  • Blog
  • Sobre Mim
  • Contato
Sem Resultado
Ver Todos Resultados
  • English
  • Home
  • Cursos
  • Pós-Graduação
  • Blog
  • Sobre Mim
  • Contato
Sem Resultado
Ver Todos Resultados
Sigmoidal
Sem Resultado
Ver Todos Resultados

Desvendando o Problema da Mochila (Knapsack Problem)

Rafael Duarte por Rafael Duarte
janeiro 11, 2023
em Teoria
0
36
COMPARTILHAMENTOS
1.2k
VIEWS
Publicar no LinkedInCompartilhar no FacebookCompartilhar no Whatsapp

O Problema da Mochila, também conhecido como “Knapsack Problem”, é um desafio clássico na teoria da otimização combinatória. Ele tem aplicações em uma variedade de campos, oferecendo uma abordagem eficaz para resolver problemas de alocação de recursos limitados.

 

O que é o Problema da Mochila?

 

Imagine que você está preparando uma mochila para uma trilha, e precisa levar a melhor combinação de itens possível. Cada item tem um peso e um valor associado.

O objetivo é selecionar os itens de forma a maximizar o valor total, respeitando a capacidade máxima da mochila.

 

Existem duas versões principais do problema:

 

  1. Problema da Mochila 0/1

   – Cada item pode ser incluído (1) ou excluído (0), sem possibilidade de frações. Nesse caso, a quantidade de possibilidades é reduzida, e o problemas é um pouco mais simples, pois não podemos dividir os itens.

 

  1. Problema da Mochila Fracionária

   – Frações de itens podem ser incluídas, permitindo uma abordagem mais flexível. Dessa forma, há mais possibilidades, e mais pontos a serem observados.

 

Relevância e Aplicações

 

O Problema da Mochila é relevante em várias áreas devido à sua capacidade de modelar situações do mundo real que envolvem decisões de alocação de recursos. Algumas das áreas de aplicação incluem:

 

  1. Logística e Supply Chain

   – Otimização de carga em caminhões e contêineres para maximizar o valor dos itens transportados. Também podemos levar em consideração questões de rotas, abastecimento, e muito mais.

 

  1. Finanças

   – Alocação de recursos em carteiras de investimento, considerando limitações de capital. 

 

  1. Biologia

   – Seleção de genes para maximizar a aptidão em algoritmos genéticos.

 

  1. Computação Gráfica

   – Otimização de texturas e elementos gráficos em jogos ou simulações.

 

  1. Publicidade Online

   – Seleção de anúncios para maximizar o retorno sobre o investimento considerando limitações de espaço. Aqui também podemos falar sobre Marketing Mix Modeling, otimizando investimento em diferentes canais de mídia.

 

Possíveis Soluções para o Problema da Mochila

 

  1. Métodos Brutos

   – Soluções de força bruta, como a verificação de todas as combinações possíveis, são viáveis para conjuntos de dados pequenos. No entanto, sua eficácia diminui rapidamente com conjuntos maiores de dados devido à explosão combinatória.

 

  1. Programação Dinâmica

   – A abordagem de programação dinâmica é eficaz para o Problema da Mochila 0/1. Ela divide o problema em subproblemas menores, resolvendo-os e combinando as soluções para obter a solução global.

 

   – A tabela de programação dinâmica é preenchida gradualmente, começando pelos subproblemas menores até alcançar a solução completa.

 

  1. Algoritmo Guloso (Greedy)

   – O algoritmo guloso escolhe o item de maior valor ou benefício por unidade de peso em cada iteração. Embora seja computacionalmente eficiente, não garante sempre a solução ótima, especialmente no Problema da Mochila 0/1.

 

  1. Algoritmos Metaheurísticos

   – Algoritmos como algoritmos genéticos, algoritmos de colônia de formigas e simulated annealing são eficazes para encontrar soluções aproximadas em problemas complexos.

 

Exemplo Prático

 

Considere uma mochila com capacidade de 10 unidades e os seguintes itens:

 

Knapsack Problem

 

Utilizando programação dinâmica, podemos construir a seguinte tabela:

 

Knapsack Problem

 

A célula na última linha e última coluna (20) indica o valor máximo que podemos obter com a capacidade da mochila especificada.

O Problema da Mochila é um desafio fascinante e versátil que oferece insights valiosos em situações práticas de alocação de recursos.

Compreender suas aplicações, desafios e diversas abordagens de solução permite a otimização de decisões em uma variedade de setores.

Ao desvendar as complexidades do Problema da Mochila, podemos aproveitar seu potencial para aprimorar estratégias e maximizar o valor em situações do mundo real.

Avance com curiosidade, experimente e descubra as possibilidades que o Problema da Mochila oferece no domínio da otimização e tomada de decisões.



Compartilhar3Compartilhar14Enviar
Post Anterior

Como escrever uma Cover Letter poderosa para Data Science

Próximo Post

Como usar OpenCV e Python para calibrar câmeras

Rafael Duarte

Rafael Duarte

Relacionado Artigos

O Que é Amostragem e Quantização no Processamento de Imagens
Artigos

O Que é Amostragem e Quantização no Processamento de Imagens

por Carlos Melo
junho 20, 2025
Review do Livro “Mãos à obra: Aprendizado de Máquina com Scikit-Learn, Keras & TensorFlow”
Livros

Review do Livro “Mãos à obra: Aprendizado de Máquina com Scikit-Learn, Keras & TensorFlow”

janeiro 18, 2025
Visão Computacional

Processamento de Nuvens de Pontos com Open3D e Python

por Carlos Melo
janeiro 2, 2025
Entendendo Distribuições Estatísticas
Data Science

Entendendo Distribuições Estatísticas

por Rafael Duarte
dezembro 12, 2023
Construindo Roma em um dia: Reconstrução 3D com Visão Computacional
Visão Computacional

Construindo Roma em um dia: Reconstrução 3D com Visão Computacional

por Carlos Melo
abril 15, 2023
Próximo Post
Como usar OpenCV e Python para calibrar câmeras

Como usar OpenCV e Python para calibrar câmeras

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Pós-Graduação em Data Science Pós-Graduação em Data Science Pós-Graduação em Data Science

Mais Populares

  • Introdução ao MediaPipe e Pose Estimation

    Introdução ao MediaPipe e Pose Estimation

    484 compartilhamentos
    Compartilhar 194 Tweet 121
  • ORB-SLAM 3: Tutorial Completo para Mapeamento 3D e Localização em Tempo Real

    407 compartilhamentos
    Compartilhar 163 Tweet 102
  • O Que é Amostragem e Quantização no Processamento de Imagens

    7 compartilhamentos
    Compartilhar 3 Tweet 2
  • Processamento de Nuvens de Pontos com Open3D e Python

    44 compartilhamentos
    Compartilhar 18 Tweet 11
  • Geometria da Formação de Imagens: Matrizes, Transformações e Sistemas de Coordenadas

    382 compartilhamentos
    Compartilhar 153 Tweet 96
  • Em Alta
  • Comentários
  • Mais Recente
Como Tratar Dados Ausentes com Pandas

Como Tratar Dados Ausentes com Pandas

agosto 13, 2019
Como usar o DALL-E 2 para gerar imagens a partir de textos

Como usar o DALL-E 2 para gerar imagens a partir de textos

dezembro 25, 2022
Introdução ao MediaPipe e Pose Estimation

Introdução ao MediaPipe e Pose Estimation

julho 15, 2023

ORB-SLAM 3: Tutorial Completo para Mapeamento 3D e Localização em Tempo Real

abril 10, 2023
Como Analisar Ações da Bolsa com Python

Como Analisar Ações da Bolsa com Python

15
Setembro Amarelo: Análise do Suicídio no Brasil, com Data Science

Setembro Amarelo: Análise do Suicídio no Brasil, com Data Science

13
Como Aprender Data Science?

Como Aprender Data Science?

9
Qual o Cenário de Data Science no Brasil hoje?

Qual o Cenário de Data Science no Brasil hoje?

8
Green Card aprovado por habilidades extraordinárias em Data Science

Green Card aprovado por habilidades extraordinárias em Data Science

julho 14, 2025
O Que é Amostragem e Quantização no Processamento de Imagens

O Que é Amostragem e Quantização no Processamento de Imagens

junho 20, 2025
DeepSeek vazamento de dados de usuários

DeepSeek: Vazamento de dados expõe dados de usuários

fevereiro 1, 2025
DeepSeek R1 vs OpenAI o1 – Qual é o Melhor Modelo de IA

DeepSeek R1 vs OpenAI o1 – Qual é o Melhor Modelo de IA?

janeiro 25, 2025

Seguir

  • Como um carro autônomo "enxerga" o mundo ao redor?

Não há olhos nem intuição, apenas sensores e matemática. Cada imagem capturada passa por um processo rigoroso: amostragem espacial, quantização de intensidade e codificação digital. 

Esse é o desafio, representar um objeto 3D do mundo real, em pixels que façam sentido para a Inteligência Artificial.

🚗📷 A visão computacional é a área mais inovadora do mundo!

Comente aqui se você concorda.

#carrosautonomos #inteligenciaartificial #IA #visãocomputacional
  • 👁️🤖Visão Computacional: a área mais inovadora do mundo! Clique no link da bio e se inscreva na PÓS EM VISÃO COMPUTACIONAL E DEEP LEARNING! #machinelearning #datascience #visãocomputacional
  • E aí, Sergião @spacetoday Você tem DADO em casa? 😂😂

A pergunta pode ter ficado sem resposta no dia. Mas afinal, o que são “dados”?

No mundo de Data Science, dados são apenas registros brutos. Números, textos, cliques, sensores, imagens. Sozinhos, eles não dizem nada 

Mas quando aplicamos técnicas de Data Science, esses dados ganham significado. Viram informação.

E quando a informação é bem interpretada, ela se transforma em conhecimento. Conhecimento gera vantagem estratégica 🎲

Hoje, Data Science não é mais opcional. É essencial para qualquer empresa que quer competir de verdade.

#datascience #cientistadedados #machinelearning
  • 🎙️ Corte da minha conversa com o Thiago Nigro, no PrimoCast #224

Falamos sobre por que os dados são considerados o novo petróleo - para mim, dados são o novo bacon!

Expliquei como empresas que dominam a ciência de dados ganham vantagem real no mercado. Não por armazenarem mais dados, mas por saberem o que fazer com eles.

Também conversamos sobre as oportunidades para quem quer entrar na área de tecnologia. Data Science é uma das áreas mais democráticas que existem. Não importa sua idade, formação ou cidade. O que importa é a vontade de aprender.

Se você quiser ver o episódio completo, é só buscar por Primocast 224.

“O que diferencia uma organização de outra não é a capacidade de armazenamento de dados; é a capacidade de seu pessoal extrair conhecimento desses dados.”

#machinelearning #datascience #visãocomputacional #python
  • 📸 Palestra que realizei no palco principal da Campus Party #15, o maior evento de tecnologia da América Latina!

O tema que escolhi foi "Computação Espacial", onde destaquei as inovações no uso de visão computacional para reconstrução 3D e navegação autônoma.

Apresentei técnicas como Structure-from-Motion (SFM), uma técnica capaz de reconstruir cidades inteiras (como Roma) usando apenas fotos publicadas em redes sociais, e ORB-SLAM, usada por drones e robôs para mapeamento em tempo real.

#visãocomputacional #machinelearning #datascience #python
  • ⚠️❗ Não deem ideia para o Haddad! 

A França usou Inteligência Artificial para detectar mais de 20 mil piscinas não declaradas a partir de imagens aéreas.

Com modelos de Deep Learning, o governo identificou quem estava devendo imposto... e arrecadou mais de €10 milhões com isso.

Quer saber como foi feito? Veja no post completo no blog do Sigmoidal: https://sigmoidal.ai/como-a-franca-usou-inteligencia-artificial-para-detectar-20-mil-piscinas/

#datascience #deeplearning #computerVision #IA
  • Como aprender QUALQUER coisa rapidamente?

💡 Comece com projetos reais desde o primeiro dia.
📁 Crie um portfólio enquanto aprende. 
📢 E compartilhe! Poste, escreva, ensine. Mostre o que está fazendo. Documente a jornada, não o resultado.

Dois livros que mudaram meu jogo:
-> Ultra Aprendizado (Scott Young)
-> Uma Vida Intelectual (Sertillanges)

Aprenda em público. Evolua fazendo.

#ultralearning #estudos #carreira
  • Como eu usava VISÃO COMPUTACIONAL no Centro de Operações Espaciais, planejando missões de satélites em situações de desastres naturais.

A visão computacional é uma fronteira fascinante da tecnologia que transforma a forma como entendemos e respondemos a desastres e situações críticas. 

Neste vídeo, eu compartilho um pouco da minha experiência como Engenheiro de Missão de Satélite e especialista em Visão Computacional. 

#VisãoComputacional #DataScience #MachineLearning #Python
  • 🤔 Essa é a MELHOR linguagem de programação, afinal?

Coloque sua opinião nos comentários!

#python #datascience #machinelearning
  • 💘 A história de como conquistei minha esposa... com Python!

Lá em 2011, mandei a real:

“Eu programo em Python.”
O resto é história.
  • Para rotacionar uma matriz 2D em 90°, primeiro inverto a ordem das linhas (reverse). Depois, faço a transposição in-place. Isso troca matrix[i][j] com matrix[j][i], sem criar outra matriz. A complexidade segue sendo O(n²), mas o uso de memória se mantém O(1).

Esse padrão aparece com frequência em entrevistas. Entender bem reverse + transpose te prepara para várias variações em matrizes.

#machinelearning #visaocomputacional #leetcode
  • Na última aula de estrutura de dados, rodei um simulador de labirintos para ensinar como resolver problemas em grids e matrizes.

Mostrei na prática a diferença entre DFS e BFS. Enquanto a DFS usa stacks, a BFS utiliza a estrutura de fila (queue). Cada abordagem tem seu padrão de propagação e uso ideal.

#machinelearning #visaocomputacional #algoritmos
  • 🔴 Live #2 – Matrizes e Grids: Fundamentos e Algoritmos Essenciais

Na segunda aula da série de lives sobre Estruturas de Dados e Algoritmos, o foco será em Matrizes e Grids, estruturas fundamentais em problemas de caminho, busca e representação de dados espaciais.

📌 O que você vai ver:

Fundamentos de matrizes e grids em programação
Algoritmos de busca: DFS e BFS aplicados a grids
Resolução ao vivo de problemas do LeetCode

📅 Terça-feira, 01/07, às 22h no YouTube 
🎥 (link nos Stories)

#algoritmos #estruturasdedados #leetcode #datascience #machinelearning
  • 💡 Quer passar em entrevistas técnicas?
Veja essa estratégia para você estudar estruturas de dados em uma sequência lógica e intuitiva.
⠀
👨‍🏫 NEETCODE.io
⠀
🚀 Marque alguém que também está se preparando!

#EntrevistaTecnica #LeetCode #MachineLearning #Data Science
  • Live #1 – Arrays & Strings: Teoria e Prática para Entrevistas Técnicas

Segunda-feira eu irei começar uma série de lives sobre Estruturas de Dados e Algoritmos. 

No primeiro encontro, falarei sobre um dos tipos de problemas mais cobrados em entrevistas: Arrays e Strings.

Nesta aula, você vai entender a teoria por trás dessas estruturas, aprender os principais padrões de resolução de problemas e aplicar esse conhecimento em exercícios selecionados do LeetCode.

📅 Segunda-feira, 23/06, às 21h no YouTube

🎥 (link nos Stories)

#machinelearning #datascience #cienciadedados #visãocomputacional
  • 🤖 Robôs que escalam, nadam, voam e rastejam.

Acabei de ver o que a Gecko Robotics está fazendo — e é impressionante.
Eles usam robôs que escalam, rastejam, nadam e voam para coletar dados estruturais de ativos físicos como navios, refinarias e usinas de energia.

Depois, tudo isso entra numa plataforma de AI chamada Cantilever, que combina:

✅ Ontologias baseadas em princípios físicos
✅ Edge robotics + sensores fixos
✅ Modelos preditivos para manutenção e operação

É como se estivessem criando um Digital Twin confiável de infraestruturas críticas — com dados de verdade, coletados direto do mundo físico.

Ah, e agora alcançaram status de unicórnio 🦄:
$1.25B de valuation, com foco em defesa, energia e manufatura pesada.

#MachineLearning #Robótica #MLOps #visãocomputacional
Instagram Youtube LinkedIn Twitter
Sigmoidal

O melhor conteúdo técnico de Data Science, com projetos práticos e exemplos do mundo real.

Seguir no Instagram

Categorias

  • Aeroespacial
  • Artigos
  • Blog
  • Carreira
  • Cursos
  • Data Science
  • Deep Learning
  • Destaques
  • Entrevistas
  • IA Generativa
  • Livros
  • Machine Learning
  • Notícias
  • Python
  • Teoria
  • Tutoriais
  • Visão Computacional
  • Youtube

Navegar por Tags

camera calibration carreira chatgpt cientista de dados cnn computer vision Cursos dados desbalanceados data science data science na prática decision tree deep learning gpt-3 histograma IA generativa image formation inteligência artificial jupyter kaggle keras machine learning matplotlib mnist nft openai opencv overfitting pandas profissão python redes neurais redes neurais convolucionais regressão linear regressão logística salário scikit-learn seaborn sklearn tensorflow titanic tutorial visão computacional vídeo youtube árvore de decisão

© 2024 Sigmoidal - Aprenda Data Science, Visão Computacional e Python na prática.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist

Sem Resultado
Ver Todos Resultados
  • Home
  • Cursos
  • Pós-Graduação
  • Blog
  • Sobre Mim
  • Contato
  • English

© 2024 Sigmoidal - Aprenda Data Science, Visão Computacional e Python na prática.