Tag Info

Hot answers tagged

134

A proper solution would probably be some learned/statistical model, but here are some fun ideas: Semi-colons at the end of a line. This alone would catch a whole bunch of languages. Parentheses directly following text with no space to separate it: myFunc() A dot or arrow between two words: foo.bar = ptr->val Presence of curly braces, brackets: while ...


51

I'd just ask him "If you could pose a question to a turing test candidate, what would it be?".


49

I would be curious to see what are the average metrics of written English on one side, and code on the other side. length of paragraphs length of lines size of words chars used ratio between alphabetic, numeric and other symbol characters number of symbols per word etc. Maybe that alone could discriminate already between code and the rest. At least I ...


37

Is the content still valid today? I guess most theoretical stuff don't change over night, but is there some major points which does not hold today which I should be aware of? The content is logic and math. It doesn't change in any substantial way, not only over night. It will be valid forever.


29

My personal opinion is that it was due to hubris. There were some mighty big egos walking the halls of MIT, Stanford, etc. back in the 60s and 70s and they just knew they had cracked this problem. Right. Although I wasn't part of that universe in those days, in the mid-to-late 80s I was working with similarity searching. Our work was initially based on ...


24

Humans use rapport to sniff out artifice Essentially this means that it will always take a series of questions and subsequent analysis of the answers to establish if the anonymous entity at the end of the line is a human being or not. A single question will not achieve this. I suppose you could ask "Will you meet me in the car park in 2 minutes?" and then ...


23

Typically, Markov chains are used to generate text, but they can also be used to predict the similarity of text (per C.E. Shannon 1950) to a trained model. I recommend multiple Markov chains. For each prevalent language, train a Markov chain on a large, representative sample of code in the language. Then, for a Stack Overflow post for which you want to ...


22

You’re in a desert walking along in the sand when all of the sudden you look down, and you see a tortoise, it’s crawling toward you. You reach down, you flip the tortoise over on its back. The tortoise lays on its back, its belly baking in the hot sun, beating its legs trying to turn itself over, but it can’t, not without your help. But you’re not helping. ...


21

One of the key differences between LISP-like languages and other languages is that in LISPs, code and data are the same thing. This makes it possible to do things such as have a program modify some of it's algorithms during runtime as it "learns" new things, as a native part of the language. Another aspect that goes into this, though not as much, is LISP's ...


19

The AI course I participated in online, taught at Stanford, recommended that Python be used for the homework. I believe Georgia Tech still uses LISP. The fallacy here is "new" is "good". AI research is one of the oldest computing research disciplines. It keeps calving off subfields as people realize that techniques from it can be used elsewhere. Language ...


18

This is somewhat akin to asking if a hammer is the best tool for building houses. It's just one of many, and not all problems are well suited to it. Other interesting techniques include: Evolutionary Algorithms Genetic Algorithms Hill-Climbing + Simulated Annealing Expert Systems Fuzzy Logic Neural Networks are definitely pretty cool, but they are not ...


18

Books Programming Game AI by Example, by Mat Buckland. Covers lots of gound, with good code examples on the CD for everything in the book. Notably, includes State Machines, Goal Driven Behaviour, Path Finding/Planning and Fuzzy Logic. AI Techniques for Game Programming, by Mat Buckland. The book name is a bit of a misnomer. It's about Neural Nets and ...


18

I took an introduction to AI course in my undergrad that used Prolog to have us implement an expert system. An expert system is a piece of software that is used to solve a very specific problem whose solution is dependent on a high number of rules and variables. For instance, you could imagine an expert system that tells you whether you should take an ...


15

Sounds like you're talking about Genetic Algorithms more-so than Genetic Programming, but here's my contribution to your understanding. It can be handy to think of GAs in terms of the parts that they are composed of. So let's say you have some sort of problem. The first thing you need is a way to express what a solution will look like. If you had a ...


15

Quite simply, they massively underestimated the scale of the problem at hand, especially where combinatinatorial explosion is concerned. Many AI solutions work fine for "toy" samples, but fail hard when they scale up to human-level problems. Arguably, they were also simply inexperienced. AI as a field had (relatively) only just been invented in terms of ...


14

The most obvious example is pathfinding. (The activity from which the discipline takes its name in the first place.) As an example, finding the shortest route through a road network (like Google Maps does), or automatically scheduling a multiple-leg trip in a public transit network (like many sites for the networks of different cities do). It could also be ...


13

Any program in which the decisions made at time t are impacted by the outcome of decisions made at time t-1. It learns. A very simple construct within the field of Neural Networks is a Perceptron. It learns by adjusting weights given to different input values based on the accuracy of the result. It is trained with a known set of good inputs. Here is an ...


13

From the preface to Prolog Programming for Artificial Intelligence: Prolog is a programming language centred around a small set of basic mechanisms, including pattern matching, tree-based data structuring and automatic backtracking. This small set constitutes a surprisingly powerful and flexible programming framework. Prolog is especially well suited for ...


13

May I suggest a radically different approach? On SO the only human-language allowed is English, so anything that is non-English has 99.9% of chances to be a code snippet. So my solution would be: use one of the many English language-checkers out there (just make sure they also signal - beside misspellings - syntax mistakes like double dots, or non-language ...


13

I can think of a couple of reasons. AI experienced such rapid success with some of the toy problems tackled in the late 50s and early 60s, that they overestimated what they had accomplished. ELIZA and SHRDLU stunned folks despite being relatively simple programs. Unfortunately, a large part of what made those programs stunning was really just novelty. ...


13

To answer just your title, yes. Neural nets can give non-boolean answers. For example, neural nets have been used to predict stock market values, which is a numeric answer and thus more than just yes/no. Neural nets are also used in handwriting recognition, in which the output can be one of a whole range of characters - the whole alphabet, the numbers, and ...


11

Challenge it to a game of "Global Thermonuclear War". Or perhaps a game of tic-tac-toe versus itself.


11

Pseudo code would pose a real challenge because all programming language depend on special characters like '[]', ';', '()', etc. Simply count the occurrence of these special characters. Just like you would detect a binary file (more than 5% of a sample contains byte value 0).


11

I'm probably going to get a few down votes for this but I think you are approaching this from the wrong angle. This line got me: people have to go in and manually format code for people that are somehow unable to figure this out IMO that standpoint is kind of arrogant. I find this a lot in software design where programmers and designers get ...


11

I think there're clear rules on how cities are partitioned into quarters or regions. You should ask your local administration on where they draw the borders. Then you could, for example, retrieve the location data of the address (latitude and longitude might work) and simply check in which region's boundaries this address is in. There's no need for a ...


10

AI has a long history of disappointments, but I think many critics often over-simplify what happened, such as with your quote "1960's engineers overpromised and underdelivered". In the 60's, AI was the domain of a relative handful of researchers (the field wasn't really sufficiently developed yet to call it engineering), mostly at universities, and very few ...


10

I think people in the 60's used their own human experience to divide problems into "hard problems" and "easy problems": Things like winning chess, solving logical riddles, solving mathematical equations seem hard to us humans. Things like understanding natural languages or finding the outlines of objects in an image seem easy, because our brain does all the ...



Only top voted, non community-wiki answers of a minimum length are eligible