Информатика

Q & A для студентов, исследователей и практиков информатики

4
Почему в регулярных выражениях нет перестановок? (Даже если обычные языки, кажется, могут это сделать)
Проблема Нет простого способа получить перестановку с помощью регулярного выражения. Перестановка: Получение слово ( «ААБК») в другом порядке, без изменения числа или рода писем.w=x1…xnw=x1…xnw=x_1…x_n Regex: Регулярное выражение. Для подтверждения: «Перестановки регулярных выражений без повторения» Ответ создает код JavaScript вместо регулярного выражения, предполагая, что это будет более простым. «Как найти все …

2
Удаление левой рекурсии в грамматике при сохранении левой ассоциации оператора
У меня проблема с этим упражнением: Пусть G будет следующей неоднозначной грамматикой для λ-исчисления: E → v | λv.E | EE | (E) где E - единственный нетерминальный символ, λv.E представляет абстракцию относительно переменной v в E, а EE представляет приложение. Определите LL (1) грамматику G ′ так, что L …

2
MIN-2-XOR-SAT и MAX-2-XOR-SAT: они NP-сложные?
Какова сложность MIN-2-XOR-СБMIN-2-XOR-SAT\text{MIN-2-XOR-SAT} и MAX-2-XOR-СБMAX-2-XOR-SAT\text{MAX-2-XOR-SAT} ? Они в П? Они NP-хард? Чтобы формализовать это более точно, пусть Φ ( x ) = ∧NяСя,Φ(x)=∧inCi,\Phi\left(\mathbf x\right)={\huge\wedge}_{i}^{n}C_i, где х =( х1, … , Хм)x=(x1,…,xm)\mathbf{x} = (x_1,\dots,x_m) и каждое предложение СяCiC_i имеет вид ( хя⊕ хJ)(xi⊕xj)(x_i \oplus x_j) или ( хяX ¬ xJ)(xi⊕¬xj)(x_i \oplus …

2
Может ли любая NP-полная проблема быть решена с использованием не более чем полиномиального пространства (но при использовании экспоненциального времени?)
Я читал о NPC и его связи с PSPACE, и я хотел бы знать, могут ли проблемы NPC быть детерминированно решены с использованием алгоритма с наименьшим требованием к полиномиальному пространству, но потенциально с экспоненциальным временем (2 ^ P (n), где P - полиномиальный). Более того, может ли оно быть обобщено …

5
Есть ли какой-либо вариант использования для нижнего типа в качестве типа параметра функции?
Если функция имеет тип возврата of ( нижний тип ), это означает, что она никогда не вернется. Это может, например, выйти или бросить, обе довольно обычные ситуации. Предположительно, если функция имеет параметр типа ⊥, она никогда не сможет (безопасно) быть вызвана. Есть ли когда-нибудь причины для определения такой функции?

3
Какие другие языки программирования, кроме Python и предшественника, используют отступ для определения блоков кода? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он был по теме для Computer Science Stack Exchange. Закрыто 11 месяцев назад . Python довольно широко использует отступы для синтаксического определения блоков кода. (См. Составные операторы в …

1
Монада ввода-вывода технически неверна?
На вики Haskell есть следующий пример условного использования монады ввода / вывода (см. Здесь) . when :: Bool -> IO () -> IO () when condition action world = if condition then action world else ((), world) Обратите внимание, что в этом примере определение IO aиспользуется, RealWorld -> (a, RealWorld)чтобы …

3
Почему пустой символ не считается частью входного алфавита машины Тьюринга?
Определения машин Тьюринга всегда явно указывают на то, что пустой символ не является частью входного алфавита. Интересно , что идет не так , когда вы бы сделать его частью входного алфавита, потому что фактически пустой символ , уже , кажется, часть входных данных. Чтобы объяснить, что «кажется» в последнем предложении, …


2
Слово факторизация за
Учитывая две строки S1,S2S1,S2S_1, S_2 , мы пишем S1S2S1S2S_1S_2 для их объединения. Учитывая , строка SSS и целое число k≥1k≥1k\geq 1 , мы будем писать (S)k=SS⋯S(S)k=SS⋯S(S)^k = SS\cdots S для конкатенации kkk копий SSS . Теперь, учитывая строку, мы можем использовать эту запись, чтобы «сжать» ее, то есть A A …

4
Что означает ведущий оператор турникета?
Я знаю, что разные авторы используют разные обозначения для представления семантики языка программирования. На самом деле Гай Стил решает эту проблему в интересном видео . Я хотел бы знать, знает ли кто-нибудь, имеет ли ведущий оператор турникета общепризнанное значение. Например, я не понимаю ведущего оператора в начале знаменателя следующего:⊢⊢\vdash х …

2
Проблемы, которые кажутся экспоненциальными, но являются P
Я пытаюсь составить список алгоритмов / задач, которые являются «исключительно полезными», например, при решении задач, которые «кажутся» очень экспоненциальными по своей природе, но имеют какой-то особенно умный алгоритм, который в конечном итоге решает их. Примеры того, что я имею в виду: Линейное программирование (Симплексный алгоритм имеет экспоненциальное время; поиск решения …

2
Сколько пар скобок достаточно, чтобы завершить Brainfuck Turing?
Brainfuck - полный язык программирования Тьюринга, который использует только 8 символов (6, если вы игнорируете ввод / вывод). Две наиболее заметные из них , которые толкают его на Тьюринга полнота [и ], по существу , этикетки и Гото Brainfuck в. Обычно программы в Brainfuck используют несколько наборов [], но мне …

1
Существует ли изоморфизм между (подмножеством) теории категорий и реляционной алгеброй?
Это происходит с точки зрения больших данных. По сути, многие фреймворки (например, Apache Spark) «компенсируют» отсутствие реляционных операций, предоставляя интерфейсы, подобные Functor / Monad, и наблюдается аналогичное движение к преобразованию кошек в SQL (Slick in Scala). Например, нам нужно естественное соединение (при условии отсутствия повторений в индексах) для поэлементного умножения …

3
Оптимальная стратегия для абстрактной игры
Мне дали следующую проблему в интервью (которую я уже не смог решить, не пытаясь обмануть мой путь мимо): Игра начинается с положительного целого числа . (Например , 0 = 1234 ) . Это число преобразуется в двоичное представление, и N представляет собой количество битов в 1 . (Например, A 0 …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.