ZOMBIE FORUMS

It's a stinking, shambling corpse grotesquely parodying life.
It is currently Thu Mar 28, 2024 12:08 pm

All times are UTC - 8 hours [ DST ]




Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 15 posts ] 
Author Message
 Post subject: Language and Reality
PostPosted: Tue Sep 06, 2005 6:05 am 
Offline
Addict
User avatar

Joined: Tue May 14, 2002 5:00 pm
Posts: 3447
Location: New York
Simple question: What is the relationship between language and reality?


Top
 Profile  
 
 Post subject:
PostPosted: Tue Sep 06, 2005 11:07 am 
Offline
Expatriate
User avatar

Joined: Fri Oct 15, 2004 9:44 pm
Posts: 134
Location: Screaming obsenities regarding untestable C++ software.
Simple? I think they subjected all the first-years at my school to an entire semester of this question.

Language is a means to communicate a particular perception of reality. It's a tool that various forms of life have evolved as a survival mechanism.

For example, I could possibly make use language to communicate "If you don't start running, the yellow cougar is going to eat you."

Language itself is an approximation. The word "yellow" doesn't really mean the exact same shade of color to any two people. Any given person doesn't really have the same emotional or relational attachments with a given word.

The author of any use of language isn't foolproof. The source of information is as important as the content, due to intentional or unintended errors. The yellow object might not actually be a cougar.

The author is also limited by the human condition. That is, we only know our perception of reality, and that perception is both limited in scope and imperfect. For example, I don't really know for sure that the yellow cougar is hungry.

I'm sure somewhere, in another thread, someone has probably defined "reality" by now.

_________________
"Their need for total domination and to bring the world to the edge of utter apocalypse makes them less-than-ideal Jenga partners."


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 07, 2005 1:08 am 
Offline
Addict
User avatar

Joined: Tue May 14, 2002 5:00 pm
Posts: 3447
Location: New York
Ylis wrote:
I'm sure somewhere, in another thread, someone has probably defined "reality" by now.


Not really. As a matter of fact, if anything, we've all agreed at this point (more or less) that 'objective reality' as some sort of underlying, unknowable 'base' that causes our subjective sensations, simply doesn't exist.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 07, 2005 6:22 am 
Offline
Local
User avatar

Joined: Mon Mar 17, 2003 1:49 pm
Posts: 399
Location: Somewhere else
Simple Answer:

Reality: How things are.
Language: A way to share thoughts.

The only relationship is that our thoughts have a great deal to do with how things are, and so we tend to talk alot about reality.

Complicated Answer:

Reality, for the sake of argument, is what we see in the world in which we live (what we see and what we perceive are two completely different things, since perception includes interpretation). Any other definition really doesn't matter. If everything we experience is the result of imps tricking us into thinking we're experiencing something, then it doesn't really matter, because we can't tell the difference.

When I was younger, I wondered if what I saw as the color red was different than what others saw as the color red. I wondered if, were I to somehow get someone elses eyes, would the colors of the world look different. After that, I realized that it didn't matter if my version of the color red looked exactly like someone else's version of the color green because we both see the same object and label it as red. I see a firetruck. I percieve it as being red, and so does everyone else.

Language was developed as a means of sharing our thoughts with others. It may have started with a grunt meaning "I'm hungry" and another grunt meaning "I'm pissed," but even with that, language is still trying to share your thoughts with someone else. We use language to convey, amongst other things, our perception of of reality. Communication through language is limited, because everyone doesn't think exactly the same way. However, language has advanced far enough that you can describe your train of thought (if not the actual processes involved) fairly well, and most people will understand what you're going on about even without having to explain how you came to think about what you're writing/talking about.

_________________
--- This space for let ---


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 07, 2005 6:29 am 
Offline
Native
User avatar

Joined: Wed Dec 11, 2002 5:00 pm
Posts: 869
I would like to interject that I would not like to be included in Zarathustra's "all" above, for reasons which should become apparent.

A language, to me, is a (possibly infinite) set of finite sequences of elements of an alphabet. An alphabet is a finite set of symbols of size at least two. The written English language, for example, is a set of sentences; each sentence is a sequence of letters, numbers, spaces, and punctuation characters. The spoken English language is a set of sentences; each sentence is a sequence of phonemes and pauses. Both of those languages are themselves infinite in size, and are at times in fact rather difficult to delineate, but they are still languages.

It is often nevertheless the rules by which we delineate any given such set that make that set useful and interesting. The syntactic and semantic rules for English, for example, are so devilishly complicated that it takes many years to master them, but they do result in an expressive, poetic, and beautiful tongue. By contrast, the syntactic and semantic rules for Lisp are so elementally simple that they result in a different kind of expressiveness and elegance. In particular, the semantics of Lisp are simple enough that (with one very irritating caveat) a correct Lisp program can be interpreted to mean only one thing, whereas in English, even the meaning of the verb "to mean" is hard to pin down.

If I want to tell you about an algorithm I have devised, then, we are both best served if I express that algorithm in Lisp rather than in English. By contrast, if I wish to recite a poem to you in order to invoke some emotional reaction in you, doing so in Lisp would be ridiculous, but English -- the language of the "nation of shopkeepers" -- is, in my own admittely biased opinion, unsurpassed for that purpose.

The caveat with regards correct Lisp programs is that some of them never finish executing, and thus cannot be known to have any meaning at all, whatever you take "meaning" to mean. Of those correct programs which do finish executing, however, they always produce exactly the same output each time for each particular input. Now, I do not claim to know a priori which correct Lisp programs will halt and which ones will not, but I know and can prove that some particular correct Lisp programs do halt on every input. If it is important to me, then, to learn what output is associated with a particular input for a particular program, then I can run that program on that input. That is what "the meaning of an Lisp program" means.

Thus, there is my answer to the original query and my disagreement with Zarathustra's universal claim above. The meanings of "meaning" (and "reality") may be ambiguous or even meaningless in one language, namely English, but in certain languages for certain purposes, they are well-defined. To make universal qualifications like that one is hasty.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 07, 2005 12:41 pm 
Offline
Expatriate
User avatar

Joined: Fri Oct 15, 2004 9:44 pm
Posts: 134
Location: Screaming obsenities regarding untestable C++ software.
But aren't the results of running a computer program still a subjective reality?

A computers "perception" is the combination of things like chipset, hardware integrity, operating system, and the particular language interpreter. If the parameters of the computers perception are altered between the authoring/interpreting computers then the results will vary.

_________________
"Their need for total domination and to bring the world to the edge of utter apocalypse makes them less-than-ideal Jenga partners."


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 07, 2005 2:40 pm 
Offline
Native
User avatar

Joined: Wed Dec 11, 2002 5:00 pm
Posts: 869
Ylis wrote:
But aren't the results of running a computer program still a subjective reality?


If they are, then I don't know what you mean by "a subjective reality".

Quote:
A computers "perception" is the combination of things like chipset, hardware integrity, operating system, and the particular language interpreter. If the parameters of the computers perception are altered between the authoring/interpreting computers then the results will vary.


Lisp is nice that way (and indeed that's why I chose it for an example) because at its essence, Lisp is absolutely independent of all those things. Lisp began as an alternative way of expressing mathematical statements, and only became a programming language when someone wanted to show by construction that it could in fact act as one. These days, no-one uses it as anything but a programming language, but at its heart, Lisp is still just a way of writing statements of the typeless lambda calculus.

However, any language with completely-defined semantics (not necessarily a computer language!) can serve equally well as an example here. Java comes close; if one disregards Java's facilities for concurrency, it has completely-defined semantics. If a correct, terminating Java program that doesn't use such facilities produces different results on different computers given the same input then at least one of those computers is not executing the program correctly.

It is the ability to specify a language's semantics precisely that makes the difference. Specifying English semantics is hopelessly unfeasible. Specifying C++ semantics is absurdly difficult. Specifying Lisp semantics is almost hard not to do right, because the typeless lambda calculus is really the native language of semantic specification.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Sep 07, 2005 7:51 pm 
Offline
<font color=red><b>STALKER/FAG ALERT.
User avatar

Joined: Sun Jun 20, 2004 2:38 am
Posts: 1579
Discounting things like random numbers generated from the computer's clock, which is constantly changing. :wink:

Well, at least that's what MATLAB does, anyway. I've never programmed in Lisp, so I don't know how it works.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 08, 2005 2:24 am 
Offline
Expatriate
User avatar

Joined: Fri Oct 15, 2004 9:44 pm
Posts: 134
Location: Screaming obsenities regarding untestable C++ software.
One of the computers not executing the program properly is exactly the case.

As a specific example, I have a program that reads a value out of a ROM. The program reads the value from memory several times and returns the modal average of the attempts. The ROM is a shared memory part, and we do this to detect memory bus contentions.

The value that we burned into the ROM is an absolute reality, relative to the computer. The value our program returns is the computers perceived reality. The computers ability to perceive reality can be compromised. For similar reasons, we put CRC checks in our file formats and put check sums in our communication packets.

The probability that a computers LISP interpreter or JVM has a bug is non-zero. If two computers have different interpreter implementations, then it's unlikely that the two computers would be bugged in the same way. We have a non-zero probability that the same computer program will return different results on different computers, so the result isn't an absolute reality. It's a percieved reality, based on the integrity of the language interpreter.

_________________
"Their need for total domination and to bring the world to the edge of utter apocalypse makes them less-than-ideal Jenga partners."


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 08, 2005 10:22 am 
Offline
Native
User avatar

Joined: Wed Dec 11, 2002 5:00 pm
Posts: 869
I realise at this late date that I have been using the word "algorithm" undefined. That is an oversight on my part. A thing is an "algorithm" if a Turing machine can do it, and that's all. Proving the equivalence between Lisp programs and Turing machines and ordinary electronic computers is the work of undergraduate computer science.

Ylis wrote:
The probability that a computers LISP interpreter or JVM has a bug is non-zero.


Granted. In many cases, indeed, that probability is close to one. But in contrast to what you say ...

Quote:
We have a non-zero probability that the same computer program will return different results on different computers, so the result isn't an absolute reality. It's a percieved reality, based on the integrity of the language interpreter.


... irrespective of a computer's ability to execute any given program, it remains the case that if program P can be proven to terminate on input I with output O, then P(I) is O. If a computer C running a program which purports to be P, and when given input I produces some output Q != O, then computer C is faulty. It has no bearing on the success or failure of the language in which P is written.

Unlike in English, and with human speakers of English, a program written in Lisp can be proven to mean a particular thing. By contrast, in English, Alice may communicate some message M to Bob and, though neither Alice nor Bob understands M perfectly, both Alice and Bob get *some* of the information being communicated. With computer programs, however, the situation is far simpler: either the communication is successful, or it is a failure. I liken the failure of a correct, deterministc computer program to have deterministic output to the failure of a human being to understand a communication at all, say because that human being does not understand the language in which the communication is being presented, or because that human being has been recently bashed in the head with a heavy object.

Lisp, in particular, is equivalent to the language of proof of validity. (Yes, every Turing-complete computer language has this property, but Lisp is the best one to talk about because its semantics are so easily defined.) If you accept that some correct, terminating program Lisp program P can validly output different values given the same input, then what you are doing is denying the very possibility of a logical proof of anything at all, and I do not wish to talk to you any more. ;-)

Nick raises one point I had wished I had made more explicit:

nick012000 wrote:
Discounting things like random numbers generated from the computer's clock, which is constantly changing.


The sequence of pseudo-random numbers generated from any particular seed is absolutely deterministic. If some algorithm depends upon random numbers, then those random numbers are part of the algorithm's input. Indeed, in simulations programming, it is often desirable to use a known sequence of pseudo-random values when designing and testing an algorithm because that makes proving the expected output for any given input possible.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Sep 08, 2005 3:27 pm 
Offline
<font color=red><b>STALKER/FAG ALERT.
User avatar

Joined: Sun Jun 20, 2004 2:38 am
Posts: 1579
Tamayo wrote:
nick012000 wrote:
Discounting things like random numbers generated from the computer's clock, which is constantly changing.


The sequence of pseudo-random numbers generated from any particular seed is absolutely deterministic. If some algorithm depends upon random numbers, then those random numbers are part of the algorithm's input. Indeed, in simulations programming, it is often desirable to use a known sequence of pseudo-random values when designing and testing an algorithm because that makes proving the expected output for any given input possible.



Yeah, but Matlab uses the clock's time for that seed, so you never get the same seed twice. :wink:


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 09, 2005 7:47 pm 
Offline
Local
User avatar

Joined: Mon Mar 17, 2003 1:49 pm
Posts: 399
Location: Somewhere else
What she's saying is that your response isn't really relavent.

"If this input is THIS, then the output will be THAT."

"But what about random numbers? They won't be the same, and so won't produce the same output!"

"With random numbers, the input is not THIS, so of course the output will not be THAT. When testing a program that uses random numbers, it's actually a good thing to use a static list of psudo-random numbers so you can compare actual results against expected results"

"But random number won't give the same result each time!"

"Duh. I never said they would."

_________________
--- This space for let ---


Last edited by Herbal Enema on Sat Sep 10, 2005 8:24 am, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 10, 2005 4:52 am 
Offline
Native
User avatar

Joined: Wed Dec 11, 2002 5:00 pm
Posts: 869
Herbal Enema wrote:
What he's saying is that your response isn't really relavent.


Um, to whom are you speaking? I ain't gots no stinkin' Y chromosome.

Off topic but nevertheless interesting:

The earliest version of the Netscape Navigator encryption scheme was based on RSA and triple-DES encoding. Those are very solid algorithms, indeed, and Netscape was proud to be able to boast that they were in use so that secure transmissions between users and remote sites could finally happen.

A mathematician cracked Netscape's encryption in about two hours, because the pseudo-random seeds that were in use were the system clock time and the process ID of the running Navigator program. The moral of the story: if you want unpredictable values, don't go looking for them in predictable places.

(Sorry. Random numbers are my life. ;-) )


Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 10, 2005 8:24 am 
Offline
Local
User avatar

Joined: Mon Mar 17, 2003 1:49 pm
Posts: 399
Location: Somewhere else
I don't know what I'm talking about. I never said you were a he.

*whistles innocently*

_________________
--- This space for let ---


Top
 Profile  
 
 Post subject:
PostPosted: Sun Sep 11, 2005 2:23 pm 
Offline
<font color=red><b>STALKER/FAG ALERT.
User avatar

Joined: Sun Jun 20, 2004 2:38 am
Posts: 1579
Tamayo wrote:
Herbal Enema wrote:
What he's saying is that your response isn't really relavent.


Um, to whom are you speaking? I ain't gots no stinkin' Y chromosome.

Off topic but nevertheless interesting:

The earliest version of the Netscape Navigator encryption scheme was based on RSA and triple-DES encoding. Those are very solid algorithms, indeed, and Netscape was proud to be able to boast that they were in use so that secure transmissions between users and remote sites could finally happen.

A mathematician cracked Netscape's encryption in about two hours, because the pseudo-random seeds that were in use were the system clock time and the process ID of the running Navigator program. The moral of the story: if you want unpredictable values, don't go looking for them in predictable places.

(Sorry. Random numbers are my life. ;-) )


My dad works for RSA. It has no bearing on this thread, but I felt like mentioning it anyway.

Yes, this post is lettle better than spam. :roll: :wink:


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 15 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 24 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group