Expand Cut Tags

No cut tags
ilai: (Default)
[personal profile] ilai
I had trouble sleeping last night, because my mind drifted off to a problem, which I record below. I make no guarantees with respect to coherence :)

Say that you have a set of tuples (puv), where p is a point on the x-y plane, u and v are positive integers, and u > v. One of the tuples is the origin tuple, (p0u0v0), and no two tuples share the same point.

A run is a nonrepeating sequence of n such tuples (pi, ui, vi), starting with the origin tuple, where any sum u0 + v1 + v2 ... + vi is at least ui+1.

Let's say the length of the run is the sum of all the distances between adjacent pi and pi+1 points in the sequence, and the size of the run is the sum u0 + v1 + v2 ... + vn.

Now I want to do one of the following things:
  • Find a run with maximum size that is no more than a certain length
  • Find a run with minimum length that has at least a certain size
  • Say that there's a certain subset of tuples; find a run that is no more than a certain length, but contains the maximum number of tuples in said subset
Or maybe I want to complicate the problem:

In-between tuple restrictions:
  • Impose the restriction that in a run, a point pj cannot be collinear and between two points later in the run, pi and pi+1
  • Impose another restriction that the third point cannot be m distance away from the line segment between pi and pi+1, where m is some multiple of the cube root of the length of the run up to the tuple with point pi.
Turning penalty:
  • For each three adjacent tuples, add to the length some penalty amount proportional to the smaller angle created by the rays (pi, pi+1) and (pi+1 , pi+2)
  • Or make the penalty proprotional to the absolute value of the sine of the angle, plus a little extra if the angle is greater than pi/2


Then my head went "BA-NA-NA" and I decided I should forget about this and go to bed. Maybe I'm mad.

Date: 2005-02-09 07:11 pm (UTC)
From: [identity profile] staticentropy.livejournal.com
Your problem seems to be a pretty standard dynamic programming problem. I can explain the algorithm in more detail elsewhere or in person; LJ comments are certainly not the way.

I'll see if I can implement the versions without any restrictions and make it understandable, to boot. Or you can find me in person sometime.

Date: 2005-02-09 10:04 pm (UTC)
From: [identity profile] staticentropy.livejournal.com
Hm. Actually, I might have misunderstood the problem. I'm still sure there is a fairly simple solution to it - it's probably more of a graph theory problem (but, of course, the standard algorithms use DP to speed things up). I'll think about it some more.

Date: 2005-02-10 04:33 pm (UTC)
From: [identity profile] luckylefty.livejournal.com
Oddly enough, this exact problem has been keeping me up late at night, too. Though I've been working out solutions to specific instances of the problem, rather than trying to find a theoretical general solution.

Profile

ilai: (Default)
Ian

July 2014

S M T W T F S
  12345
6789101112
13 141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Page generated May. 22nd, 2025 09:20 pm
Powered by Dreamwidth Studios