Beta Reduction steps on Y combinator - lambda-calculus

I am new to studying Lambda Calculus as part of my CompSci degree. In the course material (this is not a graded assignment no worries!) the following beta reduction came up:
𝜆𝑓.𝑊𝑊 →𝛽 𝜆𝑓.𝑓(𝑊𝑊) →𝛽 𝜆𝑓.𝑓(𝑓(𝑊𝑊)) →𝛽 𝜆𝑓.𝑓(𝑓(𝑓(𝑊𝑊)))
I am slightly confused as I didn't think we could just add something in a beta reduction step. Anyone can explain this a little to me or give me hints on why this behaves that way? Any help is appreciated. Thank you!

Related

NP to P transition

Are there any recent (feel free to add the "old" ones too) problems that were perceived as NP and then later someone came up with a solution that is Polynomial? I think studying those cases would help in developing a knack of critical problem solving along with practicing competitive programming.
One of such problems is that of deciding whether a given integer is prime. PRIMES IS IN P is the famous paper that broke this news in 2002, to almost everyone's surprise.
I think that you will find this link helpful.

Isabelle: how to work with matrices

I started to learn Isabelle, the theorem prover, about 2-3 weeks ago. I am still an absolute beginner and I worked with the tutorial "Programming and Proving in Isabelle/HOL" so far.
The only help on matrices I found so far was to look at the source code in the HOL library.
Now I want to learn how to prove properties about matrices. The lambda syntax for matrices is still new to me.
Are there any tutorials or basic/intermediate examples on using matrices in Isabelle?
Here is a more recent / up-to-date entry in AFP http://afp.sourceforge.net/entries/Matrix.shtml
CeTA http://cl-informatik.uibk.ac.at/software/ceta/ is cited here as an application, so you may look there for examples how it is being used in practice.

Material and Information to improve algorithmic knowledge

Lately I have been stuck on improving my algorithmic skills. And at this point I am finding myself out of good material for solving grid problems based on dfs and bsf. I somehow managed to do http://www.spoj.pl/problems/POUR1/ with a brute force logic but i recently go-ogled to find out that the problem can be done by bfs. But I can't figure out exactly how to go about it. Can someone please provide some text to read or some kind of explanation to the above mentioned problem so I can add this to my skill set. It would be extremely kind if you could even help me out for these techniques in problems like these http://www.codechef.com/problems/MMANT/ .please help as soon as possible I am really stuck in these kind of problems ant can't move on. It would also be really kind if u could provide a list of good questions about Binary Indexed Trees and segment trees and some more examples of their usage.
Thanks for the help!! :)
One resource I've found useful is The Algorithmist:
The Algorithmist is a resource dedicated to anything algorithms - from
the practical realm, to the theoretical realm. There are also links
and explanation to problemsets.
Also The Algorithm Design Manual by Steve Skiena is extremely useful, especially the second part.

Learning Prolog Basics

I'm pretty close to an exam where I have to answer some questions about Haskell and Prolog.
I would like to find a web like "learnyouahaskell" but about Prolog.
I don't know why logical languages are harder for me, they aren't logical for my knowledge =.=
Any recommends?
Thanks in advance.
I think that the equivalent of leanyouahaskell would be Learn Prolog Now.
also, check this question
It might also help to re-evaluate (or rather backtrack xD) your definition of logical;
for example, when you have
x=3
2x=x+1
you would normally conclude that there is no x that satisfies this system of equations, not that x is first 3 and then 1 :b
anyway, it's true that it's a bit hard to adjust; good luck with your exam!
also this is a very good website for understanding the basics with examples, diagrams and so on:
http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/contents.html

naive bayesian spam filter question

I am planning to implement spam filter using Naive Bayesian classification model.
Online I see a lot of info on Naive Bayesian classification, but the problem is its a lot of mathematical stuff, than clearly stating how its done. And the problem is I am more of a programmer than a mathematician (yes I had learnt Probability and Bayesian theorem back in school, but out of touch for a long long time, and I don't have luxury of learning it now (Have nearly 3 weeks to come-up with a working prototype)).
So if someone can explain or point me to location where its explained for programmers than a mathematician, it would be a great help.
PS: By the way I have to implement it in C, if you want to know. :(
Regards,
Microkernel
The book Programming Collective Intelligence has chapter that covers this and other methods. The chapter (#6) can be understood without reference to previous chapters, is written clearly, and discusses only the minimal mathematics necessary to get the job done.
You could try this website. It's got some source code.
I would highly recommend Andrew Moore's tutorials and I think you should start with this one.
You could also take a look at POPFile, an open source spam filter engine.
Have you looked at dspam?
http://dspam.irontec.com/faq.shtml#1.0
http://www.nuclearelephant.com/

Resources