Skip to main content

DDx is a system to solve complex math problems

Project description

DDx: Dynamic Diagnosis System for Mathematical Problem Solving

DDx (Dynamic Diagnosis) is an intelligent, iterative problem-solving system inspired by the critical-thinking process seen in House M.D.. It is designed to break down complex mathematical problems into manageable phases, leveraging multiple agents to collaboratively solve and refine solutions.


🚀 Features

  • Phased Problem Solving: DDx splits problem-solving into six logical phases:

    1. Understanding: Decipher the problem statement and identify goals.
    2. Decomposition: Break the problem into smaller, solvable components.
    3. Planning: Create a strategy to solve the subproblems.
    4. Execution: Solve each component systematically.
    5. Verification: Validate the solutions against the original problem.
    6. Compilation: Combine results into a cohesive final answer.
  • Interactive Agents: Mimics the dynamic interaction of "House" (critical guide) and "Team" (problem solvers) to iteratively improve solutions.

  • Tool Integration: Leverages symbolic computation (e.g., SymPy) for mathematical operations during the execution phase.

  • Verbose Debugging: Option to enable detailed output for tracking agent reasoning and decision-making.


🧠 How It Works

  1. Input a Problem: Provide a complex mathematical or symbolic problem to DDx.
  2. Iterative Problem-Solving:
    • The "House" agent oversees the process, iteratively questioning and refining the solution.
    • The "Team" agent generates outputs for each phase.
  3. Tools & Execution: Utilize computational tools like SymPy for precise calculations.
  4. Verification & Refinement: Validate and refine solutions until the "House" agent is satisfied.
  5. Final Answer: Output a fully solved and explained solution.

🔨 How to use?

Ensure you have OPENAI_API_KEY in the environment and the API is just one function.

from ddx_ai import DDx

DDx("<question>", verbose=False)

📄 Example Usage

Input Problem

Nondimensionalize the polynomial: [ P(x) = a_1 x^{25} + a_2 x + a_3 ] into the form: [ \epsilon y^{25} + y + 1 ] Express (\epsilon) as a function of (a_1), (a_2), and (a_3).

Output

  1. Understanding Phase:

    • Identify the goal: Transform the polynomial into the specified nondimensional form.
    • Extract key coefficients: (a_1), (a_2), (a_3).
  2. Decomposition Phase:

    • Break the problem into:
      • Variable scaling ((L)) to make (y^1) coefficient equal to 1.
      • Normalizing the constant term to 1.
      • Calculating (\epsilon).
  3. Execution Phase:

    • Perform substitutions: (x = L y), where (L = \frac{1}{a_2}).
    • Solve for (\epsilon = \frac{a_1 a_3^{24}}{a_2^{25}}).
  4. Verification Phase:

    • Substitute back into the polynomial to ensure it matches the desired form.
  5. Compilation Phase:

    • Final answer: [ \boxed{\epsilon = \frac{a_1 a_3^{24}}{a_2^{25}}} ]

💡 Key Design Principles

  1. Iterative Refinement:
    • Mimics real-world diagnostic processes to refine solutions through critical questioning.
  2. Dynamic Interactions:
    • Encourages agents to think critically, ensuring high-quality solutions.
  3. Phased Approach:
    • Logical segmentation for tackling complex problems methodically.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ddx_ai-0.1.5.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ddx_ai-0.1.5-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file ddx_ai-0.1.5.tar.gz.

File metadata

  • Download URL: ddx_ai-0.1.5.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.15

File hashes

Hashes for ddx_ai-0.1.5.tar.gz
Algorithm Hash digest
SHA256 29d6b155da5422bd14651d893b00de8e15ca3b2bfb0cf26df431e1e1bfcbcb64
MD5 fc5f30b0e21780360796e1284ba4e6b3
BLAKE2b-256 3e90d192fe69acdf9d89e060edd202867c7dfa346930deb5b5e004550e5cbf01

See more details on using hashes here.

File details

Details for the file ddx_ai-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: ddx_ai-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.15

File hashes

Hashes for ddx_ai-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fd1c3482813b1b4dc2f789b4458d6a66380548326a357c561aa4439c9b02b88f
MD5 dbe272e5d394240e033b2b5dbeef34b9
BLAKE2b-256 8457a58f9400002802d8d11d1c2aa695ac95f7e49af786cf1c2dd56cbdfe0f1d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page