Questo…

Posted August 6, 2008 by Alex Linhares
Categories: Author: Alexandre Linhares, General, Uncategorized

Capyblanca is now GPL’d

Posted July 9, 2008 by Alex Linhares
Categories: Architecture, Author: Alexandre Linhares, General, News

In 1995, Douglas Hofstadter wrote:

“A visit to our Computer Science Department by Dave Slate, one of the programmers of Chess 4.6, at that time one of the world’s top chess programs, helped to confirm some of these fledgling intuitions of mine. In his colloquium, Slate described the strict full width, depth-first search strategy employed by his enormously successful program, but after doing so, confided that his true feelings were totally against this type of brute-force approach. His description of how his ideal chess program would work resonated with my feelings about how an ideal sequence-perception program should work. It involved lots of small but intense depth-first forays, but with a far greater flexibility than he knew how to implement. Each little episode would tend to be focused on some specific region of the board (although of course implications would flow all over the board), and lots of knowledge of specific local configurations would be brought to bear for those brief periods.”

That was, of course, many years before I would meet Doug.

How do chess players make decisions? How do they avoid the combinatorial explosion? How do we go from rooks and knights to abstract thought? What is abstract thought like? These are some of the questions involving the Capyblanca project. The name, of course, is a blend between José Raoul Capablanca, and Hofstadter’s original Copycat Project implemented by Melanie Mitchell, which brought us so many ideas. Well, after almost 5 years, we have a proof-of-concept in the form of a running program, and we are GPL’ing the code, so interested readers might take it to new directions which we cannot foresee. Some instructions are in the paper, and feel free to contact me as you wish.

The manuscript is under review in a journal, and a copy of the working paper follows below. Interested readers might also want to take a look at some of my previous publications in AI and Cognitive Science:

(i) Linhares, A. & P. Brum (2007), “Understanding our understanding of strategic scenarios: what role do chunks play?”, Cognitive Science, 31, pp. 989-1007.

(ii) Linhares, A. (2005), “An active symbols theory of chess intuition”, Minds and machines, 15, pp. 131-181.

(iii) Linhares, A. (2000), “A glimpse at the metaphysics of Bongard Problems”, Artificial Intelligence, 121 (1-2), pp. 251-270.

Any feedback will be highly appreciated!

–Alex

Read this document on Scribd: Capyblanca paper under review

I, for one, welcome our new übergeek overlords!

Posted June 23, 2008 by Alex Linhares
Categories: Author: Alexandre Linhares, General, News

Slashdot, my favorite L337 geek hangout, is discussing an interview with DugHof.  The discussion is actually pretty cool, the long mentions of “the singularity that is Kurzweil” notwithstanding.

Though Doug usually dismisses hacker culture, I don’t, and I think we should really welcome our new slashdot overlords.  Two basic reasons here, beyond the whole power to the people cliché:  first, some /. discussions are really worthwhile, and some participants really bring very insightful analysis in their comments–actually, a great way for learning about all things technical is, right after the obvious wikipedia lookup, by googling “site:slashdot.org whatever you’re after, dude” and catching up with the discussions.  And who knows?  Maybe one day this blog will even be slashdotted.  That would be nice for our pagerank and world domination plans–which bring me to the second reason.

Now the second reason is a serious one.  As progress in FARG architectures evolves, we will need more and more lookups in the most cutting edge stuff, such as GPGPU or reflection.  A general FARG framework is essentially an operating system, from the inside and from the outside.  From the inside it packs application and problem loaders, various types of memory management (external, working memory, semantic memory, episodic memory, etc), task allocation and scheduling, and parallel multiprocessing.  From the outside, it is also like an operating system, enabling new kinds and types of “FARG apps”.  This is, in fact, the coolest operating system to be working with, and I am astonished that companies like Microsoft or Sun or IBM just plainly do not know what this is all about.  We could have some serious long-term contributions to computer science, yet, sometimes, it feels that even with all geekdom love that Doug eventually gets, the word in FCCA and later works is yet to be spread.

Or, to put it in /. terms, I feel that FARG==new (PARC).  If you don’t agree, then; seriously, You must be new here.

2007 Los Angeles Times Book Prize

Posted April 29, 2008 by Eric N.
Categories: Author: Eric Nichols, News

Douglas Hofstadter wins the 2007 Los Angeles Times Book Prize for I Am a Strange Loop.

On April 25, 2008, the Los Angeles Times honored 2007’s most accomplished authors at the 28th Annual Presentation of Los Angeles Times Book Prizes, held at UCLA’s Royce Hall on the eve of the Los Angeles Times Festival of Books. Douglas Hofstadter, Distinguished Professor of Cognitive Science and Computer Science at Indiana University, won the award for best science & technology book.

The rather difficult font game

Posted April 27, 2008 by Michael
Categories: Author: Michael Roberts, General, Uncategorized

Tags:

For you font mavens out there, the rather difficult font game. It can’t be that difficult, because even I scored 6 and I know almost nothing about specific fonts that aren’t embarrassingly widespread.

Alphabet “K” deemed dangerous

Posted April 27, 2008 by Michael
Categories: Author: Michael Roberts, General

This just in: “The impact for using the wrong shape “K” does not only symbolise tragedy for humans but also God. Take part in coming up with the new “K” alphabet that is non-suicidal shape!” This has been a Public Service Announcement.

Plot-Whither

Posted April 24, 2008 by Michael
Categories: Architecture, Author: Michael Roberts

This week, the Spirit moved me to dig through the boxes of books still unpacked from our move down here from Bloomington, and so I’ve been reading Fluid Concepts and Creative Analogies again — since I’ve just started, I’ve been thinking about Seek-Whence and its domain.

Naturally, my mind turned to the representation of the concepts involved. My last burst of creative energy with Copycopycat’s Slipnet and definitional language got bogged down when I started thinking more seriously about the conceptual structure of the Copycat domain, because the conceptual structure is, of course, the Hard Part. And while reading about Seek-Whence I realized that part of the reason it’s the Hard Part is that it’s not done yet — that is to say, when putting together Copycopycat, I’m trying to do two things at once. First, I’m trying to build a FARGitecture based on my notion of conceptual structure. But secondly, I’m trying to do so in a perceptual context.

Well, perception is hard. Maybe, I realized, it would be easier if I already had some of the mechanics of the whole conceptual structure thing done.

So. In writing about Seek-Whence, Doug (as is his wont) demonstrates a whole list of sequences which are part of the domain. And he mentions in passing (as is his wont) that representing the template for a sequence is kind of tricky.

Well, yeah. It’s tricky because it’s fundamental to cognition, this breaking down of the world into semantic units we can manipulate. Along the way, we use powerful perceptual and analogy-making tools, and those are cognition per se, but without that basic set of mechanisms, it’s all too big a chunk to bite off. Or so I posit.

This morning, though, I had an interesting notion: what if, instead of trying to do everything at once in the creation of a new conceptually-based FARGitectural variant, I were simply to try to come up with some semantic units which could be used to model — to think about — sequences in the Seek-Whence domain? Not to worry about how they get there (yet), just … build them by hand and try to do something with them.

But if that’s the task, the “do something with them” just leaps out, doesn’t it? Well, two somethings: the “easy” one — which is to take a semantic sequence structure and generate terms in the sequence using whatever arithmetic tools seem appropriate — and the “good” one. Which is to do variants on a theme.

The name of this project is equally obvious: Plot-Whither.

Now if I can only get the Muse interested …

Open sourcing a slipnet viewer!

Posted April 19, 2008 by Alex Linhares
Categories: Architecture, Author: Alexandre Linhares, General

(This page will be updated with further details as soon as soon as possible; I am setting up the repository asap)

Hello world!

After reading this fantastic book and playing with this, I think one good way to proceed is to open-source some parts of a FARG framework which are not at its core, but are extremely useful and everyone could benefit from them.

I’m thinking first about a slipnet viewer. A java class that receives a list of nodes and links, and creates a nice view of the ongoing slipnet at any point in time. A node might consist of its activation levels and a bitmap to display inside the node (sometimes we may want to display something other than a string), while a link might include just the nodes it connects, (perhaps) a direction, and a string (to show up distances and for those with IS-A beliefs). It is a good tool for debugging and for propaganda purposes.

The class would get this information and create another bitmap, now with a beautiful view of the current slipnet: close nodes appear close to each other, distant nodes appear distant, and their activity levels are displayed. From my past life in combinatorial optimization, I have a hunch that this is NP-hard, so we may be resorting to some heuristic that works.

It should be in java, to run in everybody’s machine, and also because everyone knows java and could either make a call to it from their own weirdo language or rewrite the code for their project.

In this initial stage, no windows or anything fancy should be done. Just get the data in and output a bitmap with the slipnet. But if our collaboration works, we could go bigger, triggering a window in a new thread and having a great display running in true parallel style. That would, I think, be a first step that everyone would benefit from.

This is small stuff, of course, but it’s annoying to redo it everyday in every single project. It takes some time to do, and distracts from the core issues. Our productivity will rise. So, as Micheal Roberts once said, instead of having “obsessive geniuses” working under the basement, we should finally stop doing the same things over and over again. We should finally start collaborating like a small research group.

Or as a start-up company.

Lorenz

Posted April 18, 2008 by Eric N.
Categories: Author: Eric Nichols

LorenzI assume you all saw the obituary for Edward Lorenz, but here’s a little article from the New York Times.

Three of the main things that made me excited about science when I was a kid were AI, music composition, and chaos theory — the last one thanks to Gleick’s book. Indeed, just after I typed the period on the previous sentence, I tried to think of how to wrap up this little post, and focused my eyes behind the monitor onto my bookshelf a few feet behind it. Immediately, “James Gleick — Chaos” came into focus, sitting front and center in my shelf of my favorite books. That was totally unexpected, but it’s a nice example of how important Lorenz’s discovery was for me.

We’ll miss you Lorenz!

The Bonnie & Clyde Microdomain

Posted April 6, 2008 by Alex Linhares
Categories: Author: Alexandre Linhares

Tags:

In rereading parts of Harry’s thesis, I came up with what I think is a rather interesting domain to make first experiments with the ongoing framework… I’m calling it “the Bonnie & Clyde Microdomain” for obvious reasons.

Can you spot the two outliers? What is the justification for their outlier status? Here are some problems:
==
Problem 1
1
1
1
0
1
1
1
1
1
1
1
0

==
Problem 2
222
99
132
1
128
76
4
54
68
302
298
305

==
Problem 3
9
5+5
5×2
100/10
13-3
8+4
101-99+8
18×2-26
1+2+3+4
1×2x3+4
10-6+2×2
9+7-6

==
Problem 4
6/2
10/5
20/2
18/6
99/3
17/17
0/5
3/0
4/2
28/0
1/1
9/3

==
Problem 5
1+1+1
2×2x2
7/7-6
3×2+4
2+2
4+6-1
8×8x8
9-1×7
3×4+7
(40/5)/2
3×3x4×1
1+2+3

==
Problem 6
5+1
2/20
1+5
16×3
9+4
1-0
3+1
3×16
5×8
4+9
8×5
20/2

==
Problem 7
10+3
28/2-1
3+1+9
11+1+1
13×1+0
28/2-1
6×2+1
30/3+3
3×3+3+3/3
3×3+3
2×4x2
4×3+1

==
Problem 8
9-4
16×2
7+8
5+18
8+7
4-9
2×16
18+5
23×8
1+4
8×23
4+1

==
Problem 9
5+(3x(2+1))
5+(3x(2-1))
(5+3)x(2-1)-3×3
3x(8+(2x(3-2)))
17x(9/(6-3))
4+(4x(2+2))
2x(5-(2×2))
7+(2x(2+3))
64/(2x(15+17))
2x(1/(19/19))
9×9-8×7
5x(2/(9-7))

==
Problem 10
10
3x(5×2)
20/(5+5)
30/(8+2)
7/(3+4)
20/(20/2)
9x(9+1)
9x(9+2)
9+100/10
2×60/6
8x(6+4)
20/(3+7)

==
Problem 11
1+1+1
1×1x1
2×4x2
2×7x9
9×8x5
7×7x7
9-2×3
4×2x7
8×6x2
6×6x6
2×4x8
5×2x1

==
Problem 12
1+1+1+1+1+1+1+1
4+6+3+2
1+1
2+2
6+2+5+8+3+5+2
1×1
7+7+3
10+10
35-5
7+2+1
4+4+2+4
9+8

==
Problem 13
1+2+3
1×2x3
3+2+1
(1/1)+(4/2)+(9/3)
(1)+(1+1)+(1+1+1)
(((8/2)/2)/2)+(((8-2)-2)-2)+((8/2)-(2/2))
(17/17)+(56536/28268)+((17/17)+(56536/28268))
(3/3)+(3-(3/3))+3
(2/2)+2+(2+(2/2))
(4-3)+(4-2)+(4-1)
(6/6)+(6/3)+(6/2)
(1×1)+(1×2)+(1×3)

==
Problem 14
2×100+22
9×10+9
6×10+4
15×10+1
1×1+1
12×10+8
10×17+6
3+3×3x3
42×10
31×11
29×10+8
66

==
Problem 15
222
99
131
4
128
56
0
44
48
300
298
301

==
Problem 16
452
217
111
245
362
64
329
837
757
939
637
1223

==
Problem 17
222
99
131
1
128
76
4
54
68
302
298
305

NOTE: I’ll keep updating this page with small corrections and new problems. For example, Doug got the original problem 2 right on, but most answers I received weren’t on spot. That was because the original problem would only give you a vague ‘feeling’ for the outliers–and most people would not trust that feeling and go for something completely different. Doug is a Bongard problem solver and designer, of course, so his view is very sharp about ‘vague’ feelings (if this makes sense to you). I remember a BP he designed with “kind-of-small-but-not-really-small triangles versus kind-of-large-but-not-really-large triangles”. If we’re later going to test these on people, most people won’t find the “only true” outliers and suggest something crazy. (The original problem 2 is now problem 15.)

I think this domain might help us to develop slipnets that self-adjust without having to define IS-A links, or handcoded distances between links (see, for instance, chapter 6 of Harry’s thesis).

I would love (tentative) answers (with a brief justification); and perhaps suggestions of new problem sets?

By the way, one of the problem sets is, in itself, an outlier. And another has two clear answers, even though people focus on only one. Can you spot them?