Информатика

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

1
Экономия на инициализации массива
Недавно я читал, что возможно иметь массивы, которые не нужно инициализировать, то есть их можно использовать, не тратя время на попытки установить для каждого элемента значение по умолчанию. то есть вы можете начать использовать массив, как если бы он был инициализирован значением по умолчанию без необходимости его инициализации. (Извините, я …

2
Сколько ребер может иметь унипатический граф?
Унипатический граф - это ориентированный граф, такой, что существует не более одного простого пути от любой вершины к любой другой вершине. Унипатические графы могут иметь циклы. Например, двусвязный список (а не круговой!) Является унипатическим графом; если список имеет элементов, граф имеет n - 1 циклов длины 2, всего 2 ( …

3
Этот язык определен с использованием одинарных простых чисел?
Позволять L={an∣∃p≥n p, p+2 are prime}.L={an∣∃p≥n p, p+2 are prime}.\qquad L = \{a^n \mid \exists_{p \geq n}\ p\,,\ p+2 \text{ are prime}\}. Является регулярным?LLL На первый взгляд этот вопрос выглядел подозрительно, и я понял, что он связан с гипотезой о двойном простом числе . Моя проблема в том, что эта …

3
Для каждой вычислимой функции
Для каждой вычислимой функции существует ли задача, которая может быть решена в лучшем случае за время или существует вычислимая функция такая, что любая задача, которая может быть решена в может также быть решено в время?fffΘ(f(n))Θ(f(n))\Theta(f(n))fffO(f(n))O(f(n))O(f(n))o(f(n))o(f(n))o(f(n)) Этот вопрос возник в моей голове вчера. Я думал об этом немного сейчас, но не …

1
Решение задачи таково, что любой алгоритм допускает экспоненциально более быстрый алгоритм
В Алгоритмике Хромковича для сложных задач (2-е издание) есть эта теорема (2.3.3.3, стр. 117): Существует (разрешимая) задача решения такая, что для каждого алгоритма A, который решает P, существует другой алгоритм A ′, который также решает P и дополнительно выполняетпPPAAAпPPA′A′A'PPP ∀∞n∈N.TimeA′(n)=log2TimeA(n)∀∞n∈N.TimeA′(n)=log2⁡TimeA(n)\qquad \forall^\infty n \in \mathbb{N}. \mathrm{Time}_{A'}(n) = \log_2 \mathrm{Time}_A(n) является в …

1
Простое сокращение от 3SAT до задачи о гамильтоновом пути
В книге Сипсера «Введение в теорию вычислений» на стр. 286 приведено сокращение от 3SAT до задачи о гамильтоновом пути. Есть ли более простое сокращение? Проще говоря, я имею в виду сокращение, которое было бы легче понять (для студентов). Есть ли сокращение, использующее линейное число переменных? Сокращение в Sipser использует переменные, …

3
Что такое интуитивный способ объяснить и понять закон де Моргана?
Закон де Моргана часто вводится во вводный курс по математике для информатики, и я часто вижу в нем способ превращения утверждений из И в ИЛИ путем отрицания терминов. Есть ли более интуитивное объяснение, почему это работает, а не просто запоминание таблиц истинности? Для меня это похоже на использование черной магии, …

3
Функция ML типа 'a ->' b
Наш профессор попросил нас подумать о функции в OCaml, которая имеет тип 'a -> 'b т.е. функция одного аргумента, которая может быть чем угодно, и которая может возвращать что угодно другое. Я думал об использовании raiseв функции, которая игнорирует ее аргумент: let f x = raise Exit Но профессор сказал, …

2
Алгоритмы проверки типов
Я начинаю личное библиографическое исследование по алгоритмам проверки типов и хочу несколько советов. Какие алгоритмы, стратегии и общие методы проверки типов наиболее часто используются? Меня особенно интересуют сложные алгоритмы проверки типов, которые были реализованы в широко известных строго статических типизированных языках, таких как, например, C ++, Java 5+, Scala или …

4
Совместное планирование приостанавливает процессы, когда они выполняют операцию ввода-вывода?
Во многих ссылках на операционные системы говорится, что при совместной (в отличие от упреждающей) многозадачности процесс удерживает процессор до тех пор, пока он явно не добровольно приостановит свою работу. Если запущенный процесс выполняет запрос ввода-вывода, который не может быть немедленно удовлетворен (например, запрашивает нажатие клавиши, которое еще не доступно), планировщик …

5
Различие в кейсе при динамическом программировании: пример необходим!
Я работал над динамическим программированием в течение некоторого времени. Канонический способ оценить рекурсию динамического программирования - создать таблицу всех необходимых значений и заполнять ее построчно. См., Например, Cormen, Leiserson и др .: «Введение в алгоритмы» для введения. Я сосредотачиваюсь на схеме вычислений на основе таблиц в двух измерениях (построчное заполнение) …

4
Стратегии неприкосновенности в понимании TCS
Я аспирант, изучающий курс теории вычислений, и у меня возникли серьезные проблемы с созданием контента, как только меня об этом попросят. Я могу следовать учебнику (Введение в теорию вычислений Майкла Сипсера) и лекциям; однако когда меня просят что-то доказать или придумать формальное описание конкретной ТМ, я просто задыхаюсь. Что я …

2
Добавляет ли операция «разница» выразительность к языку запросов, который уже включает «соединение»?
Оператор разности множеств (например, EXCEPTв некоторых вариантах SQL) является одним из многих фундаментальных операторов реляционной алгебры. Тем не менее, существуют некоторые базы данных, которые не поддерживают оператор разности множеств напрямую, но поддерживают LEFT JOIN(своего рода внешнее соединение), и на практике это можно использовать вместо операции разности множеств для достижения того …

6
Чем динамическое программирование отличается от грубой силы
Я читал о динамическом программировании, когда наткнулся на следующую цитату Алгоритм динамического программирования рассмотрит все возможные пути решения проблемы и выберет лучшее решение. Таким образом, мы можем приблизительно представить динамическое программирование как интеллектуальный метод грубой силы, который позволяет нам пройти через все возможные решения, чтобы выбрать лучшее . Если масштаб …

4
Как показать, что «обратный» регулярный язык является регулярным
Я застрял в следующем вопросе: «Регулярные языки - это как раз те, которые принимаются конечными автоматами. Учитывая этот факт, покажите, что если язык принят некоторым конечным автоматом, то также будет принят некоторым конечным; состоит из всех слов». из необратима «.L R L R LLLLLRLRL^{R}LRLRL^{R}LLL

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