Комп'ютерна наука

Питання та відповіді для студентів, дослідників та практиків комп'ютерних наук

4
Часова складність компілятора
Мене цікавить часова складність компілятора. Зрозуміло, що це дуже складне питання, оскільки існує багато компіляторів, варіантів компілятора та змінних. Зокрема, мене цікавить LLVM, але мене зацікавлять будь-які думки у людей чи місця для початку досліджень. Досить гугл, здається, мало виводить на світ. Я гадаю, що є кілька кроків оптимізації, які …
54 compilers 

9
Що таке безпечна мова програмування?
Безпечні мови програмування (PL) набувають все більшої популярності. Цікаво, яке формальне визначення безпечного ПЛ. Наприклад, C не є безпечним, але Java - безпечним. Я підозрюю, що властивість "безпечно" слід застосовувати до реалізації ПЛ, а не до самої ПЛ. Якщо так, давайте обговоримо визначення безпечної реалізації ПЛ. Мої власні спроби формалізувати …

7
Чи є машина Тюрінга «за визначенням» найпотужнішою машиною?
Я погоджуюся, що машина Тьюрінга може робити "всі можливі математичні проблеми". Але це тому, що це лише машинне подання алгоритму: спочатку зробіть це, потім зробіть, нарешті, виведіть це. Я маю на увазі все, що можна вирішити, можна представити алгоритмом (тому що саме це визначення 'розв’язуваного'). Це просто тавтологія. Я нічого …

2
Як визначити квантові машини Тьюрінга?
Щодо квантових обчислень, яка еквівалентна модель машини Тьюрінга? Мені цілком зрозуміло, як квантові схеми можуть бути побудовані з квантових воріт, але як ми можемо визначити квантову машину Тюрінга (QTM), яка може насправді отримати вигоду від квантових ефектів, а саме працювати на високомірних системах?

5
Як цей алгоритм сортування Θ (n³), а не Θ (n²), в гіршому випадку?
Я щойно розпочав курс з структур даних та алгоритмів, і мій асистент з викладання дав нам наступний псевдокод для сортування масиву цілих чисел: void F3() { for (int i = 1; i < n; i++) { if (A[i-1] > A[i]) { swap(i-1, i) i = 0 } } } Це …

7
Чому процесор має 32 регістри?
Мені завжди було цікаво, чому процесори зупиняються на 32 регістрах. Це далеко найшвидший шматок машини, чому б просто не зробити більші процесори з більшою кількістю регістрів? Хіба це не означало б менше відвідування оперативної пам’яті?

4
Що таке хвостова рекурсія?
Я знаю загальну концепцію рекурсії. Я натрапив на концепцію хвостової рекурсії під час вивчення алгоритму швидкості. У цьому відео алгоритму швидкого сортування з MIT о 18:30 секунди професор говорить, що це хвостовий рекурсивний алгоритм. Мені не ясно, що насправді означає рекурсія хвоста. Чи може хтось пояснити концепцію належним прикладом? Деякі …

2
Чи існують алгоритми субекспоненціального часу для проблем, повних NP?
Чи є проблеми, повні NP, які мають доведені алгоритми субекспоненціального часу? Я прошу загальних вкладів справи, я не говорю тут про спеціальні випадки, які можна простежити. Під субекспоненціалом я маю на увазі порядок зростання над многочленами, але меншим за експоненціальний, наприклад .nlognnlog⁡nn^{\log n}

6
Зберігання рядкового секрету у (відкритому) вихідному коді
Я закінчив розробляти додаток для Android і маю намір опублікувати його в GPL - я хочу, щоб він був відкритим кодом. Однак природа програми (гри) полягає в тому, що вона задає загадки і відповіді кодується в рядковому ресурсі. Я не можу публікувати відповіді! Мені сказали шукати безпечне зберігання паролів - …
50 arrays  security 

3
Проблема з ранцем - NP-комплект незважаючи на динамічне рішення програмування?
Проблеми з рюкзаком легко вирішуються за допомогою динамічного програмування. Динамічне програмування працює в поліномічний час; тому ми це робимо, правда? Я читав, що це насправді NP-повна проблема, хоча це означатиме, що вирішити проблему в поліноміальній задачі, ймовірно, неможливо. Де моя помилка?

6
Чому деякі ігри np-завершені?
Я прочитав запис у Вікіпедії про " Список проблем, повних NP ", і виявив, що такі ігри, як супер-маріо, покемон, тетріс або сага, що розчавлюють цукерки, є n-завершеними. Як я можу уявити np-повноту гри? Відповіді не повинні бути надто точними. Я просто хочу отримати огляд того, що означає, що ігри …

4
Чому поліноміальний час називають "ефективним"?
Чому в інформатиці будь-яка складність, яка є максимум багаточлена, вважається ефективною? Для будь-якого практичного застосування (a) алгоритми зі складністю набагато швидші, ніж алгоритми, які працюють у часі, скажімо, , але перший вважається неефективним, тоді як останній є ефективним. Де логіка ?!nlognnlog⁡nn^{\log n}n80n80n^{80} (а) Припустимо, наприклад, кількість атомів у Всесвіті приблизно …

2
Що відбувається із вмістом кеша в контекстному комутаторі?
Що в багатоядерному процесорі, що відбувається з вмістом кешу ядра (скажімо L1), коли в цьому кеші відбувається контекстний комутатор? Чи поведінка залежить від архітектури чи це загальна поведінка, яку дотримуються всі виробники чіпів?

3
Чому двійковий пошук швидший, ніж потрійний пошук?
Пошук масиву з елементів за допомогою двійкового пошуку займає, в гіршому випадку, ітерацій, оскільки на кожному кроці ми половину нашого простору пошуку. Якщо замість цього ми використовували "потрійний пошук", ми би відрізали дві третини свого пошукового простору при кожній ітерації, тож найгірший випадок повинен мати ітерацій ...NNNlog2Nlog2⁡N\log_2 Nlog3N&lt;log2Nlog3⁡N&lt;log2⁡N\log_3 N < …

12
Як перевірити номер з Бобом, не знаючи Єви?
Вам потрібно перевірити, чи є у вашого друга Боб правильний номер телефону, але ви не можете запитати його безпосередньо. Ви повинні написати запитання на картці, яке подати Еві, хто візьме картку до Боба і поверне відповідь вам. Що потрібно написати на картці, крім питання, щоб переконатися, що Боб може кодувати …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.