Discrete Math with Programming: A Principled Approach
- URL: http://arxiv.org/abs/2011.14059v1
- Date: Sat, 28 Nov 2020 03:41:27 GMT
- Title: Discrete Math with Programming: A Principled Approach
- Authors: Yanhong A. Liu and Matthew Castelllana
- Abstract summary: It has long been argued that discrete math is better taught with programming.
This paper introduces an approach that supports all central concepts of discrete math.
Math and logical statements can be expressed precisely at a high level and be executed on a computer.
- Score: 0.0
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Discrete mathematics is the foundation of computer science. It focuses on
concepts and reasoning methods that are studied using math notations. It has
long been argued that discrete math is better taught with programming, which
takes concepts and computing methods and turns them into executable programs.
What has been lacking is a principled approach that supports all central
concepts of discrete math -- especially predicate logic -- and that directly
and precisely connects math notations with executable programs. This paper
introduces such an approach. It is based on the use of a powerful language that
extends the Python programming language with proper logic quantification ("for
all" and "exists some"), as well as declarative set comprehension (also known
as set builder) and aggregation (e.g., sum and product). Math and logical
statements can be expressed precisely at a high level and be executed directly
on a computer, encouraging declarative programming together with algorithmic
programming. We describe the approach, detailed examples, experience in using
it, and the lessons learned.
Related papers
- Democratizing Signal Processing and Machine Learning: Math Learning Equity for Elementary and Middle School Students [15.998017974714022]
Signal Processing (SP) and Machine Learning (ML) rely on good math and coding knowledge.
Many students are not able to build a strong foundation in arithmetic in elementary school.
This article discusses how SP faculty and graduate students can play an important role in starting, and participating in, out-of-school math support programs.
arXiv Detail & Related papers (2024-09-25T19:28:12Z) - A Symbolic Computing Perspective on Software Systems [0.0]
Symbolic mathematical computing systems have served as a canary in the coal mine of software systems for more than sixty years.
All of the major symbolic mathematical computing systems include low-level code for arithmetic, memory management and other primitives, a compiler or interpreter for a bespoke programming language, a library of high level mathematical algorithms, and some form of user interface.
arXiv Detail & Related papers (2024-06-13T13:10:47Z) - Language Models as Compilers: Simulating Pseudocode Execution Improves Algorithmic Reasoning in Language Models [17.76252625790628]
This paper presents Think-and-Execute, a framework that decomposes the reasoning process of language models into two steps.
With extensive experiments on seven algorithmic reasoning tasks, we demonstrate the effectiveness of Think-and-Execute.
arXiv Detail & Related papers (2024-04-03T08:49:11Z) - Machine learning and information theory concepts towards an AI
Mathematician [77.63761356203105]
The current state-of-the-art in artificial intelligence is impressive, especially in terms of mastery of language, but not so much in terms of mathematical reasoning.
This essay builds on the idea that current deep learning mostly succeeds at system 1 abilities.
It takes an information-theoretical posture to ask questions about what constitutes an interesting mathematical statement.
arXiv Detail & Related papers (2024-03-07T15:12:06Z) - MathScale: Scaling Instruction Tuning for Mathematical Reasoning [70.89605383298331]
Large language models (LLMs) have demonstrated remarkable capabilities in problem-solving.
However, their proficiency in solving mathematical problems remains inadequate.
We propose MathScale, a simple and scalable method to create high-quality mathematical reasoning data.
arXiv Detail & Related papers (2024-03-05T11:42:59Z) - ConceptMath: A Bilingual Concept-wise Benchmark for Measuring
Mathematical Reasoning of Large Language Models [67.32868432113587]
This paper introduces ConceptMath, a fine-grained benchmark that evaluates concept-wise mathematical reasoning of Large Language Models (LLMs)
Unlike traditional benchmarks that evaluate general mathematical reasoning with an average accuracy, ConceptMath systematically organizes math problems under a hierarchy of math concepts.
arXiv Detail & Related papers (2024-02-22T16:06:49Z) - Natural Language Embedded Programs for Hybrid Language Symbolic Reasoning [84.12154024070024]
We propose natural language embedded programs (NLEP) as a unifying framework for addressing math/symbolic reasoning, natural language understanding, and instruction following tasks.
Our approach prompts a language model to generate full Python programs that define functions over data structures which contain natural language representations of structured knowledge.
A Python interpreter then executes the generated code and prints the output.
arXiv Detail & Related papers (2023-09-19T17:54:21Z) - A Survey of Deep Learning for Mathematical Reasoning [71.88150173381153]
We review the key tasks, datasets, and methods at the intersection of mathematical reasoning and deep learning over the past decade.
Recent advances in large-scale neural language models have opened up new benchmarks and opportunities to use deep learning for mathematical reasoning.
arXiv Detail & Related papers (2022-12-20T18:46:16Z) - JiuZhang: A Chinese Pre-trained Language Model for Mathematical Problem
Understanding [74.12405417718054]
This paper aims to advance the mathematical intelligence of machines by presenting the first Chinese mathematical pre-trained language model(PLM)
Unlike other standard NLP tasks, mathematical texts are difficult to understand, since they involve mathematical terminology, symbols and formulas in the problem statement.
We design a novel curriculum pre-training approach for improving the learning of mathematical PLMs, consisting of both basic and advanced courses.
arXiv Detail & Related papers (2022-06-13T17:03:52Z) - Weighted Programming [0.0]
We study weighted programming, a programming paradigm for specifying mathematical models.
We argue that weighted programming as a paradigm can be used to specify mathematical models beyond probability distributions.
arXiv Detail & Related papers (2022-02-15T17:06:43Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.