Skip to main content

Human-like physical understanding through qualitative relationships and causal reasoning

Project description

💰 Support This Research - Please Donate!

🙏 If this library helps your research or project, please consider donating to support continued development:

💳 DONATE VIA PAYPAL - CLICK HERE

CI PyPI version Python 3.9+ License


Qualitative Reasoning

🤔 Commonsense physics simulation

Forbus, K. D. (1984) - "Qualitative process theory"

📦 Installation

pip install qualitative-reasoning

🚀 Quick Start

import qualitative_reasoning
import numpy as np

# Create qualitative reasoner
reasoner = qualitative_reasoning.QualitativeReasoner()

# Define qualitative variables
temperature = qualitative_reasoning.QualitativeQuantity(
    'temperature', 
    ['cold', 'warm', 'hot']
)

pressure = qualitative_reasoning.QualitativeQuantity(
    'pressure',
    ['low', 'medium', 'high']
)

# Create qualitative state
state = qualitative_reasoning.QualitativeState({
    'temperature': 'warm',
    'pressure': 'medium'
})

# Perform envisionment
env = qualitative_reasoning.QualitativeEnvisionment(reasoner)
transitions = env.generate_transitions(state)

print(f"✅ Possible transitions: {len(transitions)}")
for transition in transitions:
    print(f"   → {transition}")

🎓 About the Implementation

Implemented by Benedict Chen - bringing foundational AI research to modern Python.

📧 Contact: benedict@benedictchen.com

📖 Citation

If you use this implementation in your research, please cite the original paper:

Forbus, K. D. (1984) - "Qualitative process theory"

📜 License

Custom Non-Commercial License with Donation Requirements - See LICENSE file for details.


💰 Support This Work - Donation Appreciated!

This implementation represents hundreds of hours of research and development. If you find it valuable, please consider donating:

💳 DONATE VIA PAYPAL - CLICK HERE

Your support helps maintain and expand these research implementations! 🙏

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

qualitative_reasoning-1.1.0.tar.gz (41.8 kB view details)

Uploaded Source

Built Distribution

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

qualitative_reasoning-1.1.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file qualitative_reasoning-1.1.0.tar.gz.

File metadata

  • Download URL: qualitative_reasoning-1.1.0.tar.gz
  • Upload date:
  • Size: 41.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3+

File hashes

Hashes for qualitative_reasoning-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9a34547a97c5a7f2f36b9f6a18033eb2190f3ea24250b1537853ac55fd79fda3
MD5 3d680910d7a2a1af778d9ca69460c40b
BLAKE2b-256 d2e7a53502b14e0f647f019d8135da5729dc17cafe18446afdf6a13f9419a242

See more details on using hashes here.

File details

Details for the file qualitative_reasoning-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for qualitative_reasoning-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6612b38916159781ca199cf67423054afecde65ee9614609cd1a44ac17935bf8
MD5 d2d3ded4bc5eb49fd3b903f120047df8
BLAKE2b-256 05e6331945aa101d7a325b9f6c7d44671a6370af217c0d593271d77b9bd97a04

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