Formal languages | Computational complexity theory

Unary language

In computational complexity theory, a unary language or tally language is a formal language (a set of strings) where all strings have the form 1k, where "1" can be any fixed symbol. For example, the language {1, 111, 1111} is unary, as is the language {1k | k is prime}. The complexity class of all such languages is sometimes called TALLY. The name "unary" comes from the fact that a unary language is the encoding of a set of natural numbers in the unary numeral system. Since the universe of strings over any finite alphabet is a countable set, every language can be mapped to a unique set A of natural numbers; thus, every language has a unary version {1k | k in A}. Conversely, every unary language has a more compact binary version, the set of binary encodings of natural numbers k such that 1k is in the language. Since complexity is usually measured in terms of the length of the input string, the unary version of a language can be "easier" than the original language. For example, if a language can be recognized in O(2n) time, its unary version can be recognized in O(n) time, because n has become exponentially larger. More generally, if a language can be recognized in O(f(n)) time and O(g(n)) space, its unary version can be recognized in O(n + f(log n)) time and O(g(log n)) space (we require O(n) time just to read the input string). However, if membership in a language is undecidable, then membership in its unary version is also undecidable. (Wikipedia).

Video thumbnail

Gender in the Italian Language

The concept of gender in language is difficult to grasp for English-speakers, because it just doesn't exist in English. But in other languages, some objects are masculine and some are feminine! It may sound kind of sexist, but that's Italian works, so we have to understand this to speak th

From playlist Italian

Video thumbnail

101 ADVANCED ENGLISH WORDS For Better Conversation : Random but Extremely Useful Vocabulary

Here are some everyday advanced words that all native speaker will no and use. There are not obscure terms. There is no jargon or slang. They are words that are common across all the English speaking work (British, American, Australian English etc) For 3 days I made notes of all the advanc

From playlist The 101 series: Pronunciation, phrasal verbs, binomials, idioms, vocabulary, expressions

Video thumbnail

Introduction to the Wolfram Language Part 1

This session will enable you to find what you can do with the Wolfram Language, and how to work with the Wolfram Language via the notebook interface. It also gives an introduction to various mathematical concepts within the Wolfram Language as a building block to start programming.

From playlist Introduction to the Wolfram Language

Video thumbnail

Clojure - the Reader and Evaluator (4/4)

Part of a series teaching the Clojure language. For other programming topics, visit http://codeschool.org

From playlist the Clojure language

Video thumbnail

Stephen Wolfram's Introduction to the Wolfram Language

Stephen Wolfram introduces the Wolfram Language in this video that shows how the symbolic programming language enables powerful functional programming, querying of large databases, flexible interactivity, easy deployment, and much, much more. To learn more about the Wolfram Language, visi

From playlist Wolfram Language

Video thumbnail

Clojure - the Reader and Evaluator (2/4)

Part of a series teaching the Clojure language. For other programming topics, visit http://codeschool.org

From playlist the Clojure language

Video thumbnail

Elementary Introduction To Wolfram Language - Machine Learning | Introduction | #datascience

Don’t forget to subscribe! This project series is an elementary introduction to the wolfram language. Developed by Wolfram Research, it is a multi-paradigm programming language. It is the language of the mathematical symbolic computation program Mathematica. It is scalable for programs

From playlist Elementary Introduction To Wolfram Language

Video thumbnail

What is Language? Enter Saussure (Part 2)

This is the second part of a series of videos on the nature of language. The aim of the series is to convey research findings to the general public. In this episode, we introduce Ferdinand de Saussure and talk about some of his revolutionary contributions to linguistics. Illustrated by L

From playlist What is Language?

Video thumbnail

1 Problem, 13 Languages

Count negative numbers in a sorted matrix using 13 programming languages! CREDITS: The original video was published on the code_report YouTube channel (https://www.youtube.com/channel/UC1kBxkk2bcG78YBX7LMl9pQ) and the channel owner provided Coding Tech the publication permissions.

From playlist Learn To Code

Video thumbnail

Live CEOing Ep 550: Language Design in Wolfram Language [Splice, Shuffles & WFR Submissions]

In this episode of Live CEOing, Stephen Wolfram discusses upcoming improvements and features to the Wolfram Language. If you'd like to contribute to the discussion in future episodes, you can participate through this YouTube channel or through the official Twitch channel of Stephen Wolfram

From playlist Behind the Scenes in Real-Life Software Design

Video thumbnail

[Rust Programming] Crafting Interpreters: Day 4

In this video we continue to look at the Crafting Interpreters book, and learn how to port it to Rust. Since I'm a Rust beginner, the intent is that it will help me learn the language more in-depth than before. The book: https://craftinginterpreters.com/contents.html Today we finished ch

From playlist Rust Ports

Video thumbnail

PROG2006: Haskell - effects, monoids, functors, applicative

PROG2006 Advanced Programming Haskell: effects (external vs. internal), monoids, functors, applicative Overview of unary/binary, associative binary, identity element. Introduction to monoids, functors and applicative.

From playlist PROG2006 - Programming

Video thumbnail

Lecture 23 | Programming Paradigms (Stanford)

Lecture by Professor Jerry Cain for Programming Paradigms (CS107) in the Stanford University Computer Science department. In this lecture, Prof. Cain discusses memory models in Scheme programming language by giving several detailed examples. Programming Paradigms (CS107) introduces sev

From playlist Lecture Collection | Programming Paradigms

Video thumbnail

The C programming language (unit 2) - 2 of 5 (old version; watch new version instead)

A continuation of discussing the C programming language. This unit goes more into depths on pointers and arrays. Visit http://codeschool.org

From playlist The C language (unit 2)

Video thumbnail

LA Ruby Conference 2011 - Keynote with Evan Phoenix

Developing a Language Help us caption & translate this video! http://amara.org/v/FNkF/

From playlist Los Angeles Ruby Conf 2011

Video thumbnail

Operators In C Programming | Arithmetic And Logical Operators In C | C Programming | Simplilearn

This video by Simplilearn will explain to you about Operators In C Programming. This Operators In C Programming tutorial will help you learn Arithmetic, Relational, Logical Operators In C, bitwise, and assignment operators in C. This C programming tutorial will cover both theoretical and p

From playlist C++ Tutorial Videos

Video thumbnail

[Rust Programming] Crafting Interpreters: Day 6

In this video we continue to look at the Crafting Interpreters book, and learn how to port it to Rust. Since I'm a Rust beginner, the intent is that it will help me learn the language more in-depth than before. The book: https://craftinginterpreters.com/contents.html Today we did some re

From playlist Rust Ports

Video thumbnail

Human Anatomy with the Wolfram Language

This is my new YouTube series on human anatomy using the Wolfram Language. Data and visual representations of anatomical objects are available in the Wolfram Language and are easy to interact with in Mathematica. This is the introductory video, in which I motivate why you would want to u

From playlist Human Anatomy

Video thumbnail

Speak English like a native: How to use gonna, wanna, gotta, oughta

In this video you'll learn how to use gonna, wanna, gotta and oughta. When to use them and when not to use them in both formal and informal English. Subscribe here for more great English language videos from LetThemTalkTV http://www.youtube.com/user/letthemtalkparis?sub_confirmation=1 L

From playlist Speak English like a native

Related pages

Recursive language | P/poly | Prime number | Kleene star | Regular language | Countable set | String (computer science) | Natural number | Unary numeral system | Computational complexity theory | Sparse language | Formal language | Complexity class