Abstract
英语摘要写法
摘要(Abstract)摘要(Abstract) 也成为内容提要,通常在学士论文中都必须附有摘要,其位置应放在论文的正文之前,对整个论文内容的概述。
无论对专业读者还是对非专业读者而言,摘要都是一个非常重要的文件。
摘要如果和论文一起发表,则被称为一次性出版物摘要,主要用于帮助读者评价文章内容及其潜在作用,使读者不必阅读全文就可以了解论文的内容。
除此之外,摘要也可以被单独收入文摘机构出版的摘要期刊如:生物学文摘(Biological Abstract)、化学文摘(Chemical Abstract)等、称为二次性出版物摘要。
此类脱离论文独立成篇的摘要主要用于方便读者检索文献、收集信息,帮助研究者寻找新的研究领域。
一.摘要的定义摘要的英文术语:有两个词汇,一个是abstract, 一个是summary.根据美国国家标准学会(American National Standard Institute)于1971年通过并颁布的《美国国家文摘写作标准》(American National Standard for Writing Abstracts)规定,Abstract 不应与summary 混同。
Abstract 对一篇论文的主要内容以精炼的文字进行高度概括,使读者不必阅读全文即可了解论文内容,或者让读者对即将阅读的文章有思想准备,或者让读者判断是否有通读全文的必要。
文中只对论文信息进行浓缩,而不加主观评论或解释,可以脱离原文而独立成篇。
字数通常在100~150个词左右,更确切地说,约为原文长度的1% ~ 5%(有的杂志规定摘要平均为全文的3% ~ 5%)。
现在越来越多的用法是abstract. 尤其是放在索引资料中一律要用abstract 这个术语,在论文的题目下也通常要用这个词。
Summary (概要) 与abstract 无明显差别。
严格地说,summary 一般附在论文的后面,对论文的主要结论和成果进行再叙述。
abstract方法
abstract方法Abstract方法。
在面向对象的编程中,抽象方法是一种非常重要的概念。
它是一种在抽象类或者接口中声明但不实现的方法,需要由子类去实现具体的逻辑。
本文将对抽象方法进行详细的介绍,包括其定义、特点、使用方法以及示例等内容。
首先,抽象方法是指在抽象类或者接口中声明但不实现的方法。
它只有方法的声明,没有方法体。
抽象方法的存在是为了让子类去实现具体的逻辑,从而达到代码的灵活性和可扩展性。
在Java中,使用关键字“abstract”来声明抽象方法,而在C#中,则使用关键字“abstract”来修饰方法。
其次,抽象方法的特点是必须在抽象类或者接口中声明,而且不能包含方法体。
另外,包含抽象方法的类必须被声明为抽象类,而包含抽象方法的接口则必须被实现。
在使用抽象方法时,需要注意的是子类必须实现父类中的所有抽象方法,否则子类也必须声明为抽象类。
使用抽象方法的好处在于可以定义一套规范,让子类去实现具体的逻辑。
这样一来,可以在不同的子类中实现不同的逻辑,从而提高代码的复用性和可维护性。
此外,抽象方法还可以降低代码的耦合度,使得程序更加灵活和易于扩展。
下面通过一个简单的示例来说明抽象方法的使用方法。
假设有一个图形类Shape,其中包含一个抽象方法calculateArea()用于计算图形的面积。
然后有两个子类Circle和Rectangle分别继承Shape类,并实现calculateArea()方法来计算圆形和矩形的面积。
这样一来,就可以通过多态的方式来调用不同子类的calculateArea()方法,而不需要关心具体是哪个子类。
总之,抽象方法是面向对象编程中非常重要的概念,它可以提高代码的灵活性和可扩展性,降低代码的耦合度,使得程序更加易于维护和扩展。
通过本文的介绍,相信读者对抽象方法有了更深入的理解,可以在实际的项目中更加灵活地运用抽象方法来设计和实现代码。
4个步骤教你如何写好abstract部分
4个步骤教你如何写好abstract部分A b s t r a c t,就是对英文论文的一个简短总结,目的是为了告诉读者论文研究的是什么课题,以此来吸引读者。
一个好的a b s t r a c t,对英文论文的作用是非常大的,是论文的核心部分,所以一定得写好。
下面就给大家讲解一下如何写好a b s t r a c t部分。
1.无论任何学科,a b s t rac t需要包括以下几个重要组成部分和重要元素1)动机或问题的陈述:为什么我们对这个研究问题这么关心?你的研究针对的是实践性的,科学性的,理论性的还是艺术性的?有些a b s t r a c t 写作的时候,在写作动机之前要简要介绍相关的背景信息。
2)措施/流程/解决方法以及调查范围:为了得到相关的结果,你做了什么?3)结果/发现/产品:在上述的调查研究完成后,你学会了什么?发现了什么?创造了什么?4)结论/影响:你得出的哪些结论会产生更大的影响?然而,需要注意的是,根据不同的学科,要注意相关的可变性因素。
2.a b s t rac t中的语法特点和要求1)注意到细微的变化在陈述主要目标和调查范围的时候,多采用陈述性语言。
2)采用合适的方法描述方法的时候多使用过去时态。
要注意时态的一致性。
如果有必要,要按照时间的顺序进行排列。
3)注意结果的呈现方式只需要呈现结果即可。
以过去时态呈现出来。
4)注意结论的可靠性陈述个人观点。
在陈述主要结论的时候要使用现在时。
不要表现出试探性的倾向。
3.a b s t rac t s的类型a b s t r a c t s分为两种类型,i n f o r m a t i o n a l a b s t r a c t s和d e s c r i p t i v ea b s t r a c t s。
I n f o r m a t i o n a l A b s t r a c t s--针对r e p o r t s的相关内容进行沟通。
Abstract写作常用句型及句式
Abstract写作常⽤句型及句式Abstract⼀、在摘要中直接提出论⽂主题的句型和句式1、In this paper, we present a … approach to …本⽂提出了⼀种针对…的…⽅法。
2、In this paper, we describe improved … models for …本⽂介绍⼏种针对…的改进的…模型。
3、We propose a new … model and … algorithm that enables us to …我们提出⼀种新的…模型和…算法,它让我们能够…4、We present a … model that enables …我们提出了⼀种…模型,它使我们能够…5、This paper demonstrates the ability of … to perform robust and accurate …本⽂证明了…进⾏…可靠准确的…的能⼒。
6、In this paper we report results of a … approach to …本⽂报导了…的…⽅法的实验结果。
7、This paper demonstrates that … can effectively … with very high accuracy.本⽂证明,…能够有效地准确地…8、The purpose/goal/intention/objective/object/emphasis/aim of this paper is …本⽂的⽬的是…9、The primary/chief/overall/main object of this study is to survey …本研究的⾸要⽬标是考察…10、The chief aim of this paper/research/study/experiment/the present work is …本⽂的主要⽬标是…11、 The emphasis of this study lies in …我们的研究重点是…12、The work presented in this paper focuses on …本⽂所述⼯作重点放在…13、Our goal has been to provide …我们的⽬标是提供…14、The main objective of our investigation has been to obtain some knowledge of …我们的研究⽬标是获取有关…的知识。
考研英语:词汇abstract的中文翻译解析
考研英语:词汇abstract的中文翻译解析考研英语有许多题目组成,方便大家及时了解,下面为你精心准备了“考研英语:词汇abstract的中文翻译解析”,持续关注本站将可以持续获取的考试资讯!考研英语:词汇abstract的中文翻译解析abstract是什么意思及用法adj.1. 抽象的2. 抽象派的n.1. 抽象,抽象概念,抽象性2. 抽象派艺术作品3. 摘要,梗概及物动词:1. 提取,抽取2. 做…的摘要词形变化副词abstractly名称abstractness时态abstracted,abstracting,abstracts英语解释not representing or imitating external reality or the objects of naturemake off with belongings of othersdealing with a subject in the abstract without practical purpose or intentionconsider a concept without thinking of a specific example consider abstractly or theoreticallyconsider apart from a particular case or instancegive an abstract (of)a concept or idea not associated with any specific instancea sketchy summary of the main points of an argument or theoryexisting only in the mind separated from embodiment 例句She beheaded me, and flung my head into abstract space 她切下了我的头颅,把它扔进抽象的空间。
abstract谐音法记忆
abstract谐音法记忆
谐音法是一种记忆技巧,通过将要记忆的内容与与之谐音或类似的词语联系起来,以便更容易记住。
对于"abstract"这个词,你可以通过与其他词语或短语的谐音来创建记忆联结。
以下是一些可能的谐音法:
抽象桃(Chouxiang Tao):将"abstract"谐音为"抽象桃",可以想象一个抽象的桃子,这个桃子可能有着奇特的形状或颜色,帮助你记住抽象的概念。
阿波士陶(A Bo Shi Tao):将"abstract"谐音为"阿波士陶",可以将这个词与阿波罗神或陶器联系起来,创造出一个与艺术和抽象相关的形象。
阿爸说道(A Ba Shuo Dao):将"abstract"谐音为"阿爸说道",你可以想象一个父亲在说一些深奥的道理,这有助于记住"abstract"这个词与深奥概念相关。
请记住,这只是一种辅助记忆的方法,效果因人而异。
如果这些谐音法不适合你,你可以尝试创建与"abstract"相关的其他词语或图像来帮助记忆。
abstract 的写法
在编程中,abstract关键字用于声明一个类或方法为抽象类或抽象方法。
抽象类不能被实例化,而抽象方法必须在派生类中被实现。
以下是一些关于如何编写abstract的例子:1. 抽象类在Java中:java复制代码public abstract class AbstractClass {// 抽象方法public abstract void abstractMethod();// 具体方法public void concreteMethod() {System.out.println("This is a concrete method.");}}在C#中:csharp复制代码public abstract class AbstractClass {// 抽象方法public abstract void AbstractMethod();// 具体方法public void ConcreteMethod() {System.Console.WriteLine("This is a concrete method.");}}2. 抽象方法在Java中:java复制代码public abstract class AbstractClass {// 具体方法public void concreteMethod() {System.out.println("This is a concrete method.");}// 抽象方法public abstract void abstractMethod();}在C#中:csharp复制代码public abstract class AbstractClass {// 具体方法public void ConcreteMethod() {System.Console.WriteLine("This is a concrete method.");}// 抽象方法public abstract void AbstractMethod();}注意点:抽象类不能被实例化。
abstract 造句
abstract造句1、consider an abstract concept to be real.把一个抽象的概念作具体的考虑。
2、The choice of the data structure often begins from the choice of an abstract data type.所选择的数据结构往往首先从选择一个抽象的数据类型。
3、Abstract expressionism was at its peak in the 1940s and 1950s.20世纪45十时期是抽象体现主义艺术发展和进步的顶峰时期。
4、The param elements provide a value for each parameter reference used in the abstract pattern.param元素提供了抽象范式中每个参数引用的值。
5、For those of us living in China, there's nothing abstract about it.对于我们这些生活在中国的人来说,它一点也不抽象。
6、This is because you cannot create tooling for abstract types.这是因为您不能为抽象类型创建工具。
7、Many topological spaces with abstract convexity structure are all FC-spaces.许多具有抽象凸结构的拓扑空间都是FC-空间。
8、Platonism began the West’s pursuit of abstract truth from the times of ancient Greece.从古希腊时代起,柏拉图主义便开始了西方式的对抽象真理的追求。
9、It used abstract art and often childish language to ridicule the absurdity of the modern world.它使用抽象的艺术和幼稚的语言嘲弄了现代世界的荒谬。
abstract方法
用关键字abstract修饰的方法称为abstract方法(抽象方法)。
abstract int min (int x, int y );
对于abstract方法,只允许声明,不允许实现(没有方法体),而且不允许使用final和abstract同时修饰一个方法或类,也不允许使用static修饰abstract方法,即abstract方法必须是实例方法
1.abstract类中可以有abstract方法
和普通类(非abstract类)相比,abstract类中可以有abstract方法,
也可以有非abstract方法(非abstract类中不可以有abstract方法)。
注意:abstract类里也可以没有abstract方法。
2.abstract类不能用new运算符创建该类的对象。
3.abstract类的子类
如果一个非abstract类是abstract的子类,他必须重写父类的abstract
方法,即去掉abstract方法的abstract修饰,并给出方法体。
如果一个abstract 类是abstract类的子类,它可以重写父类的abstract方法,也可以继承父类的abstract方法。
4.abstract类的对象可以作为上转型对象
可以使用abstract类声明对象,尽管不能使用new运算符创建该对象,但该对象可以成为其子对象的上转型对象,那么该对象就可以调用子类重写的方法。
Abstract常用表达和句式
回顾某领域已取得的研究结果或介绍相关知识常用动词:present, summarize, review, outline句式:…is presented in this paper.This paper reviews the method for dealing with…This article summarizes the theory on...阐明论文写作和研究目的常用词:名词:purpose, aim, objective, goal动词:aim, attempt to, initiate, intend to, seek句式:The purpose of this study is to explore new methods on …The paper attempts to define ..in terms of.The study is aimed at finding out the basic similarities between … and …The main objective of the work is to justify.The primary goal of this research is …The main objective of our investigation has been to obtain some knowledge of …Based on recent research, the author intends to outline the framework of…The authors are now initiating some experimental investigation to establish.论文观点和作者观点常用词:argue, account for, address, characterize, concern, contribute, describe, disclose, deal with, devote to, explain, introduce, present, report句式:This paper presents the mathematical model and its algorithm used for …The calibration and experiment design of multivariate force sensors are discussed. This paper reports the preparation and quantum confinement effects of…The principles and methodology of language teaching are described in this article. This paper is mainly devoted to ...介绍研究过程和研究范围常用词:过程:analyze, consider, discuss, examine, study, investigate, state, propose 范围:contain, cover, include, outline, scope, field, domain句式:The characteristic of …was investigated.The paper analyzes the possibility of ...We study the one-step-synthesis method for …in this paper.This article discusses the method of calculation of …The principle of constructing … is proposedThis paper states the reasons for...This study identifies some procedures for …This article outlines the preliminary process of …The scope of the study covers.The study includes.The paper contains the specific topic on …介绍计算、测量常用词:calculate, compute, determine, estimate, measure, work out句式:This paper determines the proper temperature for …The cooling rate was calculated by means of.The rational rage of power is measured by …In the paper, we measured the orientation and estimated parameter for ...The author worked out the probability of ...The author has computed equilibrium constant K and …阐明论证常用词:confirm, demonstrate, find, identify, indicate, monitor, note, observe, point out, prove, provide句式:The initial particles are found to be …It is found that the amorphous silicon nitride show a tendency in...It is noted that …can be found in …The result provides a sound basis for …The study of those properties indicate…The experimental results demonstrate that…The effects of …were observed and monitored.说明试验过程常用词:experiment, test, sample句式:The samples of pyroelectric ceramics (电释热陶瓷)亚©[© collected by …We sampled the blood and urine of …The blood screening test for the AIDS antibody has been carried out on…We experimented on the sintering property(流延特性)of …The new protocol architecture for distributed multimedia systems has been tested in …介绍应用、用途常用词:application, use及其动词形式句式:In this paper, the czochralski crystal growth method has been applied in ……technique is used to …The application of the new design is to develop and maintain …展示研究结果常用词:result, cause, increase, lessen, as a result, result in, arrive at句式:As a result we have got pure particle of ...The finding of our research on methodologies in …is….The results of calculation show that the minimum velocity arrives at...The relationship between …and ...is characterized by …The room temperature resistivity is lessened to …介绍结论常用词:conclude, summary, to sum up, lead to, in conclusion, conclusion句式:It is concluded that the absorption spectra of two kinds of particles include... We concluded that …It is concluded that...The conclusion of our research is …On the basis of …,the following conclusion can be drawn …Finally, a summary is given of …To sum up, we have revealed …Our argument proceeds in …The research has led to the discovery of …进行评述句式:There are hardly any data about …Middle management is considered as the go-between of …The shapes and locations of these inclusions are believed to be related to …The finding is acknowledged as essential to ...Existing methods are not sufficient for ...It is difficult to improve the therapy under the conditions of ...The disproportion of age groups will unfortunately lead to …The improper use of methods would seriously influence the performance of …The subject will deepen the understanding of …However, it does not mean that there is no limitation of ...It is well-known that in the field of .., there are still difficulties and challenges. Environmental protection has become the most important concern of …推荐和建议常用词:propose, suggest, recommend句式:The calculation suggests that…Bulk silk is proposed to be the alternative of ordinary silk because ...The finite element method is recommended to …提出进一步研究的可能性常用词:demand, desirable, expect, necessary, necessity, need, require, requirement 句式:Another term of the …need addressing because…However, the development of MRI is absolutely necessary for …To establish a .. .model continues to be a major concern for ...The underway measurement of sea surface temperature has made it necessary to... ..requires more work on …More concern about the blood cleaning point out the need for …There is a growing demand for …There is a surge in the use of …Although there is already an efficient procedure, more study is still needed.突出论文重点句式:The development of…is the primary concern of this paper.Particular attention is paid on the cultivation of …Interface structure is emphasized in the article because …This paper concentrates on the effects of …The chief consideration is …。
abstract是什么意思
abstract是什么意思abstract,他有几种词性?有形容词之外,还有哪些呢?下面店铺为大家带来abstract是什么意思,欢迎大家一起学习!abstract的英语音标英 [ˈæbstrækt] 美 [ˈæbˌstrækt]abstract的时态过去分词: abstracted 复数: abstracts 过去式: abstracted 现在分词: abstractingabstract的意思adj. 抽象的,理论上的; 难解的; 抽象派的; 茫然的;n. 抽象概念; 抽象派艺术作品; 摘要; [化]萃取物;vt. 提取,分离; 转移(注意等); 概括,摘录; <婉辞>剽窃; abstract的近义词n. [图情]摘要;抽象;抽象的概念brief , summary , resumeadj. 抽象的;深奥的deep , nonobjectivevt. [图情]摘要;提取;使……抽象化extract , briefabstract的同根词词根: abstractadj.abstracted 心不在焉的;出神的;分离出来的;抽出的abstractionist 抽象派艺术的abstractive 摘要式的;具有抽象能力的adv.abstractly 抽象地;理论上地abstractedly 茫然地;抽象地;心不在焉地n.abstraction 抽象;提取;抽象概念;空想;心不在焉abstractionism 抽象派艺术;抽象主义理论abstractionist 抽象派艺术家;理想主义者abstractor 萃取器;[图情] 摘录者abstract的词语辨析abstract, summary, resume, digest, outline这组词都有“摘要、概要、概括”的意思,其区别是:abstract 指论文、书籍等正文前的内容摘要,尤指学术论文或法律文件的研究提要。
接口 方法 abstract
接口方法abstract
接口(interface)是一种抽象数据类型,它定义了一组方法(method)的规范,但没有提供方法的具体实现。
接口可以作为一种契约,规定了类应该提供哪些方法,而不关心方法是如何实现的。
方法(method)是一段执行特定任务的代码。
在面向对象编程中,方法是定义在类(class)中的,用于操作类的实例对象或其它类成员。
方法可以定义在接口中,也可以定义在类中。
抽象(abstract)是一种特殊的类或方法的修饰符,表示该类或方法不能被实例化或调用。
抽象类(abstract class)是一个不能被实例化的类,它提供了一组抽象方法的定义,子类必须实现这些方法。
抽象方法(abstract method)是一个没有实现体的方法,它只能存在于抽象类或接口中。
抽象方法必须被子类实现或在实现接口的类中提供具体实现。
学术英语写作Unit-5----Abstract
What is an abstract?
An abstract is a stand-alone statement that briefly conveys the essential information of a paper, article, document or book; presents the objective, methods, results, and conclusions of a research project; has a brief, non-repetitive style.
Informative abstracts资料性摘要
The informative abstract, also known as the complete abstract, is a compendious summary of a paper's substance including its background, purpose, methodology, results, and conclusion. Usually between 100 and 200 words, the informative abstract summarizes the paper's structure, its major topics and key points. A format for scientific short reports that is similar to an informative abstract has been proposed in recent years. Informative abstracts may be viewed as standalone documents.
(完整word版)如何写英文Abstract
How to Write an Abstract一、什么是摘要Abstract?an abstract comprises one paragraph which describes the main content of a paper and appears at the very beginning of the paper.摘要是叙述文章主要内容的一个段落,并且位于文章的开头部分.摘要是以梗概形式呈现的一篇文章要点的总结,它强调了一篇文章所包含的重要的信息.它也可以帮助读者快速的了解到是否这篇文章是他们感兴趣的,是否他们需要来阅读整篇文章。
而且,国家或国际出版社的编辑通常通过浏览投稿文章的摘要来决定是否投稿人的文章是可以被录用的。
因此,对于学者和研究人员来说,写一份好的摘要至关重要。
二、写作Abstract的目的对于科技论文的摘要,Abstract的目的有以下几点:1.Introduce journal articles.rm readers about article`s content.3.Help readers decide whether or not to read article.4.Overview conference programs,abstract collections,and book chapters.三、学习写作Abstract的必要性1。
Helps you present complex information in a clear,concise manner。
2.Helps you read abstracts more effectively.3。
Helps you conduct research.4.Helps you write abstracts for future publications。
5.Helps you condense report information into a short format for database searches。
abstract
}
7)接口可以定义变量来引用实现类的对象。(接口的多态)
接口多态的体现:
a.接口可以作为变量来引用对象
b.接口可以作为参数来引用对象。
c.接口可以作为返回值来引用对象。
3)抽象类中的抽象方法也需要使用 修饰,同时,
不能存在方法体。
抽象方法:使用abstract关键字修饰的方法,
不能有方法体。
4)抽象类中不一定有抽象方法。有无抽象方法对
3)抽象类可以被抽象类和具体类所继承。
类也可以被抽象类和具体类所继承。
2.JavaBean规范:
1)什么是JavaBean规范?
缩写方式: int i=10;
4)接口中的方法:
public abstract 返回值 方法名(参数列表);
缩写方式: public 返回值 方法名(参数列表);
修饰符 class 类名 implements 接口1,接口2{
//类体
}
d.接口的特性:
1)接口不能实例化。
2)接口中包含的全部方法都是抽象方法。全部属性都是常量.
this.idCard = idCard;
this.balance = balance;
}
public String getIdCard() {
return idCard;
}
(根据名词中存在相同行为,根据is-a 关系去建立,
根据系统的重点研究对象来确定)
(2)定义接口
将所有的行为在接口中定义出来,形成规范和约束。
(3)建立实现类并且实现接口。
d.面向接口编程好处:
public void setIdCard(String idCard) {
abstract怎么写
1.abstract怎么写abstract(抽象)修饰符,可以修饰类和方法1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。
2,abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以";"代替。
需要子类继承实现(覆盖)。
注意:有抽象方法的类一定是抽象类。
但是抽象类中不一定都是抽象方法,也可以全是具体方法。
abstract修饰符在修饰类时必须放在类名前。
abstract修饰方法就是要求其子类覆盖(实现)这个方法。
调用时可以以多态方式调用子类覆盖(实现)后的方法,也就是说抽象方法必须在其子类中实现,除非子类本身也是抽象类。
注意:父类是抽象类,其中有抽象方法,那么子类继承父类,并把父类中的所有抽象方法都实现(覆盖)了,子类才有创建对象的实例的能力,否则子类也必须是抽象类。
抽象类中可以有构造方法,是子类在构造子类对象时需要调用的父类(抽象类)的构造方法。
举个简单的例子下面有一个抽象类abstract class E{public abstract void show();//public abstract 可以省略}然后其它类如果继承它通常为了实现它里面的方法class F extends E{void show(){//写具体实现的代码}}最后再主方法里面定义一个父类引用指向子类对象,就会发生多态现象,比如E e=new F();e.show();实际调用了子类里面的show()方法这是从网上粘贴的,不知道符不符合你的意思2.abstract怎么写abstract(抽象)修饰符,可以修饰类和方法 1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AUCS / TR9113Preliminary report on the designof a constraint-based musicalplanner.© Simon HollandFriday, 24 May, 1991Department of Computing ScienceUniversity of AberdeenKing's CollegeOld Aberdeen,AB9 2UB, Scotland, UK.AbstractThis work described in this paper forms part of a wider research project, described in Holland (1989), to find ways of using artificial intelligence methods to encourage and facilitate music composition by musical novices. This paper focusses on the key component of a knowledge-based tutoring system under development to help novices learn to compose and analyse musically 'sensible' chord sequences. This key component is a constraint-based musical planner dubbed 'PLANC'. The musical planner (together with its set of musical 'plans') can be used to construct and analyse chord sequences in terms of musical strategies that can be understood and made use of by complete musical novices. PLANC can generate a class of musically 'interesting' chord sequences that include the chord sequences of many well known existing pieces of music, as well as generating a large space of new 'interesting' sequences. The design of the planner draws on a characterisation of creativity due to Johnson-Laird (1988). The planner is psychologically plausible , though not intended as a detailed cognitive model. An overview of the structure of PLANC is presented, and its suitability for use in a tutoring system is considered. The design of the planner is criticised. Each of the main components of PLANC is analysed: plan variables, constraints, value generators and methods. Much of the 'knowledge' used in PLANC consists of informal musical knowledge: three appendices analyse the different kinds of informal knowledge used. The applicability and value of similar constraint-based mechanisms in intelligent tutors in a wide range of other open-ended domains is considered.Key WordsEducation, Intelligent Tutoring Systems, Music Composition, Guided Discovery Learning, Constraints, Artificial Intelligence, Interactive Learning Environment.Preliminary report on the design of a constraint-basedmusical planner.Simon HollandFriday, 24 May, 1991Department of Computing ScienceUniversity of AberdeenKing's CollegeOld Aberdeen,AB9 2UB, Scotland, UK.AbstractThis work described in this paper forms part of a wider research project, described in Holland (1989), to find ways of using artificial intelligence methods to encourage and facilitate music composition by musical novices. This paper focusses on the key component of a knowledge-based tutoring system under development to help novices learn to compose and analyse musically 'sensible' chord sequences. This key component is a constraint-based musical planner dubbed 'PLANC'. The musical planner (together with its set of musical 'plans') can be used to construct and analyse chord sequences in terms of musical strategies that can be understood and made use of by complete musical novices. PLANC can generate a class of musically 'interesting' chord sequences that include the chord sequences of many well known existing pieces of music, as well as generating a large space of new 'interesting' sequences. The design of the planner draws on a characterisation of creativity due to Johnson-Laird (1988). The planner is psychologically plausible , though not intended as a detailed cognitive model. An overview of the structure of PLANC is presented, and its suitability for use in a tutoring system is considered. The design of the planner is criticised. Each of the main components of PLANC is analysed: plan variables, constraints, value generators and methods. Much of the 'knowledge' used in PLANC consists of informal musical knowledge: three appendices analyse the different kinds of informal knowledge used. The applicability and value of similar constraint-based mechanisms in intelligent tutors in a wide range of other open-ended domains is considered.CONTENTS1 Introduction1.1 A note on terminology2 Characteristics of the planner3 Basis of the form of computation of the planner4 The components of a musical plan: variables, constraints, finite generators, methods and ordered inference4.1 Methods4.2 Control of search5 Detailed description of PLANC5.1 Plan variables5.2 Constraints5.2.1 Recap of the nature of constraints5.3 Generators5.3.1 Preferred vs correct solutions5.3.2 How to find preferred solutions5.3.3 Why might the suggested heuristic help?5.4 Methods5.4.1 Constraints affecting order of calculation6 Related work7 Limitations and criticisms7.1 Conceptual limitations7.2 Limitations of implementation8 Further work9 ConclusionsReferencesAppendicesAppendix 1: The communicability and justifiability of knowledge in PLANCAppendix 2:Appendix 3:1 IntroductionThis work described in this paper forms part of a research project to find ways of using artificial intelligence to encourage and facilitate music composition by musical novices. This paper describes the key component of a knowledge-based tutoring system called 'MC' (Holland, 1989) to help novices learn to characterise and compose musically 'sensible' chord sequences. This key component, dubbed 'PLANC' (which may be pronounced as "Plan C" or to rhyme with 'Clancy' according to taste) is a constraint-based musical planner. The musical planner (together with its set of musical 'plans') can be used to construct and analyse chord sequences in terms of musical strategies that can be understood and made use of by complete musical novices (Holland, 1989) with very little training. PLANC can generate the chord sequences of many well known existing pieces of music as well as generating a large space of new but musically 'interesting' sequences. The design of the planner draws on a characterisation of creativity due to Johnson-Laird (1988). The use of constraint-based planners in intelligent tutoring systems for open-ended domains (Holland, 1989) other than music is discussed.This paper is one of a set giving full technical details on the constraint-based musical planner PLANC. Parts of the detailed description of the planner (especially section 5) are much easier to read if the reader is already familiar with the musical planner in general terms. Such familiarity is assumed in a few places. Overviews of the planner can be found in Holland (1989) and Holland and Elsom-Cook (1990) .BackgroundIn Holland (1989) and Holland and Elsom-Cook (1990) a framework is presented for a knowledge-based tutoring system (MC) to help novices learn to compose music. One goal of the tutor is to help students learn how to compose new, musically coherent chord sequences. A core problem in developing such a tutor is to devise a representation for 'strategic' aspects of chord sequences. To be pedagogically useful, the strategies must meet the following requirements. They need to account for a wide range of existing sequences. They must be usable by beginners to generate new, interesting, musically coherent sequences. It must be potentially easy to communicate to novices how and why the strategies 'work'. A plan-like representation, a family of musical 'plans', and a plan interpreter that fit these requirements has been implemented and is now described.Where to find out moreThe present paper describes and analyses in detail the constraint-based representation, the design and implementation of the prototype of the planner, andone sample musical plan. Other technical aspects of the planner are covered elsewhere in Holland (1991b, 1991c and 1991d). These three papers deal respectively with the following aspects of the planner ;• illustrations of the kinds of musical transformations that the planner can support, and an analysis of their educational usefulness,• details of several contrasting implemented musical plans,• details of the representation used by the planner to describe chord sequences in a concise, perceptually meaningful fashion (Harmony Talk, formerly called Harmony Logo).Structure of the paperThe present paper is organised as follows. Firstly, by way of motivation, we will give an overview of the characteristics of PLANC, and their appropriateness for the task under consideration. Next we will discuss the basis of the form of computation of the planner, namely constraint satisfaction. We will then discuss in detail each of the main components of PLANC: the plan variables, the constraints, the value generators and the methods. We will also discuss control of search in PLANC. Much of the 'knowledge' used in PLANC is to a greater or lesser degree informal musical knowledge: there are three appendices discussing the nature of the different kinds of knowledge. Finally we discuss the limitations of the musical planner, draw conclusions, and point out possibilities for further work.A note on terminologyThe word 'planning' is used quite diversely in the AI literature. We have adopted the definition shared by Stefik (1980), and Cohen and Feigenbaum (1982) that planning is deciding on a course of action before acting. From this viewpoint, planning is a special case of problem solving, which may be defined as developinga sequence of actions to achieve a goal.2 Characteristics of the plannerThe architecture of PLANC has various characteristics advantageous for use in an intelligent tutor for music composition. We will list these features now, saying why they are desirable and then show in the remainder of this paper how they are realised. The educationally useful characteristics are as follows.Firstly, PLANC permits the student to work bottom up or top down. That is to say, it is possible to use PLANC to experiment with the details of a plan without having to specify the strategic aspects of the plan. Example details could include the use of the Locrian mode, or a certain 'home establishment method', or the degree on which the modulation takes place in the 'moving goal-post plan' (seeHolland 1989 for details). Conversely, it is also possible with PLANC to experiment with broad strategic aspects of a plan without needing to specify (or understand) the details. PLANC behaves as though it can work backwards to guess the likely or plausible strategic implications of a local detail, and then work forwards to co-ordinate numerous details to fit with the global choices. There are two specific reasons for considering this flexible style of computation educationally advantageous. Firstly, it offers an important opportunity to improve a user's motivation, since general ideas may be more eagerly absorbed when their relevance to some particular detail of current interest can be capitalised on. Secondly, the combination of top down and bottom up approaches to design of a complex artifact reflects the varied way that composers (and other designers) seem to prefer to work (Sloboda 1985). Composers seem to work in any of the following ways at different times. Sometimes an encompassing idea is fleshed out top down, while at other times a small fragment is elaborated upwards into an idea that conforms to the fragment: often a combination of these two approaches is used. For these reasons, PLANC is designed to treat its variables in the "multiway" fashion of logic programming or constraint satisfaction, as opposed to the more conventional functional fashion. That is to say, instead of all plan variables being treated as input to the specification, any subset of variables may be treated as input, and any subset as output (though with some exceptions, noted later). Such a scheme is not without problems. We can briefly characterise the main problem, and its solution as follows. In general, not all functions have well-defined inverses. For example, if the modulo base 10 of some number is 4, the unknown number could be 4, 14, 24, or 34, or any of an infinite number of other possible values. If a planner made an arbitrary choice for such an inverse, there would always be the possibility that it might have to be retracted later to fit with some other constraint. There would remain an infinite number of possible values to search. Consequently, there would be no guarantee in general that the process would halt. To avoid this problem, the solution adopted in PLANC is to restrict variables to finite sets of possible values in all cases.The second educationally desirable feature of PLANC is concerned with the manner of availability of default values. To avoid the user having to deal with questions that he may not yet understand or care to answer, PLANC must have defaults values always available. Yet it would be quite against the spirit of the task if " hard-wired" defaults were used. PLANC is organised so that where appropriate, choices of values for variables may operate as heuristics influencing the order in which default values are produced for variables in other parts of the plan. For example, we will see that the choice of 'hometype' in the 'return home plan' does not prevent the 'establish home' constraint from taking any value, but it does affect the default order in which such values are produced.A third characteristic is that if more than one song fits a particular specification, PLANC is able to produce alternative versions. To deal with cases in which there could be very many solutions, PLANC makes use of a simple mechanism that tends to present musically "preferred" solutions first (in a sense to be explained later).Fourthly, PLANC allows musical plans to be used in hierarchical or recursive fashion, i.e to call each other or themselves. It is possible to nest suitably constrained musical plans as subsystems or methods of achieving effects in other musical plans. This is not described in this paper but is explained briefly in Holland (1991c).Fifthly, one useful general feature of PLANC is that the predominantly declarative statement of the plans appear to form a good foundation for a future version of PLANC that could explain its assumptions and reasoning to a student.Taken as a whole, this paper demonstrates a theoretical framework and series of practical techniques whereby musical plans, as presented informally in Holland (1989) can be realised in computational form with the educationally useful characteristics identified above. The framework uses the metaphor of constraint satisfaction, implemented in logic programming using finite generators of default values, and other techniques. To begin our exposition, we will identify a theoretical and practical basis for the form of computation of the planner.3 Basis of the form of computation of the plannerWe claim that we can view the satisfaction of a musical plan as being a special case of the formal class of constraint satisfaction problems (CSP). Hentenryck and Dinebas (1987) give an admirably concise formal definition of this class of problems.Assume the existence of a finite set I of variables {X1, X2,.....,Xn}which take respectively their values from the finite domains D1, D2,.....,Dnand a set of constraints. A constraint c(Xi1, (X)ik) between k variables fromI is a subset of the cartesian product Di1 x .... x Dikwhich specifies whichvalues of the variables are compatible with each other. A solution to a CSP is an assignment of values to all variables which satisfy all the constraintsand the task is to find one or all the solutions.Hentenryck and Dinebas (1987) go on to give a clear statement of the simplest (though not the most efficient) way of solving constraint satisfaction problems using Logic programming languages. They point out that"Given a particular CSP, it is sufficient to associate a logic program witheach kind of constraints (sic) and to provide a generator of values for thevariables."Given the above basis, the form of computation in the planner PLANC is quite simple, in principle. On the other hand, the formal versions of the musical plans we saw in Holland (1989) and Holland and Elsom Cook (1990), if encoded in terms of primitive musical constraints, such as those proposed by Levitt (1985), would form large, highly complex constraint nets. The problem of making such nets of constraints comprehensible to novice students would be a substantial problem.These two problems (of actual and perceived complexity) are tackled by limiting the use of constraint satisfaction to co-ordinate only the most essential strategic aspects and the most essential low-level details of the plan. The high-level decisions taken by constraint satisfaction are expressed predominantly in terms of Harmony Talk (Holland 1989) concepts. More specifically, the high level decisions made by constraint satisfaction are harnessed to specify Harmony Talk programs. The programs produced by constraint satisfaction are translated into notes by the Harmony Talk interpreter. Thus, Harmony Talk concepts are used to keep the "grain size" of the constraints manageable. This has advantages and disadvantages. One advantage is that the net of constraints required becomes dramatically simplified. This has an unexpected educational bonus, because it reveals the suprisingly small amount of ordinary musical knowledge that is sufficient, when appropriately applied, to support musically intelligent behaviour over a wide range of case studies. The exploitation of concepts derived from Longuet-Higgins' (1962) and Balzano's (1980) theories means that the primitive concepts used by PLANC (e.g. harmonic trajectories) are potentially easy to explain to musically uneducated novices (through the medium of Harmony Space, as illustrated in Holland (1989)).To summarise, the PLANC framework offers a simple way of combining the constraint satisfaction method of computation outlined above with notions derived from Harmony Space and Harmony Talk to produce an appropriate, workable and relatively understandable planner suited to our educational purposes. We illustrate how the simple approach to computation outlined above can be applied to create a manageable, relatively transparent and useful planner capable of the educationally useful behaviour outlined above.4 The components of a musical plan: variables, constraints, finite generators, methods and ordered inferenceWe will now demonstrate how our informally stated musical plans can be translated into formal constraints. We will need to define at least three computational entities already mentioned for our plans: a finite set of variables, a set of constraints and a set of value generators. We will also need to define a set of musical methods, and ways of controlling inference by the planner, both explained below.4.1 MethodsIt appears that the constraint satisfaction paradigm could have been used to implement the planner in full from top level concepts down to note level. However, for reasons outlined above, this was not done.One reason is that this approach would have run the risk that the workings of the planner at the middle and lower levels would have involved long chains of inference that might be hard to explain to novices. A second reason was the sheer complexity of the encoding that would have been required. For these reasons, the values of variables representing the important strategic aspects of the chord sequence, and the most important low level details, are calculated by constraint satisfaction and input into low level procedures called methods. The job of the methods is to procedurally translate combinations of variables into Harmony Talk code using slot filling and Harmony Space simulations. This allows various features of harmonic sequences to be encoded and manipulated very concisely. Thus, the constraint satisfaction process in effect drives a code generator that produces a Harmony Talk program describing the fully instantiated plan. (As a slight complication, elements of code produced in this way may be used as an input to constraints elsewhere in the plan, which may casue backtracking, as we will see later). In principle, a Harmony Talk interpreter may be used in the normal way to translate this program into sequences of notes. (However, see the 'limitations' section at the end of this paper for discussion of a practical limitation on this process under the current implementation.) The use of "methods" in this way has advantages and disadvantages. One advantage is that in many cases the planner is able to exploit the concepts of Harmony Talk, and their underpinnings in Balzano's (1980) and Longuet-Higgins' (1962) theories, to deal with harmonic phenomena in a very concise way. One price payed for this simplicity and transparency is that the mapping from musical plans concepts into fragments of harmony code, while precise in some cases, is somewhat arbitrary in others, as we will see shortly.4.2 Control of searchPLANC associates a logic program with each kind of constraint. The underlying inference mechanism used in PLANC is that of logic programming as partiallyembodied in Prolog. The built-in search mechanism provided in Prolog is not particularly efficient (depth-first search with backtracking). The use of methods allows the search space to be kept relatively manageable, but even so, the order in which constraints are to be satisified must be considered in order to keep the planning feasible and efficient. We will look at this problem in more detail shortly.5 Detailed description of PLANCWe will deal in turn with the five components (variables, constraints, generators, methods and control) required to implement a musical plan, using a formal version of the "return home" plan as an example. (In Holland (1991b), we will present some other musical plans, all of which have been implemented using PLANC. One of these plans is presented in full technical detail.)5.1 Defining plan variables for return homeOur first task is to define plan variables that represent tactical or strategic musical alternatives for elements in the plan. There is always more than one way to split an informal musical plan into plan variables. The list of plan variables and their possible values adopted for the "return home" plan is as follows;Plan variables Possible valueshometype(tonal, modal )mode(major, minor, dorian, aeolian, mixolydian, lydian,phrygian, locrian) establish-home( simple,implicit, repeated)establish-home-length(0, 1,2,3,4)maintain-home(tonal,jazz, modal+pedal, modal, jazz-chromatic) away-point(I, II,III,IV,V,VI,VII)trajectory-home-length (0,1,2,3,4,5,6,7,8,9,10,12)emphasise-final-length (0,1,2,3,4)code strings of Harmony Talk codesong-length(0,...., 16)We will now discuss each of these variables in turn, explaining what they refer to and their possible values. It is important to note that in each case we have restricted the number of possible values to a finite set of possibilities. Otherwise, there would be a danger that the constraint satisfaction process might not halt. The discussion of each variable is unfortunately dull. However, the variables are the basis for all of the other components, so the discussion cannot safely be left out. The reader may care to compare the discussion given here with the more informaland intuitive description of the plan given in Holland (1989) and Holland and Elsom Cook (1990).5.1.1 'Hometype', 'mode', 'away-point' and 'trajectory length'The first four variables, 'hometype', 'mode', 'away-point' and 'trajectory-length' are unremarkable and easy to understand;The hometype variable has possible values 'tonal' or 'modal'. This variable distinguishes chord sequences that satisfy the return home plan according to whether their hometype is tonal or modal. This concept corresponds with the commonplace musical judgement as to whether a piece is in a major or minor key (tonal hometype), or in some other mode (e.g. dorian, etc. - modal hometype). This variable is common to many plans and can be considered as an instance of a recurrent plan variable 'type', such as 'integer' or 'character' in other languages. The mode variable distinguishes chord sequences that satisfy the return home plan according to their mode. This variable has possible values drawn from the following set: (major, minor, dorian, aeolian, mixolydian, lydian, phrygian, locrian). The ionian mode is not been included, since for all practical purposes it is indistinguishable from the major mode. On the other hand, the aeolian and harmonic minor modes are worth distinguishing due to the difference in quality of the V chord. Like the hometype variable, this variable can recur in many plans and can be considered as a recurring 'type'.The variable away-point distinguishes chord sequences that satisfy the return home plan according to the degree of the scale from which they begin their 'return home'. This variable has possible values drawn from the degrees of the diatonic scale as follows: ( I, II, III, IV, V, VI, VII). This variable can be considered as an instance of a diatonic scale 'type'.The variable trajectory-length has possible values in the range 0, ...., 12, and distinguishes chord sequences that satisfy the return home plan according to the length of trajectory employed for their 'return home'. The range of possible values is more or less arbitrary. The top end limit, 12, is proposed on the arbitrary grounds that this is the longest possible length of a harmonic trajectory in a fixed key that does not repeat itself. Note that the value of this variable may or may not have a straightforward relationship with the value of the away-point variable, since the trajectory might be carried out in a context where the alphabet of chords available for the trajectory was restricted.The variable emphasise-final-length has possible values 0, 1, 2, 3, 4 and distinguishes chord sequences that satisfy the return home plan simply according to whether the home chord is sounded once when the chord sequence 'returns home' at the end of the plan, or whether it is repeated (or held for a longer than normal duration) at this point. This variable reflects the commonplace observation that the final chord in a sequence is often repeated (or held longer) to emphasise a sense of finality or arrival. The concept to which this variable refers is perhaps more ad hoc and more arbitrarily defined than the previous variables, but it refers to a straightforward musical phenomenon in tonal music that can have clear consequences in planning the proportions of a chord sequence. (Leaving aside the end of the chord sequence, it is assumed that the harmonic sequences planned take place at a regular, even tempo.)5.1.2 The 'establish home', 'establish home-length' and 'maintain-home' variables Two out of the next group of three related variables describe quite complex concepts; but their possible values correspond to a limited number of arbitrary methods of realising them. We will describe the possible values informally here, giving more detail of the way these values are translated into actions in the section on methods. In the discussion of the return home plan in the chapter 8 of the Holland (1989) and Holland and Elsom-Cook (1990), we discussed the need for one chord degree to be distinguishable by the listener as a 'home' location throughout the piece. We also discussed the requirement for the home area to be established at the beginning of the piece, either by explicitly stating the corresponding chord, or by some implicit means such as the use of a modal pedal. As a first approximation, we can represent a limited choice of means to achieve these goals using the three variables 'establish-home', 'establish-home-length' and 'maintain-home', as follows. (Each of these variables is applicable to several other plans apart from "return home")The establish-home variable has three possible values; 'simple', 'implicit' and'repeated'. This variable distinguishes chord sequences that satisfy the return home plan according to three possible cases;• simple: the initial establishment of the home area is carried out by asimple explicit statement of the home chord,• repeated: the initial establishment of the home area is carried out by arepeated explicit statement of the home chord,• implicit: there is no initial statement of the home chord: the establishment of the home area is carried out by some other means.There are clearly many other ways by which a piece of music could "establish a home area" in a listener's mind. For example, the home area could be initially。