科技: 人物 企业 技术 IT业 TMT
科普: 自然 科学 科幻 宇宙 科学家
通信: 历史 技术 手机 词典 3G馆
索引: 分类 推荐 专题 热点 排行榜
互联网: 广告 营销 政务 游戏 google
新媒体: 社交 博客 学者 人物 传播学
新思想: 网站 新书 新知 新词 思想家
图书馆: 文化 商业 管理 经济 期刊
网络文化: 社会 红人 黑客 治理 亚文化
创业百科: VC 词典 指南 案例 创业史
前沿科技: 清洁 绿色 纳米 生物 环保
知识产权: 盗版 共享 学人 法规 著作
用户名: 密码: 注册 忘记密码?
    创建新词条
科技百科
  • 人气指数: 4376 次
  • 编辑次数: 2 次 历史版本
  • 更新时间: 2009-07-06
方兴东
方兴东
发短消息
方兴东
方兴东
发短消息
相关词条
胡道元
胡道元
史蒂夫·曼恩
史蒂夫·曼恩
胡伟武
胡伟武
李安渝
李安渝
尼古拉斯·克里斯塔斯基
尼古拉斯·克里斯塔斯基
周海中
周海中
费爱国
费爱国
亚历克斯·奥斯本
亚历克斯·奥斯本
Moshe Kam
Moshe Kam
加里·卡斯帕罗夫
加里·卡斯帕罗夫
推荐词条
希拉里二度竞选
希拉里二度竞选
《互联网百科系列》
《互联网百科系列》
《黑客百科》
《黑客百科》
《网络舆情百科》
《网络舆情百科》
《网络治理百科》
《网络治理百科》
《硅谷百科》
《硅谷百科》
2017年特斯拉
2017年特斯拉
MIT黑客全纪录
MIT黑客全纪录
桑达尔·皮查伊
桑达尔·皮查伊
阿里双十一成交额
阿里双十一成交额
最新词条

热门标签

微博侠 数字营销2011年度总结 政务微博元年 2011微博十大事件 美国十大创业孵化器 盘点美国导师型创业孵化器 盘点导师型创业孵化器 TechStars 智能电视大战前夜 竞争型国企 公益型国企 2011央视经济年度人物 Rhianna Pratchett 莱恩娜·普莱契 Zynga与Facebook关系 Zynga盈利危机 2010年手机社交游戏行业分析报告 游戏奖励 主流手机游戏公司运营表现 主流手机游戏公司运营对比数据 创建游戏原型 正反馈现象 易用性设计增强游戏体验 易用性设计 《The Sims Social》社交亮 心理生理学与游戏 Kixeye Storm8 Storm8公司 女性玩家营销策略 休闲游戏的创新性 游戏运营的数据分析 社交游戏分析学常见术语 游戏运营数据解析 iPad风行美国校园 iPad终结传统教科书 游戏平衡性 成长类型及情感元素 鸿蒙国际 云骗钱 2011年政务微博报告 《2011年政务微博报告》 方正产业图谱 方正改制考 通信企业属公益型国企 善用玩家作弊行为 手机游戏传播 每用户平均收入 ARPU值 ARPU 游戏授权三面观 游戏设计所运用的化学原理 iOS应用人性化界面设计原则 硬核游戏 硬核社交游戏 生物测量法研究玩家 全球移动用户 用户研究三部曲 Tagged转型故事 Tagged Instagram火爆的3大原因 全球第四大社交网络Badoo Badoo 2011年最迅猛的20大创业公司 病毒式传播功能支持的游戏设计 病毒式传播功能 美国社交游戏虚拟商品收益 Flipboard改变阅读 盘点10大最难iPhone游戏 移动应用设计7大主流趋势 成功的设计文件十个要点 游戏设计文件 应用内置付费功能 内置付费功能 IAP功能 IAP IAP模式 游戏易用性测试 生理心理游戏评估 游戏化游戏 全美社交游戏规模 美国社交游戏市场 全球平板电脑出货量 Facebook虚拟商品收益 Facebook全球广告营收 Facebook广告营收 失败游戏设计的数宗罪名 休闲游戏设计要点 玩游戏可提高认知能力 玩游戏与认知能力 全球游戏广告 独立开发者提高工作效率的100个要点 Facebook亚洲用户 免费游戏的10种创收模式 人类大脑可下载 2012年最值得期待的20位硅谷企业家 做空中概股的幕后黑手 做空中概股幕后黑手 苹果2013营收 Playfish社交游戏架构

Charles Leonard Hamblin 发表评论(0) 编辑词条

Charles Leonard Hamblin (1922 – 14 May 1985) was an Australian philosopher, logician and a computer pioneer as well as a professor for philosophy at the Technical University of New South Wales (now the University of New South Wales) in Sydney.

Among his most well-known achievements in the area of computer science was the introduction (some sources also say invention) of the Reverse Polish Notation and the invention of the stack in computing. This was arguably independent of and about the same time with the work of Friedrich Ludwig Bauer and Klaus Samelson on the invention of the push-pop stack.[1] Hamblin's most well-known contribution to philosophy is his book Fallacies, even today a standard work in the area of the false conclusions in logic.

After the Second World War and the radar service at the Australian Air Force was interrupted, he studied mathematics, physics and philosophy at the University of Melbourne and attained a doctorate in 1957 at the London School of Economics. From 1955 up to his death, he was a professor of philosophy at the University of New South Wales.

In the second half of the 1950s, he became active with the third computer available in Australia, a copy of the DEUCE computer by the English Electric company. For the DEUCE, Hamblin sketched one of the first programming languages, GEORGE[2] , which was based on Reverse Polish Notation, including the associated compiler (language translator), which translated the programs formulated in GEORGE into the machine language of the computer.

Hamblin's work is considered the first with reverse Polish notation, and this is why he is called an inventor of this representation method. Whether or not Hamblin independently invented the notation and its usage, he showed the merit, service and advantage of the Reverse Polish way of writing programs for the processing on programmable computers and algorithms to make it happen.

The second direct result of his work with the development of compilers was the concept of the push-pop stack, which Hamblin developed independently of Friedrich Ludwig Bauer and Klaus Samelson, and for which in 1957 he was granted a patent for the use of a push-pop stack for the translation by programming languages. In the same year, 1957, Hamblin presented his stack concept at the first Australian Computer Conference. Hamblin's work had an impact on the development of stack-based computers, their machine instructions, their arguments on a stack and reference addresses.

Into the 1960s, Hamblin again increasingly turned to philosophical questions. Besides writing an influential introductory book into the formal logic which is today a standard work on fallacies. It dedicated itself to the treatment of false conclusions by the traditional logic and brought in it formal dialectic and developed it further. As such, Hamblin is considered as one the founders of the modern temporal logic and the modern logic.[citation needed]

 Monographs
Fallacies. Methuen London 1970, ISBN 0-416-14570-1 and ISBN 0-416-70070-5 (paperback), new edition of 2004 with Vale press, ISBN 0916475247 (paperback) - even today a standard work to the topic
Elementary formal Logic: Programmed Course. Methuen London 1967, ISBN 0-416-69820-4
Imperatives. Blackwell Oxford 1987, ISBN 0-631-15193-1
Language and the Theory of Information. Ph.D. Thesis, Logic and Scientific Method Programme, University of London, London, UK. Submitted October 1956, awarded 1957.

Influential articles
Translation to and from polish notation. The computer journal 5/3, October 1962, P. 210-213
An Addressless Coding Scheme based on Mathematical notation. W.R.E. Conference on Computing, proceedings, Salisbury: Weapons Research establishment 1957
GEORGE, an Addressless Coding Scheme for DEUCE. Australian national Committee on Computation and Automatic Control, Summarized Proceedings of First Conference, paper C6.1, 1960
Computer Languages. The Australian journal of Science 20, P. 135-139. Reprinted in The Australian Computer Journal 17/4, P. 195-198 (November 1985)

[edit] Publications[3]
C. L. Hamblin [1957]: An addressless coding scheme based on mathematical notation. Proceedings of the First Australian Conference on Computing and Data Processing, Salisbury, South Australia: Weapons Research Establishment, June 1957.
C. L. Hamblin [1957]: Computer Languages. The Australian Journal of Science, 20: 135-139. Reprinted in The Australian Computer Journal, 17(4): 195-198 (November 1985).
C. L. Hamblin [1957]: Review of: W. R. Ashby: Introduction to Cybernetics. Australasian Journal of Philosophy, 35.
C. L. Hamblin [1958]: Questions. Australasian Journal of Philosophy, 36(3): 159-168.
C. L. Hamblin [1958]: Review of: Time and Modality, by A. N. Prior. Australasian Journal of Philosophy, 36: 232-234.
C. L. Hamblin [1958]: Surprises, innovations and probabilities. Proceedings of the ANU Symposium on Surprise, Canberra, July 1958.
C. L. Hamblin [1958]: Review of: Formal Analysis of Normative Systems, by A. R. Anderson. Australasian Journal of Philosophy, 36.
C. L. Hamblin [1958]: GEORGE Programming Manual. Duplicated, 1958. Revised and enlarged, 1959.
C. L. Hamblin [1959]: The Modal "Probably". Mind, New Series, 68: 234-240.
C. L. Hamblin [1962]: Translation to and from Polish notation. Computer Journal, 5: 210-213.
C. L. Hamblin [1963]: Questions aren't statements. Philosophy of Science, 30(1): 62-63.
R. J. Gillings and C. L. Hamblin [1964]: Babylonian reciprocal tables on UTECOM. Technology, 9 (2): 41-42, August 1964. An expanded version appeared in Australian Journal of Science, 27, 1964.
C. L. Hamblin [1964]: Has probability any foundations? Proceedings of the Symposium on Probability of the Statistical Society of New South Wales, May 1964. Reproduced in Science Yearbook, University of New South Wales, Sydney, 1964.
C. L. Hamblin [1964]: Review of: Communication: A Logical Model, by D. Harrah. Australasian Journal of Philosophy, 42.
C. L. Hamblin [1964]: Review of: Analysis of Questions, by N. D. Belnap. Australasian Journal of Philosophy, 42.
C. L. Hamblin [1965]: Review of: A Preface to the Logic of Science, by P. Alexander. The British Journal for the Philosophy of Science, 15(60): 360-362.
C. L. Hamblin [1966]: Elementary Formal Logic, a Programmed Course. (Sydney: Hicks Smith). Republished by Methuen, in London, UK, 1967. Also translated into Swedish by J. Mannerheim, under the title: Element"ar Logik, ein programmerad kurs. (Stockholm: Laromedelsf"orlagen, 1970).
C. L. Hamblin [1967]: One-valued logic. Philosophical Quarterly, 17: 38-45.
C. L. Hamblin [1967]: Questions, logic of. Encyclopedia of Philosophy. (New York: Collier Macmillan).
C. L. Hamblin [1967]: An algorithm for polynomial operations. Computer Journal, 10.
C. L. Hamblin [1967]: Review of: New Approaches to the Logical Theory of Interrogatives, by L. Aqvist. Australasian Journal of Philosophy, 44.
C. L. Hamblin [1969]: Starting and stopping. The Monist, 53: 410-425.
C. L. Hamblin [1970]: Fallacies. London, UK: Methuen.
C. L. Hamblin [1970]: The effect of when it's said. Theoria, 36: 249-264.
C. L. Hamblin [1971]: Mathematical models of dialogue. Theoria, 37: 130-155.
C. L. Hamblin [1971]: Instants and intervals. Studium Generale, 24: 127-134.
C. L. Hamblin [1972]: You and I. Analysis, 33: 1-4.
C. L. Hamblin [1972]: Quandaries and the logic of rules. Journal of Philosophical Logic, 1: 74-85.
C. L. Hamblin [1973]: Questions in Montague English. Foundations of Language, 10: 41-53.
C. L. Hamblin [1973]: A felicitous fragment of the predicate calculus. Notre Dame Journal of Formal Logic. 14: 433-446.
C. L. Hamblin [1974]: La logica dell'iniziare e del cessare. Italian translation by C. Pizzi of an unpublished article: The logic of starting and stopping. Pages 295-317 in: C. Pizzi (Editor): La Logica del Tempo. Torino: Bringhieri.
C. L. Hamblin [1975]: Creswell's colleague TLM. Nous, 9(2): 205-210.
C. L. Hamblin [1975]: Saccherian arguments and the self-application of logic. Australasian Journal of Philosophy, 53: 157-160.
C. L. Hamblin [1976]: An improved "Pons Asinorum"? Journal of the History of Philosophy, 14: 131-136.
C. L. Hamblin [1984]: Languages of Asia and the Pacific: A Phrasebook for Travellers and Students. (North Ryde, NSW: Angus and Robertson).
C. L. Hamblin [1987]: Imperatives. Oxford, UK: Basil Blackwell.
C. L. Hamblin and P. J. Staines [1992]: An extraordinarily simple theory of the syllogism. Logique et Analyse, 35: 81.

目录

Charles L. Hamblin: 计算机先驱编辑本段回目录

Peter McBurney

Recently, I came across the early work in computer science of the Australian philosopher, C. L. Hamblin, work which has mostly been forgotten. In this month's issue, I have written what I have been able to discover about his contribution to computing. This biography was commissioned by the Australian Computer Museum Society, and will appear on their web-pages.

Charles Leonard Hamblin (1922-1985) was an Australian philosopher and one of our first computer scientists. His main early contributions to computing, which date from the mid 1950s, were the development of reverse polish notation and the zero-address store. He was also the developer of one of the first computer languages, GEORGE. Since his death, his ideas have become influential in the design of computer interaction protocols, and are expected to shape the next generation of e-commerce systems.

Hamblin was born in 1922 and attended North Sydney Boys' High School and Geelong Grammar. He then took degrees in Arts (Philosophy and Mathematics) and in Science (Physics), followed by an MA in Philosophy (First Class Honours) at Melbourne University, with his studies interrupted by work as a radar officer in the RAAF during World War II. Following the war, he gained a PhD at the London School of Economics, University of London on the topic, "Language and the Theory of Information", apparently under Karl Popper (Hamblin 1957a). Hamblin's thesis presented a critique of Shannon's theory of information from a semantic perspective, and developed a possible-worlds semantics for question-response exchanges. Between 1955 and his death in 1985 he was a Lecturer and Professor in the School of Philosophy at New South Wales University of Technology (NSWUT), which later became the University of New South Wales (UNSW).

In 1956, the University purchased a DEUCE computer manufactured by the English Electric Company (EEC), an early British computer manufacturer, and Hamblin, with his radar background, became involved in working with this machine. This was the second academic computer in Australia, after that of the University of Sydney. Hamblin soon became aware of the problems of (a) computing mathematical formulae containing brackets, and (b) the memory overhead in having dealing with memory stores each of which had its own name. One solution to the first problem was Jan Lukasiewicz's Polish notation, which enables a writer of mathematical notation to instruct a reader the order in which to execute the operations (e.g. addition, multiplication, etc) without using brackets. Polish notation achieves this by having an operator (+, *, etc) precede the operands to which it applies, e.g., +ab, instead of the usual, a+b. Hamblin, with his training in formal logic, knew of Lukasiewicz's work.

However, this does not solve the second problem. Hamblin realized that placing the operation symbol to the right of the operands (i.e., reversing the polish notation, as in ab+) would enable the machine to make use of a store which did not require an address -- the current operation would always be conducted on the most-recent operands inserted and still remaining in the store. This store came to be called a stack, or last-in, first-out (LIFO) store. He implemented these ideas in a programming language for the DEUCE machine, a language he called GEORGE, for General Order Generator. This work was undertaken at a time when there were only a handful of programming languages, and indeed still some resistance to the idea of non-assemblor languages (due to their greater memory requirements). Hamblin's work on the DEUCE machine at UNSW overlapped with that of Gordon Bell and Bob Brigham, who wrote a symbolic assembler and run-time system called SODA (or Symbolic Optimum DEUCE Assembly Program) (Brigham and Bell 1959). GEORGE used the SODA runtime library.

Hamblin presented his work at the first Australian conference on computing, which was held at the Weapon Research Establishment in Salisbury, South Australia, in June 1957 (Hamblin 1957b). Employees of the English Electric Company were present at this conference, and took his ideas back to England. As a consequence, Hamblin's architecture was implemented in the company's next machine, which came to be called the KDF9. The architecture of this machine even used Hamblin's terminology. This machine was announced in 1960 and delivered (i.e. made available commercially) in 1963. Hamblin published his ideas in 1957 (Hamblin 1957b, 1957c) and 1962 (Hamblin 1962).

Another computer, the American Burroughs B5000, announced in 1961 and delivered in 1963, also used a zero-address architecture, and also enabled reverse polish notation to be used for programming. R. S. Barton, one of the designers of the B5000, has written that he developed RPN independently of Hamblin, sometime in 1958 while reading a textbook on symbolic logic, and before he was aware of Hamblin's work. A decade after Hamblin first published his ideas, engineers at Hewlett-Packard (HP) developed a personal calculator, the 9100A Desktop Calculator, which used RPN. This calculator, the first in a long line by HP, was released in 1968, and it popularized RPN among the scientific and engineering communities; note, however, that early advertisements for the 9100A did not mention RPN.

Hamblin's contribution to computer science was recognized with an obituary in the Australian Computer Journal (Allen 1985) and in an influential history of British computing (Lavington 1980). In addition, GEORGE is listed in Bill Kinnersley's comprehensive directory of computer languages, The Language List. In the 1960s, Hamblin also worked on implementing Tarski's decision method for real closed fields (Tarski 1951), the first order theory of real numbers with addition and multiplication, and hired two programmers to assist in this project, Malcolm Newey and Vaughan Pratt. However, only in 1974 was it shown by Fischer and Rabin (1974) that the running time of this problem had an exponential lower bound.

Although usually not credited, Hamblin was the originator of two other ideas which subsequently became important in Artificial Intelligence. Firstly, Hamblin appears to have been the first person to define a formal measure of plausibility, distinct from that of probability, in a paper published in 1959. Alternative formalisms for uncertainty have come to play a very important role in Artificial Intelligence, particularly in the design of knowledge-based systems, due to the failure of the standard Kolmogorov axioms of probability to adequately account for all forms of uncertainty and for its manipulation. One person particularly taken by Hamblin's work in this area was the British economist, George Shackle, who in the 1940s and 1950s had developed a theory of decision-making under uncertainty based on the potential surprise of rival uncertain beliefs, and focusing on the best-case and worst-case outcomes of alternative decision-options (see pp. 97 - 100 of Shackle 1969). (Shackle's theory, based on his real-world experience of government economic policy making and business investment decisions, differed from the Maximum Expected Utility theory of Leonard J. Savage which has unfortunately come to dominate mainstream economics.)

Secondly, Hamblin was the first person to propose an axiomatic account of time based on intervals, rather than points. This was in a paper published in 1969. An interval calculus for time was later proposed by James Allen (1984), and has been influential in AI, both as a basis for reasoning about time, and, when extended to multiple dimensions, as a basis for reasoning about space.

From the 1960s, Hamblin returned to work in philosophy, particularly the philosophy of argumentation, and wrote two very influential books. One of these, Fallacies, published in 1970, is a study of the classical logical fallacies, such as begging the question, which Hamblin examined by means of formal dialogue games. These are games between speakers who utter statements according to strict rules, and they were first studied by Aristotle. Being rule-governed, these games have gained the attention of computer scientists, and, from about 1989, they have been applied in a number of areas, including: natural language processing; human-machine interaction; the design of complex software; and for dialogues between autonomous software agents. Interaction and communication protocols based on formal dialogue games are likely to form the basis for the next generation of e-commerce systems. Another of Hamblin's books, Imperatives, published posthumously in 1987, has also been influential in recent work in computer science, in developing protocols for the delegation of tasks between software agents.

Hamblin was fluent in several languages, including ancient Greek and Latin. He was one of three fellow-students from his time at Geelong Grammar to become professors of philosophy. At the time of his death, he was apparently attempting to set words of Wittgenstein to music.

Charles Hamblin was a pioneer computer scientist and a prominent philosopher, whose influence on the subject is still being felt. His contributions to applied and theoretical computing show the deep links which our subject has had, and continues to have, with philosophy and logic.

逆波兰表达式(Reverse Polish Notation)编辑本段回目录

逆波兰表达式又称后缀式,是波兰逻辑学家J.Lukasiewicz于1929提出的一种后缀表达运算式的方法。区别于我们所熟悉的中缀式,后缀式的特点就是运算量在前,运算符在后,如a+b表达为ab+。这种后缀表达式非常方便去掉运算符优先级的影响与括号,甚至是单目运算符:

1. a*b+c*(d+e) => ab*cde+*+2. -a+-b*+c => a!b!c#*+ (注:为区别与减法运算与加法运算,这里用!表示负号,#表示正号)那么计算机怎样通过后缀式来进行运算呢?这里首先假设读取分析表达式的准备工作都已经做好了,那么首先需要做的是把表达式转换成后缀式,也就是逆波兰表达式的构建过程。构建器由两个主要组件组成,一个是目标表达式的存储器,另一个是一个符号栈。与源表达式的扫描顺序一样,存储器是从左向右储存数据的,而符号栈则遵守后进先出的原则:* 读入一个数据1. 如果是单目运算符,直接入符号栈;2. 如果是运输量,则直接写入存储器;检查符号栈顶是否有单目运算符,有的话则全部出栈,并写入存储器;3. 如果是左括号"(",则直接入符号栈;4. 如果是右括号")",则弹出符号栈数据,写入存储器,直到左括号弹出;5. 如果是普通运算符,则与栈顶符号比较优先级,弱大于栈顶优先级,则入栈;否则弹出栈顶符号并写入存储器,直到栈顶符号的运算优先级较小为止;6. 如果是结束符(表示表达式已全部读完),则符号栈全部弹出并写入存储器,否则读取数据进入下个过程。此外还有一些处理的技巧,比如定义一个优先级最低的运算符作为表达式结束的标志,在符号栈里首先加入一个结束标志,那么表达式读完时则自动弹出栈中所有符号,并写入存储器结尾表示成功。下面用一个表格表示构建的过程: Token Expression Dest Data LIFO stack Description
 a*b+c*(d+-e)#  # # is Ending Sign
a *b+c*(d+-e)# a # Value -> Data
* b+c*(d+-e)# a #* * > #
b +c*(d+-e)# ab #* Value -> Data
+ c*(d+-e)# ab* # + < *
 c*(d+-e)# ab* #+ + > #
c *(d+-e)# ab*c #+ Value -> Data
* (d+-e)# ab*c #+* * > +
( d+-e)# ab*c #+* LPar( -> Stack
d +-e)# ab*cd #+*( Value -> Data
+ -e)# ab*cd #+*(+ + > (
! e)# ab*cd #+*(+! ! -> Stack
e )# ab*cde! #+*(+ Value -> Data, Pop !
) # ab*cde!+ #+* RPar) -> Pop Until (
#  ab*cde!+*+#  # -> Pop Until #
接下来是计算的过程。计算的时候除了刚才构建的数据外,还需要另外一个数据栈。首先是从左至右扫描数据段,如果读出的是数据则压入数据栈,遇到符号时从数据栈中弹出相应的数据进行运算,再把结果压回数据栈。依然拿上面的结果做表格列示:Token Expression Data Stack  Compute  Description
 ab*cde!+*+#   
a b*cde!+*+# a  Value -> Stack
b *cde!+*+# ab  Value -> Stack
* cde!+*+#  a*b Pop a, b
 cde!+*+# m  set m = a*b
c de!+*+# mc  Value -> Stack
d e!+*+# mcd  Value -> Stack
e !+*+# mcde  Value -> Stack
! +*+# mcd !e Pop e
 +*+# mcdn  set n = !e
+ *+# mc d+n Pop d, n
 *+# mco  set o = c+n
* +# m c*o Pop c, o
 +# mp  set p = c*o
+ #  m+p Pop m, p
 # r  set r = m+p
#  r check Accept!
这样,返回结果就是栈中唯一的数据,我们完成了逆波兰表达式的全部计算过程。此外还要注意处理的一些过程中的问题包括:构建时,保存上次的数据类型,在得到数据时与上次数据进行对比,例如当读入运算量时如果上次数据也是运算量就出错了,例如这样的表达式“a b+”如果不注意处理的话则会“合法 ”压入数据栈并得到运算结果。计算时,要注意检查数据栈中的数据数量,如果数量不对则中断计算过程并报错。

参考文献编辑本段回目录

→如果您认为本词条还有待完善,请 编辑词条

词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
0

标签: Charles Leonard Hamb Charles L. Hamblin

收藏到: Favorites  

同义词: Charles L. Hamblin,Charles Hamblin

关于本词条的评论 (共0条)发表评论>>

对词条发表评论

评论长度最大为200个字符。