jnaithani / genetic-programming

A Genetic Programming Environment (SEIS 610/Fall 2013)
2 stars 2 forks source link

Project Presentation #16

Open jnaithani opened 10 years ago

jnaithani commented 10 years ago

Project Presentation

Topics to include:

jnaithani commented 10 years ago

Rajesh, @rkg11gupta

Here are some references used for the project.

For developing the GP System:

  1. http://www.genetic-programming.com/gpquadraticexample.html
  2. http://www.geneticprogramming.com/Tutorial/
  3. http://geneticprogramming.us/Selection.html
  4. http://docs.oracle.com/javase/tutorial/collections/algorithms/#sorting
  5. http://books.google.com/books?id=Bhtxo60BV0EC&pg=PA82&lpg=PA82&dq=The+protected+division+function+%25+returns+a+value+of+1+when+division+by+0+is+attempted+genetic+programming&source=bl&ots=9oiRjwg-MN&sig=y5LB1tRPjWwtorVGVgg6Gdi9c1Q&hl=en&sa=X&ei=WiiKUo7zJe3lsASf8YHYCA&ved=0CDYQ6AEwAQ#v=onepage&q=The%20protected%20division%20function%20%25%20returns%20a%20value%20of%201%20when%20division%20by%200%20is%20attempted%20genetic%20programming&f=false
  6. http://www.amazon.com/Genetic-Programming-Introduction-Artificial-Intelligence/dp/155860510X/ref=sr_1_3?s=books&ie=UTF8&qid=1385953621&sr=1-3&keywords=Genetic+Programming

For testing the results of the program:

  1. http://rechneronline.de/function-graphs/
  2. http://www.wolframalpha.com/widgets/view.jsp?id=aeecc5a9c646444f00978ed43e747a96
  3. http://www.wolframalpha.com/widgets/view.jsp?id=97ffcbd95363387c7e371563057eb02f

-Jayesh

cc: @warsamebashir @KBenderaa @mohammedalkhiat

jnaithani commented 10 years ago

Rajesh, @rkg11gupta

Here are some design decisions made while developing the GP system:

  1. The GP Tree depth after crossover was capped to a max depth of 8, to limit the growth of trees
  2. Initial population of trees has a greater probability of x operand nodes versus constant operand nodes. This was to insure trees with a greater chance of having a quadratic (squares) expression.
  3. If crossover of two parent trees results in a child with max depth greater than the cap limit, one of the parents is randomly chosen
  4. The protected divide by 0, results in a 1. This decision was based on a solution recommended by one of the sources.
  5. A new population is re-generated after a certain specific generation count is reached. This is because, the fitness of the best tree in the population stabilizes to a value that does not significant improve with each generation.
  6. The population size is being maintained a constant in each generation. This is based on the algorithm that is in our GP Project slides.
  7. The selection probability - i.e., the probability of survivors that pass unchanged to the next generation is 1 - r, where r is the crossover probability. Again, based on the algorithm in the GP Project slides.

Warsame, @warsamebashir - did we miss anything?

-Jayesh

cc: @KBenderaa @mohammedalkhiat

wbashir commented 10 years ago

8) A tree with a single node isn't necessarily always going to be an Operator ('+', '-', '/' ..), the exception being a root node should evaluate. If a tree has children, then then the root node should always be an operator.

rkg11gupta commented 10 years ago

Jayesh, thanks for sending this out. I have included them in our presentation. Will work on rest of the presentation tonight so that it is available for review late tonight or early morning tomorrow.   Can you also send me the following:

  1. List of test cases w/details. (warsame)
  2. Measurements - Screen shots (Jayesh)
  3. How did we changed and handled NEW requirement from our OLD one? (Jayesh)

Thanks & Regards, Rajesh Gupta Cell# 612-296-1302

 

On Monday, December 2, 2013 10:39 AM, warsamebashir notifications@github.com wrote:

8) A tree with a single node isn't necessarily always going to be an Operator ('+', '-', '/' ..), the exception being a root node should evaluate. If a tree has children, then then the root node should always be an operator. — Reply to this email directly or view it on GitHub.

jnaithani commented 10 years ago

Rajesh,

  1. Measurements - Screen shots (Jayesh)

I will work on this in the evening. Besides screenshots, we may need to extract some of the meaningful data and present in an MS Excel chart.

  1. How did we changed and handled NEW requirement from our OLD one? (Jayesh)

We generated new training data by creating a utility method that uses the new expression and stores that data into the trainingdata.txt file.

We have also used all three sets of training data to perform black box level testing on our program:

The three sets of data are:

(-3x^3 + 7)/2 for -2 <= x <= 2

The optional target function is harder to solve and takes much more longer time, using our current settings where we have capped the depth limit to 8, max population size of 100.

-Jayesh

On Mon, Dec 2, 2013 at 1:04 PM, rkg11gupta notifications@github.com wrote:

Jayesh, thanks for sending this out. I have included them in our presentation. Will work on rest of the presentation tonight so that it is available for review late tonight or early morning tomorrow.

Can you also send me the following:

  1. List of test cases w/details. (warsame)
  2. Measurements - Screen shots (Jayesh)
  3. How did we changed and handled NEW requirement from our OLD one? (Jayesh)

Thanks & Regards, Rajesh Gupta Cell# 612-296-1302

On Monday, December 2, 2013 10:39 AM, warsamebashir < notifications@github.com> wrote:

8) A tree with a single node isn't necessarily always going to be an Operator ('+', '-', '/' ..), the exception being a root node should evaluate. If a tree has children, then then the root node should always be an operator. — Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHubhttps://github.com/jnaithani/genetic-programming/issues/16#issuecomment-29646926 .

jnaithani commented 10 years ago

Screenshot of the program results using the new target function:

output

wbashir commented 10 years ago

@jnaithani, to your comment about creating an excel file of the mesurements, if you get a chance to do that, send me a copy and i will add it to our project plan. We need to figure out if we will resubmit the project plan with all the measurement and implementation updates and how we can direct the profesor to the changes.

jnaithani commented 10 years ago

Rajesh, Warsame, @rkg11gupta @warsamebashir,

Code coverages reports using Atlassian Clover have been promoted into the repository. Pull the code and access the report by loading index.html in a browser. We can all review the data - and identity some screens to add to our presentations and project plans. I will also send some specific screenshots as well later this evening.

https://github.com/jnaithani/genetic-programming/blob/master/report/html/index.html

-Jayesh

cc: @KBenderaa @mohammedalkhiat

jnaithani commented 10 years ago

Program Size and Complexity Metrics

sizemetrics

jnaithani commented 10 years ago

Complexity and Coverage (https://www.atlassian.com/software/clover/overview)

complexity

jnaithani commented 10 years ago

Cyclomatic Complexity By Method (http://metrics.sourceforge.net/)

cc

jnaithani commented 10 years ago

Cohesion and Coupling

cohesionandcoupling

jnaithani commented 10 years ago

Halstead Metrics (http://www.virtualmachinery.com/jhawkprod.htm)

sizecomplexity

rkg11gupta commented 10 years ago

Reports are looking great. I see some zero's in reports. Can you please check why & if they are right?

Rajesh

Sent from my iPhone

On Dec 2, 2013, at 6:50 PM, jnaithani notifications@github.com wrote:

Cohesion and Coupling

— Reply to this email directly or view it on GitHub.

jnaithani commented 10 years ago

Rajesh, @rkg11gupta

Uploaded some screen shots for the presentation.

-Jayesh

cc: @warsamebashir @mohammedalkhiat @KBenderaa

jnaithani commented 10 years ago

Rajesh, @rkg11gupta

I don't know if it is an error or if the Lack of Cohesion is actually 0. Have re-generated with no effect.

-Jayesh

rkg11gupta commented 10 years ago

That is fine jayesh. You already checked.

Rajesh

Sent from my iPhone

On Dec 2, 2013, at 6:57 PM, jnaithani notifications@github.com wrote:

Rajesh, @rkg11gupta

I don't know if it is an error or if the Lack of Cohesion is actually 0. Have re-generated with no effect.

-Jayesh

— Reply to this email directly or view it on GitHub.

wbashir commented 10 years ago

Can anyone meet tomorrow online to discuss what we will add to the project presentation for screenshots, measurements and tables and what goes in our presentation.

rkg11gupta commented 10 years ago

Yes I will be there

Rajesh

Sent from my iPhone

On Dec 2, 2013, at 7:10 PM, warsamebashir notifications@github.com wrote:

Can anyone meet tomorrow online to discuss what we will add to the project presentation for screenshots, measurements and tables and what goes in our presentation.

— Reply to this email directly or view it on GitHub.

rkg11gupta commented 10 years ago

Jayesh I also need a screen shot for the console output

Rajesh

Sent from my iPhone

On Dec 2, 2013, at 6:57 PM, jnaithani notifications@github.com wrote:

Rajesh, @rkg11gupta

I don't know if it is an error or if the Lack of Cohesion is actually 0. Have re-generated with no effect.

-Jayesh

— Reply to this email directly or view it on GitHub.

jnaithani commented 10 years ago

Rajesh, @rkg11gupta

The sceen shot was posted earlier. The output is displayed in a GUI. Here it is again:

https://f.cloud.github.com/assets/785085/1657701/6a7e031a-5b87-11e3-8737-a1a5faff33a4.JPG

-Jayesh

jnaithani commented 10 years ago

Project Analysis - Frequency of project material commits (https://github.com/jnaithani/genetic-programming)

commits

jnaithani commented 10 years ago

Frequency of team SCM activity during the week

punchcard

jnaithani commented 10 years ago

Project Tasks and Issues

issues

jnaithani commented 10 years ago

Dependency Call Graph (http://www.scitools.com/)

dependencycallgraph

wbashir commented 10 years ago

Do we need any of these in the project plan, i am thinking we add what we need when we meet tomorrow, what time works for everyone ?

jnaithani commented 10 years ago

Object/Class Analysis - Lines of Code vs. Maximum Complexity (http://www.scitools.com/)

loccomplexity

jnaithani commented 10 years ago

Cyclomatic Complexity

The average number of independent paths through the functions in this file. The higher this metric the more likely a program unit is to be difficult to test and maintain without error.

mcc

jnaithani commented 10 years ago

Rajesh, @rkg11gupta

Hope you have plenty to choose from for the presentation. The one that do not make it in, we can consider including in our project plan.

-Jayesh

jnaithani commented 10 years ago

Warsame, @warsamebashir

Yes - let's add what we need and which makes sense as well, into our project plan.

-Jayesh

rkg11gupta commented 10 years ago

Warsame, Would you be able to send me the list of test cases? Also, briefly explain the relationships between test cases and programs / requirements (high level and derived requirements)s.   Thanks & Regards, Rajesh Gupta

On Tuesday, December 3, 2013 12:07 AM, jnaithani notifications@github.com wrote:

Warsame, @warsamebashir
Yes - let's add what we need and which makes sense as well, into our project plan.
-Jayesh — Reply to this email directly or view it on GitHub.

jnaithani commented 10 years ago

All,

I will try to be available anytime between 4:30 and 9pm this evening to discuss and review the presentation. Kholoud @KBenderaa and Mohammed @mohammedalkhiat may only be able to join before their classes tonight.

Rajesh @rkg11gupta - please share your documents with the team so we can have a chance to look at it before we meet this evening.

Warsame @warsamebashir - the project plan is not due until next week I believe. So lets all focus on the items due tomorrow - which is presentation, demo, assignment 10 for tomorrow. Anything I missed?

Possible order for the presentation. What do you all think?

3-5 minutes - Kholoud - Introductions and Assignment 10 3 minutes - Mohammed/Rajesh - Project requirements, analysis, design, task/team breakdown/organization, development approach, collaboration, meeting/communication mechanisms, 5 minutes - Jayesh - Demonstration/Metrics 5 minutes - Warsame - Design Decisions/Testing 5 minutes - Rajesh - Challenges/Post Project Analysis 2 minutes - Mohammed - Conclusion and Questions

Total time 23-25 minutes

-Jayesh

wbashir commented 10 years ago

@rkg11gupta , i will send you the test information today and test cases we used and how they correlate with our functions. Also in the document will be a brief challenges about testing, the paths untested without any measurements

wbashir commented 10 years ago

@jnaithani The order of presentation works very well, lets see if we can get a rough draft sent out today so that others can practice.

rkg11gupta commented 10 years ago

Jayesh, I already shared the Project Presentation Slides (ppt). Are you able to view it?

Thanks & Regards, Rajesh Gupta

On Tuesday, December 3, 2013 11:08 AM, jnaithani notifications@github.com wrote:

All, I will try to be available nnytime between 4:30 and 9pm this evening to discuss review the presentation and project plan document. Kholoud @KBenderaa and Mohammed @mohammedalkhiat may only be able to join before their classes tonight. Rajesh @rkg11gupta - please share your documents with the team so we can have a chance to look at it before we meet this evening. Warsame @warsamebashir - the project plan is not due until next week I believe. So lets all focus on the items due tomorrow - which is presentation, demo, assignment 10 for tomorrow. Anything I missed? Possible order for the presentation. What do you all think? 3-5 minutes - Kholoud - Introductions and Assignment 10 3 minutes - Mohammed - Project requirements, analysis, design, task/team breakdown/organzation, development approach, collaboration, meeting/communication mechanisms, 5 minutes - Jayesh - Demonstration/Metrics 5 minutes - Warsame - Metrics/Testing 5 minutes - Rajesh - Challenges/Post Project Analysis 2 minutes - Mohammed - Conclusion and Questions Total time 23-25 minutes -Jayesh — Reply to this email directly or view it on GitHub.

jnaithani commented 10 years ago

Thanks Rajesh - got it.

-Jayesh

On Tue, Dec 3, 2013 at 11:24 AM, rkg11gupta notifications@github.comwrote:

Jayesh, I already shared the Project Presentation Slides (ppt). Are you able to view it?

Thanks & Regards, Rajesh Gupta Cell# 612-296-1302 Home# 651-647-4467

On Tuesday, December 3, 2013 11:08 AM, jnaithani notifications@github.com wrote:

All, I will try to be available nnytime between 4:30 and 9pm this evening to discuss review the presentation and project plan document. Kholoud @KBenderaa and Mohammed @mohammedalkhiat may only be able to join before their classes tonight. Rajesh @rkg11gupta - please share your documents with the team so we can have a chance to look at it before we meet this evening. Warsame @warsamebashir - the project plan is not due until next week I believe. So lets all focus on the items due tomorrow - which is presentation, demo, assignment 10 for tomorrow. Anything I missed? Possible order for the presentation. What do you all think? 3-5 minutes - Kholoud - Introductions and Assignment 10 3 minutes - Mohammed - Project requirements, analysis, design, task/team breakdown/organzation, development approach, collaboration, meeting/communication mechanisms, 5 minutes - Jayesh - Demonstration/Metrics 5 minutes - Warsame - Metrics/Testing 5 minutes - Rajesh - Challenges/Post Project Analysis 2 minutes - Mohammed - Conclusion and Questions Total time 23-25 minutes -Jayesh — Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHubhttps://github.com/jnaithani/genetic-programming/issues/16#issuecomment-29731081 .

rkg11gupta commented 10 years ago

ok great!

Thanks & Regards, Rajesh Gupta

On Tuesday, December 3, 2013 11:26 AM, jnaithani notifications@github.com wrote:

Thanks Rajesh - got it.

-Jayesh

On Tue, Dec 3, 2013 at 11:24 AM, rkg11gupta notifications@github.comwrote:

Jayesh, I already shared the Project Presentation Slides (ppt). Are you able to view it?

Thanks & Regards, Rajesh Gupta

On Tuesday, December 3, 2013 11:08 AM, jnaithani notifications@github.com wrote:

All, I will try to be available nnytime between 4:30 and 9pm this evening to discuss review the presentation and project plan document. Kholoud @KBenderaa and Mohammed @mohammedalkhiat may only be able to join before their classes tonight. Rajesh @rkg11gupta - please share your documents with the team so we can have a chance to look at it before we meet this evening. Warsame @warsamebashir - the project plan is not due until next week I believe. So lets all focus on the items due tomorrow - which is presentation, demo, assignment 10 for tomorrow. Anything I missed? Possible order for the presentation. What do you all think? 3-5 minutes - Kholoud - Introductions and Assignment 10 3 minutes - Mohammed - Project requirements, analysis, design, task/team breakdown/organzation, development approach, collaboration, meeting/communication mechanisms, 5 minutes - Jayesh - Demonstration/Metrics 5 minutes - Warsame - Metrics/Testing 5 minutes - Rajesh - Challenges/Post Project Analysis 2 minutes - Mohammed - Conclusion and Questions Total time 23-25 minutes -Jayesh — Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHubhttps://github.com/jnaithani/genetic-programming/issues/16#issuecomment-29731081

.

— Reply to this email directly or view it on GitHub.

wbashir commented 10 years ago

@rkg11gupta I would suggest removing your contact information from this website as the project is hosted publicly and accessible by anyone