{
  "id": 5571,
  "title": "Basic getting started tips",
  "url": "/competitions/flight2-milestone/discussion/5571",
  "author_name": "",
  "post_date": "2013-08-28T21:16:33.977Z",
  "votes": 3,
  "comment_count": 16,
  "views": 6734,
  "content": "<p>Hi Everyone,</p>\n<p>We have updated the <a href=\"https://www.gequest.com/c/flight2/details/basic-structure-of-fq2\">Basic Structure</a> page to answer some of the questions that have been posted so far, provide some background on the competition design, and give some tips for getting started. Please take a look as it may be helpful and continue to post your questions to the forum.</p>",
  "messages": [
    {
      "id": "29676",
      "postDate": "08/28/2013 21:16:33",
      "content": "<p>Hi Everyone,</p>\n<p>We have updated the <a href=\"https://www.gequest.com/c/flight2/details/basic-structure-of-fq2\">Basic Structure</a> page to answer some of the questions that have been posted so far, provide some background on the competition design, and give some tips for getting started. Please take a look as it may be helpful and continue to post your questions to the forum.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29791",
      "postDate": "08/30/2013 18:26:08",
      "content": "<p>Thank you, Joyce</p>\n<p>After read the new release of Basic Structure I clarified some doubts, but I have others.</p>\n<p>I thought this was a different competition and I use training data was not necessary, 'only' optimize a cost function for a simulator.</p>\n<p>Now I have doubts about that.</p>\n<p>The simulator is provided for checking our solutions but can we used the simulator in our agents?</p>\n<p>Can we 'learn' the optimal solution ONLY based in the simulator?</p>\n<p>One limit case: An agent which generates random routes and check them against the simulator for selecting the best.</p>\n<p>Would be this a valid agent?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29792",
      "postDate": "08/30/2013 18:50:49",
      "content": "<p>[quote=Jos&#233; A. Guerrero;29791]</p>\n<p>One limit case: An agent which generates random routes and check them against the simulator for selecting the best.</p>\n<p>Would be this a valid agent?</p>\n<p>[/quote]</p>\n<p>Already answered here: http://www.gequest.com/c/flight2/forums/t/5324/help-in-understanding-the-problem-please/28980#post28980</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29793",
      "postDate": "08/30/2013 19:10:00",
      "content": "<p>[quote=Haru;29792]</p>\n<p>[quote=Jos&#233; A. Guerrero;29791]</p>\n<p>One limit case: An agent which generates random routes and check them against the simulator for selecting the best.</p>\n<p>Would be this a valid agent?</p>\n<p>[/quote]</p>\n<p>Already answered here: http://www.gequest.com/c/flight2/forums/t/5324/help-in-understanding-the-problem-please/28980#post28980</p>\n<p>[/quote]</p>\n<p>Yes, I thought so, but after reading the Basic getting started tips I had doubts.</p>\n<p>I would like an admin confirm my 'random walk agent' would be valid.</p>\n<p>&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29823",
      "postDate": "08/31/2013 04:05:44",
      "content": "<p>[quote=Jos&#233; A. Guerrero;29793]</p>\n<p>[quote=Haru;29792]</p>\n<p>[quote=Jos&#233; A. Guerrero;29791]</p>\n<p>One limit case: An agent which generates random routes and check them against the simulator for selecting the best.</p>\n<p>Would be this a valid agent?</p>\n<p>[/quote]</p>\n<p>Already answered here: http://www.gequest.com/c/flight2/forums/t/5324/help-in-understanding-the-problem-please/28980#post28980</p>\n<p>[/quote]</p>\n<p>Yes, I thought so, but after reading the Basic getting started tips I had doubts.</p>\n<p>I would like an admin confirm my 'random walk agent' would be valid.</p>\n<p>&nbsp;</p>\n<p>[/quote]</p>\n<p>&nbsp;</p>\n<p>I dont think generating random routes and letting the simulation do the work of selecting the best one could be the solution of this problem.</p>\n<p>Lets say there are 100 possible routes for one source and destination, if the simulation is supposed to test all of them and select , the agent is required to find the set of all possible routes.&nbsp;</p>\n<p>&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29932",
      "postDate": "09/01/2013 14:28:24",
      "content": "<p>I'm puzzled about this as well.&nbsp; It seems to me that a submission is just a set of waypoints, rather than an Agent.&nbsp; I could just brute force this problem over the duration of the competition and submit my best answer.&nbsp; Don't you want an Agent that can make decisions in real time?&nbsp; If my Agent takes two months to provide the best answer is that ok?</p>\n<p>I'd also like to ask some questions about the data.&nbsp; It looks like the training data provides information about 712,127 flights (based on the flighthistory file).&nbsp; However I don't see that there's enough information in that data to put the flights through the simulator.&nbsp; The simulator seems to have cost data for only 1027 flights (flights_20130704_1540.csv).&nbsp; Does this latter file intersect at all with the flighthistory file?&nbsp; I could invent some cost data so that I can run&nbsp;more training data through the simulator but it's not clear to me I will learn anything useful from that exercise.&nbsp; Is there a mechanism for adding the cost columns to more flights?</p>\n<p>Thanks.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29976",
      "postDate": "09/02/2013 07:30:14",
      "content": "<p>[quote=Simra;29932]</p>\n<p>I'm puzzled about this as well.&nbsp; It seems to me that a submission is just a set of waypoints, rather than an Agent.&nbsp; I could just brute force this problem over the duration of the competition and submit my best answer.&nbsp; Don't you want an Agent that can make decisions in real time?&nbsp; If my Agent takes two months to provide the best answer is that ok?</p>\n<p>&nbsp;</p>\n<p>[/quote]</p>\n<p>&nbsp;</p>\n<p>I think you are right. My understanding is, ideally participants should come up with the one or more logic to create agent. So if there are ten ways to create an agent, get ten solutions and test them with the simulator. The simulator will help in selecting the best solution and hence the best logic to create agent.&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29980",
      "postDate": "09/02/2013 07:44:41",
      "content": "<p>I think what some people are forgetting is that the United States is very big.</p>\n<p>Just by looking at this map&nbsp;<img src=\"http://www.worldatlas.com/webimage/countrys/usanewzd.gif\" alt width=\"602\" height=\"298\"></p>\n<p>The continental US longitude lines run from about 120 degrees to 70 degrees, containing about 50 longitude lines.</p>\n<p>The continental US latitude lines run from about 50 degrees to 25 degrees, containing 25 latitude lines.</p>\n<p>Those lines intersect at 50*25 places, therefore 1250 integer (x,y) coordinates.</p>\n<p>To try to generate all possible permutations would lead to 1250! permutations.</p>\n<p>If we restrict this so that we only take 200 permutations that start with the starting coordinates and end with the ending coordinates we get 1248!/(1248-198)! which is approximately 7.5 * 10^605 possible paths.</p>\n<p>If you could check the costs of 100 paths per millisecond it would still take roughly 2.4 * 10^593 years to finish, per flight.</p>\n<p>We are also not taking into account all of the different choices you can use for speed and altitude. It also does not take into consideration decimal coordinates for latitude and longitude.</p>\n<p>&nbsp;</p>\n<p>This is all just rough estimates to illustrate a point. The brute-force approach is simple to code, but complex in time. If finding such solutions was easy to do this competition would not be necessary because we would just run the brute force calculations on a super-computer cluster and be done with it.</p>\n<p>A way to think of this problem would be ok how can I take this naive solution and make it faster. Is there any way I could narrow down the list of candidate paths by eliminating paths that are unreasonable?</p>\n<p>An approach might be to start with the naive solution and cut it down in this manner into something that can run and finish.</p>\n<p>Merely doing the brute-force solution would give you an answer, but we would be dead by the time it dead.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29982",
      "postDate": "09/02/2013 08:26:06",
      "content": "<p>[quote=Eric Martinez;29980]</p>\n<p>I think what some people are forgetting is that the United States is very big.</p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>\n<p>This is all just rough estimates to illustrate a point. The brute-force approach is simple to code, but complex in time. If finding such solutions was easy to do this competition would not be necessary because we would just run the brute force calculations on a super-computer cluster and be done with it.</p>\n<p>A way to think of this problem would be ok how can I take this naive solution and make it faster. Is there any way I could narrow down the list of candidate paths by eliminating paths that are unreasonable?</p>\n<p>An approach might be to start with the naive solution and cut it down in this manner into something that can run and finish.</p>\n<p>Merely doing the brute-force solution would give you an answer, but we would be dead by the time it dead.</p>\n<p>[/quote]</p>\n<p>&nbsp;</p>\n<p>I agree. But just think, the only way to eliminate a possible route is by developing a criterion which will test and reject it and this process <strong>must</strong> to be repeated for all routes. Can we eliminate something without even considering it?</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "29986",
      "postDate": "09/02/2013 10:09:52",
      "content": "<p>[quote=Vikas Bhargava (LatentView);29982]&nbsp;</p>\n<p>I agree. But just think, the only way to eliminate a possible route is by developing a criterion which will test and reject it and this process <strong>must</strong> to be repeated for all routes. Can we eliminate something without even considering it?</p>\n<p>[/quote]</p>\n<p>&nbsp;</p>\n<p>Well you can make some guesses. Intuitively, we might be able to assume that going in a straight line towards the destination airport might be a pretty good solution, if you were to eliminate all factors such as weather.</p>\n<p>We know that this is not always the best solution but another good solution might be to say okay let me look at all paths within 100 miles of the straight line path. This will give you a rectangle between the starting point and end point. Inside that rectangle are the coordinates that you will try.</p>\n<p>If you had a plane going from Dallas to New York, its a pretty good chance you can eliminate most of the paths that include coordinates from the west side of the United States.</p>\n<p>&nbsp;</p>\n<p>If you try to get the absolute best cost for every path, that is very hard to do. The best thing might be to just try to get really good paths by using intuition to eliminate paths that are unlikely candidates.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "30179",
      "postDate": "09/04/2013 19:24:34",
      "content": "",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "30180",
      "postDate": "09/04/2013 19:32:26",
      "content": "<p>Actually it is not required to check all possible routes to verify that one is the optimal one.&nbsp; There are multiple algorithms for similar problems which demonstrate (and prove mathematically).&nbsp; Check these out: <a href=\"http://en.wikipedia.org/wiki/Dijkstra's_algorithm\">http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm</a> and <a href=\"http://en.wikipedia.org/wiki/Shortest_path_problem\">http://en.wikipedia.org/wiki/Shortest_path_problem</a></p>\n<p>To make this super clear - I live in Santa Barbara, about 90 miles from Los Angeles.&nbsp; The distance to Washington DC is 3000 miles - just one leg.&nbsp; Clearly I don't have to check any routes which go through Washington since any route is going to be longer than the first leg and the first leg is larger than the direct route.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "30204",
      "postDate": "09/05/2013 04:57:45",
      "content": "<p>[quote=Robert Ramey;30180]</p>\n<p>Actually it is not required to check all possible routes to verify that one is the optimal one.&nbsp; There are multiple algorithms for similar problems which demonstrate (and prove mathematically).&nbsp; Check these out: <a href=\"http://en.wikipedia.org/wiki/Dijkstra's_algorithm\">http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm</a> and <a href=\"http://en.wikipedia.org/wiki/Shortest_path_problem\">http://en.wikipedia.org/wiki/Shortest_path_problem</a></p>\n<p>To make this super clear - I live in Santa Barbara, about 90 miles from Los Angeles.&nbsp; The distance to Washington DC is 3000 miles - just one leg.&nbsp; Clearly I don't have to check any routes which go through Washington since any route is going to be longer than the first leg and the first leg is larger than the direct route.</p>\n<p>quote</p>\n<p>That is what I said you need to include a condition i.e distance = 3000 and delete this data point. Imagine if you have to do this for billion points?&nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "30205",
      "postDate": "09/05/2013 05:00:30",
      "content": "<p>Absolutely, I didn't mean to imply that that was necessary.</p>\n<p>I was trying to motivate the reasons why the brute-force solution is a bad algorithm.</p>\n<p>Normally, first we start with the naive solution and figure out ways to make it clever to arrive at a good algorithm.</p>\n<p>In this particular space, there are many shortest-paths algorithms available but without the sufficient motivation for their need, someone might overlook them.</p>\n<p>I was hoping people would read it and seek out for themselves how the shortest-path algorithms solve the computation complexity problem.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "30206",
      "postDate": "09/05/2013 05:06:37",
      "content": "<p>[quote=Eric Martinez;30205]</p>\n<p>Absolutely, I didn't mean to imply that that was necessary.</p>\n<p>I was trying to motivate the reasons why the brute-force solution is a bad algorithm.</p>\n<p>Normally, first we start with the naive solution and figure out ways to make it clever to arrive at a good algorithm.</p>\n<p>In this particular space, there are many shortest-paths algorithms available but without the sufficient motivation for their need, someone might overlook them.</p>\n<p>I was hoping people would read it and seek out for themselves how the shortest-path algorithms solve the computation complexity problem.</p>\n<p>[/quote]</p>\n<p>&nbsp;</p>\n<p>I think most have figured this out. But implementing this is difficult especially including the constraints in your solution. In the absence of constraints there will be only two points left source &amp; destination. &nbsp;</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "30706",
      "postDate": "09/11/2013 01:00:04",
      "content": "<p>One can use the maxima &amp; minima functions of linear programming to solve the problem with the provided data. &nbsp;This can be extrapolated with additional constraints and data for real time results, with the additional &nbsp;possibility of course correction during the middle of &nbsp;the flight path, also! &nbsp;To provide real time results, the concept of Meta-Data (pre calculated/derived results) needs to be implemented.</p>",
      "rawMarkdown": "",
      "votes": null
    },
    {
      "id": "30717",
      "postDate": "09/11/2013 05:13:35",
      "content": "<p>[quote=Pradeep;30706]</p>\n<p>One can use the maxima &amp; minima functions of linear programming to solve the problem with the provided data. &nbsp;This can be extrapolated with additional constraints and data for real time results, with the additional &nbsp;possibility of course correction during the middle of &nbsp;the flight path, also! &nbsp;To provide real time results, the concept of Meta-Data (pre calculated/derived results) needs to be implemented.</p>\n<p>[/quote]</p>\n<p>&nbsp;</p>\n<p>To apply that, do we not need the equation of the function ? or is it derived from somewhere?</p>",
      "rawMarkdown": "",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 29791,
      "author_name": "blindape",
      "author_url": "",
      "post_date": "08/30/2013 18:26:08",
      "content": "<p>Thank you, Joyce</p>\n<p>After read the new release of Basic Structure I clarified some doubts, but I have others.</p>\n<p>I thought this was a different competition and I use training data was not necessary, 'only' optimize a cost function for a simulator.</p>\n<p>Now I have doubts about that.</p>\n<p>The simulator is provided for checking our solutions but can we used the simulator in our agents?</p>\n<p>Can we 'learn' the optimal solution ONLY based in the simulator?</p>\n<p>One limit case: An agent which generates random routes and check them against the simulator for selecting the best.</p>\n<p>Would be this a valid agent?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29792,
      "author_name": "dmytrolystopad",
      "author_url": "",
      "post_date": "08/30/2013 18:50:49",
      "content": "<p>[quote=Jos&#233; A. Guerrero;29791]</p>\n<p>One limit case: An agent which generates random routes and check them against the simulator for selecting the best.</p>\n<p>Would be this a valid agent?</p>\n<p>[/quote]</p>\n<p>Already answered here: http://www.gequest.com/c/flight2/forums/t/5324/help-in-understanding-the-problem-please/28980#post28980</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29793,
      "author_name": "blindape",
      "author_url": "",
      "post_date": "08/30/2013 19:10:00",
      "content": "<p>[quote=Haru;29792]</p>\n<p>[quote=Jos&#233; A. Guerrero;29791]</p>\n<p>One limit case: An agent which generates random routes and check them against the simulator for selecting the best.</p>\n<p>Would be this a valid agent?</p>\n<p>[/quote]</p>\n<p>Already answered here: http://www.gequest.com/c/flight2/forums/t/5324/help-in-understanding-the-problem-please/28980#post28980</p>\n<p>[/quote]</p>\n<p>Yes, I thought so, but after reading the Basic getting started tips I had doubts.</p>\n<p>I would like an admin confirm my 'random walk agent' would be valid.</p>\n<p>&nbsp;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29823,
      "author_name": "vikasbhargava",
      "author_url": "",
      "post_date": "08/31/2013 04:05:44",
      "content": "<p>[quote=Jos&#233; A. Guerrero;29793]</p>\n<p>[quote=Haru;29792]</p>\n<p>[quote=Jos&#233; A. Guerrero;29791]</p>\n<p>One limit case: An agent which generates random routes and check them against the simulator for selecting the best.</p>\n<p>Would be this a valid agent?</p>\n<p>[/quote]</p>\n<p>Already answered here: http://www.gequest.com/c/flight2/forums/t/5324/help-in-understanding-the-problem-please/28980#post28980</p>\n<p>[/quote]</p>\n<p>Yes, I thought so, but after reading the Basic getting started tips I had doubts.</p>\n<p>I would like an admin confirm my 'random walk agent' would be valid.</p>\n<p>&nbsp;</p>\n<p>[/quote]</p>\n<p>&nbsp;</p>\n<p>I dont think generating random routes and letting the simulation do the work of selecting the best one could be the solution of this problem.</p>\n<p>Lets say there are 100 possible routes for one source and destination, if the simulation is supposed to test all of them and select , the agent is required to find the set of all possible routes.&nbsp;</p>\n<p>&nbsp;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29932,
      "author_name": "simra122846",
      "author_url": "",
      "post_date": "09/01/2013 14:28:24",
      "content": "<p>I'm puzzled about this as well.&nbsp; It seems to me that a submission is just a set of waypoints, rather than an Agent.&nbsp; I could just brute force this problem over the duration of the competition and submit my best answer.&nbsp; Don't you want an Agent that can make decisions in real time?&nbsp; If my Agent takes two months to provide the best answer is that ok?</p>\n<p>I'd also like to ask some questions about the data.&nbsp; It looks like the training data provides information about 712,127 flights (based on the flighthistory file).&nbsp; However I don't see that there's enough information in that data to put the flights through the simulator.&nbsp; The simulator seems to have cost data for only 1027 flights (flights_20130704_1540.csv).&nbsp; Does this latter file intersect at all with the flighthistory file?&nbsp; I could invent some cost data so that I can run&nbsp;more training data through the simulator but it's not clear to me I will learn anything useful from that exercise.&nbsp; Is there a mechanism for adding the cost columns to more flights?</p>\n<p>Thanks.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29976,
      "author_name": "vikasbhargava",
      "author_url": "",
      "post_date": "09/02/2013 07:30:14",
      "content": "<p>[quote=Simra;29932]</p>\n<p>I'm puzzled about this as well.&nbsp; It seems to me that a submission is just a set of waypoints, rather than an Agent.&nbsp; I could just brute force this problem over the duration of the competition and submit my best answer.&nbsp; Don't you want an Agent that can make decisions in real time?&nbsp; If my Agent takes two months to provide the best answer is that ok?</p>\n<p>&nbsp;</p>\n<p>[/quote]</p>\n<p>&nbsp;</p>\n<p>I think you are right. My understanding is, ideally participants should come up with the one or more logic to create agent. So if there are ten ways to create an agent, get ten solutions and test them with the simulator. The simulator will help in selecting the best solution and hence the best logic to create agent.&nbsp;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29980,
      "author_name": "ericmartinez",
      "author_url": "",
      "post_date": "09/02/2013 07:44:41",
      "content": "<p>I think what some people are forgetting is that the United States is very big.</p>\n<p>Just by looking at this map&nbsp;<img src=\"http://www.worldatlas.com/webimage/countrys/usanewzd.gif\" alt width=\"602\" height=\"298\"></p>\n<p>The continental US longitude lines run from about 120 degrees to 70 degrees, containing about 50 longitude lines.</p>\n<p>The continental US latitude lines run from about 50 degrees to 25 degrees, containing 25 latitude lines.</p>\n<p>Those lines intersect at 50*25 places, therefore 1250 integer (x,y) coordinates.</p>\n<p>To try to generate all possible permutations would lead to 1250! permutations.</p>\n<p>If we restrict this so that we only take 200 permutations that start with the starting coordinates and end with the ending coordinates we get 1248!/(1248-198)! which is approximately 7.5 * 10^605 possible paths.</p>\n<p>If you could check the costs of 100 paths per millisecond it would still take roughly 2.4 * 10^593 years to finish, per flight.</p>\n<p>We are also not taking into account all of the different choices you can use for speed and altitude. It also does not take into consideration decimal coordinates for latitude and longitude.</p>\n<p>&nbsp;</p>\n<p>This is all just rough estimates to illustrate a point. The brute-force approach is simple to code, but complex in time. If finding such solutions was easy to do this competition would not be necessary because we would just run the brute force calculations on a super-computer cluster and be done with it.</p>\n<p>A way to think of this problem would be ok how can I take this naive solution and make it faster. Is there any way I could narrow down the list of candidate paths by eliminating paths that are unreasonable?</p>\n<p>An approach might be to start with the naive solution and cut it down in this manner into something that can run and finish.</p>\n<p>Merely doing the brute-force solution would give you an answer, but we would be dead by the time it dead.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29982,
      "author_name": "vikasbhargava",
      "author_url": "",
      "post_date": "09/02/2013 08:26:06",
      "content": "<p>[quote=Eric Martinez;29980]</p>\n<p>I think what some people are forgetting is that the United States is very big.</p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>\n<p>&nbsp;</p>\n<p>This is all just rough estimates to illustrate a point. The brute-force approach is simple to code, but complex in time. If finding such solutions was easy to do this competition would not be necessary because we would just run the brute force calculations on a super-computer cluster and be done with it.</p>\n<p>A way to think of this problem would be ok how can I take this naive solution and make it faster. Is there any way I could narrow down the list of candidate paths by eliminating paths that are unreasonable?</p>\n<p>An approach might be to start with the naive solution and cut it down in this manner into something that can run and finish.</p>\n<p>Merely doing the brute-force solution would give you an answer, but we would be dead by the time it dead.</p>\n<p>[/quote]</p>\n<p>&nbsp;</p>\n<p>I agree. But just think, the only way to eliminate a possible route is by developing a criterion which will test and reject it and this process <strong>must</strong> to be repeated for all routes. Can we eliminate something without even considering it?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 29986,
      "author_name": "ericmartinez",
      "author_url": "",
      "post_date": "09/02/2013 10:09:52",
      "content": "<p>[quote=Vikas Bhargava (LatentView);29982]&nbsp;</p>\n<p>I agree. But just think, the only way to eliminate a possible route is by developing a criterion which will test and reject it and this process <strong>must</strong> to be repeated for all routes. Can we eliminate something without even considering it?</p>\n<p>[/quote]</p>\n<p>&nbsp;</p>\n<p>Well you can make some guesses. Intuitively, we might be able to assume that going in a straight line towards the destination airport might be a pretty good solution, if you were to eliminate all factors such as weather.</p>\n<p>We know that this is not always the best solution but another good solution might be to say okay let me look at all paths within 100 miles of the straight line path. This will give you a rectangle between the starting point and end point. Inside that rectangle are the coordinates that you will try.</p>\n<p>If you had a plane going from Dallas to New York, its a pretty good chance you can eliminate most of the paths that include coordinates from the west side of the United States.</p>\n<p>&nbsp;</p>\n<p>If you try to get the absolute best cost for every path, that is very hard to do. The best thing might be to just try to get really good paths by using intuition to eliminate paths that are unlikely candidates.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 30179,
      "author_name": "robertramey",
      "author_url": "",
      "post_date": "09/04/2013 19:24:34",
      "content": "",
      "votes": null,
      "replies": []
    },
    {
      "id": 30180,
      "author_name": "robertramey",
      "author_url": "",
      "post_date": "09/04/2013 19:32:26",
      "content": "<p>Actually it is not required to check all possible routes to verify that one is the optimal one.&nbsp; There are multiple algorithms for similar problems which demonstrate (and prove mathematically).&nbsp; Check these out: <a href=\"http://en.wikipedia.org/wiki/Dijkstra's_algorithm\">http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm</a> and <a href=\"http://en.wikipedia.org/wiki/Shortest_path_problem\">http://en.wikipedia.org/wiki/Shortest_path_problem</a></p>\n<p>To make this super clear - I live in Santa Barbara, about 90 miles from Los Angeles.&nbsp; The distance to Washington DC is 3000 miles - just one leg.&nbsp; Clearly I don't have to check any routes which go through Washington since any route is going to be longer than the first leg and the first leg is larger than the direct route.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 30204,
      "author_name": "vikasbhargava",
      "author_url": "",
      "post_date": "09/05/2013 04:57:45",
      "content": "<p>[quote=Robert Ramey;30180]</p>\n<p>Actually it is not required to check all possible routes to verify that one is the optimal one.&nbsp; There are multiple algorithms for similar problems which demonstrate (and prove mathematically).&nbsp; Check these out: <a href=\"http://en.wikipedia.org/wiki/Dijkstra's_algorithm\">http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm</a> and <a href=\"http://en.wikipedia.org/wiki/Shortest_path_problem\">http://en.wikipedia.org/wiki/Shortest_path_problem</a></p>\n<p>To make this super clear - I live in Santa Barbara, about 90 miles from Los Angeles.&nbsp; The distance to Washington DC is 3000 miles - just one leg.&nbsp; Clearly I don't have to check any routes which go through Washington since any route is going to be longer than the first leg and the first leg is larger than the direct route.</p>\n<p>quote</p>\n<p>That is what I said you need to include a condition i.e distance = 3000 and delete this data point. Imagine if you have to do this for billion points?&nbsp;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 30205,
      "author_name": "ericmartinez",
      "author_url": "",
      "post_date": "09/05/2013 05:00:30",
      "content": "<p>Absolutely, I didn't mean to imply that that was necessary.</p>\n<p>I was trying to motivate the reasons why the brute-force solution is a bad algorithm.</p>\n<p>Normally, first we start with the naive solution and figure out ways to make it clever to arrive at a good algorithm.</p>\n<p>In this particular space, there are many shortest-paths algorithms available but without the sufficient motivation for their need, someone might overlook them.</p>\n<p>I was hoping people would read it and seek out for themselves how the shortest-path algorithms solve the computation complexity problem.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 30206,
      "author_name": "vikasbhargava",
      "author_url": "",
      "post_date": "09/05/2013 05:06:37",
      "content": "<p>[quote=Eric Martinez;30205]</p>\n<p>Absolutely, I didn't mean to imply that that was necessary.</p>\n<p>I was trying to motivate the reasons why the brute-force solution is a bad algorithm.</p>\n<p>Normally, first we start with the naive solution and figure out ways to make it clever to arrive at a good algorithm.</p>\n<p>In this particular space, there are many shortest-paths algorithms available but without the sufficient motivation for their need, someone might overlook them.</p>\n<p>I was hoping people would read it and seek out for themselves how the shortest-path algorithms solve the computation complexity problem.</p>\n<p>[/quote]</p>\n<p>&nbsp;</p>\n<p>I think most have figured this out. But implementing this is difficult especially including the constraints in your solution. In the absence of constraints there will be only two points left source &amp; destination. &nbsp;</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 30706,
      "author_name": "pradeep0",
      "author_url": "",
      "post_date": "09/11/2013 01:00:04",
      "content": "<p>One can use the maxima &amp; minima functions of linear programming to solve the problem with the provided data. &nbsp;This can be extrapolated with additional constraints and data for real time results, with the additional &nbsp;possibility of course correction during the middle of &nbsp;the flight path, also! &nbsp;To provide real time results, the concept of Meta-Data (pre calculated/derived results) needs to be implemented.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 30717,
      "author_name": "vikasbhargava",
      "author_url": "",
      "post_date": "09/11/2013 05:13:35",
      "content": "<p>[quote=Pradeep;30706]</p>\n<p>One can use the maxima &amp; minima functions of linear programming to solve the problem with the provided data. &nbsp;This can be extrapolated with additional constraints and data for real time results, with the additional &nbsp;possibility of course correction during the middle of &nbsp;the flight path, also! &nbsp;To provide real time results, the concept of Meta-Data (pre calculated/derived results) needs to be implemented.</p>\n<p>[/quote]</p>\n<p>&nbsp;</p>\n<p>To apply that, do we not need the equation of the function ? or is it derived from somewhere?</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "29676": "",
    "29791": "",
    "29792": "",
    "29793": "",
    "29823": "",
    "29932": "",
    "29976": "",
    "29980": "",
    "29982": "",
    "29986": "",
    "30179": "",
    "30180": "",
    "30204": "",
    "30205": "",
    "30206": "",
    "30706": "",
    "30717": ""
  },
  "source": "meta"
}