Give and Receive More Than Initially Had

. Sunday, July 31, 2011
0 comments

Many times, it is very hard for us to share with others when we only have a little. Like the disciples in today's (July 31, 2011) Gospel reading, the disciples asked Jesus to send them home, but Jesus told them to share what they have, but they replied how they are going to share with the multitudes with only 5 loafs and 2 fishes, but Jesus still told them to share it. Then, the miracle happened.

What I obtained from today's reading is that when we share, we'll gain back more than when we initially have.
So, I pray that God will help me be ever more generous in giving. Amen

The prayers of a person reflects what the person believes.

MSC: Started another round of runs for track 2 on all PCs

. Saturday, July 30, 2011
0 comments

Today, all runs on all comps are completed. As title, started another round of runs for track 2.
So, 3 runs are completed, 3 more runs started. That makes 6 runs so far. 4 more to go, for track 2.

Quite forgot the 1 at home. dont quite remember if it's completed and I started another. Need to go home and check, Then update this entry.

Update: apparently, the run on home's PC has not finish. At time of writing on July 31 (10.14pm), it's still at generation 956. Although, the run will be done tonight, and a new one can be started.

The run of track 2 on home's PC started on July 29, 2011, 4:26:15 PM, and it's now July 31, 2011, 10:13:51 PM (at time of writing this update). It took 2 days and 6 hours, and it's still not done! Gosh

MSC: Paper 1 presents preliminary results

. Friday, July 29, 2011
0 comments

Started a new run on track 2 at home.

Checked the other 2 comps on the progress of the run. Approximately, both will be completed tomorrow. So it'd be a good choice to come tomorrow also. To start another round.

Kar Bin told me that paper 1 describes the preliminary results.
write method, experiment setup, etc then in results, present the results, and conclude by saying that this can work on car tracks. (something like that)

NB: Need to start putting the data together and discuss.

Random Thoughts
Normalizing environmental inputs to [0,1] then multiply by 10, will give the number of spikes for the input to the SNN.
Similarly, dividing the number of output spikes from SNN will give the normalized output, [0,1], for the environment.

MSC: Update - July 8, 2011

.
0 comments

for the 3rd track, listed below are the modifications i made:

update 30/6/11
changed the way v and u is stored

  • initial idea was flawed, as in, v and u are reset at every update loop.
  • hence corrected it by giving every neuron their own v and u values, which could lasts throughout the whole run, which would only be reset at every generation.
added a reset function for the neural network (brain) to reset the values of v and u.
added lastlaptime and a brain.reset in the drivers' reset function.
added initialization for lastlaptime in genetic algorithm

update 1/7/11
  • modified the fitness function to (distraced + steps inside track - damage). Took out the average speed as score.
  • changed the way v and u is stored
    • initial idea was flawed, as in, v and u are reset at every update loop.
    • hence corrected it by giving every neuron their own v and u values.
  • added a reset function for the neural network (brain) to reset the values of v and u.
  • added lastlaptime and the brain.reset() function call in the drivers' reset function.
  • added initialization for lastlaptime in the evolutionary algorithm

update 4/7/11 7.16pm
  • normalized the input to the neuron to [0,10]
  • discovered after the 1st attempt, the values of v overflowed and produced -1.#IND as its value.
  • printed the values of v again, with this time, having values of v & u reset at every time-step. Found out that v has very large values (to the thousands).
  • big values of v added confirmation that it went infinity, and that the inputs could be too big.
  • put back the average speed as score.
  • discovered a probable reason why the drivers could not gain back it's fitness as printed in the results, reason could be that the inputs are too big.
NB: damage of the car might shutdown the client. have to take note if this would happen. hopefully not. otherwise, how to implement damage into fitness calc?
NB: after this attempt with 3001 and 3002, test it in display and note the fitness. make sure it is the same as the last generation results when evolving.

update 5/7/11
 - made the client restart the race with the next driver if the current driver's damage is more than 1000 (dmg > 1000).
 - this method stopped the server from shutting down when the car reached max damage. This method also made it possible to save time by skipping drunk drivers.

update 6/7/11
 - opted to try using back the previously flawed method of reseting v and u at every timestep to test/try it on track 3.
 - just as a preliminary experiment.

update 8/7/11
moved the reset to the onRestart function of the driver class.
set the server to have a time out of 100,000 microsecond = 100 millisecond.
  • discovered another reason why the drivers dont get the same fitness scores. it's because of the timeout problem.the server's timeout was too short for the client to answer, so the behavior of the car changed, to reuse the outputs from the previous timestep.
  • this caused the drivers to drive differently each time there is a timeout for the client to answer. Hence the varying fitness.

MSC: Update - July 4, 2011

.
0 comments

Track 3: Street1

  • modifications made include normalizing inputs to [0, 10]
  • reasons for tweaking: after taking out the reset of v & u at every timestep, the driver became weird. it cant simulate d same score as when it is still evolving. So i print the values of v & u, and found out that v became -1.#IND ... negative infinity. When i put the reset at every timestep back in, i found out that the values of v are in the housands. Could it be that the input currents are too large? Hence the normalization of the input currents to [0, 10]
  • changing the fitness function to:
    • population[x].fitness = drivers[x].distRaced + (100 * (drivers[x].ttlSpd / maxSteps)) + (maxSteps - drivers[x].Tout) - drivers[x].damage;
  • included the substraction of damage.

MSC: Experiments with track 2 and 3

. Thursday, July 28, 2011
0 comments

Started the last 2 runs of experiments on track 3 on my PC in lab and at home.
Started 2 runs of the experiment on track 2, with the settings used for the runs on track 3, on the other 2 computers that I use to run experiments.

The run on my lab PC and at home is finished. So i'm done with my experiment on track 3, with reset at every time-step.

The runs on track 2, conducted on the other 2 PCs will be done tomorrow. Well, at least 1 of the runs. The comp beside my PC is slower, so will take longer.

*track 2 - CG Speedway1, track 3 - Street1

Coming back after long negligence

.
0 comments

The purpose for creating this blog site is long gone. This site used to be an assignment for one of my courses during my Bachelor's degree studies. I had few purpose for it since then, especially after I started renting my own web server earlier this year, where I could host as many Wordpress blogs as I want. Hence I neglected this blog until now.

Recently, I had been pondering to start a blog to note down the updates I made on my MSc research, and was pondering which to use, Blogger or Wordpress. I finally decided on Blogger today. Reason being it associated with all my google apps, gmail, gvoice etc, so it's easier for me to log onto blogger by signing into one of them.

Shortly after my last post in October last year, my family lost $15k in Forex. Mostly because of a scam, where the account managers purposefully bought large lots of usd/jpy, while the market is declining rapidly, making it as if everyone had lost their money. As a matter of fact, the ate all the money.

Jessica came home to Malaysia in January. I got to see her in late January. I went to Tawau for the first time and met her relatives. I stayed at her house. Funny thing is, I planned the trip for 5 days! That was a big mistake. Should had just bought a one way ticket and buy the return when i want to return. I ended up forfeiting the return ticket and bought another, scheduled 2 days after the forfeited ticket.

Spent many pleasant times there. ate Jessica's cooking. Especially her stew of vegetables:

  • Carrot
  • Potato
  • Celery
  • Tomato
  • and chicken
seasoned with fish sauce and salt. Fill the pot with water, cut up the vegetables, and throw everything in. That simple. It's healthy too.

My cousin was born, but had heart defect, who died in late May due to kidney/liver failure, irregular pulse, and lung failure.

then April came. My family bought a rottweiler pup. It was so adorable. but she contracted parvo virus. She died a week later. That was one of the toughest week.
During that time, I was successful in using my live gomarkets account to trade silver. but this lasted only 1 week. at the end of that week, in the morning of the second week, I saw $1.3k in my account. but I lost all the same day. I further lost another $100 in the next couple of days, from buying silver.

This is all due to my greed. I just naively believed that silver will never drop, and even if it dropped, it would not fall more than $5, but I was so wrong. I know that now. During that Monday, I thought it's just going through a small retrace, but soon found out that it actually hit a strong resistance on the upper-limit of the channel that it's in.

I later bought 5 troy ounces of physical silver bullion bars at $38/oz. At the time of writing, it is now $40.23/oz. Thank God for that. Tho I think I made some mistakes here. I was so urged to buy when it reached $34/oz but I did not, and only decided to buy when it reached $36ish, but with the $1.xx spread, I ended up buying at $38/oz. It's okay still though.

On May 29, Jessica and I separated, with the reason that she couldn't tolerate me being far from her, but we got back together on July 15. That one and a half month is one of the most painful period in my life.
Day after day, I made sure I spoke with her, everyday praying feverishly for my family and my relationship with her. Was seeking God's comfort everyday, and I think, I lived through it by God's grace. I was so depressed during that moment.

So many things happened during the 3 months of April, May and June. So many undesirable things, but there are good things too, but why does these things happen? Did my family failed to be good stewards of the resources God provided to us, and so He took them back? I dont know. Maybe. or was it something else? or was it just random. Hm. Only God can reveal the answer. I hope I can learn from it and keep it in mind all the days of my life so things like these won't happen anymore.

Found out that Jessica had not finish reading the whole bible yet, which I thought she already has.

She's quick to get jealous, she thinks only for herself. I just dont understand. I loved her until i'm willing to give up my family and inheritance just to be with her. Why cant she do it.
Does she love with her emotions? cos before we separated for that period, I seem to found out that she loved with her emotions but not her decision. I mean, she did not choose to love me, but let her emotions play the part. Then she claimed that sometimes she loves me, but sometimes she doesnt. This is not love! This is emotions! Even Wini Heron blogged about this some time ago where she claimed that sometimes she feels lovey dovey, yet some times she needed to force herself to love her husband.

Then I learned from Wini about doubts from her recorded sermon.

So we're back together now, and I told her I'll go over to join her, which I dont really know if that's what I want, but still I'm willing to make that sacrifice. I kinda am confused if she's gonna be a great person to be with. Considering the way she thinks and all. Anyways, the Holy Spirit will guide me, but I could be blind towards the Holy Spirit's prompting, or perhaps I received his instructions, but chose to ignore them. Well, that's my loss. Hope this would not be the case. Lord, please help me, please help Jessica, and bless my family.

I was so jealous, so furious, when she tries to get AC to court her. She evidently had a crush on him, but no more. It's strange also that she only allowed him 1+ month. I personally might not be able to get a girl in such a short time, but it's a benefit to me for getting her back though.

All in all, I still hope God will bless my relationship with her, and thank God for this relationship. I hope and pray that this relationship will forever be grounded and rooted in Jesus Christ my God.

I'm thankful for Jessica actually, with her, she can provide my family with her nursing care, she is determined to be healthy, so no doubt I'll benefit from it, especially from the frequent biking and jogs. She's also a bubbly person, which makes it fun to be around her.

Well, that's all for now on the latest update. Consecutive updates will be mostly on my research work, but i'll also add in updates on personal life.

MSC: Update - July 16, 2011

. Saturday, July 16, 2011
0 comments

Update 11/7/11
checked again. fitness score still differ.
- another observation is that - all the fitness scores are the same in generation 0,
- but after allowing it to evolve 1 or 2 times, and checked the fitness score of the eg. 2nd generation,
- the fitness score varied again.
started testing the inputs and then will test the number of spikes throughout the run. printing them into a file

Observations:
found out that the inputs of the 3rd/5th generation differ from the new run with the chromo from the run before. It was the same when the cars are still in "get-set" period, but differed after starting to move, which is most likely caused by differing outputs.
saved the source into pendrive to bring home to investigate, while setup the comps in lab to run experiments with v & u being reset every timestep.
no efforts in write up. cannot be like this! must write!!!

Update 14/7/11
tested more vigorously. this time tested for the outputs. found out that the outputs are not the same. causing the spikes to be different.
hence there are only 2 causes.. it's either the inputs or the weights being different.
but the inputs are the same... hence it should be the weight.. then realized that the weights may have longer trailing floating points.
unlike those that are printed into file which only has 6 trailing max. hence i concluded that the printed weights have less precision compared to the weights stored in the variables.
finally found out why the scores are different.
went home running the experiment with the values of v & u being reset at every timestep.

Update 16/7/11
still running experiments with v & u being reset at every timestep. Spent last night here in lab. it's 8pm now. going home to write!
Lord bless and inspire me. hehe. thanks!!!

me me