From 5b40480d52d5e218cc86c66617ef16e4c6045e13 Mon Sep 17 00:00:00 2001 From: breandan Date: Tue, 5 Nov 2024 01:13:50 -0500 Subject: [PATCH] give EC example --- latex/thesis/Thesis.pdf | Bin 507972 -> 543229 bytes latex/thesis/Thesis.tex | 2 +- .../content/Ch2_Formal_Language_Theory.tex | 42 +++++++++++++++++- .../kaliningraph/parsing/Grammars.kt | 4 +- .../kaliningraph/parsing/SetValiantTest.kt | 31 +++++++++++++ .../kaliningraph/automata/WFSATest.kt | 1 + 6 files changed, 76 insertions(+), 4 deletions(-) diff --git a/latex/thesis/Thesis.pdf b/latex/thesis/Thesis.pdf index 481cf8acd1c46893db53e20cc045920c5a098194..7c02be019b29195e344f4a0c2063809729ce5e07 100644 GIT binary patch delta 90385 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 Dl$z>5 delta 55021 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 diff --git a/latex/thesis/Thesis.tex b/latex/thesis/Thesis.tex index 6b7ce269..676e5b1d 100644 --- a/latex/thesis/Thesis.tex +++ b/latex/thesis/Thesis.tex @@ -26,7 +26,7 @@ \date{\today} \titlespacing*{\chapter}{0pt}{-40pt}{40pt} - +\usepackage{amsmath} % DOCUMENT BEGINS \begin{document} diff --git a/latex/thesis/content/Ch2_Formal_Language_Theory.tex b/latex/thesis/content/Ch2_Formal_Language_Theory.tex index 952b0ec4..67875a3b 100644 --- a/latex/thesis/content/Ch2_Formal_Language_Theory.tex +++ b/latex/thesis/content/Ch2_Formal_Language_Theory.tex @@ -5,11 +5,49 @@ \chapter{\rm\bfseries Formal Language Theory} The representation we are chiefly interested in is the grammar, a common metanotation for specifying the syntactic constraints on programs, shared by nearly every programming language. Programming language grammars are overapproximations to the true language of interest, but provide a fast procedure for rejecting invalid programs and parsing valid ones. -Like all representations, grammars are a trade-off between expressiveness and efficiency. It is often possible to represent the same finite set with multiple representations of varying complexity. For example, the set of strings containing ten or fewer balanced parentheses can be expressed as deterministic finite automaton containing millions of states, or a simple conjunctive grammar containing a few productions. +Formal languages are arranged in a hierarchy of containment, where each language family strictly contains its predecessors. On the lowest level are the finite languages. Type 3 contains infinite languages generated by a regular grammar. Level 2 contains context-free languages, which admit parenthetical nesting. Supersets, such as the recursively enumerable sets, are also possible. There are other kinds of formal languages, such as logics and circuits, which are incomparable with the Chomsky hierarchy. + +For most programming languages, they leave level 2 after the parsing stage, and enter the realm of type theory and static analysis. At this point, compiler authors layer additional semantic constraints on top of the syntactic ones, but must deal with phase ordering problems related to the sequencing of such analyzers, breaking commutativity. + +The advantage of dealing with formal language representations is that we can reason about them algebraically. Consider the context-free grammar: the arrow $\rightarrow$ becomes an $=$ sign, $\mid$ becomes $+$ and $AB$ becomes $A \times B$. The ambiguous Dyck grammar, then, can be seen as a system of equations. + +\begin{align*} + S \rightarrow ( ) \mid ( S ) \mid S S \Longleftrightarrow f(x) = x^2 + x^2 f(x) + f(x)^2 +\end{align*} + +\noindent Now, we can solve for $f(x)$, giving us the generating function for the language: + +\begin{align*} + f(x) &= x^2 + x^2 f(x) + f(x)^2\\ + 0 &= f(x)^2 + x^2 f(x) - f(x) + x^2\\ +\end{align*} + +\noindent Now, using the quadratic equation, where $a = 1, b = x^2 - 1, c = x^2$, we have: + +\begin{align*} + f(x) &= \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \\ + f(x) &= \frac{-x^2 + 1 \pm \sqrt{x^4 - 6x^2 + 1}}{2} +\end{align*} + +\noindent We also have that $f(x)=\sum _{n=0}^{\infty }f_nx^{n}$, so to obtain the number of ambiguous Dyck trees of size $n$, we can extract the $n$th coefficient of $f_n$ using the binomial series. Expanding $1 + \sqrt{x^4 - 6x^2 + 1}$, we obtain: + +\begin{align*} +f(x) = (1+x)^{\alpha }&=\sum _{k=0}^{\infty }\;{\binom {\alpha }{k}}\;x^{k}\\ + &=\sum _{k=0}^{\infty }\;{\binom {\frac{1}{2} }{k}}\;(x^4 - 6x^2)^{k}\\ +\end{align*} + +\begin{align*} + [x^n]f(x) &= [x^n]\frac{-x^2 + 1}{2} + \frac{1}{2}[x^n]\sum _{k=0}^{\infty }\;{\binom {\frac{1}{2} }{k}}\;(x^4 - 6x^2)^{k}\\ + [x^n]f(x) &= [x^n]\frac{-x^2 + 1}{2} + \frac{1}{2}{\binom {\frac{1}{2} }{n}}\;(x^4 - 6x^2)^n +\end{align*} + +This lets us understand grammars as a kind of algebra, which is useful for enumerative combinatorics on words and syntax-guided synthesis. + -Formal languages are arranged in a hierarchy of containment, where each language family strictly contains its predecessors. The lowest level are the set of finite languages. Type 3 contains infinite languages generated by a regular grammar. Level 2 contains context-free languages, which admit parenthetical nesting. Supersets, such as recursively enumerable sets, are also possible. There are other kinds of formal languages, such as logics and circuits, which are incomparable. Like sets, it is possible to abstractly combine languages by manipulating their grammars, mirroring the setwise operations of union, intersection, and difference over languages. These operations are convenient for combining, for example, syntactic and semantic constraints on programs. For example, we might have two grammars, $G_a, G_b$ representing two properties that are both necessary for a program to be considered valid. We can treat valid programs $P$ as a subset of the language intersection $P \subseteq \mathcal{L}(G_a) \cap \mathcal{L}(G_b)$. +Like all representations, grammars are a trade-off between expressiveness and efficiency. It is often possible to represent the same finite set with multiple representations of varying complexity. For example, the set of strings containing ten or fewer balanced parentheses can be expressed as deterministic finite automaton containing millions of states, or a simple conjunctive grammar containing a few productions, $\mathcal{L}\Big(S \rightarrow ( ) \mid (S) \mid S S \Big) \cap \Sigma^{[0,10]}$. +Like algebra, there is also a kind of calculus to formal languages. Janusz Brzozowski introduced the derivative operator for regular languages, which can be used to determine whether a string is in a language, and to extract subwords from the language. This operator has been extended to context-free languages by Might et al., and is the basis for many parsing algorithms. \clearpage \ No newline at end of file diff --git a/src/commonTest/kotlin/ai/hypergraph/kaliningraph/parsing/Grammars.kt b/src/commonTest/kotlin/ai/hypergraph/kaliningraph/parsing/Grammars.kt index 05b9ecc4..2e80768b 100644 --- a/src/commonTest/kotlin/ai/hypergraph/kaliningraph/parsing/Grammars.kt +++ b/src/commonTest/kotlin/ai/hypergraph/kaliningraph/parsing/Grammars.kt @@ -25,7 +25,9 @@ object Grammars { S -> X | Y | Z """.parseCFG().noNonterminalStubs - val dyck = """S -> ( ) | ( S ) | S S""".parseCFG().noEpsilonOrNonterminalStubs + val dyckUnambig = """S -> ( S ) S | ( S ) | ( ) S | ( )""".parseCFG().noEpsilonOrNonterminalStubs + val dyck = """S -> ( S ) | ( ) | S S""".parseCFG().noEpsilonOrNonterminalStubs + val dyckEmbedded = """ START -> ( ) | ( START ) | START START START -> START + START | START * START diff --git a/src/commonTest/kotlin/ai/hypergraph/kaliningraph/parsing/SetValiantTest.kt b/src/commonTest/kotlin/ai/hypergraph/kaliningraph/parsing/SetValiantTest.kt index a1ba1673..2ca00323 100644 --- a/src/commonTest/kotlin/ai/hypergraph/kaliningraph/parsing/SetValiantTest.kt +++ b/src/commonTest/kotlin/ai/hypergraph/kaliningraph/parsing/SetValiantTest.kt @@ -490,4 +490,35 @@ class SetValiantTest { .reduce { a, b -> union(a, b) } }.also { println("Merged a 10^6 bitvecs in ${it.inWholeMilliseconds}ms.") } // Should be ~5000ms } + + /* +./gradlew jvmTest --tests "ai.hypergraph.kaliningraph.parsing.SetValiantTest.testEnumerativeCombinatorics" +*/ + @Test + fun testEnumerativeCombinatorics() { + // Dyck numbers + for (i in 4..16 step 2) { + val rep1 = Grammars.dyckUnambig.enumSeq(List(i) { "_" }).toSet() + print("" + rep1.size + ",") + } + println() + for (i in 4..16 step 2) { + val rep1 = Grammars.dyck.enumSeq(List(i) { "_" }).toSet() + print("" + rep1.size + ",") + } + println() + // Schröder numbers + for (i in 4..16 step 2) { + val rep1 = Grammars.dyck.startPTree(List(i) { "_" }) + print("" + rep1!!.totalTrees + ",") + } + println() + + // Hmm + val r1 = Grammars.dyckUnambig.enumSeq(List(14) { "_" }).toSet() + val r2 = Grammars.dyck.enumSeq(List(14) { "_" }).toSet() + println(r1.size) + println(r2.size) + ((r2 - r1).forEach { println("" + (it in Grammars.dyckUnambig.language) + "/" + (it in Grammars.dyck.language)) }) + } } \ No newline at end of file diff --git a/src/jvmTest/kotlin/ai/hypergraph/kaliningraph/automata/WFSATest.kt b/src/jvmTest/kotlin/ai/hypergraph/kaliningraph/automata/WFSATest.kt index 41afbdca..9e5ae8d0 100644 --- a/src/jvmTest/kotlin/ai/hypergraph/kaliningraph/automata/WFSATest.kt +++ b/src/jvmTest/kotlin/ai/hypergraph/kaliningraph/automata/WFSATest.kt @@ -16,6 +16,7 @@ import net.jhoogland.jautomata.semirings.RealSemiring import java.io.File import kotlin.system.measureTimeMillis import kotlin.test.* +import kotlin.test.Test import kotlin.time.measureTimedValue