1 <?xml version="1.0" encoding="utf-8"?> |
1 <?xml version="1.0" encoding="utf-8"?> |
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
3 <HEAD> |
3 <HEAD> |
4 <TITLE>2013/14 Msc Projects</TITLE> |
4 <TITLE>2013/14 Msc Projects</TITLE> |
5 <BASE HREF="http://www.inf.kcl.ac.uk/staff/urbanc/"> |
5 <BASE HREF="http://nms.kcl.ac.uk/christian.urban/"> |
6 <script type="text/javascript" src="striper.js"></script> |
6 <script type="text/javascript" src="striper.js"></script> |
7 <link rel="stylesheet" href="nominal.css"> |
7 <link rel="stylesheet" href="nominal.css"> |
8 <script type="text/javascript" src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> |
8 <script type="text/javascript" src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"> |
9 </script> |
9 </script> |
10 </HEAD> |
10 </HEAD> |
104 (for example subexpression matching, which my rainy-afternoon matcher cannot). I am sure they thought |
104 (for example subexpression matching, which my rainy-afternoon matcher cannot). I am sure they thought |
105 about the problem much longer than a single afternoon. The task |
105 about the problem much longer than a single afternoon. The task |
106 in this project is to find out how good they actually are by implementing the results from their paper. |
106 in this project is to find out how good they actually are by implementing the results from their paper. |
107 Their approach is based on the concept of partial derivatives introduced in 1994 by |
107 Their approach is based on the concept of partial derivatives introduced in 1994 by |
108 <A HREF="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.56.2509&rep=rep1&type=pdf">Valentin Antimirov</A>. |
108 <A HREF="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.56.2509&rep=rep1&type=pdf">Valentin Antimirov</A>. |
109 I used them once myself in a <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Publications/rexp.pdf">paper</A> |
109 I used them once myself in a <A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/rexp.pdf">paper</A> |
110 in order to prove the <A HREF="http://en.wikipedia.org/wiki/Myhill–Nerode_theorem">Myhill-Nerode theorem</A>. |
110 in order to prove the <A HREF="http://en.wikipedia.org/wiki/Myhill–Nerode_theorem">Myhill-Nerode theorem</A>. |
111 So I know they are worth their money. Still, it would be interesting to actually compare their results |
111 So I know they are worth their money. Still, it would be interesting to actually compare their results |
112 with my simple rainy-afternoon matcher and potentially “blow away” the regular expression matchers |
112 with my simple rainy-afternoon matcher and potentially “blow away” the regular expression matchers |
113 in Python and Ruby (and possibly in Scala too). |
113 in Python and Ruby (and possibly in Scala too). |
114 </p> |
114 </p> |
512 <p> |
512 <p> |
513 <B>Skills:</B> |
513 <B>Skills:</B> |
514 Well, you must be a hacker; happy to make things. Your desk might look like this: |
514 Well, you must be a hacker; happy to make things. Your desk might look like this: |
515 <center> |
515 <center> |
516 <img style="-webkit-user-select: none; cursor: -webkit-zoom-in; |
516 <img style="-webkit-user-select: none; cursor: -webkit-zoom-in; |
517 "src="http://www.inf.kcl.ac.uk/staff/urbanc/rpi-photo.jpg" width="209" height="313"> |
517 "src="http://nms.kcl.ac.uk/christian.urban/rpi-photo.jpg" width="209" height="313"> |
518 </center> |
518 </center> |
519 </p> |
519 </p> |
520 |
520 |
521 |
521 |
522 <li> <H4>[CU8] Proving the Correctness of Programs</H4> |
522 <li> <H4>[CU8] Proving the Correctness of Programs</H4> |
536 algorithm switched on and it almost caused a catastrophic mission failure (see |
536 algorithm switched on and it almost caused a catastrophic mission failure (see |
537 this youtube video <A HREF="http://www.youtube.com/watch?v=lyx7kARrGeM">here</A> |
537 this youtube video <A HREF="http://www.youtube.com/watch?v=lyx7kARrGeM">here</A> |
538 for an explanation what happened). |
538 for an explanation what happened). |
539 We were able to prove the correctness of this algorithm, but were also able to |
539 We were able to prove the correctness of this algorithm, but were also able to |
540 establish the correctness of some optimisations in this |
540 establish the correctness of some optimisations in this |
541 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/Publications/pip.pdf">paper</A>. |
541 <A HREF="http://nms.kcl.ac.uk/christian.urban/Publications/pip.pdf">paper</A>. |
542 </p> |
542 </p> |
543 |
543 |
544 <p> |
544 <p> |
545 On a much smaller scale, there are a few small programs and underlying algorithms where it |
545 On a much smaller scale, there are a few small programs and underlying algorithms where it |
546 is not really understood whether they always compute a correct result (for example the |
546 is not really understood whether they always compute a correct result (for example the |
557 |
557 |
558 |
558 |
559 <li> <H4>Earlier Projects</H4> |
559 <li> <H4>Earlier Projects</H4> |
560 |
560 |
561 I am also open to project suggestions from you. You might find some inspiration from my earlier projects: |
561 I am also open to project suggestions from you. You might find some inspiration from my earlier projects: |
562 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/bsc-projects-12.html">BSc 2012/13</A>, |
562 <A HREF="http://nms.kcl.ac.uk/christian.urban/bsc-projects-12.html">BSc 2012/13</A>, |
563 <A HREF="http://www.inf.kcl.ac.uk/staff/urbanc/msc-projects-12.html">MSc 2012/13</A> |
563 <A HREF="http://nms.kcl.ac.uk/christian.urban/msc-projects-12.html">MSc 2012/13</A> |
564 |
564 |
565 </ul> |
565 </ul> |
566 </TD> |
566 </TD> |
567 </TR> |
567 </TR> |
568 </TABLE> |
568 </TABLE> |