Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| from sat_parser import parse_sat | |
| from sat_to_3sat import convert_to_3sat | |
| from three_sat_to_clique import build_clique_graph | |
| from visualize import visualize_graph | |
| from examples import example_formulas | |
| st.set_page_config(layout="wide") | |
| st.title("Interactive Reduction Visualizer for NP-Complete Problems") | |
| st.markdown(""" | |
| This tool demonstrates: | |
| - SAT → 3-SAT | |
| - 3-SAT → CLIQUE | |
| """) | |
| formula = st.selectbox( | |
| "Choose example or write your own", | |
| example_formulas() + ["Custom"] | |
| ) | |
| if formula == "Custom": | |
| formula = st.text_input("Enter SAT formula:") | |
| if st.button("Run Reduction"): | |
| clauses = parse_sat(formula) | |
| st.subheader("SAT Clauses") | |
| st.write(clauses) | |
| clauses_3sat = convert_to_3sat(clauses) | |
| st.subheader("3-SAT Clauses") | |
| st.write(clauses_3sat) | |
| G = build_clique_graph(clauses_3sat) | |
| st.subheader("CLIQUE Graph") | |
| visualize_graph(G) | |