php-general Digest 1 Oct 2013 18:51:44 -0000 Issue 8384

2013-10-01 Thread php-general-digest-help

php-general Digest 1 Oct 2013 18:51:44 - Issue 8384

Topics (messages 37 through 37):

Algorithm Help
37 by: Floyd Resler

Administrivia:

To subscribe to the digest, e-mail:
php-general-digest-subscr...@lists.php.net

To unsubscribe from the digest, e-mail:
php-general-digest-unsubscr...@lists.php.net

To post to the list, e-mail:
php-gene...@lists.php.net


--
---BeginMessage---
Here's my task: A group of kids is going to be staying with different host 
families throughout the next 8 months.  The number of kids staying with a host 
family can range from 2 to 10.  When deciding which kids should stay together 
at a host family, the idea is for the system to put together kids who have 
stayed with each other the least on past weekends.  So, if a host family can 
keep 5 kids, then the group of 5 kids who have stayed together the least will 
be chosen.

I can't think of an easy, quick way to accomplish this.  I've tried various 
approaches that have resulted in a lot of coding and being very slow.  My idea 
was to give each group of kids a score and the lowest score is the group that 
is selected.  However, this approach wound of iterating through several arrays 
several times which was really slow.  Does anyone have any ideas on this puzzle?

Thanks!
Floyd

---End Message---


[PHP] Algorithm Help

2013-10-01 Thread Floyd Resler
Here's my task: A group of kids is going to be staying with different host 
families throughout the next 8 months.  The number of kids staying with a host 
family can range from 2 to 10.  When deciding which kids should stay together 
at a host family, the idea is for the system to put together kids who have 
stayed with each other the least on past weekends.  So, if a host family can 
keep 5 kids, then the group of 5 kids who have stayed together the least will 
be chosen.

I can't think of an easy, quick way to accomplish this.  I've tried various 
approaches that have resulted in a lot of coding and being very slow.  My idea 
was to give each group of kids a score and the lowest score is the group that 
is selected.  However, this approach wound of iterating through several arrays 
several times which was really slow.  Does anyone have any ideas on this puzzle?

Thanks!
Floyd


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] delete S3 bucket with AWS PHP SDK

2013-10-01 Thread Aziz Saleh
Hey Tim,

It seems that deleteObject takes in 2 params, and you are sending it 1
param. I would recommend you look at the documentation and make sure you
are sending the right params.

Aziz


On Sun, Sep 29, 2013 at 10:29 PM, Tim Dunphy bluethu...@gmail.com wrote:

 Hi Aziz,

  Thank you for getting back to me!

  I appreciate you spotting that error.

 So I corrected that

 ?php
   require_once 'sdk.class.php';
 if (isset($_POST['submit'])) {

 *  $bucket_name = $_POST['bucket_name'];*

  // Create the S3 Object from the SDK
   $s3 = new AmazonS3();
 *
   $result = $s3-deleteObject(array(
 'Bucket' = $bucket_name ));*


  // The response comes back as a Simple XML Object
 // In this case we just want to know if everything was okay.
 // If not, report the message from the XML response.
  if ((int) $response-isOK()) {
 echo 'centerDeleted Bucket';
 echo 'br /br /';
 echo 'a href=listbuckets.phpList Buckets/a/center';
   } else {
 echo (string) $response-body-Message;
   }
  //echo 'br /br /';
 }
 ?
 body
   centerh3Delete S3 Bucket/h3
form name=delete_bucket method=post action=delete_bucket.php
 label for=bucket_nameBucket Name:/labelbr /
* input type=text id=bucket_name name=bucket_name /br /br /
 *
 input type=submit name=submit value=Delete Bucket /
   /form/center
 script
 /body
 /html


 And this is the error I am currently getting:


 Warning: Missing argument 2 for AmazonS3::delete_object() in
 /var/www/awssdk/services/s3.class.php on line 1576 Notice: Undefined
 variable: filename in /var/www/awssdk/services/s3.class.php on line 1581
 Warning: preg_match() expects parameter 2 to be string, array given in
 /var/www/awssdk/services/s3.class.php on line 1042 Warning: preg_match()
 expects parameter 2 to be string, array given in
 /var/www/awssdk/services/s3.class.php on line 1043 Fatal error: Uncaught
 exception 'S3_Exception' with message 'S3 does not support Array as a
 valid bucket name. Review Bucket Restrictions and Limitations in the S3
 Developer Guide for more information.' in
 /var/www/awssdk/services/s3.class.php:548 Stack trace: #0
 /var/www/awssdk/services/s3.class.php(1594): AmazonS3-authenticate(Array,
 Array) #1 [internal function]: AmazonS3-delete_object(Array) #2
 /var/www/awssdk/sdk.class.php(436): call_user_func_array(Array, Array) #3
 /var/www/awssdk/delete_bucket.php(72): CFRuntime-__call('deleteObject',
 Array) #4 /var/www/awssdk/delete_bucket.php(72):
 AmazonS3-deleteObject(Array) #5 {main} thrown in
 /var/www/awssdk/services/s3.class.php on line 548

 Not sure if I'm getting closer here... but definitely appreciate any
 advice anyone may have.

 Thanks!
 Tim


 On Sun, Sep 29, 2013 at 5:04 PM, Aziz Saleh azizsa...@gmail.com wrote:

 No Problem, the issue is that you referring to the invalid post element
 $bucket_name as opposed to the correct on bucket_name.

 *$bucket_name = $_POST['$bucket_name'];*

 Should be

 *$bucket_name = $_POST['bucket_name'];*

 Aziz


 On Sun, Sep 29, 2013 at 3:28 PM, Tim Dunphy bluethu...@gmail.com wrote:

 Hey guys,

  Sorry about that i should have posted the full code to give you some
 idea of context. Anyway, here it is:

 ?php
   require_once 'sdk.class.php';
 if (isset($_POST['submit'])) {

 *  $bucket_name = $_POST['$bucket_name'];*
  // Create the S3 Object from the SDK
   *$s3 = new AmazonS3();*

 *  $result = $s3-deleteObject(array(*
 *'Bucket' = $bucket_name ));*


  // The response comes back as a Simple XML Object
  // In this case we just want to know if everything was okay.
 // If not, report the message from the XML response.
  if ((int) $response-isOK()) {
 echo 'centerDeleted Bucket';
 echo 'br /br /';
 echo 'a href=listbuckets.phpList Buckets/a/center';
   } else {
 echo (string) $response-body-Message;
   }
  //echo 'br /br /';
 }
 ?
 body
   centerh3Delete S3 Bucket/h3
form name=delete_bucket method=post action=delete_bucket.php
 label for=bucket_nameBucket Name:/labelbr /
   *  input type=text id=bucket_name name=bucket_name /br /br
 /*
 input type=submit name=submit value=Delete Bucket /
   /form/center

 So, as you can see I am taking the 'bucket_value' from $_POST and
 passing it into the call to S3.

 When the form comes up on the web I give it the name of one of my S3
 buckets. The result is the following error:

 Notice: Undefined index: $bucket_name in
 /var/www/awssdk/delete_bucket.php on line 67 Warning: Missing argument 2
 for AmazonS3::delete_object() in /var/www/awssdk/services/s3.class.php on
 line 1576 Notice: Undefined variable: filename in
 /var/www/awssdk/services/s3.class.php on line 1581 Warning: preg_match()
 expects parameter 2 to be string, array given in
 /var/www/awssdk/services/s3.class.php on line 1042 Warning: preg_match()
 expects parameter 2 to be string, array given in
 /var/www/awssdk/services/s3.class.php on line 1043 Fatal error: Uncaught
 exception 'S3_Exception' with message 'S3 does not support Array as a
 valid bucket name. 

Re: [PHP] Algorithm Help

2013-10-01 Thread John Meyer

On 10/1/2013 12:51 PM, Floyd Resler wrote:

Here's my task: A group of kids is going to be staying with different host 
families throughout the next 8 months.  The number of kids staying with a host 
family can range from 2 to 10.  When deciding which kids should stay together 
at a host family, the idea is for the system to put together kids who have 
stayed with each other the least on past weekends.  So, if a host family can 
keep 5 kids, then the group of 5 kids who have stayed together the least will 
be chosen.

I can't think of an easy, quick way to accomplish this.  I've tried various 
approaches that have resulted in a lot of coding and being very slow.  My idea 
was to give each group of kids a score and the lowest score is the group that 
is selected.  However, this approach wound of iterating through several arrays 
several times which was really slow.  Does anyone have any ideas on this puzzle?

Thanks!
Floyd


Whatever solution you're going with will probably involve a relational 
database of some sort.


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Algorithm Help

2013-10-01 Thread Aziz Saleh
DB or flatfile?

I would create a matrix of all kids crossed with every kid. Everytime a kid
is put in a home with another kid, ++ that index. When dispatching kids,
sort by index ASC.

Aziz


On Tue, Oct 1, 2013 at 3:01 PM, John Meyer johnme...@pueblocomputing.comwrote:

 On 10/1/2013 12:51 PM, Floyd Resler wrote:

 Here's my task: A group of kids is going to be staying with different
 host families throughout the next 8 months.  The number of kids staying
 with a host family can range from 2 to 10.  When deciding which kids should
 stay together at a host family, the idea is for the system to put together
 kids who have stayed with each other the least on past weekends.  So, if a
 host family can keep 5 kids, then the group of 5 kids who have stayed
 together the least will be chosen.

 I can't think of an easy, quick way to accomplish this.  I've tried
 various approaches that have resulted in a lot of coding and being very
 slow.  My idea was to give each group of kids a score and the lowest score
 is the group that is selected.  However, this approach wound of iterating
 through several arrays several times which was really slow.  Does anyone
 have any ideas on this puzzle?

 Thanks!
 Floyd


  Whatever solution you're going with will probably involve a relational
 database of some sort.


 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP] Algorithm Help

2013-10-01 Thread Ashley Sheridan
On Tue, 2013-10-01 at 15:09 -0400, Aziz Saleh wrote:

 DB or flatfile?
 
 I would create a matrix of all kids crossed with every kid. Everytime a kid
 is put in a home with another kid, ++ that index. When dispatching kids,
 sort by index ASC.
 
 Aziz
 
 
 On Tue, Oct 1, 2013 at 3:01 PM, John Meyer 
 johnme...@pueblocomputing.comwrote:
 
  On 10/1/2013 12:51 PM, Floyd Resler wrote:
 
  Here's my task: A group of kids is going to be staying with different
  host families throughout the next 8 months.  The number of kids staying
  with a host family can range from 2 to 10.  When deciding which kids should
  stay together at a host family, the idea is for the system to put together
  kids who have stayed with each other the least on past weekends.  So, if a
  host family can keep 5 kids, then the group of 5 kids who have stayed
  together the least will be chosen.
 
  I can't think of an easy, quick way to accomplish this.  I've tried
  various approaches that have resulted in a lot of coding and being very
  slow.  My idea was to give each group of kids a score and the lowest score
  is the group that is selected.  However, this approach wound of iterating
  through several arrays several times which was really slow.  Does anyone
  have any ideas on this puzzle?
 
  Thanks!
  Floyd
 
 
   Whatever solution you're going with will probably involve a relational
  database of some sort.
 
 
  --
  PHP General Mailing List (http://www.php.net/)
  To unsubscribe, visit: http://www.php.net/unsub.php
 
 


This sounds remarkably like homework, which we can't help you with
unless you've got a specific problem that you're stuck with.

Thanks,
Ash
http://www.ashleysheridan.co.uk




Re: [PHP] Algorithm Help

2013-10-01 Thread Floyd Resler
m

1375 GLENDALE MILFORD RD., CINCINNATI, OH 45215

On Oct 1, 2013, at 3:14 PM, Ashley Sheridan a...@ashleysheridan.co.uk wrote:

 On Tue, 2013-10-01 at 15:09 -0400, Aziz Saleh wrote:
 
 DB or flatfile?
 
 I would create a matrix of all kids crossed with every kid. Everytime a kid
 is put in a home with another kid, ++ that index. When dispatching kids,
 sort by index ASC.
 
 Aziz
 
 
 On Tue, Oct 1, 2013 at 3:01 PM, John Meyer 
 johnme...@pueblocomputing.comwrote:
 
 On 10/1/2013 12:51 PM, Floyd Resler wrote:
 
 Here's my task: A group of kids is going to be staying with different
 host families throughout the next 8 months.  The number of kids staying
 with a host family can range from 2 to 10.  When deciding which kids should
 stay together at a host family, the idea is for the system to put together
 kids who have stayed with each other the least on past weekends.  So, if a
 host family can keep 5 kids, then the group of 5 kids who have stayed
 together the least will be chosen.
 
 I can't think of an easy, quick way to accomplish this.  I've tried
 various approaches that have resulted in a lot of coding and being very
 slow.  My idea was to give each group of kids a score and the lowest score
 is the group that is selected.  However, this approach wound of iterating
 through several arrays several times which was really slow.  Does anyone
 have any ideas on this puzzle?
 
 Thanks!
 Floyd
 
 
 Whatever solution you're going with will probably involve a relational
 database of some sort.
 
 
 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php
 
 
 
 
 This sounds remarkably like homework, which we can't help you with
 unless you've got a specific problem that you're stuck with.
 
 Thanks,
 Ash
 http://www.ashleysheridan.co.uk
 
 

Oh, no, this is definitely not homework! :)  Although it certainly seems like a 
homework question.  This is a real world problem.  I'm keeping track of which 
kids stay with which host families in the database.  My initial approach was to 
start with kid 1 and see how many times the other kids have stayed with kid 1.  
The move on to kid 2, and so it.  This gives me a score for pairs of kids.  
However, if say three kids are staying at a host family, what is the best way 
to determine which set of three kids have stayed together the least?

Thanks!
Floyd



Re: [PHP] Algorithm Help

2013-10-01 Thread Serge Fonville
Assuming you don't have to be exact, somthing similar to this might work.

Assign each kid to a host family randomly
for each kid, check how frequently it has been combined with the kids in
its assigned family.
if it is too close, swap with a different family
when all kids in that family are processed, move on to the next family and
repeat, excluding the first family for swapping. do the same for all
families excluding the previous families. when you have completed all
families, do another iteration or two of the whole process.

Kind regards/met vriendelijke groet,

Serge Fonville

http://www.sergefonville.nl


2013/10/1 Floyd Resler fres...@adex-intl.com

 m

 1375 GLENDALE MILFORD RD., CINCINNATI, OH 45215

 On Oct 1, 2013, at 3:14 PM, Ashley Sheridan a...@ashleysheridan.co.uk
 wrote:

  On Tue, 2013-10-01 at 15:09 -0400, Aziz Saleh wrote:
 
  DB or flatfile?
 
  I would create a matrix of all kids crossed with every kid. Everytime a
 kid
  is put in a home with another kid, ++ that index. When dispatching kids,
  sort by index ASC.
 
  Aziz
 
 
  On Tue, Oct 1, 2013 at 3:01 PM, John Meyer 
 johnme...@pueblocomputing.comwrote:
 
  On 10/1/2013 12:51 PM, Floyd Resler wrote:
 
  Here's my task: A group of kids is going to be staying with different
  host families throughout the next 8 months.  The number of kids
 staying
  with a host family can range from 2 to 10.  When deciding which kids
 should
  stay together at a host family, the idea is for the system to put
 together
  kids who have stayed with each other the least on past weekends.  So,
 if a
  host family can keep 5 kids, then the group of 5 kids who have stayed
  together the least will be chosen.
 
  I can't think of an easy, quick way to accomplish this.  I've tried
  various approaches that have resulted in a lot of coding and being
 very
  slow.  My idea was to give each group of kids a score and the lowest
 score
  is the group that is selected.  However, this approach wound of
 iterating
  through several arrays several times which was really slow.  Does
 anyone
  have any ideas on this puzzle?
 
  Thanks!
  Floyd
 
 
  Whatever solution you're going with will probably involve a relational
  database of some sort.
 
 
  --
  PHP General Mailing List (http://www.php.net/)
  To unsubscribe, visit: http://www.php.net/unsub.php
 
 
 
 
  This sounds remarkably like homework, which we can't help you with
  unless you've got a specific problem that you're stuck with.
 
  Thanks,
  Ash
  http://www.ashleysheridan.co.uk
 
 

 Oh, no, this is definitely not homework! :)  Although it certainly seems
 like a homework question.  This is a real world problem.  I'm keeping track
 of which kids stay with which host families in the database.  My initial
 approach was to start with kid 1 and see how many times the other kids have
 stayed with kid 1.  The move on to kid 2, and so it.  This gives me a score
 for pairs of kids.  However, if say three kids are staying at a host
 family, what is the best way to determine which set of three kids have
 stayed together the least?

 Thanks!
 Floyd