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.

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. 23rd, 2025 01:06 am
Powered by Dreamwidth Studios