<?xml version="1.0" encoding="iso-8859-1"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>CS 312 (W&apos;07, T Th sections)</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/" />
<modified>2006-06-12T23:09:38Z</modified>
<tagline>Algorithm Analysis, 373 MARB T Th, M. Jones</tagline>
<id>tag:vv.cs.byu.edu,2008:/cs312/5</id>
<generator url="http://www.movabletype.org/" version="3.11">Movable Type</generator>
<copyright>Copyright (c) 2006, tonglaga</copyright>
<entry>
<title>Homework 13</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/06/homework_13.html" />
<modified>2006-06-12T23:09:38Z</modified>
<issued>2006-06-12T23:08:02Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1649</id>
<created>2006-06-12T23:08:02Z</created>
<summary type="text/plain">Homework in Section 1.1 of the Linear Programming Handout Homework in Section 2.3 of the Linear Programming Handout Due June 14, 2006...</summary>
<author>
<name>tonglaga</name>

<email>tonglaga@hotmail.com</email>
</author>
<dc:subject>Homework</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p>Homework in Section 1.1 of the Linear Programming Handout<br />
Homework in Section 2.3 of the Linear Programming Handout</p>

<p>Due June 14, 2006</p>]]>

</content>
</entry>
<entry>
<title>Homework 11</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/06/homework_11.html" />
<modified>2006-06-07T23:29:59Z</modified>
<issued>2006-06-07T23:18:42Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1641</id>
<created>2006-06-07T23:18:42Z</created>
<summary type="text/plain">Consider the following reduced cost matrix M, in which M[a,b] = i means that the path from a to b has been excluded from consideration (by setting its cost to infinity) with the given lower bound lb: M = 0...</summary>
<author>
<name>tonglaga</name>

<email>tonglaga@hotmail.com</email>
</author>
<dc:subject>Homework</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p>Consider the following reduced cost matrix M, in which M[a,b] = i means that the path from a to b has been excluded from <br />
consideration (by setting its cost to infinity) with the given lower bound lb: <br />
M = <br />
0 4 6 0 i 2 <br />
i   i  i  i  i  i <br />
3 0 0 4 i  7 <br />
5 2 6 0 i  0 <br />
4 i  0 8 i  2 <br />
0 3 1 2 i  0 <br />
lb = 25 <br />
1.  Suppose your algorithm includes the edge from city 5 to 3 next (this edge has cost 0 relative to the current lower bound lb=25).   <br />
Give a new reduced cost matrix and new lower bound that have the following properties: <br />
a.  All edges that can now be excluded from consideration have had their cost replaced by i. <br />
b.  The resulting matrix has been reduced. <br />
c.  The new lower bound includes the impact of the reduction. <br />
2.  Take a look at the new reduced cost matrix.  Which edge would you decide to include in a solution next?  Justify your answer <br />
(Note that I can think of 3 different ways to pick this edge and each of those picking methods have a good justification.  And, there <br />
might be more good methods that I haven't thought of) <br />
----------------------------------- <br />
On the third day we talk about edge selection algorithms and put the whole algorithm together.  Putting the whole algorithm <br />
together means generating nodes from other nodes, managing the priority queue, the structure of the search tree and the best <br />
solution so far and deciding when to terminate the algorithms. You can structure the search tree two different ways.  The structure <br />
of the search tree influences the design of the edge picking algorithm.  The first way is to pick an edge then generate children by <br />
including that edge and by excluding that edge.  For this tree structure, one might pick an edge by maximizing the difference <br />
between the included edge child and the excluded edge child or one might pick the edge that maximizes the bound on the <br />
exclude-edge child.  In this tree formulation, one needs to be careful to not create a cycle prematurely (because the edges are <br />
picked willy nilly). <br />
The second way is to generate n children per node where each child is generated by including one of the edges that leave city i <br />
where i is the depth of the tree.  The nice thing about this formulation is that one does not create cycles prematurely but the <br />
downside is that on many problems this problem formulation will result in excessively priority queues.  The edge picking algorithm <br />
for this formulation is quite simple:  you just pick them all.  Of course, bright students will say, well, why don't I just pick the best one <br />
leaving city i instead of all of them?  That's not a bad idea, but keep in mind that later on you might need to go back and pick a new <br />
edge leaving city i so don't throw the parent node away quite yet. <br />
</p>]]>

</content>
</entry>
<entry>
<title>So you&apos;veSyllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/so_youve_master.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-19T15:52:05Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1589</id>
<created>2006-04-19T15:52:05Z</created>
<summary type="text/plain">Sudoku in C#...</summary>
<author>
<name>ringger</name>
<url>http://faculty.cs.byu.edu/~ringger/</url>
<email>ringger@cs.byu.edu</email>
</author>
<dc:subject>VisualStudio</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p><a href="http://msdn.microsoft.com/mobility/tabletpc/articles/techart/default.aspx?pull=/library/en-us/dntablet/html/tbconsudokusamplefinal.asp">Sudoku in C#</a></p>]]>

</content>
</entry>
<entry>
<title>Ultimate:Syllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/ultimate_10am_w.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-18T23:28:18Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1588</id>
<created>2006-04-18T23:28:18Z</created>
<summary type="text/plain">We&apos;ve got a 312 ultimate game set for 10am Wednesday morning at Kiwanis park (map). Just in case you need it, here is Ultimate in Ten Simple Rules Everyone is welcome, and it looks like the weather will be cool...</summary>
<author>
<name>jones</name>
<url>http://vv.cs.byu.edu/~jones/blog</url>
<email>jones@cs.byu.edu</email>
</author>
<dc:subject>Announcements</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p>We've got a 312 ultimate game set for 10am Wednesday morning at Kiwanis park (<a href="http://maps.google.com/maps?f=q&hl=en&q=950+North+1100++East+provo+utah&ll=40.24645,-111.639376&spn=0.022929,0.042186">map</a>).  </p>

<p>Just in case you need it, here is <a title="Ultimate in Ten Simple Rules" href="http://www.cs.rochester.edu/~ferguson/ultimate/ultimate-simple.html">Ultimate in Ten Simple Rules</a></p>

<p>Everyone is welcome, and it looks like the weather will be cool and clear.  Nice.  </p>

<p><br />
</p>]]>

</content>
</entry>
<entry>
<title>Dr. RinggSyllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/dr_ringger_offi_1.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-18T00:19:44Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1586</id>
<created>2006-04-18T00:19:44Z</created>
<summary type="text/plain">I will not be holding my regular office hours during reading days, but I will be available by appointment. I will be happy to meet with any student from one of my sections as needed....</summary>
<author>
<name>ringger</name>
<url>http://faculty.cs.byu.edu/~ringger/</url>
<email>ringger@cs.byu.edu</email>
</author>
<dc:subject>Schedule</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p>I will not be holding my regular office hours during reading days, but I will be available by appointment.  I will be happy to meet with any student from one of my sections as needed.</p>]]>

</content>
</entry>
<entry>
<title>Lecture #Syllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/lecture_40_revi.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-18T00:15:47Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1585</id>
<created>2006-04-18T00:15:47Z</created>
<summary type="text/plain">Lecture #40: Review...</summary>
<author>
<name>ringger</name>
<url>http://faculty.cs.byu.edu/~ringger/</url>
<email>ringger@cs.byu.edu</email>
</author>
<dc:subject>Lectures</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p><a href="http://faculty.cs.byu.edu/~ringger/Winter2006-CS312/lectures/lecture40-review.pdf">Lecture #40: Review</a><br />
</p>]]>

</content>
</entry>
<entry>
<title>Final ExaSyllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/final_exam_stud.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-17T18:02:38Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1584</id>
<created>2006-04-17T18:02:38Z</created>
<summary type="text/plain">For the CS 312 Final in sections 002 and 003, I encourage you to prepare in such a way that you will be comfortable with the following topics: Definitions of Big-O, Big-Omega, Big-Theta How to prove that a problem is...</summary>
<author>
<name>ringger</name>
<url>http://faculty.cs.byu.edu/~ringger/</url>
<email>ringger@cs.byu.edu</email>
</author>
<dc:subject>Exams</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p>For the CS 312 Final in sections 002 and 003, I encourage you to prepare in such a way that you will be comfortable with the following topics: </p>

<ul>
<li>Definitions of Big-O, Big-Omega, Big-Theta

<p><li>How to prove that a problem is NP complete. </p>

<p><li>Deriving the big-Theta bounds for certain kinds of divide-and-conquer algorithms using the methods for solving recurrence relations covered in class. In particular, be sure to be able to do the first problem in the last homework assignment on recurrences. This will involve knowing some logarithm and exponent identities. </p>

<p><li>How backtracking algoirthms such as depth-first and breadth-first search work. </p>

<p><li>The minimax algorithm.</p>

<p><li>Design decisions in creating and implementing branch and bound algorithms.</p>

<p><li>Basics of solving the Job Assignment and TSP problems with branch and bound algorithms. </p>

<p><li>How to compute amplification of stochastic advantage for repeated Monte Carlo algorithms. </p>

<p><li>How to express a Linear Programming problem in Slack Form in preparation for solution by the Simplex Method.</p>

<p><li>How to compute speedup and efficiency for parallel algorithms and how to tell if a parallel algorithm is good or not. </p>

</ul>

<p>The exam will include:</p>

<ul>
<li>about 20% material from the first two-thirds of the semester as well as questions requiring synthesis across the course topics

<p><li>about 80% material from the latter third of the course (since the second mid-term).</p>

</ul>

<p>The exam is reasonable.  I think a well-prepared student will be able to complete the exam in less than two hours.</p>

<p>You will do well!<br />
--Eric<br />
</p>]]>

</content>
</entry>
<entry>
<title>ProjectedSyllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/projected_grade.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-17T17:00:00Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1581</id>
<created>2006-04-17T17:00:00Z</created>
<summary type="text/plain">The grades on BlackBoard for section 002 and 003 are up to date through Project #6. The current total possible is exactly 74 points (out of what will be 100 for the entire semester). The remaining 26 points will come...</summary>
<author>
<name>ringger</name>
<url>http://faculty.cs.byu.edu/~ringger/</url>
<email>ringger@cs.byu.edu</email>
</author>
<dc:subject>Grades</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p>The grades on BlackBoard for section 002 and 003 are up to date through Project #6.  The current total possible is exactly 74 points (out of what will be 100 for the entire semester).  The remaining 26 points will come from project #7 and the final exam.  Grade weights are in accordance with the syllabus.  Early bonuses have not yet been factored in to the total, so please do that manually.</p>

<p>This should give you an idea of where you stand in the class. </p>

<p>Send grade corrections to Dr. Ringger directly as soon as possible.</p>

<p>While you're there, also check your early bonuses and late day budget, which should be up to date through Project #6.</p>

<p>Project #7 will be graded within a couple days after submission, after the last day of class.</p>

<p>Regards,<br />
--Eric</p>]]>

</content>
</entry>
<entry>
<title>Lecture #Syllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/lecture_39_para.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-15T01:02:24Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1583</id>
<created>2006-04-15T01:02:24Z</created>
<summary type="text/plain">Lecture #39: Parallel Mergesort...</summary>
<author>
<name>ringger</name>
<url>http://faculty.cs.byu.edu/~ringger/</url>
<email>ringger@cs.byu.edu</email>
</author>
<dc:subject>Lectures</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p><a href="http://faculty.cs.byu.edu/~ringger/Winter2006-CS312/lectures/lecture39-parallelmergesort.pdf">Lecture #39: Parallel Mergesort</a><br />
</p>]]>

</content>
</entry>
<entry>
<title>Lecture #Syllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/lecture_37_line.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-15T00:30:00Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1569</id>
<created>2006-04-15T00:30:00Z</created>
<summary type="text/plain">Lecture #37: Linear Programming: Simplex Method Several have requested full-page slides. They are here Lecture #37: Linear Programming: Simplex Method (FULL PAGE) Please note that the pseudo-code and the example in these slides come right out of the Linear Programming...</summary>
<author>
<name>ringger</name>
<url>http://faculty.cs.byu.edu/~ringger/</url>
<email>ringger@cs.byu.edu</email>
</author>
<dc:subject>Lectures</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p><a href="http://faculty.cs.byu.edu/~ringger/Winter2006-CS312/lectures/lecture37-lp-simplex.pdf">Lecture #37: Linear Programming: Simplex Method</a></p>

<p>Several have requested full-page slides.  They are here <a href="http://faculty.cs.byu.edu/~ringger/Winter2006-CS312/lectures/lecture37-lp-simplex-fullpg.pdf">Lecture #37: Linear Programming: Simplex Method (FULL PAGE)</a></p>

<p>Please note that the pseudo-code and the example in these slides come right out of the Linear Programming notes distributed on the blog here:  <a href="http://vv.cs.byu.edu/cs312/archives/2006/04/notes_on_linear.html">Linear Programming Notes</a></p>]]>

</content>
</entry>
<entry>
<title>Reminder:Syllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/fill_out_course.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-14T17:00:00Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1571</id>
<created>2006-04-14T17:00:00Z</created>
<summary type="text/plain">If you fill out the online evaluation for CS 312, and check the box that says &quot;allow my name to be shown in the list of people who filled out the form&quot; (or something similar) then you&apos;ll get credit for...</summary>
<author>
<name>jones</name>
<url>http://vv.cs.byu.edu/~jones/blog</url>
<email>jones@cs.byu.edu</email>
</author>
<dc:subject>Homework</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p>If you fill out the online evaluation for CS 312, and check the box that says "allow my name to be shown in the list of people who filled out the form" (or something similar) then you'll get credit for one homework assignment in sec. 001.  For Sections 002 & 003, you'll get extra credit in the amount of (at least) the mean number of points possible for a homework assignment.</p>

<p>We made some pretty drastic changes to the course this year and we are particularly anxious to hear what you thought about them.</p>

<p>Thanks for participating in 312 this semester.</p>]]>

</content>
</entry>
<entry>
<title>Section 0Syllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/section_001_fin.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-13T17:35:11Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1579</id>
<created>2006-04-13T17:35:11Z</created>
<summary type="text/plain">The exam, and key, have been written. If I were studying for the final exam, I would want to be sure I was comfortable with the following topics: How to prove that a problem is NP complete. Derrive the big-Theta...</summary>
<author>
<name>jones</name>
<url>http://vv.cs.byu.edu/~jones/blog</url>
<email>jones@cs.byu.edu</email>
</author>
<dc:subject>Exams</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p>The exam, and key, have been written.  If I were studying for the final exam, I would want to be sure I was comfortable with the following topics: <br />
<ul> <br />
<li> How to prove that a problem is NP complete. <br />
<li> Derrive the big-Theta bound for certain kinds of divide-and-conquer algorithms using the methods for solving reccurence relations described in class.  In particular, be sure I could do the first problem in the last homework assignment on reccurences. This will involve knowing some logrithm and exponent identities. <br />
<li> Understood how depth-first and breadth-first search work. <br />
<li> Understood the minimax algorithm.<br />
<li> Design decisions in creating and implementing branch and bound algorithms.<br />
<li> Basics of solving the TSP with a branch and bound algorithm. <br />
<li> How to compute amplification of stochastic advantage for repeated Monte Carlo algorithms. <br />
<li> How to compute speedup and efficiency for parallel algorithms and how to tell if a parallel algorithm is good or not. <br />
</ul><br />
As you can see, the exam includes about 20% material from prior exams and about 80% material from later topics.  The exam is pretty reasonable.  Questions were deleted and modified during the creation of the key.  It took me 30 minutes to write the key (remember that I only ask questions for which I already know the answer) including time to rewrite or delete certain questions.  I think a well-prepared student could complete the exam in about 1 hour and 15 minutes.   </p>]]>

</content>
</entry>
<entry>
<title>Dr. RinggSyllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/dr_ringger_offi.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-13T01:27:22Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1578</id>
<created>2006-04-13T01:27:22Z</created>
<summary type="text/plain">I will hold office hours one hour earlier than usual on Thursday, 4/13, only. Thanks, --Eric...</summary>
<author>
<name>ringger</name>
<url>http://faculty.cs.byu.edu/~ringger/</url>
<email>ringger@cs.byu.edu</email>
</author>
<dc:subject>Schedule</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p>I will hold office hours one hour earlier than usual on Thursday, 4/13, only.</p>

<p>Thanks,<br />
--Eric</p>]]>

</content>
</entry>
<entry>
<title>Lecture #Syllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/lecture_38_para.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-13T00:17:05Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1577</id>
<created>2006-04-13T00:17:05Z</created>
<summary type="text/plain">Lecture #38: Parallel Algorithms...</summary>
<author>
<name>ringger</name>
<url>http://faculty.cs.byu.edu/~ringger/</url>
<email>ringger@cs.byu.edu</email>
</author>
<dc:subject>Lectures</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p><a href="http://faculty.cs.byu.edu/~ringger/Winter2006-CS312/lectures/lecture38-parallel.pdf">Lecture #38: Parallel Algorithms</a><br />
</p>]]>

</content>
</entry>
<entry>
<title>Cindy&apos;s TSyllabus for all sect</title>
<link rel="alternate" type="text/html" href="http://vv.cs.byu.edu/cs312/archives/2006/04/cindys_thursday.html" />
<modified>2006-04-27T23:52:56Z</modified>
<issued>2006-04-12T17:33:50Z</issued>
<id>tag:vv.cs.byu.edu,2006:/cs312/5.1575</id>
<created>2006-04-12T17:33:50Z</created>
<summary type="text/plain">I&apos;m cutting my hours short on Thursday. I will be working from 5-7pm. I hope that doesn&apos;t inconvenience anyone. -Cindy...</summary>
<author>
<name>cindyStallard</name>

<email>ckstall@gmail.com</email>
</author>
<dc:subject>Schedule</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://vv.cs.byu.edu/cs312/">
<![CDATA[<p>I'm cutting my hours short on Thursday.  I will be working from 5-7pm.  I hope that doesn't inconvenience anyone.</p>

<p>-Cindy</p>]]>

</content>
</entry>

</feed>