HNHacker News
TopNewBestAskShowJobs

chaoxu

332 karma · joined November 12, 2012

<https://chaoxu.prof>

Professor at UESTC, works on theoretical computer science and operations research.

Research interests: algorithms, combinatorial optimization, computational geometry and problem-solving in general.

submissionscomments
chaoxu··on E Ink Waveforms are a closely guarded secret
Did you eventually switch the panel to ES133UT2? Dasung released a new version called paperlike HD (also called paperlike 3). In that version, it does not look like having a glass panel.
chaoxu··on E Ink Waveforms are a closely guarded secret
I don't have an easy way to measure the FPS, but here is a video I just took. https://www.youtube.com/watch?v=xW-gatdEC7w

It is reasonable enough to see what's happening, but obviously, I'm not going to watch a movie on that.

chaoxu··on E Ink Waveforms are a closely guarded secret
1. Currently, I use it for writing code and reading papers. However, I still want the monitor to be a good enough drop-in monitor for things I need to occasionally do. For example, I need to switch to a browser window to check what was that error I'm getting.

2. Visual snow syndrome: Many had their first experience of visual snow after staring into the screen for too long. People who believe in that is the cause of visual snow would want a screen that does not emit light.

chaoxu··on E Ink Waveforms are a closely guarded secret
Recently, I brought a Dasung paperlike HD to use as a monitor. (crazy expensive, prob should've spend money elsewhere...) I thought some things were impossible with eink, but it proved me wrong. (video in a reasonable fps)

It has a few different ways of display. For example: Floyd–Steinberg dithering: essentially only black and white with dithering, and the speed pretty good. A16: uses 16 shades of grey, but the speed is horrible for moving images. So I wonder if a mix of the two can do much better (e.g. moving objects using floyd-steinberg until it stops moving)

Before doing that, I need to know the exact limit of eink. Are some operations slow because the microcontroller or because it is the limit of the display module itself? This article shows such a question is not that easy to answer using the openly available information.

Also, I'm interested if there are algorithmic problems to be solved in this space. (I do research in theoretical computer science). If you are in NYC and knowledgeable I'm very interested to chat (I know little, but I have the monitor you can play with).

chaoxu··on Mass Transit Optimization for Buses: The Depot Problem
It is unclear what is the objective. Minimize deadhead costs? If so, solving it with min-cost circulation with lower-bound. It would be much cleaner.
chaoxu··on Ask HN: Who is hiring? (June 2018)
The link for algorithms engineer was removed. Did it just got satisfied?
chaoxu··on Failures of Deep Learning
I do see this kind of behavior in engineering oriented fields. Maybe the authors try to be as formal as possible, but doesn't known when to stop? Or maybe this is how they naturally think? (I doubt this, but because this is so common, I wonder if this is actually the case...)

I had a similar problem in my earlier career, because I try to be as precise as possible. But for conciseness, I don't bother to explain anything. Later on I learned to say things in English, or give intuition, before writing out the formal definitions.

Fortunately, papers the reviewers cannot understand have a hard time getting into top conferences in my area (CS theory).

chaoxu··on Proof of negation and proof by contradiction (2010)
"intuitionistically" refers to the intuitionistic logic.
chaoxu··on Why Don't Computer Scientists Learn Math?
That map is doing an impure operation. The order of application matters.

Otherwise, for people who learned functional programming from the start, it's much easier to understand.

chaoxu··on Paul Erdős: a life that added up to something (1996)
I have 2, through Neil Calkin.
chaoxu··on Intro to Multicriteria Optimization
I almost exclusively work on problems can be solved(by a combinatorial algorithm) in polynomial time. I have never used theory of mixed integer linear programs, but that's because I focus on different aspects of combinatorial optimization.

If I teach an undergrad course, I would model after Michel Goemans's course. http://www-math.mit.edu/~goemans/18433S15/18433.html I will also introduce some submodular functions(and touches submodular flow). It captures half of the things encountered in the course, and general and simple enough to be the first thing to try. For example, the following problem might be difficult if one tries to create an algorithm by modify the standard matching algorithms. However, one can easily show it is polynomial time solvable by proving some submodular property.

http://cstheory.stackexchange.com/questions/20245/subset-of-...

chaoxu··on Intro to Multicriteria Optimization
I do research in combinatorial optimization. Does your company solve any problems with a combinatorial flavor? (say, things can be optimized using combinatorial algorithms instead of going for gradient descent.
chaoxu··on Crystal: Fast as C, Slick as Ruby
If there is no need for predicting memory utilization, then doesn't real time GC fit the bill? Consider all your know w/e you want execute in time T. A real time GC make sure it always execute in time 2T. For any sequence of operations.
chaoxu··on Open Problems in Theoretical Computer Science
np. There might be ways to speed up the running time for this special case. Naive algorithm using submodular minization + maximum matching as an oracle would take around O(n^c) where c is probably more than 10.
chaoxu··on Open Problems in Theoretical Computer Science
I have just answered one of those problems here. http://cstheory.stackexchange.com/questions/20245/subset-of-... I hope I didn't misunderstood the problem.
chaoxu··on Ask HN: Papers you read in 2015?
Here is an accessible algorithms paper. It's a cute puzzle problem. It was inspired by answers on cs.stackexchange.

Efficient Algorithms for Envy-Free Stick Division With Fewest Cuts http://arxiv.org/abs/1502.04048

chaoxu··on Algorithms, Etc
It's actually a reference to a disclaimer in Algorithm Design Manual. I don't think he actually reviewed the lecture notes.

The Algorithm Design Manual had the following(page ix in second edition) "Any errors, deficiencies, or problems in this book are somebody else’s fault, but I would appreciate knowing about them so as to determine who is to blame."

Hence the joke.

Source: Steve told me.

chaoxu··on Algorithms, Etc
I was a TA for classes using this material. We(the TAs) sometimes come up with problems to be incorporated in it. The lecture notes are superb, I often refer people to them because it's freely available.

The hw is basically"given you've learned this, can you apply them?" I found many students like this style of problems.

I personally prefer the homework problems of Sariel har-Peled(who teaches in the same university, and I'm TAing for) http://sarielhp.org/teach/ His hw problems guides one to figure out important materials that's not covered in class by breaking it down to small steps. (Say, a hw problem that introduces parametric search) I definitely recommend solve some sariel style problems once one mastered the basic material.

chaoxu··on Sift4: Fast and accurate string distance algorithm
There is no proof that this approximates the Levenshtein distance. Might be interesting to show this is true. (or somehow characterize all the bad cases)
chaoxu··on How to multiply polynomials in Θ(n log n) time
probabilistic convolution tree is not much more involved. In some sense it's just multiple polynomial multiplication.

But anyway, coin change problem can be solved much faster. http://link.springer.com/article/10.1007%2Fs00453-007-0162-8

chaoxu··on Rosalind, a platform for learning bioinformatics and programming
I'm still looking for a open source version of this so I can create a nice collection of algorithm problems.
chaoxu··on Owing Graph Minimization
Another way to think of this problem is find a feasible flow in a complete graph that satisfy all vertex demands and using minimum number of edges.
chaoxu··on A Faster Pseudopolynomial Time Algorithm for Subset Sum
Author here. The idea is a mix of many things. This is not how we write it in the paper, but just for intuition.

If Σ(S) is the set of all subset sums of S, where S={s_1,...,s_n}, then

Σ(S) = Σ(s_1)+Σ(s_2)+...+Σ(s_n).

Here A+B = {a+b|a in A, b in B} + is associative and commutative. Now we want to add parenthesis on that formula in a way such that it is fast. Similar to matrix chain multiplication. We make sure + can be fast if certain property are satisfied(Theorem 2), and the rest is just figuring out the right way to add parenthesis.

chaoxu··on Finding a minimum polygon of a set of points
The problem seems to be: find the smallest regular k-gon that covers all the points. (now, assume the total number of points is n, and k = O(n))

One can transform the problem to the following, and solve it in around O(n^7) time. http://dl.acm.org/citation.cfm?id=73853

There probably exist faster algorithm for this special case using smarter parametric search...

chaoxu··on Academia's 1%
Not everyone mit graduate is MIT professor good.
chaoxu··on Algorithms playground for common questions solved in Ruby syntax
I want to see something like this but with Haskell. So I get to see if Haskell is nice for expressing algorithms.
chaoxu··on Building a Minimal Convex Hull
"For example, to computationally identify the likely boundary of something - a microscopic cell, or submicroscopic cellular component."

I still don't know which field you are from, thus I kindly request you to give me a definite reference where convex hull is defined that way. I'm cornered in the world of computational geometry, and doesn't know how other fields use the word.

In fact, I don't even know what definition you are talking about. You said 'elastic band', but do you mean the 'elastic band' that bounds the points freely and somehow still convex(which is what the "convex hull" meant in the author's article), or do you mean the tightened 'elastic band'. Thus asking for seeing this definition is important for me to even understand what you are talking about.

"Perhaps you are not as knowledgeable about this field as you think." Perhaps. This is why having definitive references help.

This is the top 5 links that contains the definition of convex hull when I searched "convex hull" in google. (These exclude the wikipedia(wikibooks) pages because I have already use them)

1. http://mathworld.wolfram.com/ConvexHull.html (The convex hull of a set of points S in n dimensions is the intersection of all convex sets containing S.)

2. http://doc.cgal.org/latest/Convex_hull_2/ (A subset S⊆ℝ^2 is convex if for any two points p and q in the set the line segment with endpoints p and q is contained in S. The convex hull of a set S is the smallest convex set containing S. )

3. http://www.cs.uu.nl/docs/vakken/ga/slides1.pdf (For any subset of the plane (set of points, rectangle, simple polygon), its convex hull is the smallest convex set that contains that subset)

4. http://www.cs.jhu.edu/~misha/Fall05/09.13.05.pdf (Given a finite set of points P={p1,…,pn}, the convex hull of P is the smallest convex set C such that P⊂C)

5. http://geomalgorithms.com/a10-_hull-1.html (The most common form of this algorithm involves determining the smallest convex set (called the "convex hull") containing a discrete set of points.)

All of the definitions are not equivalent to the authors, but equivalent(or a special case when restricted to finite set/R^2) to each other. I also have book excerpts if you really need them.

"I found it rude of you to simply trash the author's article when they spent time preparing an extremely good resource" I did not have object of their work, just particular terminology. I pointed out specific flaws in the article and constructively offered how to fix them. In fact it took out a huge amount of my time in order to come up with equivalent definition that also preserve the author's intuition. My definition is not obviously equivalent to the ones I presented above. It requires a proof, and I can only prove the case when there is only a finite number of points, which works great because that's the exact case the author is thinking about.

" - and I don't agree that your correction was useful. " If you always take convex hull of a set of point S to mean "a convex curve that bounds a set of points S" then you won't think the correction is useful because my definition doesn't equal yours.

"You did the author a disservice on that site and should consider an apology." I do not agree.

chaoxu··on Haskell version of Norvig's spelling corrector
It would be nice if you explicitly state you are learning Haskell in your article. If I'm a newbie and I see some of the awkward Haskell code(which I also make sometimes), I would feel discouraged. It doesn't seem Haskell is making things better.
chaoxu··on Building a Minimal Convex Hull
This does make sense under author's definition: convex hull is defined as the boundary of any convex set enclosing the set of points.

But in standard terminology, convex hull of a set S is the smallest convex set containing the set of points. The convex hull is always minimal because it's unique.

chaoxu··on Building a Minimal Convex Hull
Of course, using the most abstract definition is not the best idea, but anything equivalent to the standard terminology is ok. For example, in 2d, we can san say the convex hull of a finite set of points is the smallest enclosing convex polygon.

The name convex hull is related to linear hull and conic hull, therefore defining it to not contain the interior is strange, but reasonable because in many applications we only care about the description of the convex hull by describing the polygon.

← PreviousPage 3 of 4Next →