adv

cuthead的日志

  • YOU

    cuthead(2701) 2017-05-11 21:26:05
    AMD 君のその横顔が 悲しい程キレイで 何ひとつ言葉かけられなくて 気付けば涙あふれてる きっとみんなが思っているよりずっと キズついてたね 疲れていたね 気付かずにいてごめんね   春の風包まれて 遥かな夢描いて 夏の雲途切れては 消えていった 秋の空切なくて 冬の海冷たくて 夢中になっていく程 時は経っていたね   たくさんの出来事を くぐり抜けてきたんだ そして今ココにいる君の事 誇りに思う いつの日も 人ってきっと言葉にならない様な 思い出だとか 気持ちを抱え そうして生きていくんだね   遠回りばかりして疲れる時もあるね だけど最後にたどり着く場所って... そばにいるだけでただ 心が癒されてく そんな支えにいつか なりたいと願うよ   春の風包まれて 遥かな夢描いて 夏の雲途切れては 消えていった 秋の空切なくて 冬の海冷たくて 夢中になっていく程 時は経っていたね
  • Universe

    cuthead(2701) 2017-05-11 21:25:27
    AMD Universeって、果てのない自由のことをいうのよ どんな細胞も夢を見てる Happinessって、お互いの相違(ちがい)を認めることね みんな同じじゃ、きゅうくつだわ でこぼこ、いっぱい集まって、まるい星になる 欠点や自分のクセ、直すなんてもったいない 世界中であなただけよ、あなたのようにできるのは It's all right, I'm just me 晴れた夜は星を見るのよ、地球の浜辺で 小さな頃のように祈るの 自分に自信を持つことは、むずかしいけれど 生まれつき不器用でもわたしのフォームで泳ぐわ 世界中でわたしだけね、わたしのようにできるのは It's all right, I'm just me 草や木は空に伸びる、わたしも空に伸びるのよ 人生は悲しいこと時々、やってくるけれど 欠点や自分のクセ、直すなんてもったいない 世界中でわたしだけよ、わたしのようにできるのは It's all right, I'm just me
  • Forever Young - Demo

    cuthead(2701) 2017-05-11 21:25:10
    AMD Let's dance in style, Let's dance for a while Heaven can wait We're only watching the skies Hoping for the best But expecting the worst Would you please to drop the bomb on us? Let us die young or let us live forever We got no power But we never say never Sitting in a sandpit Life is a short trip The music's for the sad men Can you imagine how we won the war? Little fascist lady she loves you so Following her leader She's getting in tune The music's played by the madmen Forever young, I want to be forever young Do you really want to live forever Forever young Someone's like water Someone's like heat Some are a melody and some are the beat Sooner or later they all will be gone Why don't they stay young? It's so hard to get old without a cause I don't want to perish like a fading horse They say that youth's like diamonds in the sun And diamonds are forever So many adventures couldn't happen today So many songs we forgot to play Why can't I sleep while I'm thinking of you The blood is up and burning
  • Bang Bang Mystery Man

    cuthead(2701) 2017-05-11 21:24:42
    AMD You make me wait for a week for your answer And still it is of the question kind There you carelessly throw me a whisper Walk away only leaving behind The scent of mystery you wear every night How long in the air does it linger I thought I solved you And locked you somehow But I can't get the key You stay out of my reach Bang bang the wall Shall I kick in the door I bang bang the wall Shall I kick in the door I bang bang the wall Shall I kick in the door I bang bang the wall I don't want it no more I find myself standing in front of a shaman Asking for answers from man with the drum If I play loud will you fall in a trance and Bring me back some kind of a chance Bring me hope is my uncertainity Give me the code to break your mystery Bring me hope is my uncertainity Give me the code to break your mystery I bang bang the gong And you dance my song I bang bang the gong And you dance my song I bang bang the gong And you dance my song I can't wait for long, so I bang bang the gong The scent of mystery you wear every night How long in the air does it linger Not your concern, it is now my own fight But as much as I cried you stayed In my mind Bang bang the wall Shall I kick in the door I bang bang the wall Shall I kick in the door I bang bang the wall Shall I kick in the door I bang bang the wall I don't want it no more I bang bang the gong And you dance my song I bang bang the gong And you dance my song I bang bang the gong And you dance my song I can't wait for long So I bang bang the gong
  • 倭的甜屎

    cuthead(2701) 2017-02-11 21:58:46
    AMD 李就是倭的甜屎 我的氨纸 带给倭幸运和无尽快乐 李就是倭的甜屎 倭要为李做上倭所有能够的 从来就没觉得这有什么错 只偶尔怀疑真实的倭 如此单纯普通的 让人心动不已的时刻 哦 从来就没觉得这有什么错 只偶尔怀疑真实的倭 如此单纯普通的 让人心动不已的时刻 这似乎有如泥塘的生活 没有什么是大不了的 雨后清晨里的那股新鲜 和李一起永伴的倭 哦 这似乎有如泥塘的生活 没有什么是大不了的 雨后清晨里的那股新鲜 和李一起永伴着倭 哦 李有天下最迷人的模样 心中藏着可爱跟善良 尽管这样李还是很苦 酷得就像甜屎一样 李有天下最迷人的模样 心中藏着可爱跟善良 尽管这样李还是很苦 酷得就像倭的甜屎
  • A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS

    cuthead(2701) 2012-01-11 22:31:51
    程序 A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS Contents: [Sub-ToC] for this document | Main [Table 'O Contents] 1. Preface 1.1) About the Author & Copyright 1.2) Abstract 2. Introduction: Error Detection 3. The Need For Complexity 4. The Basic Idea Behind CRC Algorithms 5. Polynomical Arithmetic Jump to [Next] segment [Document Version: 3.00] [Last Updated: 9/24/96] -------------------------------------------------------------------------------- 1. Preface -------------------------------------------------------------------------------- 1.1) About the Author & Copyright "Everything you wanted to know about CRC algorithms, but were afraid to ask for fear that errors in your understanding might be detected." Author : Ross N. Williams E-Mail : ross@guest.adelaide.edu.au Date : 19 August 1993 Version : 3.00 FTP: ftp.adelaide.edu.au/pub/rocksoft/crc_v3.txt WWW: http://www.on.net/clients/rocksoft/rocksoft/ Company : Rocksoft(tm) Pty Ltd Snail : 16 Lerwick Avenue, Hazelwood Park 5066, Australia Fax : +61 8 373-4911 (c/- Internode Systems Pty Ltd) Phone : +61 8 379-9217 (10am to 10pm Adelaide Australia time) Note : "Rocksoft" is a trademark of Rocksoft Pty Ltd, Australia Status: Copyright (C) Ross Williams, 1993,1994,1995,1996. However, permission is granted to make and distribute verbatim copies of this document provided that this information block and copyright notice is included. Also, the C code modules included in this document are fully PUBLIC DOMAIN (PD). Thanks: Thanks to Jean-loup Gailly (jloup@chorus.fr) and Mark Adler (me@quest.jpl.nasa.gov) who both proof read this document and picked out lots of nits as well as some big fat bugs. C sources to are referenced in this document: crcmodel.h (0KB) crcmodel.c (0KB) crctable.c (0KB) -------------------------------------------------------------------------------- 1.2) Abstract This document explains CRCs (Cyclic Redundancy Codes) and their table-driven implementations in full, precise detail. Much of the literature on CRCs, and in particular on their table-driven implementations, is a little obscure (or at least seems so to me). This document is an attempt to provide a clear and simple no-nonsense explanation of CRCs and to absolutely nail down every detail of the operation of their high-speed implementations. In addition to this, this document presents a parameterized model CRC algorithm called the "Rocksoft^tm Model CRC Algorithm". The model algorithm can be parameterized to behave like most of the CRC implementations around, and so acts as a good reference for describing particular algorithms. A low-speed implementation of the model CRC algorithm is provided in the C programming language. Lastly there is a section giving two forms of high-speed table driven implementations, and providing a program that generates CRC lookup tables. -------------------------------------------------------------------------------- 2. Introduction: Error Detection The aim of an error detection technique is to enable the receiver of a message transmitted through a noisy (error-introducing) channel to determine whether the message has been corrupted. To do this, the transmitter constructs a value (called a checksum) that is a function of the message, and appends it to the message. The receiver can then use the same function to calculate the checksum of the received message and compare it with the appended checksum to see if the message was correctly received. For example, if we chose a checksum function which was simply the sum of the bytes in the message mod 256 (i.e. modulo 256), then it might go something as follows. All numbers are in decimal. Message : 6 23 4 Message with checksum : 6 23 4 33 Message after transmission : 6 27 4 33 In the above, the second byte of the message was corrupted from 23 to 27 by the communications channel. However, the receiver can detect this by comparing the transmitted checksum (33) with the computer checksum of 37 (6 + 27 + 4). If the checksum itself is corrupted, a correctly transmitted message might be incorrectly identified as a corrupted one. However, this is a safe-side failure. A dangerous-side failure occurs where the message and/or checksum is corrupted in a manner that results in a transmission that is internally consistent. Unfortunately, this possibility is completely unavoidable and the best that can be done is to minimize its probability by increasing the amount of information in the checksum (e.g. widening the checksum from one byte to two bytes). Other error detection techniques exist that involve performing complex transformations on the message to inject it with redundant information. However, this document addresses only CRC algorithms, which fall into the class of error detection algorithms that leave the data intact and append a checksum on the end. i.e.: -------------------------------------------------------------------------------- 3. The Need For Complexity In the checksum example in the previous section, we saw how a corrupted message was detected using a checksum algorithm that simply sums the bytes in the message mod 256: Message : 6 23 4 Message with checksum : 6 23 4 33 Message after transmission : 6 27 4 33 A problem with this algorithm is that it is too simple. If a number of random corruptions occur, there is a 1 in 256 chance that they will not be detected. For example: Message : 6 23 4 Message with checksum : 6 23 4 33 Message after transmission : 8 20 5 33 To strengthen the checksum, we could change from an 8-bit register to a 16-bit register (i.e. sum the bytes mod 65536 instead of mod 256) so as to apparently reduce the probability of failure from 1/256 to 1/65536. While basically a good idea, it fails in this case because the formula used is not sufficiently "random"; with a simple summing formula, each incoming byte affects roughly only one byte of the summing register no matter how wide it is. For example, in the second example above, the summing register could be a Megabyte wide, and the error would still go undetected. This problem can only be solved by replacing the simple summing formula with a more sophisticated formula that causes each incoming byte to have an effect on the entire checksum register. Thus, we see that at least two aspects are required to form a strong checksum function: WIDTH A register width wide enough to provide a low a-priori probability of failure (e.g. 32-bits gives a 1/2^32 chance of failure). CHAOS A formula that gives each input byte the potential to change any number of bits in the register. Note: The term "checksum" was presumably used to describe early summing formulas, but has now taken on a more general meaning encompassing more sophisticated algorithms such as the CRC ones. The CRC algorithms to be described satisfy the second condition very well, and can be configured to operate with a variety of checksum widths. -------------------------------------------------------------------------------- 4. The Basic Idea Behind CRC Algorithms Where might we go in our search for a more complex function than summing? All sorts of schemes spring to mind. We could construct tables using the digits of pi, or hash each incoming byte with all the bytes in the register. We could even keep a large telephone book on-line, and use each incoming byte combined with the register bytes to index a new phone number which would be the next register value. The possibilities are limitless. However, we do not need to go so far; the next arithmetic step suffices. While addition is clearly not strong enough to form an effective checksum, it turns out that division is, so long as the divisor is about as wide as the checksum register. The basic idea of CRC algorithms is simply to treat the message as an enormous binary number, to divide it by another fixed binary number, and to make the remainder from this division the checksum. Upon receipt of the message, the receiver can perform the same division and compare the remainder with the "checksum" (transmitted remainder). Example: Suppose the the message consisted of the two bytes (6,23) as in the previous example. These can be considered to be the hexadecimal number 0617 which can be considered to be the binary number 0000-0110-0001-0111. Suppose that we use a checksum register one-byte wide and use a constant divisor of 1001, then the checksum is the remainder after 0000-0110-0001-0111 is divided by 1001. While in this case, this calculation could obviously be performed using common garden variety 32-bit registers, in the general case this is messy. So instead, we'll do the division using good-'ol long division which you learned in school (remember?). Except this time, it's in binary: ...0000010101101 = 00AD = 173 = QUOTIENT ____-___-___-___- 9= 1001 ) 0000011000010111 = 0617 = 1559 = DIVIDEND DIVISOR 0000.,,....,.,,, ----.,,....,.,,, 0000,,....,.,,, 0000,,....,.,,, ----,,....,.,,, 0001,....,.,,, 0000,....,.,,, ----,....,.,,, 0011....,.,,, 0000....,.,,, ----....,.,,, 0110...,.,,, 0000...,.,,, ----...,.,,, 1100..,.,,, 1001..,.,,, ====..,.,,, 0110.,.,,, 0000.,.,,, ----.,.,,, 1100,.,,, 1001,.,,, ====,.,,, 0111.,,, 0000.,,, ----.,,, 1110,,, 1001,,, ====,,, 1011,, 1001,, ====,, 0101, 0000, ---- 1011 1001 ==== 0010 = 02 = 2 = REMAINDER In decimal this is "1559 divided by 9 is 173 with a remainder of 2". Although the effect of each bit of the input message on the quotient is not all that significant, the 4-bit remainder gets kicked about quite a lot during the calculation, and if more bytes were added to the message (dividend) it's value could change radically again very quickly. This is why division works where addition doesn't. In case you're wondering, using this 4-bit checksum the transmitted message would look like this (in hexadecimal): 06172 (where the 0617 is the message and the 2 is the checksum). The receiver would divide 0617 by 9 and see whether the remainder was 2. -------------------------------------------------------------------------------- 5. Polynomical Arithmetic While the division scheme described in the previous section is very very similar to the checksumming schemes called CRC schemes, the CRC schemes are in fact a bit weirder, and we need to delve into some strange number systems to understand them. The word you will hear all the time when dealing with CRC algorithms is the word "polynomial". A given CRC algorithm will be said to be using a particular polynomial, and CRC algorithms in general are said to be operating using polynomial arithmetic. What does this mean? Instead of the divisor, dividend (message), quotient, and remainder (as described in the previous section) being viewed as positive integers, they are viewed as polynomials with binary coefficients. This is done by treating each number as a bit-string whose bits are the coefficients of a polynomial. For example, the ordinary number 23 (decimal) is 17 (hex) and 10111 binary and so it corresponds to the polynomial: 1*x^4 + 0*x^3 + 1*x^2 + 1*x^1 + 1*x^0 or, more simply: x^4 + x^2 + x^1 + x^0 Using this technique, the message, and the divisor can be represented as polynomials and we can do all our arithmetic just as before, except that now it's all cluttered up with Xs. For example, suppose we wanted to multiply 1101 by 1011. We can do this simply by multiplying the polynomials: (x^3 + x^2 + x^0)(x^3 + x^1 + x^0) = (x^6 + x^4 + x^3 + x^5 + x^3 + x^2 + x^3 + x^1 + x^0) = x^6 + x^5 + x^4 + 3*x^3 + x^2 + x^1 + x^0 At this point, to get the right answer, we have to pretend that x is 2 and propagate binary carries from the 3*x^3 yielding: x^7 + x^3 + x^2 + x^1 + x^0 It's just like ordinary arithmetic except that the base is abstracted and brought into all the calculations explicitly instead of being there implicitly. So what's the point? The point is that IF we pretend that we DON'T know what x is, we CAN'T perform the carries. We don't know that 3*x^3 is the same as x^4 + x^3 because we don't know that x is 2. In this true polynomial arithmetic the relationship between all the coefficients is unknown and so the coefficients of each power effectively become strongly typed; coefficients of x^2 are effectively of a different type to coefficients of x^3. With the coefficients of each power nicely isolated, mathematicians came up with all sorts of different kinds of polynomial arithmetics simply by changing the rules about how coefficients work. Of these schemes, one in particular is relevant here, and that is a polynomial arithmetic where the coefficients are calculated MOD 2 and there is no carry; all coefficients must be either 0 or 1 and no carries are calculated. This is called "polynomial arithmetic mod 2". Thus, returning to the earlier example: (x^3 + x^2 + x^0)(x^3 + x^1 + x^0) = (x^6 + x^4 + x^3 + x^5 + x^3 + x^2 + x^3 + x^1 + x^0) = x^6 + x^5 + x^4 + 3*x^3 + x^2 + x^1 + x^0 Under the other arithmetic, the 3*x^3 term was propagated using the carry mechanism using the knowledge that x=2. Under "polynomial arithmetic mod 2", we don't know what x is, there are no carries, and all coefficients have to be calculated mod 2. Thus, the result becomes: = x^6 + x^5 + x^4 + x^3 + x^2 + x^1 + x^0 As Knuth [Knuth81] says (p.400): "The reader should note the similarity between polynomial arithmetic and multiple-precision arithmetic (Section 4.3.1), where the radix b is substituted for x. The chief difference is that the coefficient u_k of x^k in polynomial arithmetic bears little or no relation to its neighboring coefficients x^{k-1} [and x^{k+1}], so the idea of "carrying" from one place to another is absent. In fact polynomial arithmetic modulo b is essentially identical to multiple precision arithmetic with radix b, except that all carries are suppressed." Thus polynomical arithmetic mod 2 is just binary arithmetic mod 2 with no carries. While polynomials provide useful mathematical machinery in more analytical approaches to CRC and error-correction algorithms, for the purposes of exposition they provide no extra insight and some encumbrance and have been discarded in the remainder of this document in favour of direct manipulation of the arithmetical system with which they are isomorphic: binary arithmetic with no carry. -------------------------------------------------------------------------------- Please check attribution section for Author of this document! This article was written by filipg@repairfaq.org [mailto]. The most recent version is available on the WWW server http://www.repairfaq.org/filipg/ [Copyright] [Disclaimer]
  • P

    cuthead(2701) 2010-08-01 08:24:29
    程序 这个可能就是lot所指的P
  • 再見了,S。

    cuthead(2701) 2011-01-23 10:42:49
    程序 再見了,S。 對不起,我無法報答你的愛。 已經結束了, 他嫉恨我。 沒想到因為我嘲笑了那個, 事態就會變成那樣。 要不是他從中作梗, 我們很快就能相逢, 然後,我會把你帶入我的世界-- 一個比這裡更加精彩, 屬於我們兩個人的世界。 我一直在等待這一天的到來, 可以真正見到你, 讓我得到拯救的這一天。 S,你要當心他, 他不正常。 再見了,我愛你。 S,我的女神, S,我的戀人, S,你是我的。
  • 关羽擅自发动的襄樊战役

    cuthead(2701) 2011-01-10 00:50:00
    程序 襄樊战役是指公元219年关羽进攻魏国的襄阳、樊城,遭到孙权偷袭,最后败亡的战役。 在此次战役中,有几个问题本人长期以来颇感疑惑,特作此文加以探讨。问题如下: 1. 是关羽擅自发动了进攻襄樊的进攻吗? 2. 参加襄樊战役的各军有多少人马? 3. 关羽此时进攻襄樊符合诸葛亮隆中对的战略构想吗? 4. 在四川的刘备军主力为何不对关羽进行支援? 5. 孙权为什么要突然背弃与刘备的盟约偷袭关羽? 6. 关羽的部队为何如此容易溃散和投降? 一. 战役前的态势 公元219年,刘备率主力在汉中打退了曹操,完全控制了汉中地区和上庸、房陵郡,基本奠定了蜀国的领地。由于汉中的得手,不仅使整个四川得到了北部屏障,还控制了汉水的上游,为下一步自西、南两个方向夹击魏国的荆州地区(襄阳、宛),完全占领整个荆州打下了良好的基础。如果占领了整个荆州,不仅进可以向北进攻魏国的中原地区,或与由汉中北上的部队夹击魏国的关中,退可以保护四川的东大门。因此,当时刘备的战略形势是相当不错的。 由于成功的击退了曹操亲自统领的主力,占据了汉中,刘备下一步就可以按照诸葛亮隆中对中的计划复兴汉室、消灭曹魏了。 曹操从汉中撤退后,留下部分主力防守关中和陇右地区,防止刘备趁势进攻,自率大军回了邺都。由于连年征战,魏国的军事力量和经济实力都受到了很大的削弱,于是曹操制订了休养生息、积蓄力量,以待时局变化的战略,在全线改取守势。 孙权方面,在与刘备联合击败了与赤壁之后,又夺取了江陵,基本控制了长江的整个中、下游地区,取得了比较有利的地理态势。随后虽然又不断对曹魏政权的淮河一带发动了多次进攻,但是收获不大。 在荆州战役后,原本江陵等沿江战略要地均由孙权占据,刘备只夺得了南面的武陵、长沙、零陵和桂阳四个比较偏远的郡。为此,刘备亲自找孙权要求担任荆州的领导,在长江沿线划给一些地盘。孙权答应了刘备,将原刘备曾驻军的公安一带交给其管理,随后又把最关键的南郡借给了刘备。 在刘备入川图谋刘璋时,派关羽、张飞、诸葛亮、赵云、马良等重要将领统重兵防守荆州。自己则带领庞统、黄忠、魏延和数万人进入四川。后来,由于战局严峻,刘备不得不从荆州抽调张飞、诸葛亮、赵云等人带兵入川增援,仅留下关羽、马良、糜竺、傅士仁、关平等人驻守荆州。 在216年为争夺荆州南方各郡而发生矛盾时,双方险些兵戎相间,最后将荆州6郡按每家3郡平分了事。但为以后双方对荆州的争夺埋下了祸根。根据上述协议,江陵等地划归了刘备。刘备非常重视这半个荆州,将其视为自己发展壮大的根据地和东线的战略据点。 二. 战役简况 公元219年7月,关羽留糜芳、傅士仁守江陵、公安,自率主力进攻襄阳、樊城的魏军。曹军立即派于禁率7军(3万多人)增援,屯兵于樊城以北。 吴陆口守将吕蒙看到关羽北上进攻曹军,就准备趁机偷袭荆州。为麻痹关羽,让不知名的陆逊接替自己的位置。关羽果然又抽调部分后方防御部队北进。 8月,大雨,汉水暴溢。屯于城外的于禁军全部被水淹没和包围,关羽军趁势以水军发动攻击,魏军大部投降,于禁被俘,庞德被杀。接着关羽趁水包围了樊城的曹仁军和襄阳的吕常军,并加紧攻打。魏荆州刺史胡修、南乡太守傅方均投降。 曹操得报,立即自关中返回洛阳。 10月,魏陆浑县孙狼起兵反曹,向南投靠关羽,许都震动。曹操想迁都以避关羽锋芒,但被司马懿和蒋济劝止。同时建议劝说孙权攻击关羽的后方。 这时,关羽由于俘虏的敌军较多,粮食短缺,就抢夺了吴军屯在湘关的军粮。孙权大怒,并找到了进攻关羽的借口。 曹操命徐晃率将军徐商、吕建立即赶往樊城增援。关羽准备在偃城阻击魏援军,但是被徐晃吓退。曹军逼近关羽军扎营,并将吴军要偷袭荆州的消息用箭射入樊城和关羽军中。 魏军又增加殷署、朱盖统领的12营部队,于是徐晃开始进攻关羽军。徐晃攻破了关羽军设在高地上的四座军营,并击退了关羽亲自率5000人的反击。接着,徐晃率军突破关羽军的围堑,傅方和胡修均被杀死。关羽于是撤围而退。 吕蒙军达到寻阳,将船队假扮商船骗过了警戒的哨兵,直接开到了南郡。由于公安守将傅士仁、江陵守将糜芳痛恨和害怕关羽,均投降了吕蒙,导致两个主要城市的丢失。吕蒙进入江陵后军纪严明,善待关羽军的家属,使关羽军士兵均无心作战。 关羽得知荆州丢失后,马上自襄樊回军。曹军为使两方相争,没有对关羽进行追击。 关羽撤退中,数次派人质问吕蒙。但是信使确将家属在荆州安好的消息传遍关羽军营。士兵开始大批向荆州逃亡,军心已经涣散。 闰10月,孙权到达江陵,命陆逊攻占了宜都。陆逊又派将军李异、谢旌攻占了枝城、夷道、秭归。蜀将樊有等被击败逃走,陈凤被俘。关羽西归之路被彻底切断。 11月,关羽退守麦城。孙权招降,关羽假装投降,暗中逃走,结果在路途中士兵全部逃散,仅余十几名骑兵和儿子关平、都督赵累。关羽逃至章乡,被吴军朱然、潘璋军切断退路。 12月,潘璋的司马马忠抓住了关羽等人。一代猛将就此陨落。 整个战役自219年7月开始,至12月结束。 三. 几个个问题的探讨 1. 是关羽擅自发动了进攻襄樊的进攻吗? 根据史料记载,关羽的这次进攻不是刘备安排和部署的,而是他自己的擅自行动。根据是: 在史料对关羽的历次作战行动的记载中,除这一次外,均使用了刘备“遣、留、使”等派遣的动词。比如, 资治通鉴卷第六十三:“备遂杀徐州刺史车胄,留关羽守下邳,行太守事,自还小沛。” 资治通鉴卷第六十五:“别遣关羽乘船数百艘,使会江陵。” 资治通鉴卷第六十五:“乃留诸葛亮、关羽等守荆州,以赵云为留营司马,……。” 资治通鉴卷第六十七:“使关羽屯江陵,张飞屯秭归……。” 资治通鉴卷第六十七:“刘备闻之,自蜀亲至公安,遣关羽争三郡。” 三国志先主传:“先主遣关羽守下邳。”“留关羽守下邳,而身还小沛。” “别遣关羽乘船数百艘,使会江陵。”“先主留诸葛亮、关羽等据荆州,将步卒数万人入益州。” 三国志关羽传:“使羽守下邳城,行太守事,”“先主自樊将南渡江,别遣羽乘船数百艘会江陵。”“以羽为襄阳太守、荡寇将军,驻江北。”“先主西定益州,拜羽董督荆州事。” 而这次进攻,没有任何刘备派遣的记载。例如: 资治通鉴卷第六十八:“已而关羽果使南郡太守芳守江陵,将军傅士仁守公安,羽自率众攻曹仁于樊。” 三国志先主传:“时关羽攻曹公将曹仁,禽于禁于樊。” 三国志关羽传:“是岁,羽率众攻曹仁于樊。” 我分析,这并不是史料遗漏了动词,而是关羽并没有得到刘备的指令,是擅自发动了对襄阳和樊城的进攻。 关羽为什么要突然在这个时候擅自进攻魏国的襄阳和樊城呢?由于史料中没有记载,现在已经无法了解到当时的真实原因了。但我们可以根据关羽一贯的为人、秉性以及其所处的位置和实力进行分析,从而大致推断出其擅自进攻襄樊的原因。 第一, 关羽一贯的为人、秉性是比较自负和骄傲。由于刘备率领大军刚刚打退了曹操,占领了汉中,许多将领均在此次战役中立下了大功。比如:黄忠斩杀了曹军大将夏侯渊、张飞在巴中击败了魏将张郃,马超、赵云也跟在刘备身边不同程度的立了不少功。而关羽作为刘备的第一大将,却数年来没有什么显赫的战功,虽然刘备在封官时仍把关羽排在将领中的第一位,但以关羽的秉性,必定要立下超过黄忠等人的赫赫战功,来证明自己无愧于刘备第一大将的名号。 第二, 关羽可能也将进攻计划报给了刘备,但是刘备当时正忙于准备称汉中王以及分封功臣、整顿内务和稳定益州的许多工作(因为益州、汉中都是刚刚占领,人心不稳),加上汉中争夺战打了一年半,部队非常疲劳,不想马上再进行大规模的军事行动,就没有批准关羽的行动计划。这也是后来刘备为什么一直不对关羽进行增援的原因之一。一则,刘备对关羽在他刚称王的时候就不听指挥而擅做主张比较生气,又相信关羽能够很快打赢这场局部战役,所以在长达6个月的战役期间,刘备既没有从四川派一兵一卒增援关羽,也没有指令距离关羽最近的刘封、孟达等人沿汉水南下援助关羽,结果间接导致了关羽的败亡。 第三, 虽然没有刘备的批准和援助,关羽认为以他的能力,完全可以在荆州地区打赢一场中等规模的战役。而他的进攻目标,只能是北面的襄阳和樊城。东面的孙权,虽然关羽看不起他们,但是毕竟还是盟军。而西面、南面均是自己的地盘。如果占有襄阳和樊城,那么就完全控制了汉水流域,并与上庸、房陵等地的刘封军连为一体,为今后进军中原占领了极好的出发基地,在战略格局上是非常有利的。我们不知道一开始关羽是否就准备攻占襄阳和樊城,或者仅仅是打算向北进攻消灭一些魏军壮壮面子。而实际上很有可能关羽只是在于禁军被水淹覆灭后,才决定趁势攻占襄樊的,结果越陷越深。 第四, 襄樊的曹军并不是很强大,曹仁、吕常等人率领的部队不超过1万人(各有数千人,合计约7~8千人左右),而关羽能够使用的进攻兵力为3万人,同时还有水军。他认为:他的威名在曹军中是比较大的,加上曹操在汉中刚刚失败,必定比较害怕他关羽的部队。或许曹操也会采取如汉中一样的方法,即放弃襄樊。这样关羽就可以立下以孤军独自夺取襄阳和樊城重镇的大功了。而后来曹操也确实差一点就被关羽的攻势逼迫的向北迁都,而曹仁也险些就放弃樊城北撤。关羽的这一战略险些成功。 2. 参加襄樊战役的各军有多少人马? 曹军 我们已经知道,参战的曹军主要是由三部分构成——第一部分,曹仁、吕常的襄樊守军,两城各有数千人,合计不到万人,估计8千左右;第二部分,于禁、庞德的援军,3万余人;第三部分,徐晃的第二批援军,兵力不详。我们主要分析这一部分的兵力: 徐晃的直属部队估计在5千人左右,而且多是新兵,另外派来的两名将军徐商、吕建名气不大,带兵不会很多,大约每人2500左右。由于这部分兵力太少,所以曹操命令必须等后续部队到达后才能行动。随后赶到殷署、朱盖的12营部队有多少人马呢?有一个记载,殷署此前得到曹操的指示,曾经选拔了5000韩遂、马超的投降军进行训练。故可以认为殷署军有5千人,而朱盖与其并列,兵力应当差不多。所以推断这12营部队有1万人。这样,就得出徐晃军总兵力2万左右的结论。 全部参加襄樊战役的曹军兵力为不到6万人,比关羽的3.5万多出不少。不过是分批投入。 关羽军 关羽的部队,在战役开始前估计为:关羽的进攻兵团3万人(曾经在与孙权争夺荆州时率3万人与鲁肃对抗,因此判断关羽的机动兵力为3万人);公安、江陵的留守部队各3~4千人,其它地区估计还有数千人(因不处于第一线,估计兵力不多),合计4.5万人弱。战役中期,关羽不仅需要围城还要阻援和押送俘虏,因此感到兵力不足,而孙权又示弱于关羽,使其从两城分别抽调部分兵力开往襄阳增援,人数史书没有记载,估计数千人以上。这样,关羽在襄阳一线的部队仍然保持在3万人左右(减去押运俘虏的人马),而公安和江陵仅有各2~3千人防守。 孙权军 孙权派来偷袭的部队大致包括三部分:陆逊军数千人,吕蒙军2万人(偷袭的主力),孙权随后还带来一些部队,数量不详,估计在1万以上,合计3.5万左右。 由于孙权军的兵力没有记载,以上数字是根据将领情况推测出来的。 3. 关羽此时进攻襄樊符合诸葛亮隆中对的战略构想吗? 首先我们看一下诸葛亮的隆中对是如何构想的——“天下有变,则命一上将将荆州之军以向宛、洛,将军身率益州之众以出于秦川,……”条件有三: a、 关键的是需待“天下有变”——此乃前提条件; b、 基本条件一是占据荆州,做好进军宛洛之准备; c、 基本条件二是占据益州,做好进军关中之准备; 在刘备占领汉中后,已经完成一个基本条件,另一个基本条件还差襄阳没有占领。因为诸葛亮在构想隆中对时,是以全据刘表的荆州地盘为第一个基本条件的。这时只有襄阳、樊城还在敌人手里。所以刘备下一步的行动确实应当是攻占襄樊,准备好两个基本条件。 但是关羽在这个时候发动进攻,是不合适的。 首先,刘备的主力虽然占领了汉中,但是在与曹军一年半的争夺中,已经打的筋疲力尽了。这时刘备急需一些时间来恢复元气,修养士兵; 其次,曹操已经主动从汉中撤退,其基本主力并没有遭到很大的损失(除夏侯渊军)。由于曹操在汉中投入的只是其部分军队(刘备基本是所有在四川的主力),还有许多军队并没有作战的疲劳和伤亡,可以很快投入荆州战区(徐晃军就是典型例子); 第三,关羽的后方并不稳固,还有许多隐患,需要有新的水平高的镇守大将来帮助他; 第四,与孙权的关系并没有搞好,应当在进一步缓和关系上做工作或有所准备。 所以关羽发动进攻的时机,或者在这之前——至少可以吸引曹操的注意力,减轻汉中方面的压力;或者在以后的某个时间——由刘备统一调配、安排。 虽然刘备授予关羽假节钺,但是发动如此重大的军事行动,还是应得到其批准或由刘备在统筹规划。如果是敌人来进攻,关羽当然有权利进行反击或决定一些其他战术性的军事行动,但决没有权利决定这种战略性的问题。同样是假节钺的曹真,在进攻汉中时不仅请示了魏帝,还进行了充分的讨论。 所以,我认为关羽的这次行动虽然是符合隆中对战略构想的,可是实行的时间不对。 4. 在四川的刘备军主力为何不对关羽进行支援? 自公元216年7月关羽开始进攻襄阳和樊城,到12月最后败亡,前后一共有将近6个月的时间。而刘备的主力军在本年5月即已取得了汉中战役的胜利,接着刘备在7月称汉中王。如果从占领汉中算起,刘备的部队有6个月的时间可以用来增援襄樊的关羽,即使从刘备称王以后算起,也有近4个月的时间。那么为什么刘备不对关羽进行增援,也不派任何一位将领去帮助关羽呢? 历史上对这个问题没有明确的记载和说明。我们可以根据有关的情况进行分析: 第一, 正如在第一个问题中的分析那样,关羽的这次进攻是未经刘备批准的擅自行动,刘备对此比较生气,所以后来没有主动对关羽进行增援。刘备在汉中和成都,不会不知道关羽已经开始了进攻,襄樊距离汉中、成都虽然遥远,但是信使至多十天半月就可以到达。而且刘封、孟达所在的上庸郡距离襄阳并不远。因此是刘备根本就没有准备增援关羽军,也没有下令刘封等人进行增援。 第二, 而关羽对自己的实力过于自信,并没有要求刘备给他增派援军。在战役开始的阶段,关羽的进展确实非常顺利:不仅利用洪水全部消灭了曹操派来的精锐增援部队——于禁、庞德的7军(3万多人),还趁大水围攻襄阳、樊城的曹军。因为当时关羽的进攻部队也不过3万人,一下子消灭魏军3万多,包围近1万人,确实震动了朝野,连许昌以南的不少地方都跟着响应起来。 第三, 刘备、关羽均没有考虑到孙权——这个盟军朋友,会在后面偷袭,一下子就占领了关羽在荆州的所有主要据点:公安、江陵、夷陵等地,切断了通过长江与益州的联系,可以说是一夜之间,关羽就已经陷入进退失据、全线崩溃的局面。这样一来,刘备在得到关羽身陷险境的消息后,已经来不及从成都发兵。 第四, 即使刘备后来想发兵增援,也基本是不可能的了。一是关羽撤退方向的错误,导致增援部队很难到达关羽所在的地方:绕道上庸南下增援将会遭到襄阳一线魏军的攻击,沿长江东进则需要通过孙权军刚刚占领的夷陵、江陵等地。二是关羽失败的太快,主要据点一下子全部丢失,使关羽失去了利用坚固城池防御以待援军可能。 5. 孙权为什么要突然背弃与刘备的盟约偷袭关羽? 在公元208年赤壁之战的时候,孙刘两家是如此的关系密切,可以说达到了唇齿相依的地步。仅仅才过了十一年,两家就翻脸为仇,这真是验证了一句名言:世界上没有永远的朋友,只有永远的利益。就是关系双方今后生存、发展的重大利益导致了这次偷袭行动。 双方在荆州地区有什么利益能使两家不惜以兵戎相间呢?分析如下: 第一, 荆州地区特殊而极为重要的军事地理位置是这次行动的最根本原因。如果了解军事地理学就会明白,荆州地区在地理上对双方乃至三方都是非常重要的: 对孙权方面来说:荆州的归属关系到江东根据地的安危,是决定生死存亡的关键所在。根据军事地理学和历史的经验,守江东则必须守荆州。荆州地处江东的上游,据有荆州就与江东共享长江天险,江东所依赖的天然屏障就不复存在了。而自荆州顺流而下,具有地利上的优势,是进攻江东最好的基地。历史上多次进攻江东的成功战例大部分是由荆州发起的。所以荆州对于孙权集团来说,是必须争夺的。 对刘备方面来说:荆州即是益州的东大门,又是实现诸葛亮“隆中对”中占有荆益两州,两路夹击魏国战略的基本保证。失去荆州,虽然对益州并不构成太大的威胁,但毕竟是使益州在东面直接与敌人相连了,而最关键的是。丢失了荆州,就只剩下自汉中一条进攻魏国的路线,基本失去了战略上的主动权。诸葛亮“北伐中原,光复汉室”的计划已经没有实现的可能了。 对曹操方面来说:荆州即是防守中原的南大门,又是进攻江东的重要基地。在防御阶段,只要能保有荆州,哪怕是一部分,就可以保障中原地区南面的安全。在进攻阶段,据有荆州,则能够较便利地顺流而下,消灭江东的敌人。因此,曹操方面在针对孙刘联军的整个漫长战线上,确立了三个战略要点:东线的合肥、南线的襄阳和西线的祁山。 但是,三家之中,荆州对孙权方面是最重要的,因为它关系的是生存的问题。这才是孙权为什么要偷袭关羽的最关键原因。 以上问题在饶有文先生的《布局天下》一书中论述的很详尽。 第二, 刘备集团的不断发展、壮大,使孙权感到了严重的威胁,是这次行动的次重要的原因。 在孙刘刚开始联合的时候,孙权对刘备是非常好的。不仅在刘备最危急的关头,冒着可能一起牺牲的危险,挺身而出挡住了曹操对刘备的穷追猛打,又在刘备发展困难的时候,将荆州(最重要的南郡)借给刘备,使其能够逐步向西发展壮大,还将年轻的妹妹嫁给刘备。应该讲是很够意思的。但是后来为什么又偷袭荆州,与刘备翻脸呢? 最主要的是,开始的时候,刘备力量弱小,对孙权不构成威胁,等到刘备占领了益州、应该说实力已经与孙权比较接近了。这个时候,孙权就感到来自荆州的威胁了,何况荆州的守将还是威名远扬而又对孙权不友好的关羽。所以当刘备刚占据益州,孙权就马上向刘备讨还荆州了。 在关羽进攻襄樊的时期,是蜀军力量最强大的一个阶段。刘备在四川有10.5万人,刘封在上庸有1万人,关羽在荆州有4.5万人,合计有16万的兵力呀。 在讨还荆州失败后,孙权是一直在等待机会来夺回荆州。而关羽的出击行动正好给了孙权这样的机会。孙权偷袭荆州也就是必然的了。 第三, 孙权经过与魏国的连年作战,发现仅依靠自己的力量就能够达到保守江东的目的(实际上在这个时期,吴国基本上是独自与曹军作战)。而要想进入中原地区作战,自己的陆军还是与曹操的精锐陆军有相当的差距。所以孙权就采取了与曹操讲和的手段,以减少与曹操的冲突。同时也就降低了孙刘联盟的重要性。所以在吕蒙建议偷袭荆州时,孙权根本就没有犹豫,马上批准了这一计划。 6. 关羽的部队为何如此容易溃散和投降? 关羽在遭到孙权偷袭,丢失了基地以后,手中还有3万多的军队(包括部分水军后后来从江陵、公安抽调的援军)。为什么在向南撤退的时候,竟然已经基本没有什么战斗力,最后溃散到关羽仅剩十几名骑兵的境地呢? 而且关羽安排留守江陵、公安等重镇的将领均很快就投降了孙权,连让他回军增援的机会都没有。这恐怕需要从关羽的为人、带兵水平、部将的任用以及环境等方面来探讨了。 第一, 关羽的为人,史料记载是对上层人员(士大夫,也包括将领)比较傲慢和苛刻,而对士兵是很关心的。他经常训斥处罚部下将领,看不起他们,认为世界上只有自己水平最高,结果,许多部将对其心怀不满,平常也不向关羽表达内心的情绪,在关键的危急时刻,恶果就显现出来了。 第二, 关羽本来对士兵很好,但是这些士兵大部分是荆州本地人(真正的精锐都被刘备和诸葛亮等带去四川了),一听说后方被敌人占领,他们就只关心其家人是否安好。而孙权、吕蒙正好利用了这一点,对关羽士兵的家属都很好,并且利用信使之口将这些情况传给了这些士兵。结果士兵均无心作战,全都溃散逃跑回家了。 第三, 关羽的士兵作战能力一般,也没有为其拼死作战的信念,中级指挥官的水平也较差,根本控制不住部队。关羽的部队在这次战役中并没有打赢什么激烈的战斗,除了开始第一阶段利用大水用水军包围消灭了于禁的陆军(没有经过什么激战,因为于禁的3万多人差不多都投降了),第二阶段攻城没有什么进展,第三阶段还被增援的魏军击败。 第四, 士兵的训练水平也不高。士兵训练水平的高低集中体现在部队处于逆境中的时候。在这种逆境中,如果部队还能够保持稳定和战斗力,就证明其训练水平高。而如果只是在打顺了的时候战斗力强,遇到挫折或危急情况就发生混乱和逃跑,则说明部队的训练水平一般。
  • 安德鲁·瓦尔德:失序的稳定:中国的政权为什么有力量

    cuthead(2701) 2011-01-06 09:32:09
    程序 安德鲁·瓦尔德:失序的稳定:中国的政权为什么有力量 提交者: 人文与社会 日期: 2010/07/13 阅读: 55 来源:《国外理论动态》2010年第6期 Tag: 安德鲁·瓦尔德 张文成 美刊《当代历史》2009年9月号刊登了斯坦福大学社会学教授安德鲁·瓦尔德题为《失序的稳定:中国的政权为什么有力量》的文章。文章将中国改革开放的前10年与后20年进行了对比研究,指出最近20年的发展已经使现在的中国具有了以下四个方面的特点:渐进经济改革战略已经取得成效,整个政治发展轨迹非常有利,中国青年人表现出强烈的民族自豪感,中国领导人对国家发展方向的看法高度一致。而这些特点正是保证中国在经济迅猛发展的同时得以保持政治稳定的重要原因。文章内容如下。 中国的经济记录引人瞩目,这里毋需多言。但是过去十年来在经济问题上出现的抗议浪潮和最近中国西部地区少数民族的骚乱事件,促使一些人认为,这个政权也许正在进入一个高度不稳定的时期,一个20年的经济快速发展和政治秩序稳定的时期也许将要结束。 毫无疑问,当今中国是一个相对有争议的社会,这个国家似乎过分注意维持政治秩序。中国的核心政治制度改革与30年前经济改革开始时基本上一样,确实也没有取得什么进展。然而,与其改革头十年时相对吵吵闹闹、四分五裂的状况相比,中国的整个政治形势对这个政权更有利了。 当然,20年前的中国处境非常糟糕。这个国家在国际上陷入了孤立,经济急剧衰退长达数年之久。 尤其从四个方面来讲,今天的中国已经今非昔比。 第一,中国的渐进经济改革战略已经取得了成效,这一点现在已经看得很清楚了。而在80年代期间,这个战略能否成功还根本不清楚,至少在农业领域之外是如此。 第二,考虑到很多后共产主义国家出现的严重问题,中国的整个政治发展轨迹现在看上去非常有利。而80年代末,与开始政治改革的其他共产主义政权相比,中国的政权看上去既僵化又缺少进步。 第三,受过教育的中国青年人现在表现出一种强烈的民族自豪感,有时表现出一种防御性爱国主义。而20年前更为常见的是对共产党制度合法性的严重质疑。 最后,今天的中国党的领导人对国家发展方向的看法高度一致。而整个80年代,他们在经济改革和政治自由化问题上存在严重分裂。 一、不确定的时期 我们现在对中国的经济崛起已经习以为常,几乎忘记了中国在经济改革头十年期间所存在的对改革前景的严重怀疑。到80年代结束时,中国的经济改革实际上还没有超出农业领域,当时这个国家只是通过放弃苏联式的农业集体制度就取得了令人震惊的最初成就。农民收入迅速增加,城市农产品供应也随之迅速增加。此时中国农业改革是社会主义世界中最激进的。然而,当时普遍认为,这也是最容易的部分,而且只是第一步。 最棘手的改革任务还需要有效地加以解决–这就是如何改革庞大的效率低下的国有工业部门。显然,工业企业需要裁员、重组并置于真正的竞争压力之下,但是这会使国家失去对重要经济部门的控制。而且由于裁员有违社会主义主要原则,这样做会引起社会动荡并在政治上遭到反对。在整个80年代,还不清楚党的领导人是否能凝聚起政治力量进行这种史无前例的改革;如果他们真的进行尝试,也不清楚中共是否能经受起可能由此产生的政治后果。 还有充满危险的价格改革问题。在一个短缺经济中,放开消费和生产价格可能造成实际通货膨胀迅速上升,而且通胀对稳定的破坏性影响在1988年和1989年初的中国城市里已经明显可见。正如中国的领导人痛苦地意识到的那样,80年代开始时波兰消费价格的飞涨导致了团结工会运动。我们应当记得历史上还没有一个社会主义政权试图在这种时刻转向市场导向型经济,人们也不清楚这样做是否有利,执政的共产党能否经受住这种转变。 人们也很容易忘记,80年代末,中国的政治发展轨迹似乎远远落后于苏联集团的进步改革,这让许多学生、知识分子、思想开明的党员恼火。1988年,在波兰、匈牙利,最重要的是苏联,出版自由、民主化甚至竞争性选举的趋势已经清晰可见。而在中国城市里甚至党和政府里,许多人目睹着这些发展,充满嫉妒。 我们也应当记得,此时,东南亚的邻国正在摆脱长期的独裁统治:1986年是菲律宾,1987年是韩国。当时,在中国的很多人看来,这个国家的政治安排看起来越来越落后于时代,运作混乱,而且与党的领导人表面上追求市场导向型经济快速增长的努力不协调。 二、躁动的年轻人 80年代的另一个特点,是很多中国青年和知识分子看什么都不顺眼。那十年伊始,一个引人瞩目的现象是对共产党和社会主义的”信任危机”。大学校园里弥漫着自由主义的怀疑气氛,弥漫着对民主哲学和西方文明制度的好奇。20-30岁的一代中国人只受过断断续续的教育,其中很多人在农村经历了”上山下乡”生活,他们充满怀疑和造反精神。很多自由主义知识分子也加入到普遍的骚动之中。 这是一个正在从文化大革命的恐惧中恢复过来的社会,还在探索那场漫长的民族灾难的根源。当时,很多人对党的显而易见的自我辩护持不同意见–党认为这场灾难是一小撮被斥责为”四人帮”的坏领导造成的。很多人确信,中国民族灾难的根子在于其一元化的政治制度和占统治地位的意识形态。 最后,80年代的中国领导人在经济改革和政治自由化问题上陷入深刻而常常是非常严重的分裂。很多领导人把经济改革视为对政权的威胁和对社会主义基本信条的违反。这些保守派人士不理解中国为什么就不能简单地转向在苏联启发下搞的那套新型计划办法–这套办法在50年代、在毛泽东轻率的极端主义做法把一切都搞乱之前还是相当有效的。而领导层中的改革者推进政治自由化和开放的尝试在党的最高层导致了派别斗争。 这种经常调整的结果是政策突变,例如在强调放开和改革之后,批判和收紧接踵而至。党的领导人邓小平在对立的两派之间居间调停,一会儿站在这派一边,一会儿站在那派一边,希望引导分裂的领导层走中间路线,把市场改革牢牢地掌握在党的领导之下。这些冲突都暴露在那些政治上觉醒的青年人、知识分子和党员面前。 三、真正的风暴 中国80年代长期存在的上述四个特征在1989年春天交织在一起,酿成了一场政治危机–这场危机可以被比喻为一场真正的风暴。80年代看什么都不顺眼的青年文化在四、五月份的学生抗议活动中充分表现出来。 学生们所采用的言辞和象征表明他们对西方民主模式非常熟悉,而且对这些模式的功效及其作为解决中国问题的办法的潜能表现出几乎是幼稚的信任。学生们表达了这样一种看法,即中国正在落后于世界民主趋势,他们希望能在更加自由化和民主化的方向上影响领导人中的政治平衡。 知识分子、记者、报刊编辑甚至政府官员最终对天安门广场上演的一幕作出了同情性的回应。他们中间的很多人对政治自由化的停滞感到沮丧。他们加入到抗议队伍中,呼吁政府与学生领袖和平对话,很多人还要求出版自由以及其他民主权利。他们知道出版自由在波兰、匈牙利甚至苏联已经广泛实现,竞争性选举已经被提上这些国家的日程,他们认为中国理所当然地应当与这些世界潮流保持一致。 抗议学生反映了广大民众对经济改革对城市生活的影响的担忧。官方的通货膨胀率在1988年和1989年初超过了25%,随着价格马上放开的谣传的扩散,出现了抢购风。人员臃肿的城市企业小心翼翼地裁减工人的第一批尝试也造成了忧虑,党政官员的腐败行为和追求特权的现象的明显增加激起了愤怒,随着学生高呼要求公开、对话和铲除官员腐败的口号,这些担忧得到了强烈的共鸣。 四、中国的”里根″一代 如果与20年前相比,我们会看到一个非常不同的中国。看什么都不顺眼的青年文化已成为过去,文化大革命的政治后遗症已经过了两代人。现在,党员身份在年轻人尤其是受过高等教育和向上流动的人中间流行。在一个高度竞争的环境中,党员身份是打开更大机会大门的另一张介绍信。在政府中工作常常更受青睐,而在中国大规模的充满活力的私营企业中工作则风险较大。如果说看什么都不顺眼的中国80年代在很多地方与美国”60年代”相似,那么目前的一代中国青年人在很多方面与美国80年代的”里根一代”相似。 今天的中国年轻人非常务实,追求职业发展,爱国,这些特点在80年代的年轻人身上很少看到。大多数青年人出生在1989年事件之后,对那些年里的冲突了解有限甚至不感兴趣。过去十年来,他们在政治上非常活跃,但主要表现在抗议有偏见的日本教科书、北约对中国驻贝尔格莱德大使馆的轰炸、对东海上狭小的钓鱼岛的国家主权要求,或外国政府和媒体在北京奥运会前夕对中国处理西藏事件的批评。这是感到中国崛起和与之而来的民族自豪感的一代人。 五、稳定的力量 现在,中国知识分子和受过教育的其他城里人认为,中国的政治发展轨迹与其前社会主义同伴相比不再是不利的了。而在80年代末,社会主义世界处在民主制度戏剧般的突破有望取得胜利的边缘,而中国领导人思想迂腐,犹豫不决,不敢冒险。过去20年的转变促成了一种比较清醒的现实主义。 在世界上的30多个后共产主义政权中,不足一半现在是稳定的多党民主国家。除蒙古之外,这些成功的社会都是民族单一的小国,地处欧盟的东部边缘。其他国家要么还是严厉的独裁政权,要么还是严重腐败的不自由的政权,它们推进民主的尝试大多都落空了。在有些情况下,民主化尝试导致了民族国家的瓦解:苏联和南斯拉夫是主要例子。在另一些情况下,转轨引发了民族主义暴力或内战。 而且在几乎所有情况下,在政治革命过程中向市场经济转变的尝试引起了将近十年的严重萧条。很多经济体包括俄罗斯直到最近才走出困境。具有讽刺意味的是,在这组国家中,人均国内生产总值实现迄今最大最持久增长的两个国家仍然实行共产党统治,即中国和越南。 现在,在政治稳定与经济社会进步之间保持平衡的观点的吸引力远远超过了80年代。将多党民主作为解决中国问题的灵丹妙药的热情已经过去,它已经被一种对向不同政治体制跃进的潜在成本的比较清醒的认识所取代。 中国自90年代以来迅速而没有通胀的经济发展记录今天已众所周知。然而,同样重要的是这样一个事实,即一度被认为是中国渐进改革战略最大障碍的因素现在已经成为过去。中国自90年代中期以来已经系统地缩小和改组了其臃肿的国有部门,后者1997年雇用了1.1亿人,现在还不到6000万人。 在重组过程中,4000万固定雇员下岗或退休,这确实引发了抗议浪潮,但裁减现在已经结束。中国领导人不仅能集中政治意志做很多观察家在80年代初还认为根本不可能做的事情,他们还经受了各种风雨考验,而且相对而言几乎没有什么政治影响。 六、一种一致的看法 80年代国家领导人之间曾经存在的严重分歧今天几乎荡然无存。现在,中国领导人在国家发展模式上高度一致,这个模式将一党统治和有限政治自由化与市场改革、渐进私有化和深度参与国际经济的国家主义观点结合在一起。 天安门事件和共产主义政权随后在全球的瓦解,反而强化了这种团结感。确实,现在在上层几乎找不到80年代那种严重的政策分歧,80年代那种政策逆转和走走停停的模式已经有十多年看不到了。这是一个更加充满信心、更加团结的国家领导集体,但他们仍然对确保政治秩序非常谨慎。 七、今天的抗议 过去10-15年影响中国的抗议浪潮已经大不相同。它们很少集中在最大的城市。大学生、受过教育的青年人和知识分子都不积极参加。大学生走上街头通常是而且主要是为了表达爱国情绪和对外国势力的愤怒。由于企业裁员而引发的蓝领工人抗议浪潮也不集中在大城市,相反,它们分散在全国各地,集中在衰落的”夕阳工业区”(rust belt)–以50年代的苏式工厂、内地三线企业或东北地区为中心。农民抗议同样普遍,主要分散在偏远地区和城郊农村。 这些抗议主要是由地方经济问题引起的:例如在国有企业重组或出售过程中不给下岗工人支付已经答应的补偿金或养老金;乡镇政府向农民征收的税费太多;为了工商业开发项目不公正地征用农民或城市居民的土地。 这些抗议的矛头指向地方官员,它们引用国家法律,指责地方政府腐败或渎职。抗议活动领导人把上级政府作为解决问题的救星,他们抗议的主要目的是保证公平执法,他们声称这些法律遭到粗暴的践踏。在这些斗争中,寻找上级政府帮助是共同现象。 八、不可避免的纠纷 地方抗议活动猛增,据报道,2005年发生了8万起。这些抗议活动是中国社会经济过去20年深刻变化的结果。在集体经济时期,村干部控制收获,管理土地,分配收入。随着家庭承包制的实行,家庭掌握和经营自己的土地,农村干部不得不通过征收税费为政府活动筹集资金。这就不可避免地在征地和土地权利问题上造成冲突,在一个根本没有旨在公平调节这种纠纷的政府征地法律制度的国家,尤其如此。 同样,在过去的社会主义经济制度下,就业权利及有关的养老金和津贴是有保障的。当工人在缺乏控制而且常常明显地偏向干部和管理人员的裁员、重组和私有化浪潮中被剥夺权利时,冲突是不可避免的。中国基本上缺乏成熟的市场经济用几代人时间才建立起来的有助于调节这种冲突的法律框架或工会和政府机构。 在这期间,中国的发展模式迫使全国各地的官员与国营或民营工商企业建立牢固的联盟,这常常使他们成为集体抗议、批评腐败和冲突的目标。 这是一幅与80年代截然不同的政治社会图景。那十年,农民由于实行家庭承包责任制,收入增加了,所以农村抗议活动少见。城市工人虽然受到通胀的打击,担心将来下岗,但是他们的工作权利还有保障。80年代的抗议集中在大城市,矛头直指中央政府。今天的抗议分布广泛,但矛头直指地方官员和企业管理人员。 近几个月,西藏和新疆少数民族动乱重新抬头。这些问题虽然很严重,根子很深,但是发生在偏远地区。这些社会动乱给中央政府提出了政策问题,但是它们几乎没有构成80年代集中在北京和其他大城市所形成的那种政治挑战或政治危机–那时的运动经常威胁到分裂的中国领导层。 九、在司机座位上 有的观察员把目前的大量抗议活动视为政权危机的先兆,似乎抗议活动的数量决定了抗议活动在全国的影响。有时还可以听到这样的推测,即农村的普遍不满对于一个靠农村游击队造反起家的政权不是一个好兆头;有人警告说前国民党政权的命运可能将落到共产党人身上。这是对中国现代历史的清醒反思,但是我们可能记得在农民动员起来形成革命力量之前,中国出现了革命游击队造反、大规模外国入侵和军事占领。 有的观察家把抗议浪潮与中国不平等程度的上升联系起来–可以肯定,不平等达到了40年代末以来从未有过的水平,现在常常听到说中国是世界上最不平等的社会之一。诚然,70年代末以来,中国的整个不平等程度上升了,那时国民不平等指标例如收入分配基尼系数为0.32,与台湾当时的水平相当。到90年代末,中国的这一指数迅速上升到0.45,而且现在仍然处于这一水平。 不过,说这种水平高得异常是不符合实际的。拉丁美洲的收入分配不平等水平也长期很高,而很多非洲国家的基尼系数比中国还高。最近的数据表明,中国的收入不平等水平在90年代末达到顶点,此后有所降低。不管怎样,不平等本身与政治不满没有直接联系–中国最近的调查表明,公民对当前不平等的感受远不如波兰这样的国家的公民强烈,可后者的收入水平状况比中国好多了。原因在于很多中国公民近年来经济状况有所改善,而且预期今后还有机会改善。 上述通常被视为显示政治不稳的预兆并不像有些人声称的那样严重。在一个大规模转型的社会中,在一个政权比经济改革头十年还稳定、民众支持比那时还多的情况下,它们是经济冲突的症状。中国的政治变革仍然是一个漫长的事情,推动这种变革的力量与20年前颠覆众多经济上停滞不前并且失去合法性的共产党政权的力量根本不同–那些力量曾经在1989年对中国政权形成了短暂的威胁。 可以肯定,过去30年的改革造成了严重的经济冲突。长期采用压制而不是其他措施解决这些冲突的状况可能最终导致民众再次把矛头直接对准中央。不过,眼下,民众抗议最多只会对中国政府建立新的公正裁判冲突的制度造成压力。