Author Archives: Shin

Fully Polynomial-Time Approximation by Thinning

Code accompanying a forthcoming paper of Yu-Han Lyu, Akimasa Morihata, and me: Constructing Datatype-Generic Fully Polynomial-Time Approximation Schemes Using Generalised Thinning.

Posted in Software | Tagged | Leave a comment

An Exercise Utilising Galois Connections

In the recent work of Sharon and me on maximally dense segments we needed quite a number of functions to be monotonic, idempotent, etc. It only occurred to me after submitting the paper: could they be defined as Galois connections?

Posted in Research Blog | Tagged , , | Leave a comment

Finding Maximally Dense Segments

Sharon and I have finally concluded, for now, our work on the maximally dense segment problem (download the draft here), on which we have been working on and off for the past two years. Considering the algorithm itself and its derivation/proofs, I am quite happy with what we have achieved. The algorithm is rather complex, however, and it is a challenge presenting it in an accessible way. Sharon has done a great job polishing the paper, and I do hope more people would be interested in reading it and it would, eventually, inspire more work on interesting program derivations.

Posted in Research Blog | Tagged , | Leave a comment

Functional pearl: maximally dense segments

Sharon Curtis and Shin-Cheng Mu. Functional pearl: maximally dense segments. Submitted.
[PDF]

Posted in Publication | Tagged , | Leave a comment

The Maximum Segment Sum Problem: Its Origin, and a Derivation

In a previous paper of mine, regrettably, I wrongly attributed the origin of the maximum segment sum problem to Dijkstra and Feijen’s Een methode van programmeren. In fact, the story behind the problem was told very well in Jon Bentley’s Programming Pearls.

I learned the function derivation of the maximum segment sum problem from one of Jeremy’s papers and was very amazed. It was perhaps one of the early incident that inspired my interest in program calculation.

Posted in Research Blog | Tagged , | 8 Comments

Maximally Dense Segments — Code and Proof

Code and proof accompanying our forthcoming paper Functional Pearl: Maximally Dense Segments.

Posted in Software | Tagged , | Leave a comment

A Survey of Binary Search

If you think you know everything you need to know about binary search, but have not read Netty van Gasteren and Wim Feijen’s note The Binary Search Revisited, you should.

Posted in Research Blog | Tagged , | 5 Comments

A “Side-Swapping” Lemma Regarding Minimum, Using Enriched Indirect Equality

If every solution returned by D is no better than some solution returned by X, any optimal solution by X must be no worse than some optimal solution by D “What? How could this be true?” It turned out that the reasoning can be correct, and the proof uses indirect equality in an unusual way.

Posted in Research Blog | Tagged , , | Leave a comment

A grammar-based approach to invertible programs

Kazutaka Matsuda, Shin-Cheng Mu, Zhenjiang Hu, and Masato Takeichi. A grammar-based approach to invertible programs. In 19th European Symposium on Programming (ESOP 2010), LNCS 6012, pp 448-467, March 2010.
[PDF]

Posted in Conference, Publication | Tagged | Leave a comment

Determining List Steepness in a Homomorphism

A list of numbers is called steep if each element is larger than the sum of elements to its right. It is an example we often use when we talk about tupling. Can we determine the steepness of a list by a list homomorphism?

Posted in Research Blog | Tagged , | 8 Comments