Computer: Data Organization
Idea Definition Language   (+2)  [vote for, against]
Define a language to easily estimate value of ideas, compare and choose ideas.

Sometimes we need a quick estimation of the value of an idea, or to select the ideas with the most value from large set of ideas.

In those situations, it is not necessarily straightforward to estimate it, because each "investable" and deliverable for a different investor may have different subjective value with respect to their goals.

So, I have an idea of an "idea definition language" (IDL) to allow quick description of ideas for ROI estimation.

My initial thoughts, it is should be milestone, and I/O based. I'm thinking of something like:

: do 100
: profit 1000

A kind of I/O list, where odd rows mean inputs, and even rows mean outputs. There should exist something like possibility to define distributions of the values of variables, starting with something as simple as scenarios for values:

add: investable1 100\200, investable2 10\20
get: deliverable1 10\20
add: investable1 10\20\30, investable3 1\5
get: deliverable1 100\150, deliverable2 10

I chose the ":" (colon) to separate the label for an I/O item, and the "\" (backslash) for separating scenarios, because I want to use the slash (/) as division symbol later on for defining probability distributions for investables and deliverables on each step.

I started thinking about it, and wrote a python tool "IdeaLib" to implement such language (see link), but the language itself may be far from finished.

Anyway, what do you think of such a language?
-- Mindey, Mar 13 2015

GitHub: IdeaLib https://github.com/Mindey/IdeaLib
My attempt to implement parser and visualizer in Python. The subjective relative values of investables and deliverables are currently defined there as a separate hashtable (python dict) as parameters of Idea constructor, but could be part of language. [Mindey, Mar 13 2015]

Where do the numbers come from?
-- pocmloc, Mar 13 2015


// Where do the numbers come from?

[pocmloc], from the language user's imagination in a head. :) The point is to make a language human-friendly, then let the parser convert it into a computer-friendly (e.g., JSON) format. In case the library mentioned in the link is used not by humans (e.g., computer is taking the numbers from some where), then it would perhaps be more flexible to write numbers directly into the underlying data structures, which are kept as Python dicts, example:

i: investable1 100\200, investable2 10\20
o: deliverable1 10\20
i: investable1 10\20\30, investable3 1\5
o: deliverable1 100\150, deliverable2 10

becomes

[({'investable1': ['100', '200'], 'investable2': ['10', '20']},
{'deliverable1': ['10', '20']}),
({'investable1': ['10', '20', '30'], 'investable3': ['1', '5']},
{'deliverable1': ['100', '150'], 'deliverable2': ['10']})]

While creating the language, I'd think of both, the underlying data format after parsing (something like computer-friendly rss for ideas), and as a representation for humans.

But I see the point. That kind of numbers could be a subject to change depending on priorities of a person, so, they could come from some personal priority system as variables. Then it's a question of notation.
-- Mindey, Mar 13 2015


Hmmm, it's tricky. Let's try an example.

Say our client has an issue where their salesmen keep travelling between their 20 different cities (the distances between which are yet to be divulged) only they keep on using sub-optimal routes, and charging all the excess milage on expenses. We need to cut down on all these non-optimal journeys and need to present to the client how we intend to go about it (i.e. tell them our ideas)...

So, Mindey, the floor's yours:
-- zen_tom, Mar 13 2015


Value: 0: investable: Negative return predicted.
-- RayfordSteele, Mar 13 2015


[zen_tom], I need several ideas (proposals of a solution) to your described problem to start.

[RayfordSteele] :)
-- Mindey, Mar 13 2015


So if you're just making numbers up, why not stop there? Why add all the extra pseudo-code?
-- pocmloc, Mar 13 2015


[pocmloc], not just numbers -- also the names for the numbers to form variable names, and also labels for the transition states.
-- Mindey, Mar 13 2015


//I need several ideas (proposals of a solution) to your described problem to start.//

Ah ok, so this is less an idea definition language, than a scenario comparison language. I think the difference for me is an idea can often be more abstract, a thing independent of any real-world application - wheras a scenario is a kind of real-world "what-if".

As it happens there are some such languages that seek to do this - UML, IDEF0 and other process modelling languages allow you to set up a number of scenarios, and compare them against one another. The devil is in the detail, but some tools built on these concepts will automatically "run" the simulations against one another and return a set of reports that go deep into the costs associated with each. The trick is to closely model the "as-is" situation so that you can reliably get an idea of any prospective changes.
-- zen_tom, Mar 14 2015


[zen_tom], I agree with your comment, it is more of a scenario-constraint definition language, and what I meant by 'idea' in the title is something more akin to 'business idea' than 'idea' in the general sense... though, I could write the Halfbakery's example idea in this:

add: coffee beans 40, grinding of beans movements 30, pour water over them actions 1, water millilitres 200
get: coffee cups 1

Yes, it is not the general idea of "coffee", but it is a way to imagine the value of the idea. We have to assume some investables and deliverables, and their relative values with respect to goals of a goal-pursuing entity to do it. Moreover, such-defined idea of coffee will definitely have to have some constrains on the quantities of its constituents. Should they be part of the idea of "coffee"? Is very low concentration coffee solution -- still coffee? Generally, Halfbakery encourages adding more details:

(from HB Help)
// Generally, the more you know (and can explain!) about the technology behind your invention, the more interesting the posting will be.
-- Mindey, Mar 14 2015


Ha [sleep] yes, you're obviously a veteran! I do think though that when done right (using proper metrics and running some level of proper numerical analysis) at least the business-level folks get an understanding of the issues at hand. Without any form of modelling done on their part, they're just like "how hard can it be?" and "I just want a button that does my job".
-- zen_tom, Mar 14 2015


Btw., I think there was a long discussion about what is and what is not an idea. For me, an idea is "a creative solution to a problem," and a good idea is an idea that requires relatively very little investment, yet it has a great potential return on investment.

Yeah, [bigsleep], a business ROI simulator. I agree.

[zen_tom], I think I could certainly write the potential investables (e.g., mathematician's time), and deliverables (e.g., geometrical problems that will become possible to solve with the deliverable) even for abstract problems (e.g., deliverable, such as "Pythagorean theorem" in the ancient times where we didn't have it.)

I think we assume some I/O in the case of any ideas, and that's the common basis to estimate value of any ideas.

Anyway, it's more close to "Idea Description Language for Evaluation" than "Idea Definition Language" in general, should I rename it?
-- Mindey, Mar 14 2015


+ for the title
-- popbottle, Mar 14 2015


I see... I guess I'll leave it the way it is.
-- Mindey, Mar 14 2015


How do you do this for intellectual work?

This works great for merchanting ideas as they are simple input/output

But what if you bid for tender as an agreement to provide services for government. These projects are lucrative. But they are complicated and require so much work.
-- chronological, May 19 2022



random, halfbakery