Tag Archives: computing

Man as Chinese Room

In the previous posts in this series, we discussed how devastating Searle’s Chinese Room argument was to the premise that our brains are digital computers. He argued, quite convincingly, that mere symbol manipulation could not lead to the rich understanding that we seem to enjoy. However, I refused to be convinced, and found the so-called systems response more convincing. It was the counter-argument saying that it was the whole Chinese Room that understood the language, not merely the operator or symbol pusher in the room. Searle laughed it off, but had a serious response as well. He said, “Let me be the whole Chinese Room. Let me memorize all the symbols and the symbol manipulation rules so that I can provide Chinese responses to questions. I still don’t understand Chinese.”

Now, that raises an interesting question — if you know enough Chinese symbols, and Chinese rules to manipulate them, don’t you actually know Chinese? Of course you can imagine someone being able to handle a language correctly without understanding a word of it, but I think that is stretching the imagination a bit too far. I am reminded of the blind sight experiment where people could see without knowing it, without being consciously aware of what it was that they were seeing. Searle’s response points in the same direction — being able to speak Chinese without understanding it. What the Chinese Room is lacking is the conscious awareness of what it is doing.

To delve a bit deeper into this debate, we have to get a bit formal about Syntax and Semantics. Language has both syntax and semantics. For example, a statement like “Please read my blog posts” has the syntax originating from the grammar of the English language, symbols that are words (syntactical placeholders), letters and punctuation. On top of all that syntax, it has a content — my desire and request that you read my posts, and my background belief that you know what the symbols and the content mean. That is the semantics, the meaning of the statement.

A computer, according to Searle, can only deal with symbols and, based on symbolic manipulation, come up with syntactically correct responses. It doesn’t understand the semantic content as we do. It is incapable of complying with my request because of its lack of understanding. It is in this sense that the Chinese Room doesn’t understand Chinese. At least, that is Searle’s claim. Since computers are like Chinese Rooms, they cannot understand semantics either. But our brains can, and therefore the brain cannot be a mere computer.

When put that way, I think most people would side with Searle. But what if the computer could actually comply with the requests and commands that form the semantic content of statements? I guess even then we would probably not consider a computer fully capable of semantic comprehension, which is why if a computer actually complied with my request to read my posts, I might not find it intellectually satisfying. What we are demanding, of course, is consciousness. What more can we ask of a computer to convince us that it is conscious?

I don’t have a good answer to that. But I think you have to apply uniform standards in ascribing consciousness to entities external to you — if you believe in the existence of other minds in humans, you have to ask yourself what standards you apply in arriving at that conclusion, and ensure that you apply the same standards to computers as well. You cannot build cyclical conditions into your standards — like others have human bodies, nervous systems and an anatomy like you do so that that they have minds as well, which is what Searle did.

In my opinion, it is best to be open-minded about such questions, and important not to answer them from a position of insufficient logic.

Minds as Machine Intelligence

Prof. Searle is perhaps most famous for his proof that computing machines (or computation as defined by Alan Turing) can never be intelligent. His proof uses what is called the Chinese Room argument, which shows that mere symbol manipulation (which is what Turning’s definition of computation is, according to Searle) cannot lead to understanding and intelligence. Ergo our brains and minds could not be mere computers.

The argument goes like this — assume Searle is locked up in a room where he gets inputs corresponding to questions in Chinese. He has a set of rules to manipulate the input symbols and pick out an output symbol, much as a computer does. So he comes up with Chinese responses that fool outside judges into believing that they are communicating with a real Chinese speaker. Assume that this can be done. Now, here is the punch line — Searle doesn’t know a word of Chinese. He doesn’t know what the symbols mean. So mere rule-based symbol manipulation is not enough to guarantee intelligence, consciousness, understanding etc. Passing the Turing Test is not enough to guarantee intelligence.

One of the counter-arguements that I found most interesting is what Searle calls the systems argument. It is not Searle in the Chinese room that understands Chinese; it is the whole system including the ruleset that does. Searle laughs it off saying, “What, the room understands Chinese?!” I think the systems argument merits more that that derisive dismissal. I have two supporting arguments in favor of the systems response.

The first one is the point I made in the previous post in this series. In Problem of Other Minds, we saw that Searle’s answer to the question whether others have minds was essentially by behavior and analogy. Others behave as though they have minds (in that they cry out when we hit their thumb with a hammer) and their internal mechanisms for pain (nerves, brain, neuronal firings etc) are similar to ours. In the case of the Chinese room, it certainly behaves as though it understands Chinese, but it doesn’t have any analogs in terms of the parts or mechanisms like a Chinese speaker. Is it this break in analogy that is preventing Searle from assigning intelligence to it, despite its intelligent behavior?

The second argument takes the form of another thought experiment — I think it is called the Chinese Nation argument. Let’s say we can delegate the work of each neuron in Searle’s brain to a non-English speaking person. So when Searle hears a question in English, it is actually being handled by trillions of non-English speaking computational elements, which generate the same response as his brain would. Now, where is the English language understanding in this Chinese Nation of non-English speaking people acting as neurons? I think one would have to say that it is the whole “nation” that understands English. Or would Searle laugh it off saying, “What, the nation understands English?!”

Well, if the Chinese nation could understand English, I guess the Chinese room could understand Chinese as well. Computing with mere symbol manipulation (which is what the people in the nation are doing) can and does lead to intelligence and understanding. So our brains could really be computers, and minds software manipulating symbols. Ergo Searle is wrong.

Look, I used Prof. Searle’s arguments and my counter arguments in this series as a sort of dialog for dramatic effect. The fact of the matter is, Prof. Searle is a world-renowned philosopher with impressive credentials while I am a sporadic blogger — a drive-by philosopher at best. I guess I am apologizing here to Prof. Searle and his students if they find my posts and comments offensive. It was not intended; only an interesting read was intended.

Problem of Other Minds

How do you know other people have minds as you do? This may sound like a silly question, but if you allow yourself to think about it, you will realize that you have no logical reason to believe in the existence of other minds, which is why it is an unsolved problem in philosophy – the Problem of Other Minds. To illustrate – I was working on that Ikea project the other day, and was hammering in that weird two-headed nail-screw-stub thingie. I missed it completely and hit my thumb. I felt the excruciating pain, meaning my mind felt it and I cried out. I know I have a mind because I felt the pain. Now, let’s say I see another bozo hitting his thumb and crying out. I feel no pain; my mind feels nothing (except a bit of empathy on a good day). What positive logical basis do I have to think that the behavior (crying) is caused by pain felt by a mind?

Mind you, I am not suggesting that others do not have minds or consciousness — not yet, at least. I am merely pointing out that there is no logical basis to believe that they do. Logic certainly is not the only basis for belief. Faith is another. Intuition, analogy, mass delusion, indoctrination, peer pressure, instinct etc. are all basis for beliefs both true and false. I believe that others have minds; otherwise I wouldn’t bother writing these blog posts. But I am keenly aware that I have no logical justification for this particular belief.

The thing about this problem of other minds is that it is profoundly asymmetric. If I believe that you don’t have a mind, it is not an issue for you — you know that I am wrong the moment you hear it because you know that you have a mind (assuming, of course, that you do). But I do have a serious issue — there is no way for me to attack my belief in the non-existence of your mind. You could tell me, of course, but then I would think, “Yeah, that is exactly what a mindless robot would be programmed to say!”

I was listening to a series of lectures on the philosophy of mind by Prof. John Searle. He “solves” the problem of other minds by analogy. We know that we have the same anatomical and neurophysical wirings in addition to analogous behavior. So we can “convince” ourselves that we all have minds. It is a good argument as far as it goes. What bothers me about it is its complement — what it implies about minds in things that are wired differently, like snakes and lizards and fish and slugs and ants and bacteria and viruses. And, of course, machines.

Could machines have minds? The answer to this is rather trivial — of course they can. We are biological machines, and we have minds (assuming, again, that you guys do). Could computers have minds? Or, more pointedly, could our brains be computers, and minds be software running on it? That is fodder for the next post.

Brains and Computers

We have a perfect parallel between brains and computers. We can easily think of the brain as the hardware and mind or consciousness as the software or the operating system. We would be wrong, according to many philosophers, but I still think of it that way. Let me outline the compelling similarities (according to me) before getting into the philosophical difficulties involved.

A lot of what we know of the workings of the brain comes from lesion studies. We know, for instances, that features like color vision, face and object recognition, motion detection, language production and understanding are all controlled by specialized areas of the brain. We know this by studying people who have suffered localized brain damage. These functional features of the brain are remarkably similar to computer hardware units specialized in graphics, sound, video capture etc.

The similarity is even more striking when we consider that the brain can compensate for the damage to a specialized area by what looks like software simulation. For instance, the patient who lost the ability to detect motion (a condition normal people would have a hard time appreciating or identifying with) could still infer that an object was in motion by comparing successive snapshots of it in her mind. The patient with no ability to tell faces apart could, at times, deduce that the person walking toward him at a pre-arranged spot at the right time was probably his wife. Such instances give us the following attractive picture of the brain.
Brain → Computer hardware
Consciousness → Operating System
Mental functions → Programs
It looks like a logical and compelling picture to me.

This seductive picture, however, is far too simplistic at best; or utterly wrong at worst. The basic, philosophical problem with it is that the brain itself is a representation drawn on the canvas of consciousness and the mind (which are again cognitive constructs). This abysmal infinite regression is impossible to crawl out of. But even when we ignore this philosophical hurdle, and ask ourselves whether brains could be computers, we have big problems. What exactly are we asking? Could our brains be computer hardware and minds be software running on them? Before asking such questions, we have to ask parallel questions: Could computers have consciousness and intelligence? Could they have minds? If they had minds, how would we know?

Even more fundamentally, how do you know whether other people have minds? This is the so-called Problem of Other Minds, which we will discuss in the next post before proceeding to consider computing and consciousness.

Where to Go from Here?

We started this long series with a pitch for my book, Principles of Quantitative Development. This series, and the associated eBook, is an expanded version of the non-technical introductory chapters of the book — what are the things we need to keep in mind while designing a trading platform? Why is it important to know the big picture of finance and banking? Hopefully, these posts have given you a taste of it here. If you would keep a copy of the series handy, you can purchase and download the beautifully crafted eBook version.

Further steps

We went through the structure of the bank from the exotic and structured trading perspective. We talked about the various offices (Front Office, Middle Office and Back Office) and pointed out the career opportunities for quantitative professionals within. The organizational structure of the bank is the apparatus that processes the dynamic lifecycle of trades.

If the structure of the bank is akin to the spatial organization, the lifecycle of the trade is the temporal variation; their relation is like that of the rails and the trains. We spent quite a bit of time on the flow of the trades between the front office and middle office teams, how the trades get approved, processed, monitored, settled and managed. Each of these teams has their own perspective or work paradigm that helps them carry out their tasks efficiently.

Trade Perspectives was the last major topic we touched upon. As we saw, these perspectives are based on the way the various teams of the bank perform their tasks. They form the backdrop of the jargon, and are important if we are to develop a big-picture understanding of the way a bank works. Most quants, especially at junior levels, despise the big picture. They think of it as a distraction from their real work of marrying stochastic calculus to C++. But to a trader, the best model in the world is worthless unless it can be deployed. When we change our narrow, albeit effective, focus on the work at hand to an understanding of our role and value in the organization, we will see the possible points of failure of the systems and processes as well as the opportunities to make a difference. We will then be better placed to take our careers to its full potential.

Other Trade Perspectives

In the previous posts, we saw how various teams view the trading activity in their own work paradigm. The perspective that is most common in the bank is still trade-centric. In this view, trades form the primary objects, which is why all conventional trading systems keep track of them. Put bunch of trades together, you get a portfolio. Put a few portfolios together, you have a book. The whole Global Markets is merely a collection of books. This paradigm has worked well and is probably the best compromise between different possible views. The trade-centric perspective, however, is only a compromise. The activities of the trading floor can be viewed from different angles. Each perspective has its role in how the bank works.

Other perspectives

From the viewpoint of traders, the trading activity looks asset-class centric. Typically associated with a particular trading desks based on asset classes, their favorite view cuts across models and products. To traders, all products and models are merely tools to make profit.

IT department views the trading world from a completely different perspective. Theirs is a system-centric view, where the same product using the same model appearing in two different systems is basically two completely different beasts. This view is not particularly appreciated by traders, quants or quant developers.

One view that the whole bank appreciates is the view of the senior management, which is narrowly focussed on the bottom line. The big bosses can prioritise things (whether products, asset classes or systems) in terms of the money they bring to the shareholders. Models and trades are typically not visible from their view from the top — unless, of course, rogue traders lose a lot of money on a particular product or by using a particular model.

When the trade reaches the Market Risk Management, there is a subtle change in the perspective from a trade-level view to a portfolio or book level view. Though mathematically trivial (after all, the difference is only a matter of aggregation), this change has implications in the system design. The trading platform has to maintain a robust hierarchical portfolio structure so that various dicing and slicing as required in the later stages of the trade lifecycle can be handled with natural ease.

When it comes to Finance and their notions of cost centers, the trade is pretty much out of the booking system. Still, they manage trading desks and asset classes cost centers. Any trading platform we design has to provide adequate hooks in the system to respond to their specific requirements as well. Closely related to this view is the perspective of Human Resources, who decide incentives based on performance measured in terms of the bottom lines at cost-center or team levels.

Middle Office

The perspective employed by the Middle Office team is an interesting one. Their work paradigm is that of queues running in a first-in, first-out mode. As shown in the picture below, they think of trades as being part of validation and verification queues. When a new trade is booked, it gets pushed into the validation queue from one end. The Middle Office staff attacks the queue from the other end, accepting or rejecting each entry. The ones deemed good get into a second verification queue. The bad ones are returned to the trading desks for modifications in the trade entries or possible cancellations.

Middle Office perspective

A similar paradigm is employed in dealing with market operations such as fixing rates, generating cash flow etc. Market operations have their own two-stage queues. Note that the whole flow is to be facilitated by the trading platform, which should have the capability to render different views. It presents a queue-based view of the data to the middle office staff, and a report-based view to the Market Risk Management team, for instance, or a trade-centric view to most of the other teams. It is important to each team to have a basic grasp and healthy respect for the work paradigm of the other so that they can communicate efficiently with each other. It is no good ignoring the trade perspectives of the rest of the bank. After all, such trade perspectives evolved naturally out of years and years of trial and error.

Quant Developers

Unlike quants, quantitative developers are more product-centric. Their job is to take the pricing models (the output of the quant effort) and make them deployable and accessible to the traders, sales teams and the middle and back offices. Their primary unit of work is a product because when the product definition changes, regardless of whether it uses a new or an existing pricing model, they have to integrate it into the system. Even if it is merely a product variant, they have to implement all the infrastructure and take care of the approval processes for its downstream handling. For this reason, the work paradigm that makes most sense to a quantitative developer is product-centric.

Quant developer perspective

Compared to the quants, the quantitative developers are closer to the day-to-day activities on Front Office and Middle Office. They view the trades (identified by unique IDs) as instantiations of products. Once booked, they end up in the trading platform database as distinct objects with attributes defined in trade inputs. In addition to trade input, they use market data feeds to price a product in the form of a trade. The trading platform comes with a pricing interface which combines trade information and market data. It also runs in what they call batch mode — regularly at a given time of the day to compute prices and sensitivities of all trades. Since it is the trading platform that performs the batch job, the quantitative developers may take care of the associated resources like the grid computing platforms, market data feeds, trade databases etc. In this respect, their product-centric perspective may get diffused into a trade-centric view.

Quants

If you are a quant, you are a mathematician with an advanced degree in mathematics or physics. Your work is based on both academic research and professional, peer-reviewed publications. You take your inputs from them, apply your own formidable intelligence to come up with a stochastic pricing model that you think will work exceptionally well for a class of products. You will also need the details of the products. Your output is, of course, a pricing model of your own, or an implementation of a pricing model from the literature. This is your primary work unit.

Quant perspective

In order to make use of this pricing model, it will have to be validated. Then a set of products using the pricing model will be defined and submitted for approval. Once approved, with the help of trade inputs and market data, each of the products can be priced and booked into the trading platform. But such activities are outside the sphere of interest and influence of the quant. To them, how a product is instantiated into a trade is pretty irrelevant and trivial. It is merely a question of specifying the trade and market inputs to the pricing model. Even how various products are derived is mechanical, and all the “real” work is done in the pricing model.

This perspective, though accurate and functional for a quant, is pretty far removed from the view of the rest of the bank, which is why quants sometimes have the dubious reputation of being out of touch with the industry. The point is not so much that they have to change their perspective, but they should appreciate that there are other equally valid perspectives held by other business units they interact with, and make an effort to know them.

Trade Perspectives

The last section of this post series is on trade perspectives. In fact, our earlier sections on the static structure of the bank and the temporal evolution of the trade have been in preparation to this last section. In the next couple of posts, we will see how the quants, quantitative developers and the middle office professionals (and the rest) see trades and trading activity. Their views are important and need to be accommodated in the design philosophy of any trading platform.

Where do these perspectives come from and why do we need to know about them? Trade perspectives are based on the work paradigm specific to each business unit. Because of what aspect of the trading activity a group focuses on, they evolve a paradigm, or a mental model, that works best for them.

In order to understand, let’s take a look at how we work with a modern personal computer. The paradigm we are presented with is one of a desk and a filing cabinet. So we have a desktop, folders and files. They have become so natural for us now that we cannot imagine another way of interacting with a computer at all. The Internet, on the other hand, is built on a paradigm of something that hovers over us, which is why we “down”-load stuff from it and “up”-load stuff into it. But the programmers and architects who develop such paradigms often do work with different and less known paradigms as well; for instance we have ports and sockets and streams and so on.

If we do not appreciate the work paradigm, we will find the jargon that comes with it mysterious and incomprehensible. This is especially true if we are to work on projects that cut across multiple business units with differing paradigms.

Trade perspectives

To illustrate it further with an example from our trading world, let’s look at how we identify a trade. The quants really do not care about the trade identification number; for them, it is the pricing model that is the basic unit that they work with. The quantitative developer, on the other hand, would like the identifier to be something unique per trade. A structurer would like to have one identifying reference for the trade with possible sub IDs for the individual sub trades that make up a structure. While this requirement is easy enough to implement, the software architecture also has to cater to trade cancellation and amendment requirements from Front Office and Middle Office. What happens when a structure is modified or canceled? How do we find and deal withall the related trades? This problem will almost invariably ends up requiring a link ID in the database. Trade number amendments on a live deal create problem for documentation and operations staff as well, who might demand another immutable external reference number attached each trade. Audit will require integrity and indelibility on everything, demanding database record duplication. As we can see, the perspectives and work paradigms of each business unit translate to often conflicting requirements on the program design at a fundamental level. It is for this reason that we will take close look at the trade perspectives in the following posts of this series.