Algorithms, Theory, Spirituality, Life, Technology, Food and Workout : trying to sort these deterministically in $\Theta(1)$ time (constant time).
Monday, November 22, 2004
Trying to start a new life(Genetic Algorithms).....but those old memories(Deterministic Algorithms) still make me feel emotional.........
Joined JGAP to contribute to the opensource community.
Genetic algorithms (GA's) are search algorithms that work via the process of natural selection. They begin with a sample set of potential solutions which then evolves toward a set of more optimal solutions. Within the sample set, solutions that are poor tend to die out while better solutions mate and propegate their advantageous traits, thus introducing more solutions into the set that boast greater potential (the total set size remains constant; for each new solution added, an old one is removed). A little random mutation helps guarantee that a set won't stagnate and simply fill up with numerous copies of the same solution.
In general, genetic algorithms tend to work better than traditional optimization algorithms because they're less likely to be led astray by local optima. This is because they don't make use of single-point transition rules to move from one single instance in the solution space to another. Instead, GA's take advantage of an entire set of solutions spread throughout the solution space, all of which are experimenting upon many potential optima.
However, in order for genetic algorithms to work effectively, a few criteria must be met:
* It must be relatively easy to evaluate how "good" a potential solution is relative to other potential solutions.
* It must be possible to break a potential solution into discrete parts that can vary independently. These parts become the "genes" in the genetic algorithm.
* Finally, genetic algorithms are best suited for situations where a "good" answer will suffice, even if it's not the absolute best answer.
Tuesday, November 16, 2004
Never count on anyone except your self..........(Dont trust the runtime it will never behave ideally for your programs)
Never think that the code you have written is
platform independent, even though you write it
according to POSIX standards. So this is what programs
teach us in life never trust any thing which is not written
by you. YOU CANNOT COUNT ON ANYONE EXCEPT YOU....
---------------------------------------
An echo fades into the night,
an eerie mournful sound.
A shooting star disappears from sight,
and I crumble to the ground.
There is no life within this garden;
my sobs are the only sound.
I have poisoned the honeyed fountain
where your love could be found.
Dazed, I stare at the stars above,
my grieving howls fill the night!
Unintended betrayal of love
has hidden you from my sight.
I remember how it used to be
when we shared our fears and delights.
You are a treasured friend to me.
How can I make things right?
Feeling afraid, cold and lonely,
I long to tell you how I feel,
but you don’t want to hear me.
The pain for you is much too real.
Should I back away and build a wall
and block away how I feel?
Or, should I give you a call?
We both need some time to heal.
An echo fades into the night
as our friendship disappears.
How do I know what is right?
How can I ease my fears?
If I do call you again,
would the old wounds reappear?
I can’t stand to cause you pain.
Hurting you again is my worst fear!
Friday, November 12, 2004
what you feel when __L_I_F_E__ daemon receives signal 11...
Pain... Tension... Fatigue...
Depression...
Anger, Aggression, Frustration.
All these unwanted sensations -
Burning, hurting, tearing.
My heart alone, cold and fearing.
Why won't you let me sleep, let me rest,
Let me forget
To eradicate, eliminate, destroy all my regrets?
These memories inside, swirling, twirling,
unwilling to reside in the corner of my mind.
Repeating, resisting, insisting -
Refusing to be denied its recognition
Of its position in my
Frustration, Confusion, Delusion.
Ah, to close my eyes and let time fly by,
Because there's so much to gain
By forgetting these dreams driving me insane.
Unfocused, unclear, out of control,
My world spinning, spinning, spinning,
My sanity flying through the door.
My reason, my logic, oh, it's tragic,
Like fine sands running through my hands,
I'm losing my mind.
Tuesday, November 09, 2004
Some thing about research.
1. research needs more brains than hands (unfortunately we were given two hands but only one brain); before counting how many tools you can use, ponder how effectively you can think.
2. writing is occupying a critical role, since "writing is nature's way of letting you know how sloppy your thinking is".
3. mathematics is the key word, since it is "the science of effetive reasoning"; or "mathematics is nature's way of letting you know how sloppy your writing is".
Saturday, November 06, 2004
External Memory Geometric Datastructures
Many massive dataset applications involve geometric data
(or data that can be interpreted geometrically)
Points, lines, polygons
Data need to be stored in data structures on external storage media such that on-line queries can be answered I/O-efficiently
Data often need to be maintained during dynamic updates,Data sets in large applications are often too massive to fit completely inside the computer's internal memory. The resulting input/output communication (or I/O) between fast internal memory and slower external memory (such as disks) can be a major performance bottleneck. During the last decade a major body of research has been devoted to the development of efficient external memory algorithms, where the goal is to exploit locality in order to reduce the I/O costs
Examples:
Phone: Wireless tracking
Consumer: Buying patterns (supermarket checkout)
Geography: NASA satellites generate 1.2 TB per day
Tuesday, November 02, 2004
How to represent INFINITY in ur programs
No doubt every one might have come across this in their programming experience, on how to represent the theoritical infinity in the programs.
Example: -----------
Most candid use of INFINITY is to use them in graphs to represent two nodes which are not connected ie if we dont have any edge between two nodes N1 and N2 then we represent the cost of the edge as INFINITY. in the implementation of the dijkstra's algorithm on a graph we generally, come across a condition 'CURRENT_COST > CURRENT_COST + WEIGHT_OF_EDGE' then update the path. Theoritically INFINITY+1 = INFINITY. So if some one just does a #define INFINITY __SOME_LARGE_NUMBER, then INFINITY+1 will not be INFINITY. And the conditions just as the ones illustrated above will become buggy. The following representation of infinity is more shrewd than the ordinary #def's
Example: -----------
Most candid use of INFINITY is to use them in graphs to represent two nodes which are not connected ie if we dont have any edge between two nodes N1 and N2 then we represent the cost of the edge as INFINITY. in the implementation of the dijkstra's algorithm on a graph we generally, come across a condition 'CURRENT_COST > CURRENT_COST + WEIGHT_OF_EDGE' then update the path. Theoritically INFINITY+1 = INFINITY. So if some one just does a #define INFINITY __SOME_LARGE_NUMBER, then INFINITY+1 will not be INFINITY. And the conditions just as the ones illustrated above will become buggy. The following representation of infinity is more shrewd than the ordinary #def's
/* * The following coordinate, INFINITY, is used to represent a * tile location outside of the tile plane. * * It must be possible to represent INFINITY+1 as well as * INFINITY. * * Also, because locations involving INFINITY may be transformed, * it is desirable that additions and subtractions of small integers * from either INFINITY or MINFINITY not cause overflow. * * Consequently, we define INFINITY to be the largest integer * representable in wordsize - 5 bits. */ #undef INFINITY #define INFINITY ((1 << (8*sizeof (int) - 6)) - 4) #define MINFINITY (-INFINITY)
Subscribe to:
Posts (Atom)