h a l f b a k e r yQuis custodiet the custard?
add, search, annotate, link, view, overview, recent, by name, random
news, help, about, links, report a problem
browse anonymously,
or get an account
and write.
register,
|
|
|
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?
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]
[link]
|
|
Where do the numbers come from? |
|
|
// 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 |
|
|
[({'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. |
|
|
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: |
|
|
Value: 0: investable: Negative return predicted. |
|
|
[zen_tom], I need several ideas (proposals of a solution) to your described problem to start. |
|
|
So if you're just making numbers up, why not stop there? Why add all the extra pseudo-code? |
|
|
[pocmloc], not just numbers -- also the names for the numbers to form variable names, and also labels for the transition states. |
|
|
//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], 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. |
|
|
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". |
|
|
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? |
|
|
I see... I guess I'll leave it the way it is. |
|
|
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. |
|
| |