text:
GM parts shortage: UAW workers want a day off, customers wait on parts
Hourly workers at GM's parts center in Ypsilanti have had few days off since the strike ended. Many are angry as GM scrambles to fix a parts shortage.
GM parts shortage: UAW workers want a day off, customers wait on parts Hourly workers at GM's parts center in Ypsilanti have had few days off since the strike ended. Many are angry as GM scrambles to fix a parts shortage. Check out this story on Freep.com: https://www.freep.com/story/money/cars/general-motors/2020/01/13/gm-parts-shortage-uaw-workers/4420886002/
Jamie L. LaReau, Detroit Free Press Published 6:00 a.m. ET Jan. 13, 2020 | Updated 11:24 a.m. ET Jan. 13, 2020
From left, day shift workers Erik Brzezinski of Westland, Mike Martin of Farmington Hills, Jason Gravenmier of Westland, Bill Bagwell of Westland, Todd Canterbury of White Lake and Nolan Kerr of Allen Park pose for a photo outside of General Motors' Customer Care and Aftersales (CCA) plant in Ypsilanti, Thursday, Jan. 9, 2020. (Photo: Junfu Han, Detroit Free Press)
More than half of the hourly workers at General Motors Ypsilanti Processing Center have been written up for skipping work since late October.
But they are exhausted, exasperated and speaking up.
The 125 regular hourly workers have had just a handful of days off over the last few months — most of which were holidays. That's because GM is pushing to fix a massive, nationwide parts shortage that has left many customers vexed.
The facility has been in "emergency status." That means mandatory seven-day workweeks until this past Sunday, the first Sunday to be voluntary. All of GM's key parts plants in southeastern Michigan have been on emergency status since Oct. 26, the day the UAW's nationwide strike against GM ended.
"I have hard feelings," toward GM demanding so much overtime, said Bill Bagwell, shop chairman at the processing center in Ypsilanti.
Bagwell watched as managers, security guards and vendors got time off. Yet he and other UAW members worked a mandatory 68 hours a week. He said management even denied him time off to attend church services.
"You want me to trust a company that wouldn't give me a Sunday off to go to church for eight weeks?" said Bagwell. "The company that has fed me every morsel of food I've ever eaten — I'm second generation — has shown they don't care about me."
Other workers at Ypsilanti echoed the sentiment, telling the Free Press that managers treat them more like "machines as opposed to humans."
GM spokesman Jim Cain said GM is grateful for the long hours from the workers. He confirmed the Ypsilanti processing center is now on mandatory six-day weeks, running two, 10-hour shifts each day. Sunday shifts are now voluntary. As soon as GM's parts supply is restored, he said, GM will end the emergency status.
Customers wait and wait
Cain declined to comment on the disciplinary actions the automaker has taken against any workers. He said GM does not discuss personnel issues.
It's been nearly eleven weeks since the UAW's 40-day nationwide strike ended. In the days that followed, GM frantically started restoring the parts distribution system to its dealers.
The company understands the workers' plight, said Cain, but he said, "We all have an enormous obligation to our customers, especially the people who can't get to work or school or the doctor while they wait for parts. That's why we have to clear the order backlogs as soon as possible."
And the UAW contract with GM allows GM to require overtime to recover from certain events, including strikes.
GM's parts distributors, suppliers, dealers and Customer Care & Aftersales team members, have been working hard to get operations back to normal as quickly as possible, said Cain. He said GM has made "huge progress" in reducing the parts backlog.
"Dealers tell us the difference between where we were last fall and where we are today is like night and day," said Cain.
The strike had the biggest impact on parts to repair collisions because those have to be stamped at the plants.
GM customer Jesse Borden said he has waited more than six weeks for a repair part to his 2019 Chevrolet Silverado pickup, which was hit by a driver in November. Borden, a Maryland resident, owned the truck a mere 10 days when it happened.
The damaged front of Jesse Borden's 2019 Chevrolet Silverado. He's waited more than six weeks for the parts to fix it and drive it. (Photo: Jesse Borden)
"All GM could tell me is there was no ETA on the parts," said Borden. As of Jan. 7, he said, GM said the parts are in transit.
Borden has owned five GM vehicles since 2013, two of them new, but this may be his last. When it's fixed, he might trade it in, he said.
"I don't know if something is going to break on it and if GM will support me in terms of parts or not?" said Borden. "I've read online other people are waiting for transmissions. So if there is a mechanical breakdown on it, I'll be in the same position then, as I am now."
Work trumps church
Just before Christmas, GM said it had reduced the backlog of customer orders by nearly half as it continually ran its parts facilities in emergency status.
GM's processing center in Ypsilanti was one of those facilities. The Ypsilanti facility does not make parts; it receives them from suppliers. The workers then repackage the parts for shipment to dealers. It handles grilles and fascias, the front and rear bumpers, said Bagwell.
General Motors' Customer Care and Aftersales (CCA) plant in Ypsilanti, Thursday, Jan. 9, 2020. (Photo: Junfu Han, Detroit Free Press)
During the strike, Bagwell said the facilities' managers crossed the picket line and worked the hourly workers' jobs to keep the parts supply going. Bagwell said he and the union members tolerated it.
"I knew they were going to do our work, I didn't know they'd bring supervisors from other plants and I consider them to be scabs," said Bagwell. "But we didn't stop anyone from crossing our picket line."
The facility is receiving more parts, but there remains a shortfall, said Bagwell. Meanwhile, the hourly employees have worked tirelessly either the 5 a.m. to 3:30 p.m. shift or the 3:30 p.m. to 2 a.m. shift at the center every single day.
UAW Shop Chairman Bill Bagwell of Westland poses for a photo outside of General Motors' Customer Care and Aftersales (CCA) plant in Ypsilanti, Thursday, Jan. 9, 2020. (Photo: Junfu Han, Detroit Free Press)
"We didn't have one Sunday off to go to church from the time we came back from the strike until the 22nd of December," said Bagwell. "As the shop chairman, I tried to negotiate that with management, but their position was, 'We need every hour that's available to us.' "
GM's Cain said GM is "grateful to everyone for the long hours they have put in, including the team in Ypsi, because everyone's livelihood depends on our customers' loyalty to GM, and the burden on some of them has been real."
Cain added that each day GM gets closer to "where we need to be, and we don't plan to stay on emergency status one day longer than necessary."
More: GM customers rage as automaker struggles with strike-related parts delay
More: GM-UAW strike is making it hard for dealers to find parts for repairs
Act of God away ...
But to worker Nolan Kerr, GM's promise rings hollow. The Ypsilanti facility, he said, is always "an act of God away" from emergency status.
"If bad weather hits our facility, we're behind automatically," said Kerr, who has worked at the Ypsilanti center for 13 years. "If we have a couple of bad storms, we'll be in the same situation again with mandatory overtime and people not being able to take time off. People need time off mentally as well as physically."
Kerr has been leaving his house at 4:30 every morning to get to work by 5 for most of the last 10 weeks. He broke up a couple of his 68-hour work weeks by taking two unapproved days off. One he took because he was so tired. The other was to celebrate his wife's birthday. Kerr got two disciplinary write-ups and if he takes one more unapproved day off, he will lose a full week's pay, he said.
"It's a very, very stressful time," said Kerr. "Numerous people have told me, as they're driving to work they're still sleeping because they're so exhausted. But you have to come to work or you get disciplined."
More than half of the hourly staff have at least one disciplinary write-up for taking an unapproved day off because they needed to rest or attend a family event, said Bagwell.
Meanwhile, Bagwell said his workers do want to fix the supply chain as soon as possible to keep customers loyal to the automaker.
"Every single employee in this building feels very sympathetic to our customers who are without a car and waiting for a part," said Bagwell. "It wasn't something we can control. Our people are working their butts off to take care of the customer. We understand, if the customer doesn't buy a General Motors car, we don't have a job."
Contact Jamie L. LaReau: 313-222-2149 or jlareau@freepress.com. Follow her on Twitter @jlareauan. Read more on General Motors and sign up for our autos newsletter.
Read or Share this story: https://www.freep.com/story/money/cars/general-motors/2020/01/13/gm-parts-shortage-uaw-workers/4420886002/
How GM and the UAW are battling over temps
Multimillion-dollar Mustang Bullitt sold into obscurity
More than half of hourly workers at GM parts plant have been written up recently
He's transforming muscle cars from an unmarked garage — and nobody knows him
Corvette, Telluride, Gladiator tops at NACTOY
GM to revive Hummer name, starting with Super Bowl ad


text:
Save £100 on Motorola's Moto X Style smartphone – now just £249
Sean Keach Contact via Twitter | July 27, 2016 10:10 am BST
Need a new phone for summer? There's an incredible deal to be had on the Motorola Moto X Style, which we've detailed below…
John Lewis has knocked off an incredible £100 from the Motorola Moto X Style, reducing the price from £349 to just £249.
This exceptional flagship Android smartphone launched just last year, and features a 5.7-inch QHD screen, a Snapdragon 808 processor, a 21-megapixel camera, a 3,000Ah battery, and fast charging.
Ask us anything: Join us 12:30pm BST for #AskTrustedLive
Buy Now: Moto X Style at John Lewis for £249
What we said
We gave the Moto X Style a 9/10 score at its review price of £359, praising its sharp display and fantastic performance. Here's our verdict:
"Motorola's best high-end phone in some time comes in at an affordable price, without sacrificing features. It's up there with the top Android phones in 2015."
On John Lewis, the Moto X Style has a 5/5 score based on one user review. The user wrote:
"I bought this smartphone for my wife who does a lot of walking and wanted a good screen for her Memory Maps. The screen is stunning and makes even the most detailed maps easy to read. The large memory makes the phone very responsive. This is an excellent smartphone and very good value."
On Amazon, the Moto X Style has a 4.3/5 score based on 66 user reviews. Users wrote:
"The screen is gorgeous. Really gorgeous. Surprisingly great phone."
"Phone build is solid, feels very premium, screen is crystal clear and vibrant."
"I do really like it and would recommend to anyone looking for a new phone."
5 of the best cheap TV deals in the UK right now
7 of the best SIM-only deals in the UK right now
The best Xbox One deals
How good a deal is this?
The phone may be around a year old now, but make no mistake: this is an exceptional deal. The phone originally launched at £369, and Motorola's current discounted price only brings it down to £349.
Even Amazon's best price right now is £291.40, so John Lewis has beaten everyone else on the market with this stellar offering.
Also, don't forget that this phone scored an impressive 9/10 at its original review price, so bagging this handset for £249 is an undoubted steal.
Related: Best Android Smartphone 2016
Watch: The Refresh – Catch up on the latest tech news
Would you like a phone with a foldable display? Let us know in the comments.
Sean Keach
Contact via Twitter
Deputy News & Features Editor
Writer.

redpajama_set_name: RedPajamaCommonCrawl


text:
Balázs Jarábik is joining CEPI
The pool of analysts in the Central European Policy institute is growing stronger with the arrival of Balázs Jarábik, an international development executive, who is joining as a senior fellow specializing in the Eastern Partnership.
Engaging Balázs Jarábik is in line with the long-term objective of the Central European Institute (CEPI) to provide high-quality analyses that help decision-makers to adopt policies fostering prosperity and stability in Central and Eastern Europe.
"I am glad that one of the most renowned analysts and a pivotal figure of the Eastern Partnership is joining us," said Robert Vass, Secretary General of the Slovak Atlantic Commission, CEPI's mother organisation. "Balázs has an immense field experience and his arrival will boost both SAC's and CEPI's capability to actively contribute to the shaping of regional and European policies."
As an expert on international development and strategies, Balázs Jarábik will join the CEPI's international team where he will focus on the Eastern Partnership and contribute to other CEPI's activities using his vast network of contacts in Central Europe.
"I'm glad to become part of this great CEPI team and I believe that we will expand the reach of the Central European region to whole Europe and beyond," Balázs Jarábik said.
While at the Institute, he will work in parallel with his executive position at Pact, one of the top US development NGOs. Balázs was one of the key people in building up the Pact's presence in Eastern Europe. During his five-year tenure, the Kyiv branch grew to be the largest non-governmental organisation in the country. At the same time, he worked for the think-tank FRIDE. The result of his field experience and analytical work was the Reality Check policy review, which became an integral part of the Lithuania's EU presidency.
As an international development executive and expert on the issue of democracy and governance, Balázs Jarábik worked as an advisor for political parties and civil societies in the Balkans and Eastern Europe; he worked with the Slovak Parliament and the Ministry of Foreign Affairs, and international institutions such as the European Parliament, the UN and the OSCE.
Get the latest news from GLOBSEC monthly to your inbox. Information about processing of personal data is available in our Privacy Policy.


text:
\section{Introduction}\label{sec:intro}
Algorithmic research in natural language processing (NLP) has focused---in large part---on developing dynamic programming solutions to combinatorial problems that arise in the field \cite{huang-2009-dynamic}.
Such algorithms have been introduced over the years for countless linguistic formalisms,
such as finite-state transduction \cite{mohri-1997-finite,eisner-2002-parameter,cotterell-etal-2014-stochastic},
context-free parsing \cite{stolcke-1995-efficient,goodman-1999-semiring},
dependency parsing \cite{eisner-1996-three,koo-collins-2010-efficient,ma-zhao-2012-fourth}
and mildly context-sensitive parsing \cite{vijay-shanker-weir-1989-recognition,vijay-shanker-weir-1990-polynomial,kuhlmann-etal-2018-complexity}.
In recent years, the same algorithms have often been used for deep structured prediction,
using a neural scoring function that decomposes over the structure \citep{durrett-klein-2015-neural,rastogi2016weighting,lee2016global,dozat2017biaffine,stern2017minimal,kim2017structured-attention,hong-huang-2018-linear,wu2018hard,wu-cotterell-2019-exact,qi2020stanza,rush-2020-torch-struct}.

When a dynamic programming algorithm for a new problem is first introduced in the literature, its runtime may not be optimal---faster versions are often published over time.
Indeed, the process of introducing a first algorithm and subsequently finding improvements is common throughout computer science.
In the case of dynamic programming, there are program transformations
that may be exploited to derive algorithms with a faster runtime \cite{eisner-blatz-2007}.  These transformations map a program to another program with the same meaning (given the same inputs, it will produce the same outputs), but with possibly different running time.  This paper shows how to search over program transformation sequences in order to automatically discover faster algorithms, automating the work of the NLP algorithmist.

\begin{figure*}
\centering
\input{diagram}
\caption{Depiction of the program optimization graph search problem (\cref{sec:search}).
The program used in this figure is our running example of speeding up CKY (\cref{ex:cky}).
Nodes are Dyna programs (\cref{sec:dyna}).
The node pointed to by ``start'' indicates the user's program.
Edges are program transformations (\cref{sec:transforms}).
Costs are derived by program analysis (\cref{sec:program-analysis}).
Only a tiny subset of the nodes and edges that exist in the search graph are shown.
The dotted unlabeled outgoing edges represent additional transformations that we did not elaborate in the diagram to reduce clutter.
}
\label{fig:search-space-diagram}
\end{figure*}

Consider the following instances\footnote{Many of these examples were brought to our attention in the works of \citet{eisner-blatz-2007} and \citet{gildea-2011-grammar}; further discussion can be found therein.} of published dynamic programs whose runtime bounds were later improved using specific applications of the program transformations mentioned above.
\begin{itemize}[leftmargin=1em, topsep=1pt, itemsep=1pt, parsep=1pt]
\item Projective dependency parsing: \newcite{collins-1996-new} gave an $\bigo{n^5}$ algorithm that was sped up to $\bigo{n^4}$ by \citet{eisner-satta-1999-efficient}.
\item Split-head-factored dependency parsing: implemented \naively runs in $\bigo{n^5}$; with some effort, an $\bigo{n^3}$ algorithm can be derived \cite{eisner-1996-three,johnson-2007-transforming,eisner-blatz-2007}.
\item Linear index-grammar parsing: $\bigo{n^7}$ in \citet{vijay-shanker-weir-1989-recognition},
sped up to $\bigo{n^6}$ by \citet{Vijay-Shanker93}.
\item Lexicalized tree adjoining grammar parsing:
$\bigo{n^8}$ in \citet{vijay-shankar-joshi-1985-tag}, sped up to $\bigo{n^7}$ by \citet{eisner-satta-2000-faster}.
\item Inversion transduction grammar: $\bigo{n^7}$ in \citet{wu-1996-polynomial},
sped up to $\bigo{n^6}$ by \newcite{huang-etal-2005-machine}.
\item CKY parsing \cite{cocke-schwartz1970,younger67parsing,kasami65cky} is typically presented in a suboptimal $\bigo{K^3 n^3}$ form, but can be sped up to $\bigo{K^2 n^3 + K^3 n^2}$ \citep{lange2009cnf,eisner-blatz-2007}.
\item \citeauthor{10.5555/1623611.1623625}'s context-free parsing algorithm (\citeyear{10.5555/1623611.1623625}) runs in $\bigo{n^{\rho+1}}$
where $\rho$ is the length of the longest right-hand side of a context-free production in the grammar \cite{johnson-1989-computational}.
However, it can be made to run in $\bigo{n^3}$ by binarizing the production rules.
\end{itemize}

In this paper, we ask a simple question: Can we \emph{automatically} discover these faster algorithms?
Typically, a dynamic programming algorithm can be regarded as performing inference in an semiring-weighted deduction system \cite{goodman-1999-semiring}. \citet{eisner-goldlust-smith-2005} provided a programming language, Dyna, for expressing such deduction systems, along with a compiler that produced fast inference code.
All of the runtime improvements mentioned above are examples of source-to-source program transformations \cite{eisner-blatz-2007}.\footnote{The closest work in the NLP literature is
\citet{gildea-2011-grammar}, who proposed the junction-tree minimization to speed up dynamic programs, which corresponds to only considering the fold transformation. Outside of NLP, \citet{mastria202asp} learn to fold in the context of answer set programs.
Our work considers a broader range of program transformations.}\looseness=-1

Our work, depicted in \cref{fig:search-space-diagram}, poses program optimization as a search over transformed versions of the initial program, an idea that was suggested as future work by \citet{eisner-blatz-2007}.
Our contribution is to show that two classic search algorithms---beam search \cite{reddy-1977,meister-etal-2020-best} and Monte Carlo tree search \cite{kocsis2006bandit}---are effective for this purpose, rapidly rediscovering many of the known optimizations listed above.
To set up this solution, the following sections describe the elements of the search problem:
our space of possible programs (\cref{sec:dyna}),
a simple cost function that serves as a proxy for program runtime (\cref{sec:program-analysis}),
and a set of directed edges that connect semantically equivalent programs (\cref{sec:transforms}).
Our search starts at the initial program and seeks a low-cost equivalent program that can be reached by traversing directed edges.  In \cref{sec:search}, we review the beam search and MCTS algorithms that we will use for this purpose in the experiments of \cref{sec:experiments}.\looseness=-1

\section{Our Space of Dynamic Programs}
\label{sec:dyna}

We will consider programs that are expressed in the original version of the Dyna language \cite{eisner-goldlust-smith-2005},
which is essentially a way of writing down the recurrence relations of a dynamic programming algorithm.
In this section, we only briefly describe the language and refer the reader to \citet{eisner-goldlust-smith-2005} for a more complete introduction.
To start, consider the following examples.
\begin{myexample}
\label{ex:z:dyna}
The total weight of length-4 paths in a graph with edge weights \dd{w}:
\begin{dynaex}{}
@\hspace{-4pt}@z += w(Y1,Y2) * w(Y2,Y3) * w(Y3,Y4) * w(Y4,Y5).
\end{dynaex}
\end{myexample}
\noindent This program defines the value of a derived \defn{item} \dd{z} in terms of input items \dd{w(...)}.  The value of \dd{z} is
$\sum_{\dd{\var{Y}_1}} \!\cdots\! \sum_{\dd{\var{Y}_5}} \scriptstyle \dd{w(\var{Y}_1,\var{Y}_2) \cdot w(\var{Y}_2,\var{Y}_3) \cdot w(\var{Y}_3,\var{Y}_4) \cdot w(\var{Y}_4,\var{Y}_5) }$.\footnote{We chose the name \dd{z} as it is short and traditional for denoting the normalization constant of a probabilistic model, e.g., $\dd{p(\var{Y}_1,\var{Y}_2,\var{Y}_3,\var{Y}_4,\var{Y}_5) \propto w(\var{Y}_1,\var{Y}_2) \!\cdot\! w(\var{Y}_2,\var{Y}_3) \!\cdot\! w(\var{Y}_3,\var{Y}_4) \!\cdot\! w(\var{Y}_4,\var{Y}_5)}$ would be have \dd{z} as its normalization constant.}
Notice that there is no need to clutter the expression with explicit summations
or control-flow constructs such as for-loops: all variables (denoted by capitalized letters) that appear only on the right-hand side of ${\color{darkblue}\texttt{+=}}$ are summed over.

Dyna programs elegantly enable recursive computation by allowing the value of an item to be defined in terms of other items of the same kind.
\begin{myexample}
\label{ex:viterbi}
The Viterbi algorithm \citep{viterbi67error} finds the most probable path in a graph from a node labeled \dd{"a"} to a node labeled \dd{"z"} with edge probabilities (or weights) \dd{w}:
\begin{dynaex}{}
alpha("a") max= 1.
alpha(J) max= alpha(I) * w(I,J).
z += alpha("z").
\end{dynaex}
\end{myexample}
\noindent The second rule is recursive.  For each possible value of $\var{J}$ on the left-hand side, it defines \dd{$\alpha$(\var{J})} by maximizing over assignments to the \emph{other} variables on the right-hand side (namely $\var{I}$).  Maximization is specified by \dd{max=}, whereas summation in \cref{ex:z:dyna} was specified by \dd{+=}.

\begin{myexample}\label{ex:cky}
Weighted context-free parsing with CKY \citep{cocke-schwartz1970,younger67parsing,kasami65cky}, or more precisely the inside algorithm \citep{baker79trainable,jelinek1985markov}:\footnote{If the reader is not familiar with context-free parsing, we recommend \citet[chapters 12--13]{jurafsky-martin-book}.}
\begin{dynaex}{}
@\!\!@beta(X,I,K) += beta(Y,I,J) * beta(Z,J,K) * gamma(X,Y,Z).
@\!\!@beta(X,I,K) += gamma(X,Y) * word(Y,I,K).
@\!\!@z += @$\beta$@(root,0,N) * len(N).
\end{dynaex}
\end{myexample}
\noindent The values of the $\gamma$ items should be defined to be the weights of the corresponding context-free grammar rules: for example, the item \dd{$\gamma$(s,np,vp)}\,=\,$0.7$ encodes
the production $\dd{s} \xrightarrow{\scriptsize 0.7} \dd{np}\, \dd{vp}$).  Also, the item $\dd{word(\var{X},\var{I},\var{K})}$ should be 1 if the input word $\var{X}$ appears at position $\var{I}$ of the input sentence and $\var{K}=\var{I}+1$, and should be 0 otherwise.
Then for any nonterminal symbol $\var{X}$ and any substring spanning positions [\var{I}, \var{K}) of the input sentence, the item $\beta$\dd{(\var{X},\var{I},\var{K})}
represents the total weight of all grammatical derivations of that substring from $\var{X}$.

\newcommand{\db}[0]{\dd{b}}
\newcommand{\dhead}[0]{\dd{h}}

More generally, a Dyna \defn{program} $\Prog$ is a collection of \defn{rules}, each rule having the form $\dhead \;{\color{darkblue}\oplus\texttt{=}}\; \db_1 \,{\color{darkblue}\otimes} \cdots {\color{darkblue}\otimes}\, \db_K$.  Here $\tuple{{\color{darkblue}\oplus}, {\color{darkblue}\otimes}}$ can be any pair of operations that form a \defn{semiring} \citep{goodman-1999-semiring,huang-2009-dynamic}, such as $\langle {\color{darkblue}\texttt{+}}, {\color{darkblue}\texttt{*}} \rangle$ in \cref{ex:z:dyna} and \cref{ex:cky}, or $\langle{\color{aggblue}\texttt{max}}, {\color{darkblue}\texttt{*}}\rangle$  in \cref{ex:viterbi}.\footnote{Many other semirings are useful in NLP \cite{goodman-1999-semiring,huang-2009-dynamic,eisner-goldlust-smith-2005}.}
We call $\dhead$ the head, and $\db_1, \cdots, \db_K$ the body of the rule.
Each $\db_k$ in the body is called a \defn{subgoal}.
Let $\head{r}$ and $\body{r}$ denote the head and body terms in a rule $r$.
We assume that all rules in the program use the same semiring.\footnote{We leave the extensions in Dyna 2 \cite{dyna2}, which relaxes this restriction, to future work.}
The structured names of items are \defn{terms}, which are nested typed tuples as in Prolog.  For example, \dd{f(g(z,h(3)))} is a 1-tuple of type \dd{f}, whose single element is a 2-tuple of type \dd{g}, and so on.  The rules use captialized variables such as $\var{X}$ to pattern-match against subterms, where a variable that is repeated in a rule must have the same value each time.
Let $\vars{\cdot}$ denote the set of variables contained in a term, e.g., $\vars{\dd{f(g(\var{X}),4,\var{X})}} \mapsto \{\var{X}\}$.
The Dyna language allows logical \defn{side conditions} on a rule, e.g., \dd{goal += f(\var{X}) for \var{X} < 10.} This is syntactic sugar for \dd{goal += f(\var{X}) * lessthan(\var{X},10)}, where the value of each \dd{lessthan($a$,$b$)} term is the one or zero element of the semiring, according to whether $a < b$ or not.

\section{Program Analysis}
\label{sec:program-analysis}

Our goal is to search for a \emph{fast} Dyna program.  We will assume that the programs are executed using the forward chaining algorithm described by \citet{eisner-goldlust-smith-2005}.\footnote{This algorithm assumes that the program is range-restricted, i.e., $\vars{\head{r}} \subseteq \vars{\body{r}}$.\label{def:range-restricted}  An example of a non-range restricted rule is \dd{id(\var{I},\var{I}) += 1}.}
In principle, we could evaluate a candidate program's runtime by actually executing it, but this would be very expensive and would also require us to specify particular inputs to the program.  Instead, as our search objective, we will use a simple asymptotic upper bound on the program's runtime, based on a folk theorem from the Datalog community that has a long history of use. Many NLP papers have analyzed the runtime of their algorithms using either this folk theorem or a more refined version given by \citet{mcallester-2002-meta}: \citet{gildea-2011-grammar,nederhof-satta-2011-prefix-probability,gilroy-etal-2017-parsing,melamed-2003-multitext,kuhlmann-2013-mildly,nederhof-sanchez-saez-2011-parsing,buchse-etal-2011-tree,lopez-2009-translation,eisner-blatz-2007}.

The folk theorem says that, under certain conditions (discussed later), the running time of forward chaining execution of a given program is at worst linear in the number of ways to instantiate its rules, i.e., bind the variables to constants.  A relatively simple bound on rule instantiations is available if we can establish that each variable in the program can be bound in at most $\notation{\eta}$ different ways.  In that case, given some other conditions discussed at the end of this section, the number of ways to instantiate a rule with $k$ variables is bounded by $\bigo{\notation{\eta}^k}$.  Program $\Prog$'s total runtime is $\bigo{\notation{\eta}^{\degree(\Prog)}}$ where $\degree(\Prog)$ is the maximum number of variables in any rule of $\Prog$.  We therefore take $\degree$ to be the cost function to minimize during search.

Consider \cref{ex:z:dyna}. Evaluating this program under the forward-chaining algorithm will instantiate the rule by binding the 5 variables $\var{X}_1, \var{X}_2, \var{X}_3, \var{X}_4, \var{X}_5$ to constants.  Then, the number of rule instantiations is $\bigo{\notation{\eta}^5}$.

Similarly, \cref{ex:cky} runs in $\bigo{\notation{\eta}^6}$, as the first rule must sum over 6 variables, $\var{X}, \var{Y}, \var{Z}, \var{I}, \var{J}, \var{K}$.
Note that this is a coarse-grained analysis: the runtime is usually given more specifically as $\bigo{n^3 K^3}$ where $n$ is the number of sentence positions, and $K$ is the number of grammar symbols.  (This finer-grained bound can be achieved by the theorem of \citet{mcallester-2002-meta}: the intuition is that the variables $\var{I}, \var{J}, \var{K}$ can each be bound in $\bigo{n}$ ways while $\var{X}, \var{Y}, \var{Z}$ can each be bound in $\bigo{K}$ ways.)  However, the simpler analysis $\bigo{\notation{\eta}^6}$ gives us a single exponent to reduce, namely 6.

To see the cost function in action, consider that \cref{ex:z:dyna} has a running time of $\bigo{\notation{\eta}^5}$, whereas the following equivalent program runs in $\bigo{\notation{\eta}^2}$.
\begin{myexample}
\label{ex:z:good-fold}
Efficient factorization of \cref{ex:z:dyna}
\begin{dynaex}{}
z += rest@$_1$@(Y@$_1$@).
rest@$_1$@(Y@$_1$@) += w@$_1$@(Y@$_1$@,Y@$_2$@) * rest@$_2$@(Y@$_2$@).
rest@$_2$@(Y@$_2$@) += w@$_2$@(Y@$_2$@,Y@$_3$@) * rest@$_3$@(Y@$_3$@).
rest@$_3$@(Y@$_3$@) += w@$_3$@(Y@$_3$@,Y@$_4$@) * rest@$_4$@(Y@$_4$@).
rest@$_4$@(Y@$_4$@) += w@$_4$@(Y@$_4$@,Y@$_5$@) * rest@$_5$@(Y@$_5$@).
\end{dynaex}
\end{myexample}

Similarly, in \cref{ex:cky}, we can sum over the variable \var{Y} separately from \var{K} as follows:
\begin{myexample}{}\label{ex:cky-fold}
Faster CKY (\cref{ex:cky})
\begin{dynaex}{}
@$\beta$@(X,I,K) += tmp(I,J,X,Z) * @$\beta$@(Z,J,K).
tmp(I,J,X,Z) += @$\beta$@(Y,I,J) * @$\gamma$@(X,Y,Z).
\end{dynaex}
\end{myexample}
\noindent which is more efficient as its running time is $\bigo{\notation{\eta}^5}$.  It is also more efficient under the finer-grained analysis, $\bigo{K^2 n^3 + K^3 n^2}$.

The \degree analysis of a Dyna program only leads to a \emph{valid} $\mathcal{O}$-expression under some conditions, which we will now discuss.
(1) The \degree bound requires the \emph{grounded} program to be \defn{acyclic} \citep{eisner-goldlust-smith-2005}.  Cycles slow down forward chaining because it must iterate to a numerical fixed point. Generally, the number of iterations required to reach a fixed-point is data dependent.\footnote{
In the Boolean case (i.e., a Datalog program), the cycles do not affect the running time because finding ``new'' values for an item that is already true does not trigger further propagation to items that depend on it.  Unfortunately, this is not true of general semirings.  For example, the program \dd{a += r * a. a += 1.} encodes a geometric series; it may take many iterations to converge if $|\dd{r}|$ is close to $1$, and will diverge if $|\dd{r}| \ge 1$. The efficiency of this cyclic program thus depends on the value of the input parameter \dd{r}.}
(2) The \degree bound assumes that all of the relations in the program are \defn{bounded} in size.  The \degree bound requires that terms are not nested;  this prevents the user from encoding infinite sets, such as the Peano integers. Additionally, it assumes that the program's rules are all range-restricted (\cref{def:range-restricted}). (3) The \degree bound also assumes that the semiring operations are constant time.

We will see in  \cref{sec:experiments} that simply optimizing \degree is sufficient to recover a number of asymptotic speedups noted in the NLP literature (see \cref{sec:intro}) as well as asymptotic speedups on synthetic programs.

That said, the \degree analysis might be loose for many reasons.  The upper bounds derived using our methodology assume that relations are dense.  Often relations are statically known to be sparse.
Many low-level details affect actual execution time, but do not matter for asymptotic complexity.
For example, memory layouts (e.g., row-order or column-order layout of a dense array in memory), sparse vs. dense representations of relations (e.g., hash tables vs. arrays), and indexes on relations (including sorted order) can have a dramatic effect on the running time in practice. However, they will not manifest in the \degree analysis (e.g., \citet{PHIPAC-1997,dunlop-2011-efficient,denero-etal-2009-efficient,lopez2007hierarchical}).
Such choices are out of the control of our specific search space,
but they may interact with the program in ways that are not represented in the \degree.

An obvious alternative cost function would be the empirical execution time of executing the transformed program on a workload of representative inputs (e.g., running a transformed parser on actual sentences from the Penn Treebank \citep{ptb}).  But as we noted earlier, such a cost function might be impractically expensive.
For example, evaluating the \degree of a degree-1000 program is linear in the size of the program, whereas evaluating the wallclock time is $\bigo{\notation{\eta}^{1000}}$. Optimizing the program degree is a crucial design choice as it enables a more exhaustive search in practice.  Additionally, it sidesteps the need to optimize for a specific workload.
However, in future work, we would like to investigate hybrid search algorithms (e.g., \citet{song2019mfbo}) that do attempt to minimize empirical execution time, but replace some of the expensive evaluations of that with cheaper approximations: empirical execution time but with a timeout, fine-grained bounds obtained by abstract interpretation, and---most cheaply---estimates derived from worst-case asymptotic analysis as above.

\section{Program Transformations}
\label{sec:transforms}
This section details the set of transforms that we consider in this paper.  None of the transforms are novel to this work.  They have been detailed and proved correct in \citet{eisner-blatz-2007}.  We include them in our discussion for completeness of presentation and to illuminate the challenges of our search problem. We provide pseudocode for the transforms in \cref{app:transform-pseudocode}, but defer to \citet{eisner-blatz-2007} for a more thorough discussion.

\paragraph{Input and output declarations.}
We assume that the initial program declares some items as input and/or output items.  The rest are considered intermediate items.  A program transform must preserve the mapping from a valuation of the input items to a valuation of the output items.  (A valuation is an assignment of a value to each item.)  However, a program transform is free to introduce, destroy, or alter intermediate items.

For example, for CKY, the input and output items are declared as  follows:
\begin{dynaex}{}
input word(X,I,K); @$\gamma$@(X,Y,Z); @$\gamma$@(X,Y).
output goal.
\end{dynaex}

\subsection{Fold}
\label{sec:fold}

\Crefrange{ex:z:dyna}{ex:cky} were examples of the folding transform.
Our candidate fold actions are based on \defn{variable elimination}, as these are the only valid folding actions that reduce the rule's \degree.  For a given rule $r$, the variable $v \in \vars{r}$ \emph{can be eliminated} if it does not appear in \emph{all} of the factors in the rule's body and it does not appear in the head of the rule.  Formally, the set of such variables is $\elimvar{r} \defeq \{v \mid \vtof{r}{v} \ne \body{r}, v \notin \head{r} \}$ where $\vtof{r}{v} \defeq \{ b \mid b \in \body{r}, v \in \vars{b} \}$.

If any rule $r$ of the program $\Prog$ contains variables that can be eliminated ($|\elimvar{r}| > 0$), then eliminating any variable $v \in \elimvar{r}$ by folding $\vtof{r}{v}$ out of $r$ reduces that $r$'s \degree, which may reduce (and never increases) the \degree of the program.  Therefore, no final program benefits from having rules with variables that can be eliminated.
However, when more than one variable can be eliminated ($|\elimvar{r}|>1$), the order in which the variables are eliminated will affect the eventual \degree.  Finding an optimal sequence of variable-elimination steps is NP-hard, by reduction from variable elimination ordering in probabilistic graphical models \citep{gildea-2011-grammar}.

We briefly note that folding can increase the space complexity of the program, since it introduces intermediate items that will be stored.  We do not consider optimizing the space--time tradeoff, but it could be done with methods similar to ours.

\subsection{Unfold and Rule Elimination}
\label{sec:unfold}
\label{sec:rule-elimination}

Suppose the user provided an inefficient program, such as \cref{ex:z:bad-fold}, which could have been obtained by folding \cref{ex:z:dyna} with a suboptimal variable-elimination ordering.

\begin{myexample}
\label{ex:z:bad-fold}
Bad ordering for \cref{ex:z:dyna}
\begin{dynaex}{}
goal += tmp@$_1$@(X@$_1$@,X@$_4$@,X@$_5$@).
tmp@$_4$@(X@$_1$@,X@$_2$@) += w@$_1$@(X@$_1$@,X@$_2$@).
tmp@$_3$@(X@$_2$@,X@$_4$@) += w@$_2$@(X@$_2$@,X@$_3$@) * w@$_3$@(X@$_3$@,X@$_4$@).
tmp@$_1$@(X@$_1$@,X@$_4$@,X@$_5$@) += tmp@$_2$@(X@$_1$@,X@$_4$@) * w@$_4$@(X@$_4$@,X@$_5$@).
tmp@$_2$@(X@$_1$@,X@$_4$@) += tmp@$_4$@(X@$_1$@,X@$_2$@) * tmp@$_3$@(X@$_2$@,X@$_4$@).
\end{dynaex}
\end{myexample}

While the above program is correct, its \degree is 3, which is worse than the optimal variant, which has \degree 2.  It has no variables that can be eliminated, so there are no fold actions that can improve its degree.  To improve it, we first have to \emph{undo} the poor choices.
There are two transformations for ``undoing'' folds: unfold and rule elimination, which we will describe in this section.

The \defn{unfold} transform is essentially the inverse of the fold transformation, and corresponds to inlining code.  It takes as input a specific subgoal $\dd{b_k} \!\in\! \body{r}$ of some rule $r$.  The goal is to replace $\dd{b_k}$ by its definition.  We will remove $r$ from the program, and replace it by adding a specialized version of $r$ for each rule $r'$ whose head unifies with $\dd{b_k}$.  These rules $r'$ define $\dd{b_k}$---except in the special case where $\dd{b_k}$ matches any input items, in which case we cannot unfold $\dd{b_k}$ because its complete definition is not available.

As a simple example, consider unfolding the first subgoal of the first rule of \cref{ex:cky-fold},
\begin{dynaex}{}
@$\beta$@(X,I,K) += tmp(I,J,X,Z) * @$\beta$@(Z,J,K).
tmp(I,J,X,Z) += @$\beta$@(Y,I,J) * @$\gamma$@(X,Y,Z).
\end{dynaex}
This becomes
\begin{dynaex}{}
@$\beta$@(X,I,K) += @$\beta$@(Y,I,J) * @$\gamma$@(X,Y,Z) * @$\beta$@(Z,J,K).
tmp(I,J,X,Z) += @$\beta$@(Y,I,J) * @$\gamma$@(X,Y,Z).
\end{dynaex}
Notice that the second rule is now defunct.\footnote{We make use of a simple dead rule detection strategy to identify rules that cannot fire based on the declared $\inputs$, or are unused by any of the declared $\outputs$. Determining which rules are dead is possible with a straightforward graph reachability analysis on a coarsened program, such as the program resulting from dropping the arguments to all relations, known as the predicate graph.}  This transformation is correct by the distributive rule.  Notice that the \degree increased from 5 to 6.

An unfold will usually increase or preserve the program's \degree---but there are exceptions due to repeated variables or constants in rules:
\begin{dynaex}{}
a(I,K) += b(I,J) * c(J,K).
trace += a(L,L).
\end{dynaex}
Unfolding the subgoal of the second rule decreases the program's degree from 3 to 2:
\begin{dynaex}{}
trace += b(L,J) * c(J,L).
\end{dynaex}
Thus, this is an example of an immediately useful unfold.  The program in this case computes the trace of a matrix product, and the role of unfold is to \emph{specialize} the sub-program that computes the entire matrix product \dd{a(\var{I},\var{K})} to the site where the product is used, which only seeks its diagonal \dd{a(\var{L},\var{L})}.  Such optimizations are easy for programmers to miss.

\defn{Rule elimination} is an alternative transformation, also described by \citet{eisner-blatz-2007}, that happens to achieve the same result in the above examples. As the name suggests, rule elimination targets rules instead of subgoals. The transform takes as input a rule $r'$, removes it from the program, and adds specialized versions of all of the rules $r$ whose subgoals match the head of $r'$.  Rule $r'$ cannot be eliminated if its head matches any output items, since that would change the value of those output items.  Notice that attempting to eliminate recursive rules is futile, as a rule cannot be eliminated until it reaches its base case.

Rule elimination and unfold are especially useful for eliminating non-range-restricted rules (\cref{def:range-restricted}).  For example, eliminating the first rule from

\begin{dynaex}{}
f(I) += 1.
f(I) += g(I) * m(I,J).
goal += f(I) * h(I).
\end{dynaex}
yields the range-restricted program
\begin{dynaex}{}
f(I) += g(I) * m(I,J).
goal += f(I) * h(I).
goal += 1 * h(I).
\end{dynaex}

Another useful case of rule elimination is for propagating constants throughout the program.  For example, if the grammar in \cref{ex:cky} is known in advance, i.e., $\dd{\gamma(\var{X},\var{Y},\var{Z})} \notin \inputs$, then we can propagate them ahead of time.  Yielding a highly specialized program with no \var{X}, \var{Y}, \var{Z} variables and having an overall reduced \degree of 3.

In order to recover the original version of \cref{ex:z:dyna} given \cref{ex:z:bad-fold}, we can eliminate all rules except for the one defining the output item \dd{z}, and then fold to eliminate variables in a different order.  This poses search challenges because all of the unfold or rule elimination actions needed to reach \cref{ex:z:dyna} are ``uphill'': they increase the \degree, until the folds are applied.  This means that finding useful unfold and rule elimination moves can be challenging (i.e., take a fair amount of exploration).

\section{Program Improvement}
\label{sec:search}

Our goal is to find a sequence of transformations to the user's program $\mathcal{P}_0$ that gives the lowest cost, $\cost(\Prog) \defeq \degree(\Prog)$.  In this section, we provide two effective search algorithms for approaching this goal: beam search and Monte Carlo tree search.\looseness=-1

\subsection{The Graph Search Problem}

We consider an abstract \defn{graph search problem}, $\langle \mathcal{S}, \mathcal{A}, s_0, \mathcal{T}, \transition, \cost\rangle$,
where
$\mathcal{S}$ is a state space,
$\mathcal{A}$ is an action space,
$\transition: \mathcal{S} \times \mathcal{A} \to \mathcal{S}$ is a transition function,
$s_0 \in \mathcal{S}$ is an initial state,
$\mathcal{T} \subseteq \mathcal{S}$ is a set of terminal states,
and $\cost: \mathcal{T} \to \mathbb{R}_{\ge 0}$ is an cost function on the terminal states.  The $\cost$ and $\transition$ functions will be treated by MCTS and beam search as black boxes.\footnote{MCTS can be used in the more general case where $\cost$ and $\transition$ are stochastic or adversarial functions, but this is not the case in our setting.}  The goal of the search problem is to find the terminal state in the graph that has the lowest cost, $s^* = \min_{s \in \mathcal{T}} \cost(s)$.

Our problem (depicted in \cref{fig:search-space-diagram}) can be easily mapped into this notation.
Our states $\mathcal{S}$ are programs (\cref{sec:dyna}).
The initial state $s_0$ is the initial program $\Prog_0$.
The transitions are applications of any valid program transformation, which we discussed in \cref{sec:transforms}.
In our setting, every state is a terminal.
For the cost function, we use program's $\degree$ (\cref{sec:program-analysis}).
To ensure termination, we only explore up to a distance of 100 from the initial state.
We will discuss in \cref{sec:search-refined} how to structure the state and action spaces to make search more effective.

\subsection{Beam Search}
Beam search is a common heuristic search algorithm,
which is easy to implement (\cref{alg:beam-search}) and often works well in practice.
A terse description of the algorithm is that it is a variant of breadth-first search \cite{russell-norvig} which prunes the search frontier (FIFO queue) to only keep the $B$ lowest $\cost$ states so far.\footnote{
In our experiments, we break ties encountered on \cref{line:beam-prune}
by comparing programs according to following sort key:
$\tuple{d_{1}, \ldots, d_{N}}$ where $d_{i}$ is $i^{\text{th}}$ largest in the program with $N$ rules.
This comparison has the benefit that it will minimize lower degree terms as well, which may better guide search.
}
However, the pruning also robs breadth-first search of any guarantees.
Increasing the beam size $B$ generally returns a lower-cost terminal state, but occasionally it may result in incorrectly pruning a good state and thus returning a higher-cost terminal state (as we see in our experiments).
We do recover exhaustive breadth-first search, which is guaranteed correct, when the beam size is large enough that \emph{no} pruning is done.

\newcommand{\beamsearch}[0]{\mysf{beam\_search}}
\newcommand{\thebeam}[0]{\mysf{beam}}

\begin{figure}
\begin{algorithmic}[1]\small
\Func{$\beamsearch(s_0, B)$}
    \State $\thebeam \gets [s_0]$
    \While{$\thebeam$}
        \State $\thebeam' \gets [\,]$
        \For{$s \in \thebeam$}
            \For{$a \in \mathcal{A}(s)$}
                \State $s' \gets \transition(s, a)$
                \State $\thebeam'$.append$(s')$
            \EndFor
        \EndFor
        \State $\thebeam \gets$ $B$ lowest-$\cost$ elements of $\thebeam'$ \label{line:beam-prune}
    \EndWhile
    \State \Return lowest-$\cost$ state ever to appear in $\thebeam$
\EndFunc
\end{algorithmic}
\caption{Beam search algorithm}
\label{alg:beam-search}
\end{figure}

\subsection{Monte Carlo Tree Search}
Monte Carlo Tree Search (MCTS) is a learning based algorithm \citep{kocsis2006bandit,coulom06mcts},
is considered a ``major breakthrough'' in computer Go \citep{swiechowski2021-mcts-survey,gelly2012grand-challenge,alpha-go}.
MCTS is an uninformed search algorithm,
which means that it is classified alongside well-known algorithms
such as breadth-first search, beam search, and iterative deepening search.
However, since MCTS is based on learning, it has some of the benefit of an informed search algorithm, such as A$^*$ \cite{hart68astar}, without the burden of designing or evaluating a heuristic function.  Essentially, it \emph{learns} its heuristic by sampling sequences of actions.
For our specific search problem, designing an A$^*$ heuristic that works well with all of our search actions (especially unfold and rule elimination) is challenging.
We discuss our choice further in \cref{sec:mcts-discussion}.

The application of MCTS to graph search is summarized in \cref{fig:search-algs}. For thorough surveys on MCTS, we refer the reader to the surveys by \citet{swiechowski2021-mcts-survey} and \citet{browne2012mcts-survey}.

\begin{figure}
\begin{algorithmic}[1]\small
\Func{$\mysf{mcts}(s_0, C, R)$}
    \State mode $\gets$ explore
    \State \textbf{repeat $R$ times}: $\mysf{mcts}'(s_0)$ \label{alg:mcts:repeat-loop}
    \State mode $\gets$ deploy  \label{alg:mcts:set-deploy}
    \State \Return $\mysf{mcts}'(s_0)$
\EndFunc
\Func{$\mysf{mcts}'(s)$}
    \LineComment{Terminal state, return cost and final state}
    \If{$s \in \mathcal{T}$} \Return $\langle s, \cost(s) \rangle$  \EndIf
    \State $a \gets \policy(s)$
    \LineComment{Transition to new state}
    \State $\langle s^*, c \rangle \gets \mysf{mcts}'(\mysf{transition}(s, a))$
    \State $\Update(s, a, c)$
    \State \Return $\langle s^*, c \rangle$
\EndFunc
\Func{$\policy(s, \mathcal{A})$}
  \If{$\widehat{n}(s) = 0$} \Comment{Novel state, follow initial policy}
    \State \Return $\InitialPolicy(s)$
  \ElsIf{mode = explore}
    \State \Return $\argmin_{a \in \mathcal{A}}\ \frac{\widehat{c}(s, a)}{\widehat{n}(s,a)} - C \sqrt{\frac{ \log \widehat{n}(s) }{ \widehat{n}(s,a)} }$
  \Else  \Comment{Deploy mode}
    \State \Return $\argmax_{a \in \mathcal{A}}\ \widehat{n}(s, a)$  \label{alg:mcts:deploy-policy}
  \EndIf
\EndFunc
\Func{$\Update(s, a, c)$}
  \LinesComment{Update MCTS statistics after observing cost}
  \State $\widehat{c}(s,a) \ \texttt{+=}\ c$ ;\ $\widehat{n}(s,a) \ \texttt{+=}\ 1$ ;\ $\widehat{n}(s) \ \texttt{+=}\ 1$
\EndFunc
\end{algorithmic}
\caption{Search algorithm}
\label{fig:search-algs}
\end{figure}

MCTS searches by estimating the expected cost-to-go for taking action $a$ in a given state $s$, $\frac{\widehat{c}(s,a)}{\widehat{n}(s,a)}$ where $\widehat{c}(s,a)$ is the total cost of previous attempts of action $a$, and $\widehat{n}(s,a)$ is the total number of such attempts.  In order to \emph{learn} a \defn{policy} $\policy$ that maps states to actions, MCTS selects the action $a$ in state $s$ that minimizes the \defn{lower-confidence bound},
\begin{equation}
 \frac{\widehat{c}(s, a)}{\widehat{n}(s,a)} - C \sqrt{\frac{ \log \widehat{n}(s) }{ \widehat{n}(s,a)} } \label{eq:lcb}
\end{equation}
In state $s$, MCTS chooses the action $a$ that minimizes \cref{eq:lcb}.  This bound treats actions optimistically in the face of uncertainty: if an action in state $s$ has been under-explored, its cost \emph{might} be rather lower than the noisy average cost observed for it so far, and so MCTS may be willing to try it again.

The constant $C > 0$ is a tunable constant that controls the exploration--exploitation tradeoff.\footnote{In our experiments, we set $C$ to equal the degree of the initial program.  This is close to the theoretical requirement of an upper bound on the range (max - min) of the cost function.}  If $\widehat{n}(s,a) = 0$, the lower confidence bound is defined to be $-\infty$; thus, novel actions are always explored if there are any.
In this paper, we use MCTS as a batch search algorithm. That is why the top-level \text{MCTS} routine includes a repeat-loop (\cref{alg:mcts:repeat-loop}) and switches the policy into deployment mode (\cref{alg:mcts:set-deploy}).  Notice that when the policy is in deployment mode, it \emph{exploits} by selecting the most frequently explored action (\cref{alg:mcts:deploy-policy}).\footnote{It is also reasonable to use the action with the lowest estimated cost.  However, this choice is less stable in practice.}
Lastly, we note if MCTS is run for sufficiently long and the constant $C$ is set appropriately, it will converge to an optimal transformation sequence \citep{kocsis2006bandit}.

\paragraph{Initial Policy Design}
MCTS can be greatly sped up using the following strategy: on the first visit to a state (i.e., $\widehat{n}(s) = 0$), we redirect control to an \defn{initial policy} $\InitialPolicy$ rather than \emph{uninformed} exploration (that which results from following the lower confidence bound).  This results in a sensible initial value for the cost-to-go estimate.  For our initial policy, we randomly fold all rules until there are no more fold actions available.

\subsection{Refinements to the Search Graph}
\label{sec:search-refined}

In the sections describing each of the transforms, we discussed conditions for the transforms to be valid.
The basic version of the search graph would simply say that all valid transforms from \cref{sec:transforms} are available at all times.  However, that would ignore some useful problem structure.  In this section, we propose two refinements to the search space: rule to-do lists and macro folding.  We validate their empirical utility in \cref{sec:ablations}.

\paragraph{Rule to-do list.}
Each of the transforms we consider is centered around a specific rule in the current version of the transformed program.  Applying transforms to rules $r$ and $r'$ in either order will get the same result if neither transform makes the other one impossible.  Thus, we consider transforms in a canonical order.  Each state will now consist of a program together with \defn{to-do list} of rules that can still be transformed.  The possible actions at that state consist of either removing the top rule $r$ from the list (declining to transform $r$) or applying a program transform (fold, unfold, or elimination) that is centered on $r$.  Applying such a transform may delete and/or add program rules, which are correspondingly deleted from the list and/or added at the bottom of the list.  (If the list is empty, no more actions are possible.)
This design reduces the branching factor by a factor of the number of rules, and improves the sharing of statistics at nodes in the MCTS search tree.
Of course, a potential downside is that it makes the search tree deeper by a factor of the number of rules.\looseness=-1

\paragraph{Macro folding.}
Our most important refinement is to use macro folding actions.
These actions will take a given rule $r$ and completely fold it \emph{independently} from the main program allowing us to memoize it.
More precisely, macro-folding runs the program containing the single rule $r$ through search $\Prog'_r \gets \mysf{search}_{\text{fold-only}}([r])$, and then merges the solution into the main program, $(\Prog - r) \cup \Prog'_r$.
Macro folding provides an exponential reduction in the size of the search space because it allows any given rule to be optimized by folding independently of the other rules in the program.  Thus, if a given rule appears in multiple program variants,
we can re-use knowledge acquired from folding it in other contexts to fold it in the current context---analogous to memoizing the best folding sequence for each rule.
The macro folding action is implemented in our graph search instance as yet another action.\footnote{When we enable macro folding in our experiments, we disable the basic fold action since they are redundant.}
However, unlike the other transforms, macro folding is useful to memoize as it is reusable across many of the programs explored during search.\looseness=-1

\subsection{Discussion}
\label{sec:mcts-discussion}

Our goal in this work was to exhibit a working method (not necessarily the best one).  But since our search problem is just graph search, why not simply use a classical method like A$^*$ \citep{hart68astar}?  The challenge is in designing an admissible and effective A$^*$ heuristic.  The role of the heuristic is to approximate lookahead.  MCTS does not need a hand-designed heuristic because it instead performs lookahead by actual rollouts.  The average cost of these rollouts is still only an approximation of the optimal cost-to-go, because the rollouts use the current exploration policy---but it approaches the optimal cost-to-go as the algorithm continues to run.  MCTS has been previously used for graph search \cite{mcts-arch-search,Negrinho-2019}.\looseness=-1

Could an A$^*$ heuristic be designed in our setting?  There are many good search heuristics (e.g., \citet{gogate04treewidth}) in the special case where only folding actions are allowed.
However, for unfold and rule elimination, the heuristics are difficult to derive.  The challenge with these actions is that they are always uphill moves with delayed benefits: it is often the case that we require several unfolds, each increasing the \degree, followed by several (potentially tricky) folds.

\begin{table}[t]
\centering
\begin{adjustbox}{width=.85\columnwidth}
\begin{tabular}{lrrrr}
      & \multicolumn{2}{c}{avg rel degree}
      & \multicolumn{2}{c}{\% optimal} \\

benchmark &  beam &  mcts &  beam &  mcts \\
\midrule
\hyperref[sec:bar-hillel]{bar-hillel}  &  1.00 &                           1.00 &                       100 &                    100 \\
\hyperref[sec:bilexical-labeled]{bilexical-labeled}   &                              0.97 &                           1.00 &                       90 &                    100 \\
\hyperref[sec:bilexical-unlabeled]{bilexical-unlabeled} &                              1.00 &                           0.99 &                       100 &                    90 \\
\hyperref[sec:chain-10]{chain-10}            &                              1.00 &                           1.00 &                       100 &                    100 \\
\hyperref[sec:chain-20]{chain-20}            &                              1.00 &                           1.00 &                       100 &                    100 \\
\hyperref[sec:chain-expect]{chain-expect}          &                              1.00 &                           1.00 &                       100 &                    100 \\
\hyperref[sec:cky+grammar]{cky+grammar}            &                              0.74 &                           0.68 &                       40 &                    40 \\
\hyperref[sec:cky3]{cky3}                &                              0.99 &                           0.99 &                       90 &                    90 \\
\hyperref[sec:cky4]{cky4}                &                              0.97 &                           0.96 &                       90 &                    80 \\
\hyperref[sec:edit]{edit}                &                              1.00 &                           0.99 &                       100 &                    90 \\
\hyperref[sec:hmm]{hmm}                 &                              1.00 &                           1.00 &                       100 &                    100 \\
\hyperref[sec:itg]{itg}                 &                              0.98 &                           0.95 &                       90 &                    60 \\
\hyperref[sec:path]{path}         &                              1.00 &                           1.00 &                       100 &                    100 \\
\hyperref[sec:semi-markov]{semi-markov}         &                              1.00 &                           1.00 &                       100 &                    100 \\
\hyperref[sec:split-head]{split-head}          &                              0.99 &                           0.99 &                       90 &                    90 \\
\end{tabular}
\end{adjustbox}
\caption{Experimental results for stress test experiments.  Each row is a class of 10 randomly constructed, semantically equivalent input programs.
 \begin{itemize*}
 \item \mysf{\%~optimal}: the percentage of the 10 random programs for which we find the optimal degree within the search budget ($R\!=\!300K$ iterations for MCTS, $B=1000$ for beam search). In many rows, this is 100\%.  However, in some recursive cases with two or more recursive subgoals, the randomly applied unfolds make the programs very big, which makes them difficult to optimize.  Both methods performed poorly on the \hyperref[sec:cky+grammar]{cky+grammar} benchmark, which is by far the longest program we consider as it contains 35 rules in its original form.
 \item Average relative degree: The relative degree achieved by search, averaged over the 10 random programs.  We see that this metric follows the same trend as \% optimal.
 \item Overall, we see a small but consistent improvement of $\beamsearch$ over $\mysf{mcts}$ (under both metrics), except on bilexical-labeled.
 \end{itemize*}}\label{tab:results}
 \vspace{-\baselineskip}
\end{table}

\newcommand{\n}[0]{--}
\newcommand{\y}[0]{+}
\begin{table}[t]
\centering
\begin{adjustbox}{width=.8\columnwidth}
\begin{tabular}{llccrr}
search & $B$ & todo & macro &  avg rel deg &  \% optimal \\
\midrule
beam & 100  & \n & \n &             96 &     87 \\
     &      & \y & \n &             93 &     75 \\
     &      & \y & \y &             97 &     93 \\
     \cline{2-6}
     & 1000 & \n & \n &             90 &     74 \\
     &      & \y & \n &             94 &     77 \\
     &      & \y & \y &             98 &     93 \\
\hline
mcts &      & \n & \n &             97 &     83 \\
     &      & \y & \n &             96 &     80 \\
     &      & \y & \y &             97 &     89 \\
\end{tabular}
\end{adjustbox}
\caption{Ablation of search-space refinements.  Like \cref{tab:results}, we show \% optimal and average relative degree, except here we average together all benchmarks to see an overall picture.
The rows are labeled by their search method and whether that search method operates on a search graph with a to-do list and/or macro folding.  Overall, we see that the proposed refinements improve overall performance under both metrics, except that smaller beams are disadvantaged by the increased depth of the to-do list refinement.
When the macro folds are added to the small beam, performance hits the same peak as the system with a larger beam.
\vspace{-\baselineskip}
}
\label{tab:ablation}
\end{table}

\section{Experiments}
\label{sec:experiments}

The goal of this paper was to devise a system for automatically improving typical dynamic programming problems.  To evaluate whether we achieved this goal, we devised a set of \emph{unit tests} and \emph{stress tests} to see how well our proposed approach works.

\paragraph{Unit tests.}
Our unit tests include most of the faux pas mentioned in \cref{sec:intro}; the precise set of programs is provided in \cref{app:programs}.
However, recovering these instances is relatively easy as they typically only require a few fold transformations.  Thus, they are not a good stress test for our automated system. In all of our test cases, we know the optimal $\degree$, and we have verified that both MCTS (with $R=100$ iterations) and beam search (with a beam of size $B=10$) successfully find it within a few seconds.\looseness=-1

\paragraph{Stress tests.}
The inspiration for our stress tests is to imagine that a \naive programmer produces a suboptimal program.  For example, they may have chosen the poor variable-elimination order in \cref{ex:z:bad-fold}, and, now, we would like to ``undo'' their handiwork via unfold, elimination, and fold.  We operationalize such a \naive programmer by imaging that they have applied a sequence of random folds and unfolds to a starting point program.
More precisely, for each program $\Prog_0$ in our unit test suite with known optimal $\degree$ $d^*$, we generate an inefficient variant $\Prog_1$ for search to improve.  The variant $\Prog_1$ is generated by applying a random sequence of transformations to $\Prog_0$, but we reject $\Prog_1$ if the optimal degree $d^*$ can be ``trivially'' achieved by applying the greedy fold-only algorithm to $\Prog_1$.
The results of this experiment are summarized in \cref{tab:results}.\looseness=-1

We compare the search algorithms according to the percentage of stress tests that they are able to solve optimally.  We also consider the \defn{relative degree}, i.e., the fraction of the possible improvement that was actually achieved:
$\frac{\degree(\Prog_1) - \degree(\Prog)}{\degree(\Prog_1) - d^*}$.

\paragraph{Ablation analysis.}\label{sec:ablations}
We explore the utility of our propose search space refinements (\cref{sec:search-refined}) in \cref{tab:ablation}.

\section{Conclusion}
We have presented a system for automatically analyzing and improving dynamic programming algorithms. Expressing those algorithms in the Dyna programming language allows us to successively apply program transformations introduced by \citet{eisner-blatz-2007}.
We showed that Monte Carlo tree search and beam search allows us to automatically discover asymptotically faster algorithms.\looseness=-1

\section*{Acknowledgments}
We wish to thank Matthew Francis-Landau, Ran Zmigrod, and the anonymous reviewers for their helpful suggestions that improved this paper.

\bibliographystyle{acl_natbib}

redpajama_set_name: RedPajamaArXiv


text:
Cottages Will Take You on a Magical History Tour
The Corey House-Historic Site #375 was built in 1909 and was moved to Heritage Place in 2003. Right, the open concept great room at the Corey House, once home and office to Dr. Martha Dunn Corey, La Jolla's first female physician. Photo courtesy of Coldwell Banker Residential Brokerage
San Diego — It was a passion for preservation and a sense of place that created Heritage Place in La Jolla — a charming collection of three historic cottages in La Jolla's Barber Tract neighborhood.
The Rhoads House-Historic Site #128 at 7210 La Jolla Blvd., was built in 1917 and is part of a compound of three historic cottages on a third of an acre called Heritage Place. Photo courtesy of Coldwell Banker Residential Brokerage
Linda Marrone, an affiliate agent with the office of Coldwell Banker Residential Brokerage, has the listing on the one-of-a-kind property that she said is a rare opportunity to own a collection of three meticulously restored, award-winning historic homes that seamlessly merge modern day amenities with their discrete classic architectural styles. Surrounded by professionally landscaped grounds on a third of an acre two blocks from the beach, the property comes with the Mills Act property tax savings.
The Galusha B. Grow House Historic Site #133, also known as the "Yellow Cottage" was moved to Heritage Place in 1979. Photo courtesy of Coldwell Banker Residential Brokerage
The address is 7210 La Jolla Blvd. between Dunemere Drive and Arenas Street in La Jolla. The listing price is $4.35 million.
Heritage Place was born when Patricia and Bob Schaelchlin, active La Jolla preservationists, were inspired to take action in the early 1970s when they observed that parts of La Jolla's history was systematically being scraped away in favor of modern commercial and residential structures.
They set about to do what they could to preserve the legacy of at least some of La Jolla's history for future generations.
"Actually the yellow cottage was the inspiration," Marrone said. "It was more or less on the chopping block and slated to be torn down for a huge retail office space."
Marrone, a realtor since 1990, is also certified in selling and marketing historic and architecturally designed homes by the National Trust for Historic Preservation in Washington, D.C. In 2008, she was appointed by the mayor of San Diego to serve on the City of San Diego's Historical Resources Board where she served for eight years.
Marrone said the Schaelchlins had purchased a 0.34-acre lot on La Jolla Boulevard in 1974 that already had a bungalow on it as the beginning of their journey to create a home for other endangered historic properties around La Jolla.
The existing home and land was formerly owned by Horace Rhoads, who was a vice president/business manager of the newspaper the San Diego Sun, (later bought out by E.W. Scripps) as well the founder of the San Diego Athletic Club in the early 1920s. In 1928, he decided to move his home on Wall Street in the heart of the village to its current location on La Jolla Boulevard in light of the encroaching commercial structures springing up around his residence.
Island-Themed Hotel Debuts in La Jolla
Developer's Good Neighbor Policy Pays Off for Project
Luxury Real Estate: Find Your Place in History at Tudor Style Home in La Jolla
Bird Rock Is a Picture-Perfect Perch for La Jolla Coastal Living
The Past Has a Strong Presence in Coronado Renovations
Forbes Finds 2 Local ZIP Codes Worth Attention
These La Jolla Gems Sparkle on Their Perches Near the Pacific
Iconic Surf Spot, San Diego Sunsets Set the Scene at Windansea


CCI XTRA: Joel Silver on "Return to House on Haunted Hill"
On Friday at Comic-Con International in San Diego, Producer Joel Silver led a panel previewing "Return to House on Haunted Hill"-a direct-to-video sequel to 1999's "House on Haunted Hill"-which will feature a new interactive technology exclusive to the Blu-Ray and HD-DVD high-definition formats when it is released in November.
The panel began with a screening of the film's trailer, which was met with polite applause from the several-hundred audience members in attendance. Then Silver was joined on stage by cast members Cerina Vincent, Amanda Righetti, Jeffrey Combs, and Laia Gonzalez, and by director Victor Garcia.
"Return to House on Haunted Hill's" release on Blu-Ray and HD-DVD formats features the introduction of new, interactive "Navigational Cinema" technology, which allows a viewer to decide the actions of the on-screen characters. In a short video demonstrating the technology in "Return to House on Haunted Hill," scenes from the movie are spliced with navigation screens prompting a viewer with questions like, "Should Desmond go through the Doorway?" and "Should Paul run away?" followed by "Yes" and "No" options.
As a result of new storylines, called "branches," created by this technique, "Return to House on Haunted Hill" has 96 possible permutations. Branching storylines added another twenty-five pages to a ninety-page shooting script. As Silver put it, "If you want to see a version where they all die, you can do that."
Implementing the technology led to additional filming challenges for the cast and crew. Regarding the filming of storyline branches, Jeffrey Combs said, "I was confused," and "You're giving everything equal weighting but you forget the variations."
Cerina Vincent echoed his sentiments, saying, "When you shoot out of sequence, it's confusing," although she added that eventually they got accustomed to the new technique and had fun.
Silver would not confirm whether "favorite" storylines could be saved by viewers, but the version of the film released to DVD will have a fixed storyline, with alternate scenes available in the DVD's extras.
Silver said that he wanted to implement a similar technology for the release of "The Matrix" on DVD, but the technology did not exist at the time.
The audience showed the most enthusiasm for Jeffrey Combs, who reprises his role in the film as Dr. Richard Benjamin Vannacutt. During the question-and-answer session, cheers met an audience member's suggestion that Combs should have won an Oscar for his role in "The Frighteners."


Winner of regional and national awards for art and photography throughout the Midwest, I have exhibited a number of one-woman shows in Missouri, Kansas, Nebraska and Iowa, and have had works accepted in numerous juried exhibitions.
In addition to creating fine art works and commissioned portraits, I have taught visiting artist programs to elementary and high schools in Missouri and Iowa, as well as drawing and photography classes through community colleges in Nebraska and Iowa. I teach adult and children's drawing and watercolor classes through the Lumberyard Art Center in Baldwin City, Kansas—my current hometown.
Pricing will be negotiated up front for each individual project, but the following list is provided as a guideline.
Shipping is subject to the destination and the changing rates by various providers, and will be quoted at the time your portrait is ordered.
For more information, or to place a custom order, please visit the contact page.


...in the trunk. Latest addons (with a small refactoring) was an autostart support (actualy, imported from previous version and modified) and switching to the recent edelib changes in Resource class.
evoke documentation partially finished mostly due plans for better reorganization. It would be nice to have clearly documented starting/quitting process, how to create a splash theme and bits related to the XSETTINGS values.


The following Case Studies were reported to Richard Valeriano, Senior Vice President – Technical Marketing, during a series of interviews with customers who described the problem they faced and how our products served as a solution.
Washington, DC needed to provide a safe pedestrian experience for a neighborhood with many senior residents who were at risk for tripping over damaged concrete sidewalks around mature Oak trees. The city's solution, installing Rubbersidewalks™ and later TERREWALKS®, as part of the annual maintenance program have served them well for over seven years.
A national leader in non-concrete sidewalk solutions, the city overcomes the cost and problems caused by invasive tree roots and the resulting trip-and-fall injuries by including TERREWALKS® in its annual sidewalk maintenance budget.
Infrastructure damage to concrete sidewalks, curbs, and driveways caused by tree roots of a maturing urban forest was resolved by installing Rubbersidewalks™ and later TERREWALKS® as part of the annual maintenance program.
Forward-thinking mayor John Dickert worked with the city's Department of Parks and Recreation to bring a cost effective and sustainable sidewalk solution to a downtown area with chronic paving problems. TERREWALKS® was the solution.
Douglas County School District needed a cost effective pavement solution for sidewalks between their 146 modular classrooms (mobiles), which TERREWALKS® provided.
One of the first cities to recognize the value of Rubbersidewalks™ as an acceptable alternative to traditional concrete sidewalks, Seattle (which prides itself on being pedestrian-friendly) values their cost effective modularity as well as their safety and comfort for pedestrians.
In this extremely cold climate, concrete sidewalks were chronically broken by freeze thaw, as well as corroded by rock salt and ice melt. Rubbersidewalks™ – unbreakable and undamaged by ice melts – were selected to solve this costly problem.
Replacing three blocks of aging asphalt sidewalks required a significant investment of the town's limited resources, which Rubbersidewalks™ and a California tire diversion grant were able to mitigate.


text:
Category Archives: "Rosebud"
Return to Xanadu, or Have you found your "Rosebud"?
Posted on October 16, 2019 | 1 comment
"Rosebud"… every film buff knows the reference. In the monumental 1941 film, Citizen Kane, Charles Foster Kane repeats the word on his deathbed, recalling the beloved sled so cruelly snatched from him during his impoverished youth. He was still obsessed with its loss, a loss that may have represented the loss of his mother's love.
I hope you've never lost your "Rosebud." But it you have, you might look for it at Hearst Castle.
Hearst Castle? It's the fabulous estate built by newspaper magnate William Randolph Hearst on the central coast of California. Most filmgoers acknowledge that it was Orson Welles's inspiration for Charles Foster Kane's mansion, "Xanadu."
Today Hearst Castle is a National Historic Landmark (as well as a California Historical Landmark), and this year it's turning 100 years old. When I learned of this milestone, I couldn't help recalling my two visits to that extraordinary place.
It wasn't always called "Hearst Castle." Hearst inherited the original estate at San Simeon from his father (along with even more land and $11 million) when his mother died in 1919. Together with his architect, the pioneering Julia Morgan, they greatly enhanced it during a span of over twenty years.
Hearst himself later called it "The Ranch." After he separated from his wife in 1925, he and his mistress, Hollywood film star Marion Davies, spent time at his mansion entertaining prominent guests from the worlds of politics, literature, and film. In addition to the mansion itself, Hearst acquired an enormous amount of priceless artwork and furnishings on an epic scale.
I first heard about Hearst's mansion in the early 1970s when my soon-to-be husband (I'll call him Marv) proposed that we drive up the coast from Los Angeles, where we'd met a few months earlier, to San Francisco and back. Marv said we could stop at "San Simeon," and our stop there turned out to be a shimmering highlight of one of the most memorable trips of my life. Maybe that's why I remember it so well.
We set out from LA on a beautiful sunny morning in mid-March. Driving north on Highway 1, we visited Danish-themed Solvang and beautiful Morro Bay en route to San Simeon.
When we arrived, we walked up to a fairly small entrance and joined a few other tourists on a tour of the mansion, where we learned a lot about Hearst and his mansion's history. I knew something about Hearst from his role in U.S. history, especially his "yellow" journalistic efforts to embroil the U.S. in the Spanish-American War in 1898. But before we visited San Simeon, I knew very little about his personal life.
When the tour ended, we were able to explore the outdoor areas by ourselves. My photo album includes scenes of the two of us at "Hearst Mansion." Unaccompanied and unbothered by any staff or other tourists, we roamed around, taking photos of each other, choosing backdrops like the gorgeous Neptune Pool and some of the exquisite outdoor statuary.
Just after leaving the Hearst Mansion, we drove through Big Sur and relished a memorable lunch at Nepenthe. This charming restaurant, which first opened in 1949, features an outdoor terrace offering a panoramic view of the south coast of Big Sur. The breathtaking view is still worth a stop.
The rest of our trip included equally memorable stops in Carmel and Monterey, as well as a celebration of my birthday in San Francisco. Visiting a couple of wineries in Napa, seeing friends in Berkeley (where Marv had spent five happy years as a grad student), and a trip down the coast to return to LA (via Andersen's Pea Soup just off Highway 1 in Buellton) completed our remarkable trip.
But most unforgettable was our joyful decision to marry each other in a few short weeks.
Fast forward about 35 years. I returned to Xanadu…er, Hearst Castle, during a road trip with my daughter in 2008. This visit was very different. First, we had to enter through a sterile structure, the visitor center, which didn't exist at the time of my earlier trip. In this dreary "holding pen," we waited with a large crowd of other tourists until we were herded onto a bus, herded through the castle, and herded back onto a bus.
This new approach struck me as far too regimented. Although my daughter was delighted to see the castle and learn about its history during our tour, we had very little chance to roam around the grounds by ourselves when the tour ended.
With the castle's 100th anniversary coming up, some positive changes are arriving on the scene. For example, the slate of tours has expanded to include tours with exciting new themes. Even better: Most tours now allow visitors free-roaming once their guided tour is over. This appears to be much like the roaming I remember from my first trip. Visitors can admire the grounds, including the Neptune Pool (recently renovated for $10 million), for as long as they wish. So it now promises to be a far better experience for visitors than the one I found wanting in 2008.
In my mind, Hearst Castle is inescapably linked with the movie Citizen Kane. That classic film looms especially large because it turned out to play an important role in my own life.
Marv and I had met on the campus of UCLA, where we were both working, and we had rented apartments in the same building on the fringes of the campus. Our lives, not surprisingly, often centered around UCLA.
One of our most remarkable dates involved a showing of Orson Welles's film in a classroom building on the campus.
Sometime after we decided to get married, Marv asked me whether I wanted to see Citizen Kane. I immediately jumped at the chance to see a film I'd only heard about but never saw, even on late-night TV.
Marv grinned and said something like, "I think you'll like it," adding, "There's a surprise in it for you." That clearly piqued my interest, and I couldn't wait to see it.
We took our seats in a bare-bones classroom and began to watch the film. It was fascinating from the start, beginning with the announcement of Kane's death on the "March of the News" (patterned after the "News of the World," a newsreel shown in movie theaters in the 1940s). The story then flashed back to Kane's involvement in politics, the purchase of his first newspaper (soon followed by other papers), and his marriage to his first wife.
I was totally caught up in the storyline. Then came the surprise. A character named Susan Alexander suddenly appeared on the screen.
My birth name is not Susan Alexander. But I was never very fond of the last name (my father's) I was given at birth, and I was planning to change it to Marv's last name when we married. Now here was a character with the name I hoped to have.
Unfortunately, she wasn't a totally positive character, and as the story moved on, she became less and less so. Abused by Kane, by the end of the movie she had become a pathetic alcoholic, engendering sympathy rather than antipathy.
I would have been happier to see a more positive figure with my future name on the screen. But what's astonishing is how the character's name has lodged in filmgoers' minds.
During the decades since I married Marv and assumed her name, I've encountered countless people who, upon meeting me, mention Citizen Kane. I immediately know that these people (sadly, a dwindling number) have seen the film and vividly recall the name of Kane's aspiring-soprano second wife, who was actually patterned after the wife of another tycoon, Samuel Insull.
I've always been happy that I took Marv's last name and became Susan Alexander (even when I've been confused with other women who share my name). And I've never regretted being associated with a truly great film like Citizen Kane.
Do you have a "Rosebud"? I didn't have a favorite toy that I lost during my childhood, so I've never obsessed over something the way Charles Foster Kane obsessed over his sled.
But if you have a "Rosebud," I hope that you're luckier than he was, and that someday you, unlike Kane, succeed at tracking it down.
Posted in "Rosebud", 1940s, American culture, Bay Area, California, Charles Foster Kane, Citizen Kane, daughters, driving, family road trips, films, happiness, Hearst Castle, Hollywood, joy, Julia Morgan, Los Angeles, LA, marriage, movie stars, movies, Orson Welles, San Francisco, San Simeon, sunshine, travel, TV late-night, UCLA, University of California, Berkeley, William Randolph Hearst, Xanadu
Tagged Andersen's Pea Soup, Big Sur, Buellton, Carmel, Character "Susan Alexander", Marion Davies, Monterey, Morro Bay, movies, Napa, Nepenthe, Neptune Pool, Samuel Insull, San Francisco, Solvang, Spanish-American War, travel


In our news wrap Tuesday, Israeli police recommended indicting Prime Minister Benjamin Netanyahu on corruption charges. The prime minister said the move would "end in nothing." Also, South African President Jacob Zuma announced he'll address his nation on Wednesday. That comes after the ruling African National Congress formally ordered Zuma to step down.


text:
The last holdout Florida school districts end their mask mandates
By Ryan Dailey, NSF
Photo by ajari via Wikimedia Commons
Citing declines in COVID-19 cases, three county school boards this week decided to end mask requirements for students at all grade levels.
The decisions by the boards in Alachua, Miami-Dade and Broward counties mean that all eight school districts that faced state financial penalties because of mask mandates have reversed course.
The Alachua and Miami-Dade boards voted to allow parents to submit forms to opt out elementary and middle-school students from mask policies. Both of the boards previously had voted to allow parents of high school students to opt out of mask requirements.
Broward County's school board voted to make masks optional for all students without a "formal opt out process."
The three school boards, along with boards in Palm Beach, Leon, Orange, Duval, and Brevard counties, faced financial penalties from the Florida Department of Education after they bucked efforts by the state to prevent mask mandates. The penalties were equal to the monthly salaries of board members.
Related Orange County schools make face masks optional for teachers, starting tomorrow
Orange County schools make face masks optional for teachers, starting tomorrow
The boards in Alachua, Miami-Dade, Broward, Leon, Orange and Duval filed a legal challenge against a Florida Department of Health rule that was a basis for the financial penalties. That rule said parents have "sole discretion" about whether students wear masks in schools.
Administrative Law Judge Brian Newman last week upheld the rule, writing that the health department struck the "right balance" and that attorneys for the school boards failed to prove that allowing parents to opt out of mask requirements facilitated the spread of COVID-19 in schools. The Miami-Dade, Broward, Alachua, Duval and Leon boards appealed Newman's ruling to the 4th District Court of Appeal, though Leon dropped out of the case this week.
"Our situation now is, we basically have no way forward in the courts. And I think it's at that point time to put this aside. We also have lowering (COVID-19) numbers. We all know that could change. But we are in a better position than we've been in quite a while," Alachua board member Robert Hyatt, who requested his board hold a special meeting Wednesday to address the mask requirements.
While Alachua parents initially will have to submit forms to opt out their children from mask requirements, they will not need to do so after students return from winter break on Jan. 4.
Also factoring into the Alachua board's vote Wednesday was the U.S. Food and Drug Administration's recent authorization of COVID-19 vaccinations for children ages 5 to 11. Board members noted that students would have enough time to get fully vaccinated before the start of the next semester.
"That takes us through the end of the school year, is how I see it. And it gives the space for parents that are wanting to get their children vaccinated to do that and develop immunity," board member Tina Certain said.
Miami-Dade's mask opt-out is set to go into effect on Friday. In a statement on its website, the district said it will "continue to follow science, consult with our medical experts, and review our protocols on a weekly basis to identify opportunities for further adjustments of COVID-19 protocols."
The Broward board on Tuesday voted to make masks optional for students starting Nov. 20. The district made clear that it also will follow part of the state health department rule that gives parents discretion about whether asymptomatic students go to school after being exposed to COVID-19.
Vickie Cartwright, interim schools superintendent in Broward, highlighted district efforts to get students vaccinated in a video about the mask policy change.
"By the time we break for Thanksgiving, we will have covered about 70 percent of our elementary schools as far as giving an opportunity at a school site, with parental permission, for a child to become vaccinated," Cartwright said.
Stay on top of Central Florida news and views with our weekly newsletters, and consider supporting this free publication. Our small but mighty team is working tirelessly to bring you Central Florida news, and every little bit helps.
Bloggytown school districts COVID-19 coronavirus mask mandates Florida
We welcome readers to submit letters regarding articles and content in Orlando Weekly. Letters should be a minimum of 150 words, refer to content that has appeared on Orlando Weekly, and must include the writer's full name, address, and phone number for verification purposes. No attachments will be considered. Writers of letters selected for publication will be notified via email. Letters may be edited and shortened for space.
Email us at feedback@orlandoweekly.com.
Join the Orlando Weekly Press Club for as little as $5 a month.
Appeals court tosses Florida school mask case
By News Service of Florida | Dec 23, 2021
UF chairman acted as back channel connection to Gov. Ron DeSantis ahead of school's decision to teach in-person during pandemic
By Corbin Bolies, Fresh Take Florida | Dec 13, 2021
By Alex Galbraith | Nov 10, 2021
Orange County Public Schools to offer COVID-19 vaccine for children starting today
By Alex Galbraith | Nov 9, 2021
School districts appeal Florida mask mandate ruling, ask for quick consideration
By News Service of Florida | Nov 9, 2021
Florida judge backs state in school districts' challenge of masking rules
By Ryan Dailey, NSF | Nov 8, 2021


You have your personal life, your social life, your family life, but what about your College Life? Your MCC college life can be so much more than class time and homework. Current students have an array of services and opportunities to help them achieve their life goals.
Enhance your knowledge of the world.
Your College Life at MCC can be a great part of your life!


text:
Cornar Surname Ancestry Results
Our indexes 1000-1999 include entries for the spelling 'cornar'. In the period you have requested, we have the following 2 records (displaying 1 to 2):
cornacia cornack cornad cornaden cornael cornaflean cornafleau cornage cornah cornaille cornal cornale cornalik cornalis cornall cornally cornalye cornan cornand cornappe cornard cornare cornario cornaro cornassano cornate cornaton cornaud cornaut cornay cornayles cornayll' cornaylle cornays cornbaby cornbe cornbell cornber cornberg cornbers
Freemen of Canterbury by Marriage (1392-1800)
No man or woman could trade in the city of Canterbury without having obtained 'freedom' of the city, unless they paid an annual fee to do so. Admissions of freemen were recorded on the Chamberlains' Accounts of the city, which were prepared annually from Lady Day (25 March) to Lady Day until 1752, and thereafter each set runs from 1 January to 31 December. The accounts for 1392 are incomplete, but thereafter until 1800 there is a complete series except for the years 1455 to 1457 and the year 1552-3. Joseph Meadows Cowper, Honorary Librarian to the Corporation, produced this extract of the names from 1392 to 1800, and the volume was privately printed in 1903. There are five groups of freemen: those who obtained freedom after serving out an apprenticeship to a freeman; the children of freemen; those who married a freeman's daughter; those who claimed freedom by 'redemption', i. e. by purchase; and those who were honoured by a gift of the freedom from the Mayor and Court of Aldermen. Cowper published his lists divided into the five categories: the sample scan is from the list of those who obtained freedom by marriage. This is the index to those who gained their freedom by marriage.
CORNAR. Cost: £4.00.
Sailors and marines awarded the Baltic Medal (1854-1857)
During the Crimean War, a British and French fleet entered the Baltic, and captured Bomarsund harbour and one of the Aland Islands (now part of Finland). Bomarsund is the sound between the islands and the Swedish island of Vardo; and at the fine harbour on Bomarsund, dominating the entrance of the Gulf of Bothnia, and indirectly that of the Gulf of Finland, the Russians had constructed a northern naval base, and this was destroyed in the attack. The British fleet taking part in the Baltic expedition comprised Her Majesty's ships Aeolus, Ajax, Alban, Algiers, Amphion, Archer, Arrogant, Basilisk, Belleisle, Blenheim, Boscawen, Bulldog, Caesar, Calcutta, Centaur, Colossus, Conflict, Cornwallis, Cossack, Cressy, Cruizer, Cuckoo, Cumberland, Dauntless, Desperate, Dragon, Driver, Duke of Wellington, Edinburgh, Esk, Euryalus, Exmouth, Falcon, Firefly, Geyser, Gladiator, Gorgon, Hannibal, Harrier, Hastings, Hawke, Hecla, Hogue, Imperieuse, James Watt, Leopard, Lightning, Locust, Magicienne, Majestic, Merlin, Miranda, Monarch, Neptune, Nile, Odin, Orion, Otter, Pembroke, Penelope, Pigmy, Porcupine, Prince Regent, Princess Royal, Pylades, Resistance, Retribution, Rhadamanthus, Rosamond, Royal George, Royal William, Russell, St George, St Jean D'Acre, St Vincent, Sphinx, Stromboli, Tartar, Termagant, Tribune, Tyne, Valorous, Volage, Volcano, Vulture, Wrangler and Zephyr. This is the medal roll of the naval and marine claimants who qualified for the Baltic Medal for service in 1854 to 1855. The medals were dispatched in batches from early 1857, the first batch being numbered B A 1, the next B A 2, &c.; then follows the destination (a place or, more usually, a ship) and the date of dispatch. Most of the medals had been sent by the end of 1857.


Workwear for women from St. John Knits gives you the polished look that reflects your career success. Browse our collection of office wear for women today.
Solid Heavy Georgette Pants Solid Heavy Georgette ..
Luxe Sculpture Knit Dress Luxe Sculpture Knit Dr..
Bianca Plaid Knit Jacket Bianca Plaid Knit Jack..
Pique Milano Knit Skirt Pique Milano Knit Skir..
Pique Milano Knit Elbow Sleeve Dress Pique Milano Knit Elb..
Milano Knit Cap Sleeve Dress Milano Knit Cap Sleeve..
Ana Boucle Knit A-Line Skirt Ana Boucle Knit A-Line..
Stretch Double Weave Ankle Pant Stretch Double Weave A..
Shadow Floral Jacquard Fit & Flare Dress Shadow Floral Jacquard..
Gail Knit Ballet A-Line Dress Gail Knit Ballet A-Lin..
Bella Double Weave Cropped Flare Pants Bella Double Weave Cro..


text:
Danka Kovinic
Begu Defends Home Turf at WTA Bucharest, Also Claims Doubles
by Staff | July 23rd, 2017, 10:55 pm
Romanian Irina-Camelia Begu won her first title of the year in her home country, recording a 6-3, 7-5 win over Julia Goerges in the final of the BRD Bucharest Open on Sunday.
It was her fourth career title and first on clay, and she also won the doubles title.
"I never thought that I could win two trophies in one week, especially in Romania, in Bucharest, my hometown," Begu said. "It's unbelievable. I am a little bit tired after so many hours spent on court. It's tough. It was really hot this week here so, yes, I am tired, but happy in the same time. It was an amazing week for me."
Begu is 4-3 in career finals while Goerges fell to 2-6 and 0-2 in 2017 finals. She was attempting to raise a trophy for the first time since 2011 Stuttgart.
"Irina played a very solid match and she didn't give me much time to create my shots," Goerges said. "She took control over the first set, but I always thought I had a chance to come back. I was a break up in the second set, but she was pushing me a lot and I have to give credit to her."
In the doubles final Begu and Romanian countrywoman Raluca Olaru beat Elise Mertens and Demi Schuurs 6-3, 6-3.
Top-Seeded Sevastova Tries to Forget Double Bagel This Week at WTA Bucharest
Nadal, Sharapova Among Weekend Tennis Title Winners
Garcia-Lopez, Kerber, Nishikori, Win ATP/WTA Titles
Halep Boosts No. 1 Status, Wins 2 Titles at WTA Shenzhen
Hewitt, Cuevas, Bautista Agut, Halep, Petkovic Win ATP/WTA Titles
Tags: Irina Camelia Begu, Julia Goerges


text:
Rotation Rate Could Pin Down Age of Stars
A new study may help scientists determine when stars were born
By John Matson on August 1, 2011
Credit: Courtesy of NASA, ESA and AURA/Caltech
Stars of the sky play a bit coy with their ages—an ancient star can often pass for a much younger one. That is a problem for astronomers seeking out habitable planets orbiting distant stars because a star's age correlates with the life-forms it could support.
"We know from studying our own planet that if the star and the planet [are] about one billion years old, only the most primitive microbial life might exist," said Søren Meibom of the Harvard-Smithsonian Center for Astrophysics at the May American Astronomical Society meeting in Boston. "Is it perhaps 4.6 billion years old? Well, all of a sudden we know we could have a planet teeming with complex and intelligent life."
But, as Meibom put it, "stars do not have birth certificates." And many visual attributes remain the same for most of a star's life. One feature, though, does change: stars spin more slowly as they grow old. "And so we can use the spin rate, the rotation rate of a star, as a clock to measure its age," Meibom said.
But first someone has to paint the numbers on the face of that clock. Researchers have already pinned down the relation between rotation and age for very young stars. So Meibom and his colleagues are measuring the rotation rates of older stars. If they can figure out the relation between age and rotation for many vintages of stars, a star's age will be much easier to estimate. No birth certificate required.
Editor's note: This story was printed with the title, "Ageless,No Plastic Surgery Required."
John Matson is a former reporter and editor for Scientific American who has written extensively about astronomy and physics. Follow John Matson on Twitter
Recent Articles by John Matson
Astronaut Chris Hadfield Covers David Bowie's "Space Oddity" in Space [Video]
In Einstein's Universe, Airplanes and Staircases Are Time Machines
Sean Carroll Entangles Time and Entropy


Yasuhiro Hatori, Ko Sakai; A computational study on the representation of curvature constructed from surface-based integration. Journal of Vision 2012;12(9):1310. doi: 10.1167/12.9.1310.
Object recognition is achieved through the integration of local features detected in early visual areas. We propose that the construction of surface in the early- to intermediate-level visual areas (V1-V2) contributes to the integration of local cues for the establishment of shape representation in higher visual areas. Physiological studies have shown that a majority of cells in V4 show the selectivity for the curvature and its position with respect to the object center as a primitive representation of shape (Pasupathy & Connor, 2001; 2002), and that the responses of the cells emerge gradually in two phases with the early response to contour fragments and the later response to curvature and its position (Yau et al., VSS2010). We investigated computationally the neural mechanism underlying the curvature selectivity, specifically, whether the responses are established through the integration of contour fragments based on the early representation of surface. We developed a model of V1-V2-V4 networks, and examined the behavior of the integration process and the emergence of the curvature selectivity. The analyses showed that the spatial pooling of V1-cell activities around the CRF center leads to the early phase of the V4 cells, and that the integration of the V1-cell activities based on the surface constructed in V2 corresponds to the late phase. The cellular preference for curvature and its position depended on the directional bias of the integration region with respect to surface. Furthermore, the model V4-cells showed the preference for acute curvature rather than obtuse curvature despite the fact that the model had uniformity in the directional bias, indicating a good agreement with physiology. These results support that the construction of surface in early to intermediate areas plays a crucial role in the integration of contour fragments into curvature for the representation of shape.