Грана
теори?е израчун?ивости
у
рачунарству
,
рачунарска теори?а комплексности
опису?е
скалабилност
алгоритама
, и инхерентну тешко?у у изналаже?у скалабилних алгоритама за специфичне
рачунарске проблеме
. Другим речима, теори?а комплексности одговара на пита?е
Када се величина улаза за алгоритам пове?ава, како се ме?а?у време извршава?а и мемори?ски захтеви, и ко?е су импликаци?е и тих промена?
Ова теори?а одре?у?е практичне границе онога шта
рачунари
могу да постигну.
Резултати теори?е комплексности су од знача?а и за науку и за привреду. Брзина и мемори?ски капацитет рачунара се стално пове?ава?у, али се пове?ава и количина података ко?а се анализира. Ако алгоритми нису скалабилни, тада чак и ?ако велика унапре?е?а у рачунарско? технологи?и понекад могу да доведу само до незнатних пове?а?а количине података ко?а може да се анализира.
Алгоритми и проблеми су категоризовани у
класе комплексности
. На?важни?е отворено пита?е у теори?и комплексности ?е да ли ?е класа
П
иста као класа
НП
, или ?о? ?е само подскуп, као што ?е опште увере?е. Ово ни?е само суво теори?ско разматра?е, ?ер убрзо након што ?е ово пита?е први пут постав?ено, откривено ?е да су многи важни индустри?ски проблеми из подкласе класе НП, ко?у називамо класа
НП-комплетних проблема
. НП-комплетни проблеми има?у сво?ство да се ?ихова реше?а могу брзо проверити, али тренутно посто?е?и методи за налаже?е тачних реше?а нису скалабилни. Ако ?е класа НП ?еднака класи П, онда посто?и скалабилно реше?е за све проблеме из класе НП. Ово ме?утим ?ош увек ни?е утвр?ено, и ?едно ?е од на?важни?их отворених пита?а у рачунарству данас.
[1]
Теори?а се сложености бави релативном рачунском тешко?ом
израчун?ивих функци?а
. Ово се разлику?е од
теори?е израчун?ивости
, ко?а се бави генералним пита?ем може ли се проблем решити, без обзира на захтеване ресурсе.
?едан ?проблем” ?е ?единствен скуп повезаних пита?а, при чему ?е свако пита?е
стринг
коначне дужине. На пример, проблем
ФАКТОРИЗИРА?
?есте: за дати цели бро? записан у
бинарном систему
, врати све
просте
факторе тог бро?а. По?единачно се пита?е зове
инстанцом
. На пример, ?да? факторе бро?а 15” ?е инстанца проблема
ФАКТОРИЗИРА?
.
Временска сложеност
проблема ?е бро? корака потребан да би се инстанца проблема решила као функци?а
величине улаза
(обично мереног у битовима) користе?и на?ефектни?и
алгоритам
. Да би се ово интуитивно разумело, може се размотрити пример инстанце дужине
n
битова ко?а може бити решена у
n
² корака. У овом примеру каже се да ?е проблем временске сложености
n
². Наравно, тачан ?е бро? корака зависи од кориштеног приступа. Како би се избегао та? проблем, користи се
велико О нотаци?а
. Ако проблем има временску сложеност O(
n
²) на ?едном типичном рачунару, тада ?е тако?е имати сложеност O(
n
²) на ве?ини других рачунара, тако да ова нотаци?а омогу?ава поопштава?е дета?а по?единачног рачунара.
Пример:
Коше?е траве има линеарну временску сложеност с обзиром да треба двоструко више времена како би се косило двоструко ве?е подруч?е. Ме?утим,
бинарно претражива?е
речника има свега логаритамску временску сложеност буду?и да двоструко ве?и речник треба бити отворен тек ?едан пут више (нпр. тачно у средини - тада се величина проблема сма?и за пола).
Просторна сложеност
проблема ?е повезан концепт, ко?и мери количину простора, или
мемори?е
ко?у алгоритам захтева. Неформална би аналоги?а била количина папира кориштеног за скицира?е приликом решава?а проблема оловком и папиром. Просторна се сложеност тако?е мери
великом О нотаци?ом
.
Различита мера сложености проблема, корисна у неким случа?евима, ?ест
сложеност склопа
. Ово ?е мера величине
буловског склопа
потребног за рачуна?е реше?а проблема, у терминима бро?а
логичких врата
захтеваних за изград?у склопа. Таква ?е мера корисна, на пример, приликом изград?е
склоповских микрочипова
за израчунава?е функци?е, ради?е него
програмске подршке
.
Класа сложености
?е скуп свих рачунских проблема ко?и се могу решити користе?и одре?ену количину одре?еног рачунског ресурса.
Класа сложености
P
?е скуп свих проблема одлуке ко?и могу бити решени
детерминистичком Т?уринговим машином
у
полиномном времену
. Ова класа одговара интуитивно? иде?и проблема ко?и могу бити делотворно решени у на?горим случа?евима.
[2]
Класа сложености
НП
?е скуп проблема одлуке ко?и могу бити решени
недетерминистичком Т?уринговом машином
у полиномном времену. Ова класа садржи многе проблеме ко?е би ?уди желели делотворно да реше, ук?учу?у?и
проблем буловске испу?ивости
,
проблем хамилтоновског пута
и
проблем прекрива?а врхова
. Сви проблеми у ово? класи има?у сво?ство да им се реше?а могу делотворно проверити.
[2]
Многе се класе сложености могу карактеризирати у терминима
математичке логике
потребних да би се изразили - ово се по?е зове
дескриптивна сложеност
.
Види ?ош: [[:Класе сложености P и NP]]
Пита?е истоветности скупова
NP
и
P
(т?. могу ли проблеми ко?и могу бити решени у
недетерминистичком
полиномном времену, решени у
детерминистичком
полиномном времену) ?е ?едно од на?важни?их отворених пита?а у теоретском рачунарству, с обзиром на широке импликаци?е ко?е би реше?е тог пита?а имало.
[2]
?една негативна последица ?е та да би се многи облици
криптографи?е
могли ?едноставно ?
разбити
” и стога постали бескорисни. Ме?утим, посто?але би и огромне позитивне последице, буду?и да би многи важни проблеми имали ефикасна реше?а. Такви проблеми ук?учу?у разне типове
целобро?ног програмира?а
у
операци?ским истражива?има
, многе проблеме у
логистици
,
предви?а?у структуре беланчевина
у
биологи?и
, те способности делотворног проналаже?а формалних доказа теорема у
чисто? математици
кориште?ем
рачунара
.
[3]
[4]
Кле?ов
математички институт
?е
2000
. обавио да ?е исплатити награду од
УСД$
1 000 000 прво? особи ко?а докаже реше?е.
[5]
Пита?а попут ових мотивира?у концепте
тежине
и
потпуности
. Скуп проблема
X
?е тежак за скуп проблема
Y
ако сваки проблем у
Y
може "лако" бити трансформиран у неки проблем у
X
ко?и производи реше?е. Дефиници?а ?лаког” ?е различита у различитим контекстима. Важан
тешки
скуп у теори?и сложености ?есте
NP-тежак
- скуп проблема ко?и нису нужно сами у
NP
, али на ко?е било ко?и
NP
проблем може бити сведен у полиномном времену.
Скуп
X
?е потпун за
Y
ако ?е тежак за
Y
, али ?е тако?е и подскуп од
Y
. Важан потпун скуп у теори?и сложености ?е
NP-потпун
скуп. Ова? скуп садржи ?на?теже” проблеме у NP, у смислу да су то они ко?и на?изгледни?е нису у P. Због чи?енице да проблем
P
=
NP
оста?е нерешен, сво?е?е би проблема на познати NP-потпун проблем индицирало да не посто?и познато временски полиномно реше?е за ?ега. Слично, буду?и да сви
NP
проблеми могу бити сведени на скуп, проналаже?е
NP-потпуног
проблема ко?и би могао бити решен у полиномном времену би значило
P
=
NP
.
[2]
Друго отворено пита?е везано за проблем
P
=
NP
?есте посто?е ли проблеми ко?и су у NP, али не и у P, ко?и нису NP-потпуни. Другим речима, проблеми ко?и треба?у бити решени у недетерминистичком полиномном времену, али не могу бити сведени на полиномно време из других недетерминистичких временски полиномних проблема. ?едан такав проблем, за ко?и се зна да ?е NP али не и да ?е NP-потпун, ?ест
проблем изоморфизма графа
- проблем ко?и покушава одлучити ?есу ли два
графа
изоморфна
(т?. деле ли иста сво?ства). Показано ?е да ако вреди
P
≠
NP
, да такви проблеми посто?е.
[7]
Где ?е
ко-NP
скуп ко?и садржи
комплементарне
проблеме (т?. проблем са инвертираним
да
/
не
одговорима) NP проблема. Веру?е се да те две класе нису ?еднаке, иако то досад ни?е доказано. Показано ?е да ако ове две класе нису ?еднаке, да тада следи да недан NP-потпун проблем не може бити у ко-NP, и ни?едан
ко-NP-потпун
проблем не може бити у NP.
[7]
- Arora, Sanjeev
; Barak, Boaz (2009),
Computational Complexity: A Modern Approach
, Cambridge University Press,
ISBN
978-0-521-42426-4
,
Zbl
1193.68112
- Downey, Rod;
Fellows, Michael
(1999),
Parameterized complexity
, Monographs in Computer Science, Berlin, New York: Springer-Verlag,
ISBN
9780387948836
[
мртва веза
]
- Du, Ding-Zhu; Ko, Ker-I (2000),
Theory of Computational Complexity
, John Wiley & Sons,
ISBN
978-0-471-34506-0
- Goldreich, Oded
(2008),
Computational Complexity: A Conceptual Perspective
, Cambridge University Press
- van Leeuwen, Jan
, ур. (1990),
Handbook of theoretical computer science (vol. A): algorithms and complexity
, MIT Press,
ISBN
978-0-444-88071-0
- Papadimitriou, Christos
(1994),
Computational Complexity
(1st изд.), Addison Wesley,
ISBN
978-0-201-53082-7
- Sipser, Michael
(2006),
Introduction to the Theory of Computation
(2nd изд.), USA: Thomson Course Technology,
ISBN
978-0-534-95097-2
- Khalil, Hatem;
Ulery, Dana
(1976),
?A Review of Current Studies on Complexity of Algorithms for Partial Differential Equations”
,
Proceedings of the Annual Conference on - ACM 76
, ACM '76: 197?201,
ISBN
9781450374897
,
S2CID
15497394
,
doi
:
10.1145/800191.805573
- Cook, Stephen
(1983),
?An overview of computational complexity”
(PDF)
,
Commun. ACM
,
26
(6): 400?408,
ISSN
0001-0782
,
S2CID
14323396
,
doi
:
10.1145/358141.358144
, Архивирано из
оригинала
(PDF)
22. 7. 2018. г.
, Приступ?ено
24. 10. 2017
- Fortnow, Lance; Homer, Steven (2003),
?A Short History of Computational Complexity”
(PDF)
,
Bulletin of the EATCS
,
80
: 95?133
- Mertens, Stephan (2002), ?Computational Complexity for Physicists”,
Computing in Science and Eng.
,
4
(3): 31?47,
Bibcode
:
2002CSE.....4c..31M
,
ISSN
1521-9615
,
S2CID
633346
,
arXiv
:
cond-mat/0012185
,
doi
:
10.1109/5992.998639
- Wuppuluri, Shyam; Doria, Francisco A., ур. (2020),
Unravelling Complexity: The Life and Work of Gregory Chaitin
, World Scientific,
ISBN
978-981-12-0006-9
,
S2CID
198790362
,
doi
:
10.1142/11270
- B.
Jack Copeland
ed. (2004),
The Essential Turing: Seminal Writings in Computing, Logic, Philosophy, Artificial Intelligence, and Artificial Life plus The Secrets of Enigma,
Clarendon Press (Oxford University Press), Oxford UK,
ISBN
0-19-825079-7
. Contains the Turing papers plus a draft letter to
Emil Post
re his criticism of "Turing's convention", and Donald W. Davies'
Corrections to Turing's Universal Computing Machine
- Martin Davis
(ed.) (1965),
The Undecidable
, Raven Press, Hewlett, NY.
- Emil Post (1936), "Finite Combinatory Processes?Formulation 1",
Journal of Symbolic Logic
, 1, 103?105, 1936. Reprinted in
The Undecidable
, pp. 289ff.
- Emil Post (1947), "Recursive Unsolvability of a Problem of Thue",
Journal of Symbolic Logic
, vol. 12, pp. 1?11. Reprinted in
The Undecidable
, pp. 293ff. In the Appendix of this paper Post comments on and gives corrections to Turing's paper of 1936?1937. In particular see the footnotes 11 with corrections to the universal computing machine coding and footnote 14 with comments on
Turing's first and second proofs
.
- Turing, A.M. (1936). ?On Computable Numbers, with an Application to the Entscheidungsproblem”.
Proceedings of the London Mathematical Society
. 2 (об?ав?ено 1937).
42
: 230?265.
doi
:
10.1112/plms/s2-42.1.230
.
(and
Turing, A.M. (1938). ?On Computable Numbers, with an Application to the Entscheidungsproblem: A correction”.
Proceedings of the London Mathematical Society
. 2 (об?ав?ено 1937).
43
(6): 544?6.
doi
:
10.1112/plms/s2-43.6.544
.
). Reprinted in many collections, e.g. in
The Undecidable
, pp. 115?154; available on the web in many places.
- Alan Turing, 1948, "Intelligent Machinery." Reprinted in "Cybernetics: Key Papers." Ed. C.R. Evans and A.D.J. Robertson. Baltimore: University Park Press, 1968. p. 31. Reprinted in
Turing, A. M. (1996). ?Intelligent Machinery, A Heretical Theory”.
Philosophia Mathematica
.
4
(3): 256?260.
doi
:
10.1093/philmat/4.3.256
.
- F. C. Hennie and
R. E. Stearns
.
Two-tape simulation of multitape Turing machines
.
JACM
,
.
13
(4): 533?546.
, 1966.
- Boolos, George; Jeffrey, Richard (1999) [1989].
Computability and
Logic
(3rd изд.). Cambridge UK: Cambridge University Press.
ISBN
0-521-20402-X
.
- Boolos, George; Burgess, John; Jeffrey, Richard (2002).
Computability and Logic
(4th изд.). Cambridge UK: Cambridge University Press.
ISBN
0-521-00758-5
.
Some parts have been significantly rewritten by Burgess. Presentation of Turing machines in context of Lambek "abacus machines" (cf.
Register machine
) and
recursive functions
, showing their equivalence.
- Taylor L. Booth
(1967),
Sequential Machines and Automata Theory
, John Wiley and Sons, Inc., New York. Graduate level engineering text; ranges over a wide variety of topics, Chapter IX
Turing Machines
includes some recursion theory.
- Davis, Martin
(1958).
Computability and Unsolvability
. McGraw-Hill Book Company, Inc, New York.
. On pages 12?20 he gives examples of 5-tuple tables for Addition, The Successor Function, Subtraction (x ≥ y), Proper Subtraction (0 if x < y), The Identity Function and various identity functions, and Multiplication.
- Davis, Martin; Sigal, Ron;
Elaine J. Weyuker
(1994).
Computability, Complexity, and Languages and Logic: Fundamentals of Theoretical Computer Science
(2nd изд.). San Diego: Academic Press, Harcourt, Brace & Company.
ISBN
0-12-206382-1
.
- Hennie, Fredrick (1977).
Introduction to Computability
. Addison?Wesley, Reading, Mass. QA248.5H4 1977.
. On pages 90?103 Hennie discusses the UTM with examples and flow-charts, but no actual 'code'.
- Hopcroft, John
;
Jeffrey Ullman
(1979).
Introduction to Automata Theory, Languages, and Computation
(1st изд.). Addison?Wesley, Reading Mass.
ISBN
0-201-02988-X
.
Centered around the issues of machine-interpretation of "languages", NP-completeness, etc.
- Hopcroft, John E.; Motwani, Rajeev; Jeffrey D. Ullman (2001).
Introduction to Automata Theory, Languages, and Computation
(2nd изд.). Reading Mass: Addison?Wesley.
ISBN
0-201-44124-1
.
Distinctly different and less intimidating than the first edition.
- Stephen Kleene
(1952),
Introduction to Metamathematics
, North?Holland Publishing Company, Amsterdam Netherlands, 10th impression (with corrections of 6th reprint 1971). Graduate level text; most of Chapter XIII
Computable functions
is on Turing machine proofs of computability of recursive functions, etc.
- Knuth, Donald E.
(1973).
Volume 1/Fundamental Algorithms: The Art of computer Programming
(2nd изд.). Reading, Mass.: Addison?Wesley Publishing Company.
. With reference to the role of Turing machines in the development of computation (both hardware and software) see 1.4.5
History and Bibliography
pp. 225ff and 2.6
History and Bibliography
pp. 456ff.
- Zohar Manna
, 1974,
Mathematical Theory of Computation
. Reprinted, Dover,
ISBN
978-0-486-43238-0
.
- Marvin Minsky
,
Computation: Finite and Infinite Machines
, Prentice?Hall, Inc., N.J., 1967. See Chapter 8, Section 8.2 "Unsolvability of the Halting Problem." Excellent, i.e. relatively readable, sometimes funny.
- Papadimitriou, Christos
(1993).
Computational Complexity
(1st изд.). Addison Wesley.
ISBN
0-201-53082-1
.
Chapter 2: Turing machines, pp. 19?56.
- Hartley Rogers, Jr.
,
Theory of Recursive Functions and Effective Computability
, The MIT Press, Cambridge MA, paperback edition 1987, original McGraw-Hill edition (1967)
ISBN
0-262-68052-1
(pbk.)
- Sipser, Michael
(1997).
Introduction to the Theory of Computation
. PWS Publishing.
ISBN
0-534-94728-X
.
Chapter 3: The Church?Turing Thesis, pp. 125?149.
- Stone, Harold S. (1972).
Introduction to Computer Organization and Data Structures
(1st изд.). New York: McGraw?Hill Book Company.
ISBN
0-07-061726-0
.
- Peter van Emde Boas
1990,
Machine Models and Simulations
, pp. 3?66, in
Jan van Leeuwen
, ed.,
Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity
, The MIT Press/Elsevier, [place?],
ISBN
0-444-88071-2
(Volume A). QA76.H279 1990.