Generating non-analytic cuts for boolean formulas with linear programming

Detalhes bibliográficos
Ano de defesa: 2026
Autor(a) principal: Pevidor, João Felipe Lobo
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: eng
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://teses.usp.br/teses/disponiveis/45/45134/tde-01042026-180812/
Resumo: The Boolean satisfiability problem is the most notorious and first ever discovered NP-Complete problem. To solve it, state-of-the-art methods still rely on techniques that yield exponential running time in the worst case. The goal of this work is to study methods used on correlated problems in order to approach solving a SAT instance from a different angle, that can be seen as the generation of non-analytic cuts supported by a linear algebra. In particular, linear programming methods have obtained good results when dealing with a closely related problem, the satisfiability problem in infinitely valued logics. With that in mind, we will study the original SAT as an optimization problem. We present a new way of generating non-analytic cuts for a boolean formula by solving a linear programming problem. From the linear solution, boolean values are extracted, and a partial solution is constructed and evolved until a conflict is detected. Using the conflict, we implement clausal learning to produce a new clause. We also present a complete SAT solving algorithm designed to leverage this method, show soundness and completeness results for it and investigate its empirical performance.
id USP_55044cf1925322622d06a889260fd1db
oai_identifier_str oai:teses.usp.br:tde-01042026-180812
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str
spelling Generating non-analytic cuts for boolean formulas with linear programmingGeração de cortes não analíticos para fórmulas booleanas com programação linearApproximation of logical systemsAproximação de sistemas lógicosBoolean satisfiabilityInteger programmingLinear programmingOptimizationOtimizaçãoProgramação inteiraProgramação linearSatisfabilidade booleanaThe Boolean satisfiability problem is the most notorious and first ever discovered NP-Complete problem. To solve it, state-of-the-art methods still rely on techniques that yield exponential running time in the worst case. The goal of this work is to study methods used on correlated problems in order to approach solving a SAT instance from a different angle, that can be seen as the generation of non-analytic cuts supported by a linear algebra. In particular, linear programming methods have obtained good results when dealing with a closely related problem, the satisfiability problem in infinitely valued logics. With that in mind, we will study the original SAT as an optimization problem. We present a new way of generating non-analytic cuts for a boolean formula by solving a linear programming problem. From the linear solution, boolean values are extracted, and a partial solution is constructed and evolved until a conflict is detected. Using the conflict, we implement clausal learning to produce a new clause. We also present a complete SAT solving algorithm designed to leverage this method, show soundness and completeness results for it and investigate its empirical performance.O problema da satisfatibilidade booleana (SAT) é o problema mais notório e o primeiro já descoberto a ser NP-Completo. Para resolvê-lo, os métodos mais avançados ainda dependem de técnicas que produzem um tempo de execução exponencial no pior caso. O objetivo deste trabalho é estudar métodos usados em problemas correlatos para abordar a resolução de uma instância do SAT de um ângulo diferente, que pode ser visto como a geração de cortes não analíticos apoiados por uma álgebra linear. Em particular, os métodos de programação linear obtiveram bons resultados ao lidar com um problema intimamente relacionado: o problema da satisfatibilidade em lógicas infinitamente valoradas. Com isso em mente, estudaremos o SAT original como um problema de otimização. Apresentamos uma nova maneira de gerar cortes não analíticos para uma fórmula booleana, resolvendo um problema de programação linear específico. A partir da solução linear, valores booleanos são extraídos e uma solução parcial é construída e evoluída até que um conflito seja detectado. Com o conflito, implementamos a aprendizagem de cláusulas para produzir uma nova cláusula. Também apresentamos um algoritmo completo de resolução de SAT projetado para aproveitar esse método, mostramos resultados de soundness (correção) e completude para ele e investigamos o seu desempenho empírico.Biblioteca Digitais de Teses e Dissertações da USPFinger, MarceloPevidor, João Felipe Lobo2026-03-12info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://teses.usp.br/teses/disponiveis/45/45134/tde-01042026-180812/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesseng2026-04-06T18:59:02Zoai:teses.usp.br:tde-01042026-180812Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212026-04-06T18:59:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Generating non-analytic cuts for boolean formulas with linear programming
Geração de cortes não analíticos para fórmulas booleanas com programação linear
title Generating non-analytic cuts for boolean formulas with linear programming
spellingShingle Generating non-analytic cuts for boolean formulas with linear programming
Pevidor, João Felipe Lobo
Approximation of logical systems
Aproximação de sistemas lógicos
Boolean satisfiability
Integer programming
Linear programming
Optimization
Otimização
Programação inteira
Programação linear
Satisfabilidade booleana
title_short Generating non-analytic cuts for boolean formulas with linear programming
title_full Generating non-analytic cuts for boolean formulas with linear programming
title_fullStr Generating non-analytic cuts for boolean formulas with linear programming
title_full_unstemmed Generating non-analytic cuts for boolean formulas with linear programming
title_sort Generating non-analytic cuts for boolean formulas with linear programming
author Pevidor, João Felipe Lobo
author_facet Pevidor, João Felipe Lobo
author_role author
dc.contributor.none.fl_str_mv Finger, Marcelo
dc.contributor.author.fl_str_mv Pevidor, João Felipe Lobo
dc.subject.por.fl_str_mv Approximation of logical systems
Aproximação de sistemas lógicos
Boolean satisfiability
Integer programming
Linear programming
Optimization
Otimização
Programação inteira
Programação linear
Satisfabilidade booleana
topic Approximation of logical systems
Aproximação de sistemas lógicos
Boolean satisfiability
Integer programming
Linear programming
Optimization
Otimização
Programação inteira
Programação linear
Satisfabilidade booleana
description The Boolean satisfiability problem is the most notorious and first ever discovered NP-Complete problem. To solve it, state-of-the-art methods still rely on techniques that yield exponential running time in the worst case. The goal of this work is to study methods used on correlated problems in order to approach solving a SAT instance from a different angle, that can be seen as the generation of non-analytic cuts supported by a linear algebra. In particular, linear programming methods have obtained good results when dealing with a closely related problem, the satisfiability problem in infinitely valued logics. With that in mind, we will study the original SAT as an optimization problem. We present a new way of generating non-analytic cuts for a boolean formula by solving a linear programming problem. From the linear solution, boolean values are extracted, and a partial solution is constructed and evolved until a conflict is detected. Using the conflict, we implement clausal learning to produce a new clause. We also present a complete SAT solving algorithm designed to leverage this method, show soundness and completeness results for it and investigate its empirical performance.
publishDate 2026
dc.date.none.fl_str_mv 2026-03-12
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://teses.usp.br/teses/disponiveis/45/45134/tde-01042026-180812/
url https://teses.usp.br/teses/disponiveis/45/45134/tde-01042026-180812/
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1865492437529526272