Computational Complexity of Game and Puzzles

Total Page:16

File Type:pdf, Size:1020Kb

Computational Complexity of Game and Puzzles Computational Complexity of Games and Puzzles Diogo Manuel dos Santos Costa Thesis to obtain the Master of Science Degree in Information Systems and Computer Engineering Supervisors: Prof. Lu´ıs Manuel Silveira Russo Prof. Alexandre Paulo Lourenc¸o Francisco arXiv:1807.04724v1 [cs.CC] 12 Jul 2018 July 2018 Abstract In this thesis, we survey techniques and results from the study of Complexity Theory and Games. We then apply these techniques to obtain new results for previously unstudied games. Our contributions in the games Hexiom, Cut the Rope, and Back to Bed may be helpful in further studies by exploiting structure common to several games. We also highlight some interesting paths for further study, related to uncertainty, that have yet to receive thorough study given their prevalence in today’s games. Keywords games, puzzles, complexity, reductions i Resumo Nesta tese, estudamos varias´ tecnicas´ e resultados da relac¸ao˜ entre a Teoria da Complexidade e Jogos. Usamos as tecnicas´ estudadas para obter novos resultados. As nossas contribuic¸oes˜ para com os jogos Hexiom, Cut the Rope e Back to Bed poderao˜ ser uteis´ para obter futuros resultados noutros jogos, porque tiram partido de estrutura comum a varios´ jogos que ainda nao˜ foram estudados. Tambem´ salientamos poss´ıveis direcc¸oes˜ para estudo adicional, especialmente em relac¸ao˜ a` incerteza, algo prevalente nos jogos modernos mas ainda pouco estudado. Palavras Chave jogos, puzzles, complexidade, reduc¸oes˜ iii Contents 1 Introduction 2 1.1 Motivation . .3 1.1.1 “Serious” Games . .4 1.1.2 Game Design . .4 1.2 Objectives . .5 1.3 Structure . .5 2 Background 7 2.1 Introduction to Complexity Theory and Important Results and Problems . .9 2.1.1 Basic Notions & Definitions . .9 2.1.2 Complexity Classes . 10 2.1.3 Membership, Hardness & Completeness . 11 2.1.4 Reductions . 13 2.1.5 Original Problems . 14 2.2 Related Work . 15 2.2.1 Partition & Packing Problems . 16 2.2.2 Hamiltonicity . 16 2.2.3 CircuitSAT & Nikoli games . 16 2.2.4 Video Games . 17 2.2.5 Non-Deterministic Constraint Logic . 18 2.2.6 Two Player Games of Perfect Information . 19 2.3 Frameworks . 19 2.3.1 Gadgets . 19 2.3.2 Circuit SAT . 20 2.3.3 3-CNFSAT . 20 2.3.4 Hamiltonian Cycle . 22 2.3.5 TQBF . 23 2.4 Example Proofs . 27 v 2.4.1 Akari . 27 2.4.2 Super Mario Bros. 31 2.4.3 The Legend of Zelda: A Link to the Past . 34 3 Results 39 3.1 Approach . 41 3.1.1 Circuit SAT . 41 3.1.2 3-CNFSAT . 43 3.1.3 TQBF . 43 3.1.4 NP and PSPACE ..................................... 44 3.2 Cut the Rope (3-CNFSAT) . 44 3.3 Hexagonal Akari (CircuitSAT) . 49 3.4 Offspring Fling (TQBF) . 52 3.5 Super Meat Boy . 55 3.6 Triangular Akari (CircuitSAT) . 58 3.7 HexCells (CircuitSAT) . 61 3.8 Hexiom (CircuitSAT) . 65 3.9 Back To Bed (TQBF) . 71 4 Final Remarks 79 4.1 Bloxorz - a Puzzle Game based on an “Easy” Mechanic . 81 4.1.1 Movement Complexity . 81 4.1.2 General Complexity . 83 4.1.3 Conclusion . 83 4.2 Guessing . 83 4.2.1 Guessing and Propagation . 84 4.2.2 Guessing and Co-NP . 84 4.2.3 Conclusion . 85 4.3 Puzzle games with Hidden Information - PSPACE and co-NP . 85 4.3.1 Games Against Nature . 85 4.3.2 Revealing Hidden Information. 85 4.3.3 PSPACE or Co-NP? . 85 4.3.4 Conclusion . 86 4.4 MaxSAT & Optimization . 86 4.4.1 MaxSAT . 86 4.4.2 Application to Games . 86 4.4.3 Conclusion . 87 vi 4.5 Conclusion . 88 A Instance Examples 95 A.1 Cut the Rope . 95 A.2 Hexagonal Akari . 96 A.3 Triangular Akari . 97 A.4 Offspring Fling . 98 A.5 Super Meat Boy . 103 A.6 HexCells . 104 A.7 Hexiom . 105 A.8 Back to Bed . 108 vii viii List of Figures 2.1 NP-Hardness framework from [1]................................. 21 2.2 PSPACE-Hard framework from [1]................................ 24 2.3 TQBF gadgets from [1]. ..................................... 25 2.4 Puzzle example. 28 2.5 Akari’s gadgets NP-Hard. 29 2.6 Super Mario Bros.’s gadgets from [1]............................... 33 2.7 Zelda’s crossover gadget from [1]. ............................... 35 2.8 Zelda’s door gadget from [1]. .................................. 36 3.1 Individual gate conversion to NAND gates only. 42 3.2 (x ⊕ y) _ (:x ^ z) before and after NAND conversion. 42 3.3 Crossover gadget using XOR gates. 42 3.4 Cut the Rope elements required for the proof . 45 3.5 Cut the Rope gadgets. 46 3.6 Lamp (center) propagating light. 49 3.7 Hexagonal Akari’s gadgets. 50 3.8 Offspring Fling’s movement and carrying constraints. 53 3.9 Offspring Fling’s toggle switch. 53 3.10 Offspring Fling’s gadgets. 54 3.11 Super Meat Boy mechanics. 56 3.12 Super Meat Boy gadgets. 57 3.13 Light propagation for triangular grids. ..
Recommended publications
  • Parity Games: Descriptive Complexity and Algorithms for New Solvers
    Imperial College London Department of Computing Parity Games: Descriptive Complexity and Algorithms for New Solvers Huan-Pu Kuo 2013 Supervised by Prof Michael Huth, and Dr Nir Piterman Submitted in part fulfilment of the requirements for the degree of Doctor of Philosophy in Computing of Imperial College London and the Diploma of Imperial College London 1 Declaration I herewith certify that all material in this dissertation which is not my own work has been duly acknowledged. Selected results from this dissertation have been disseminated in scientific publications detailed in Chapter 1.4. Huan-Pu Kuo 2 Copyright Declaration The copyright of this thesis rests with the author and is made available under a Creative Commons Attribution Non-Commercial No Derivatives licence. Researchers are free to copy, distribute or transmit the thesis on the condition that they attribute it, that they do not use it for commercial purposes and that they do not alter, transform or build upon it. For any reuse or redistribution, researchers must make clear to others the licence terms of this work. 3 Abstract Parity games are 2-person, 0-sum, graph-based, and determined games that form an important foundational concept in formal methods (see e.g., [Zie98]), and their exact computational complexity has been an open prob- lem for over twenty years now. In this thesis, we study algorithms that solve parity games in that they determine which nodes are won by which player, and where such decisions are supported with winning strategies. We modify and so improve a known algorithm but also propose new algorithmic approaches to solving parity games and to understanding their descriptive complexity.
    [Show full text]
  • CS601 DTIME and DSPACE Lecture 5 Time and Space Functions: T, S
    CS601 DTIME and DSPACE Lecture 5 Time and Space functions: t, s : N → N+ Definition 5.1 A set A ⊆ U is in DTIME[t(n)] iff there exists a deterministic, multi-tape TM, M, and a constant c, such that, 1. A = L(M) ≡ w ∈ U M(w)=1 , and 2. ∀w ∈ U, M(w) halts within c · t(|w|) steps. Definition 5.2 A set A ⊆ U is in DSPACE[s(n)] iff there exists a deterministic, multi-tape TM, M, and a constant c, such that, 1. A = L(M), and 2. ∀w ∈ U, M(w) uses at most c · s(|w|) work-tape cells. (Input tape is “read-only” and not counted as space used.) Example: PALINDROMES ∈ DTIME[n], DSPACE[n]. In fact, PALINDROMES ∈ DSPACE[log n]. [Exercise] 1 CS601 F(DTIME) and F(DSPACE) Lecture 5 Definition 5.3 f : U → U is in F (DTIME[t(n)]) iff there exists a deterministic, multi-tape TM, M, and a constant c, such that, 1. f = M(·); 2. ∀w ∈ U, M(w) halts within c · t(|w|) steps; 3. |f(w)|≤|w|O(1), i.e., f is polynomially bounded. Definition 5.4 f : U → U is in F (DSPACE[s(n)]) iff there exists a deterministic, multi-tape TM, M, and a constant c, such that, 1. f = M(·); 2. ∀w ∈ U, M(w) uses at most c · s(|w|) work-tape cells; 3. |f(w)|≤|w|O(1), i.e., f is polynomially bounded. (Input tape is “read-only”; Output tape is “write-only”.
    [Show full text]
  • NP-Completeness: Reductions Tue, Nov 21, 2017
    CMSC 451 Dave Mount CMSC 451: Lecture 19 NP-Completeness: Reductions Tue, Nov 21, 2017 Reading: Chapt. 8 in KT and Chapt. 8 in DPV. Some of the reductions discussed here are not in either text. Recap: We have introduced a number of concepts on the way to defining NP-completeness: Decision Problems/Language recognition: are problems for which the answer is either yes or no. These can also be thought of as language recognition problems, assuming that the input has been encoded as a string. For example: HC = fG j G has a Hamiltonian cycleg MST = f(G; c) j G has a MST of cost at most cg: P: is the class of all decision problems which can be solved in polynomial time. While MST 2 P, we do not know whether HC 2 P (but we suspect not). Certificate: is a piece of evidence that allows us to verify in polynomial time that a string is in a given language. For example, the language HC above, a certificate could be a sequence of vertices along the cycle. (If the string is not in the language, the certificate can be anything.) NP: is defined to be the class of all languages that can be verified in polynomial time. (Formally, it stands for Nondeterministic Polynomial time.) Clearly, P ⊆ NP. It is widely believed that P 6= NP. To define NP-completeness, we need to introduce the concept of a reduction. Reductions: The class of NP-complete problems consists of a set of decision problems (languages) (a subset of the class NP) that no one knows how to solve efficiently, but if there were a polynomial time solution for even a single NP-complete problem, then every problem in NP would be solvable in polynomial time.
    [Show full text]
  • Learning Board Game Rules from an Instruction Manual Chad Mills A
    Learning Board Game Rules from an Instruction Manual Chad Mills A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science University of Washington 2013 Committee: Gina-Anne Levow Fei Xia Program Authorized to Offer Degree: Linguistics – Computational Linguistics ©Copyright 2013 Chad Mills University of Washington Abstract Learning Board Game Rules from an Instruction Manual Chad Mills Chair of the Supervisory Committee: Professor Gina-Anne Levow Department of Linguistics Board game rulebooks offer a convenient scenario for extracting a systematic logical structure from a passage of text since the mechanisms by which board game pieces interact must be fully specified in the rulebook and outside world knowledge is irrelevant to gameplay. A representation was proposed for representing a game’s rules with a tree structure of logically-connected rules, and this problem was shown to be one of a generalized class of problems in mapping text to a hierarchical, logical structure. Then a keyword-based entity- and relation-extraction system was proposed for mapping rulebook text into the corresponding logical representation, which achieved an f-measure of 11% with a high recall but very low precision, due in part to many statements in the rulebook offering strategic advice or elaboration and causing spurious rules to be proposed based on keyword matches. The keyword-based approach was compared to a machine learning approach, and the former dominated with nearly twenty times better precision at the same level of recall. This was due to the large number of rule classes to extract and the relatively small data set given this is a new problem area and all data had to be manually annotated.
    [Show full text]
  • Generating Single and Multiple Cooperative Heuristics for the One Dimensional Bin Packing Problem Using a Single Node Genetic Programming Island Model
    Generating Single and Multiple Cooperative Heuristics for the One Dimensional Bin Packing Problem Using a Single Node Genetic Programming Island Model Kevin Sim Emma Hart Institute for Informatics and Digital Innovation Institute for Informatics and Digital Innovation Edinburgh Napier University Edinburgh Napier University Edinburgh, Scotland, UK Edinburgh, Scotland, UK [email protected] [email protected] ABSTRACT exhibit superior performance than similar human designed Novel deterministic heuristics are generated using Single Node heuristics and can be used to produce collections of heuris- Genetic Programming for application to the One Dimen- tics that collectively maximise the potential of selective HH. sional Bin Packing Problem. First a single deterministic The papers contribution is two fold. Single heuristics ca- heuristic was evolved that minimised the total number of pable of outperforming a range of well researched deter- bins used when applied to a set of 685 training instances. ministic heuristics are generated by combining features ex- Following this, a set of heuristics were evolved using a form tracted from those heuristics. Secondly an island model[19] of cooperative co-evolution that collectively minimise the is adapted to use multiple SNGP implementations to gener- number of bins used across the same set of problems. Re- ate diverse sets of heuristics which collectively outperform sults on an unseen test set comprising a further 685 prob- any of the single heuristics when used in isolation. Both ap- lem instances show that the single evolved heuristic out- proaches are trained and evaluated using equal divisions of a performs existing deterministic heuristics described in the large set of 1370 benchmark problem instances sourced from literature.
    [Show full text]
  • Computational Complexity: a Modern Approach
    i Computational Complexity: A Modern Approach Draft of a book: Dated January 2007 Comments welcome! Sanjeev Arora and Boaz Barak Princeton University [email protected] Not to be reproduced or distributed without the authors’ permission This is an Internet draft. Some chapters are more finished than others. References and attributions are very preliminary and we apologize in advance for any omissions (but hope you will nevertheless point them out to us). Please send us bugs, typos, missing references or general comments to [email protected] — Thank You!! DRAFT ii DRAFT Chapter 9 Complexity of counting “It is an empirical fact that for many combinatorial problems the detection of the existence of a solution is easy, yet no computationally efficient method is known for counting their number.... for a variety of problems this phenomenon can be explained.” L. Valiant 1979 The class NP captures the difficulty of finding certificates. However, in many contexts, one is interested not just in a single certificate, but actually counting the number of certificates. This chapter studies #P, (pronounced “sharp p”), a complexity class that captures this notion. Counting problems arise in diverse fields, often in situations having to do with estimations of probability. Examples include statistical estimation, statistical physics, network design, and more. Counting problems are also studied in a field of mathematics called enumerative combinatorics, which tries to obtain closed-form mathematical expressions for counting problems. To give an example, in the 19th century Kirchoff showed how to count the number of spanning trees in a graph using a simple determinant computation. Results in this chapter will show that for many natural counting problems, such efficiently computable expressions are unlikely to exist.
    [Show full text]
  • 13. Mathematics University of Central Oklahoma
    Southwestern Oklahoma State University SWOSU Digital Commons Oklahoma Research Day Abstracts 2013 Oklahoma Research Day Jan 10th, 12:00 AM 13. Mathematics University of Central Oklahoma Follow this and additional works at: https://dc.swosu.edu/ordabstracts Part of the Animal Sciences Commons, Biology Commons, Chemistry Commons, Computer Sciences Commons, Environmental Sciences Commons, Mathematics Commons, and the Physics Commons University of Central Oklahoma, "13. Mathematics" (2013). Oklahoma Research Day Abstracts. 12. https://dc.swosu.edu/ordabstracts/2013oklahomaresearchday/mathematicsandscience/12 This Event is brought to you for free and open access by the Oklahoma Research Day at SWOSU Digital Commons. It has been accepted for inclusion in Oklahoma Research Day Abstracts by an authorized administrator of SWOSU Digital Commons. An ADA compliant document is available upon request. For more information, please contact [email protected]. Abstracts from the 2013 Oklahoma Research Day Held at the University of Central Oklahoma 05. Mathematics and Science 13. Mathematics 05.13.01 A simplified proof of the Kantorovich theorem for solving equations using scalar telescopic series Ioannis Argyros, Cameron University The Kantorovich theorem is an important tool in Mathematical Analysis for solving nonlinear equations in abstract spaces by approximating a locally unique solution using the popular Newton-Kantorovich method.Many proofs have been given for this theorem using techniques such as the contraction mapping principle,majorizing sequences, recurrent functions and other techniques.These methods are rather long,complicated and not very easy to understand in general by undergraduate students.In the present paper we present a proof using simple telescopic series studied first in a Calculus II class.
    [Show full text]
  • Notes on Space Complexity of Integration of Computable Real
    Notes on space complexity of integration of computable real functions in Ko–Friedman model Sergey V. Yakhontov Abstract x In the present paper it is shown that real function g(x)= 0 f(t)dt is a linear-space computable real function on interval [0, 1] if f is a linear-space computable C2[0, 1] real function on interval R [0, 1], and this result does not depend on any open question in the computational complexity theory. The time complexity of computable real functions and integration of computable real functions is considered in the context of Ko–Friedman model which is based on the notion of Cauchy functions computable by Turing machines. 1 2 In addition, a real computable function f is given such that 0 f ∈ FDSPACE(n )C[a,b] but 1 f∈ / FP if FP 6= #P. 0 C[a,b] R RKeywords: Computable real functions, Cauchy function representation, polynomial-time com- putable real functions, linear-space computable real functions, C2[0, 1] real functions, integration of computable real functions. Contents 1 Introduction 1 1.1 CF computablerealnumbersandfunctions . ...... 2 1.2 Integration of FP computablerealfunctions. 2 2 Upper bound of the time complexity of integration 3 2 3 Function from FDSPACE(n )C[a,b] that not in FPC[a,b] if FP 6= #P 4 4 Conclusion 4 arXiv:1408.2364v3 [cs.CC] 17 Nov 2014 1 Introduction In the present paper, we consider computable real numbers and functions that are represented by Cauchy functions computable by Turing machines [1]. Main results regarding computable real numbers and functions can be found in [1–4]; main results regarding computational complexity of computations on Turing machines can be found in [5].
    [Show full text]
  • Nintendo Co., Ltd
    Nintendo Co., Ltd. Financial Results Briefing for the Nine-Month Period Ended December 2013 (Briefing Date: 1/30/2014) Supplementary Information [Note] Forecasts announced by Nintendo Co., Ltd. herein are prepared based on management's assumptions with information available at this time and therefore involve known and unknown risks and uncertainties. Please note such risks and uncertainties may cause the actual results to be materially different from the forecasts (earnings forecast, dividend forecast and other forecasts). Nintendo Co., Ltd. Consolidated Statements of Income Transition million yen FY3/2010 FY3/2011 FY3/2012 FY3/2013 FY3/2014 Apr.-Dec.'09 Apr.-Dec.'10 Apr.-Dec.'11 Apr.-Dec.'12 Apr.-Dec.'13 Net sales 1,182,177 807,990 556,166 543,033 499,120 Cost of sales 715,575 487,575 425,064 415,781 349,825 Gross profit 466,602 320,415 131,101 127,251 149,294 (Gross profit ratio) (39.5%) (39.7%) (23.6%) (23.4%) (29.9%) Selling, general and administrative expenses 169,945 161,619 147,509 133,108 150,873 Operating income 296,656 158,795 -16,408 -5,857 -1,578 (Operating income ratio) (25.1%) (19.7%) (-3.0%) (-1.1%) (-0.3%) Non-operating income 19,918 7,327 7,369 29,602 57,570 (of which foreign exchange gains) (9,996) ( - ) ( - ) (22,225) (48,122) Non-operating expenses 2,064 85,635 56,988 989 425 (of which foreign exchange losses) ( - ) (84,403) (53,725) ( - ) ( - ) Ordinary income 314,511 80,488 -66,027 22,756 55,566 (Ordinary income ratio) (26.6%) (10.0%) (-11.9%) (4.2%) (11.1%) Extraordinary income 4,310 115 49 - 1,422 Extraordinary loss 2,284 33 72 402 53 Income before income taxes and minority interests 316,537 80,569 -66,051 22,354 56,936 Income taxes 124,063 31,019 -17,674 7,743 46,743 Income before minority interests - 49,550 -48,376 14,610 10,192 Minority interests in income -127 -7 -25 64 -3 Net income 192,601 49,557 -48,351 14,545 10,195 (Net income ratio) (16.3%) (6.1%) (-8.7%) (2.7%) (2.0%) - 1 - Nintendo Co., Ltd.
    [Show full text]
  • Three-Dimensional Bin-Packing Approaches, Issues, and Solutions
    Three Dimensional Bin-Packing Issues and Solutions Seth Sweep University of Minnesota, Morris [email protected] Abstract This paper reviews the three-dimensional version of the classic NP-hard bin-packing, optimization problem along with its theoretical relevance and practical importance. Also, new approximation solutions are introduced based on prior research. The three-dimensional bin-packing optimization problem concerns placing box-shaped objects of arbitrary size and number into a box-shaped, three-dimensional space efficiently. Approximation algorithms become a guide that attempts to place objects in the least amount of space and time. As a NP-hard problem, three-dimensional bin- packing holds much academic interest to computer scientists. However, this problem also has relevance in industrial settings such as shipping cargo and efficiently designing machinery with replaceable parts, such as automobiles. Industry relies on algorithms to provide good solutions to versions of this problem. This research project adapted common approaches to one-dimensional bin-packing, such as next fit and best fit, to three dimensions. Adaptation of these algorithms is possible by dividing the space of a bin. Then, by paying attention strictly to the width of each object, the one-dimensional approaches attempt to efficiently pack into the divided compartments of the original bin. Through focusing entirely on width, these divisions effectively become multiple one-dimensional bins. However, entirely disregarding the volume of the bin by ignoring height and depth may generate inefficient packings. As this paper details in more depth, generally cubical objects may pack well but exceptionally high or long objects leave large gaps of empty space unpacked.
    [Show full text]
  • EA Supercharges Its Partner Program with New Titles from Independent Mobile and Social Game Developers
    EA Supercharges Its Partner Program with New Titles from Independent Mobile and Social Game Developers EA Partners Expands to Chillingo and Playfish to Help Independent Developers Publish on Fast-Growing Digital Platforms REDWOOD SHORES, Calif.--(BUSINESS WIRE)-- Electronic Arts Inc. (NASDAQ:ERTS) today announced that Chillingo and Playfish™ will offer publishing services to the fast-growing mobile and social gaming platforms to the independent development community. Following the successful and award-winning EA Partners program, EA will be expanding its partnership programs for Chillingo and Playfish furthering the delivery of fresh content to platforms such as the Apple App StoreSM, Google Android™ and Facebook®. Since its establishment in 2003, EA Partners has built a reputation for working with top-notch independent game developers, promoting both creativity and innovation amongst its global partners. Current partner titles include Epic Games and People Can Fly (Bulletstorm™), Crytek (Crysis®2), Valve (Portal 2), 38 Studios (Kingdoms of Amalur: Reckoning), Spicy Horse (Alice: Madness Returns™), Grasshopper Manufacture (Shadows of the Damned™), Paramount Digital Entertainment (Rango The Video Game), Trap Door (Warp), Funcom (Secret World) and Vanguard Games (Gatling Gears). EA partner studios also include Insomniac Games, Starbreeze Studios and Respawn Entertainment with forthcoming titles. "The EA Partners program has proven to be a phenomenally successful model. It is an all around win-win situation. The program allows EA to partner with some of the world's best console, PC and digital developers while providing those independent developers with a global distribution/publishing partner," said Bryan Neider, EA Games Label COO and General Manager of EA Partners.
    [Show full text]
  • Glossary of Complexity Classes
    App endix A Glossary of Complexity Classes Summary This glossary includes selfcontained denitions of most complexity classes mentioned in the b o ok Needless to say the glossary oers a very minimal discussion of these classes and the reader is re ferred to the main text for further discussion The items are organized by topics rather than by alphab etic order Sp ecically the glossary is partitioned into two parts dealing separately with complexity classes that are dened in terms of algorithms and their resources ie time and space complexity of Turing machines and complexity classes de ned in terms of nonuniform circuits and referring to their size and depth The algorithmic classes include timecomplexity based classes such as P NP coNP BPP RP coRP PH E EXP and NEXP and the space complexity classes L NL RL and P S P AC E The non k uniform classes include the circuit classes P p oly as well as NC and k AC Denitions and basic results regarding many other complexity classes are available at the constantly evolving Complexity Zoo A Preliminaries Complexity classes are sets of computational problems where each class contains problems that can b e solved with sp ecic computational resources To dene a complexity class one sp ecies a mo del of computation a complexity measure like time or space which is always measured as a function of the input length and a b ound on the complexity of problems in the class We follow the tradition of fo cusing on decision problems but refer to these problems using the terminology of promise problems
    [Show full text]