Співвідношення складності обчислень та інформації


11

Я працюю в лабораторії обчислювальної нейронауки, яка кількісно оцінює взаємну інформацію між парами або групами нейронів. Нещодавно бос пересунув свою увагу на вимірювання "складності нейронної динаміки". Проводячи цю лінію досліджень, деякі люди моєї групи, схоже, порівнюють "складний" з "має високу ентропію".

Чи може хтось орієнтувати мене на те, який взаємозв'язок між обчислювальною складністю (у розумінні CS) та ентропією в сенсі теорії інформації?

Якщо пояснити трохи далі, такі заходи, як складність Lempel-Ziv, мені не здаються вагомими мірами складності, оскільки вони пов'язують інформативність (для користувача) з перенесенням багато бітів. Інші заходи, як-от [Causal State Splitting Reconstruction][1]набагато менш відомі, але мають привабливу властивість, що випадкові процеси мають нульову складність, оскільки нульові приховані стани необхідні для представлення стаціонарного випадкового процесу.


1
Чи можете ви поясніть, що означає "складний" у вашій галузі? Це означає, що нейрони значним чином стріляють чи більше з них бере участь?
проти

@vs: Є багато конкуруючих визначень для "складних". Деякі кажуть, що найскладніший процес - це найвища ентропія. Це, однак, означає, що випадкові процеси є складними, що не видається біологічно реалістичним. Незважаючи на це, "значуща стрілянина" є ближчою, ніж "більше ... участь", хоча, ймовірно, "більше значима участь бере участь" ще ближче.
mac389

1
Ми розуміємо, що комплекс має на увазі більшу ентропію з нашої галузі. Я поставив це питання, щоб зрозуміти, що означає ваше поле складним. Отже, "" більш значуща участь бере участь "ближче. Добре. Це моя здогадка. Для мене" більш значуща участь "означає, що нейрони спілкуються" розумно "або" швидше реагують на подразники "для" конкретного бажаного результату ". Це змістовне спілкування як правило , пов'язано з більш високою ентропії або інформації в теорії інформації.
проти

@vs: Існує питання, як дві кількісні показники ентропії, коли схема кодування не відома і, ймовірно, перемикається, як це здається в мозку. Люди сказали, що використовували взаємну інформацію між одним нейроном та стимулом, щоб оцінити, наскільки вибірковий цей нейрон для цього подразника. Питання стає більш мутним при розгляді більш реалістичного випадку багатьох нейронів.
mac389

1
@ mac389 ми можемо означати будь-яку кількість речей як складність об'єкта. кілька прикладів: складність Колмогорова (на яку ви отримали відповідь) та різні поняття обмеженої часом складності Колмогорова; коли у вас є сімейство об'єктів різної величини, ми розглядаємо, скільки часу / простору (як функції розміру об'єкта) потрібен алгоритм, щоб визнати, що об'єкт належить до класу. у вас тут є досить нетривіальна проблема моделювання.
Сашо Ніколов

Відповіді:



7

Багато людей згадували складність Колмогорова або його варіанти, обмежені ресурсами, але я думаю, що щось ближче до того, що ви шукаєте, - це поняття (логічної) глибини . Є кілька варіантів по глибині, але всі вони намагаються отримати щось подібне до того, про що ви говорите. Зокрема, ні чисто випадкові струни, ні дуже упорядковані / повторювані рядки не є глибокими.

Одне поняття глибини - інтуїтивно зрозуміло: рядок є глибоким, якщо він має короткий опис, але єдиний спосіб реконструювати рядок із цього короткого опису займає непомірну кількість часу. Це поняття глибини і кілька інших вводяться і розвиваються в [1]. Інша стандартна посилання - [2]. Я б подивився на це, а потім зробив прямий довідковий пошук.

[1] L. Antunes, L. Fortnow, D. van Melkebeek, NV Vinodchandran. Обчислювальна глибина: концепція та застосування . Теорет. Склад. Наук. 354 (3): 391--404. Також доступно вільно з веб-сторінки автора .

[2] CH Bennett. Логічна глибина та фізична складність. У Р. Херкен (Ред.), Універсальна машина Тьюрінга: опитування півстоліття, Оксфордський університетський прес, Оксфорд (1988), 227-257.


Дуже дякую за цю відповідь. Логічна глибина, здається, дуже близька до того, що я мав на увазі під складністю.
mac389

3

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

При цьому, більш загальний підхід до відповіді на це питання може базуватися на теорії мов та автоматах. Детерміновані кінцеві автомати - це O (n) струнні процесори. Тобто, задаючи рядок довжиною n, вони обробляють рядок точно в n кроків (багато цього залежить від того, як саме ви визначаєте детерміновані кінцеві автомати; проте, DFA, безумовно, не вимагає більше кроків). Недетерміновані кінцеві автомати розпізнають ті самі мови (набори рядків), що й DFA, і можуть бути перетворені в DFA, але для імітації NFA на послідовному детермінованому апараті, типово потрібно досліджувати дерево типу «пошукового простору», що може збільшити складність кардинально. Звичайні мови не дуже "складні" в обчислювальному сенсі,

Можна аналогічно переглянути і інші рівні ієрархії мов Хомського - детерміновані без контексту, без контексту (включаючи недетерміновані контекстні вільні мови, які не обов'язково можуть бути розпізнані детермінованими автоматичними витисканнями), контекстно-чутливі мови, рекурсивну та рекурсивну. численні мови та нерозбірливі мови.

Різні автомати відрізняються насамперед своїм зовнішнім зберіганням; тобто, яке зовнішнє зберігання необхідне, щоб автомати могли правильно обробляти мови певного типу. Кінцеві автомати не мають зовнішнього сховища; КПК мають стек, а машини Тюрінга - стрічку. Таким чином, ви можете інтерпретувати складність певної проблеми програмування (яка відповідає мові), пов'язану з кількістю або видом зберігання, необхідним для її розпізнавання. Якщо для розпізнавання всіх рядків у мові вам не потрібен або фіксований, обмежений обсяг пам’яті, це звичайна мова. Якщо все, що вам потрібно, це стек, у вас є без контексту мова. І т.д.

Взагалі, я би не здивувався, якби мови, що вищі в ієрархії Хомського (отже, і з більш високою складністю), також мають тенденцію до вищої ентропії в інформаційно-теоретичному сенсі. Якщо говорити, то, ймовірно, ви можете знайти багато прикладів цієї ідеї, і я не маю уявлення, чи є в цьому взагалі якась заслуга.

Крім того, це може бути краще запитати в "теоретичному cs" (cstheory) StackExchange.


Я перемістив його і дякую за вашу пропозицію.
mac389

1

Складність обчислень вирішує необхідні ресурси: Враховуючи певний тип проблеми, певного розміру, які необхідні ресурси (як правило, час, простір або обидва; та певний тип обчислювального пристрою) для їх вирішення. Проблеми потім групуються в складні «класи».

Деякі з них досить загальні та абстрактні: чи проблема вирішена взагалі, навіть в принципі? Чи потрібна машина такого типу, чи це? Вступ до цих ідей - це все-таки тема інформатики на рівні випускників, і вступний матеріал зазвичай посилається на ієрархію Хомського, яка акуратно (і красиво!) Відображає разом декілька типів абстрактних машин і кілька типів абстрактних, специфікації математичної мови

Деякі з них, на нижчому рівні, є більш практичними для щоденного використання: Чи масштабується ця проблема як квадрат розміру проблеми, або куб, чи якась інша функція? Цікаво, що я знаю, що аргументи щодо ентропії даної проблеми виявились корисними для визначення деяких нижчих меж деяких обчислювальних задач. Те, що мені не вдається (хоча я, мабуть, не міг би повторити це, не перевіривши підручник), - це аргумент на основі ентропії для мінімальної необхідної кількості порівнянь під час сортування. Зв'язок з ентропією відбувається через теорію інформації.

Отже, я думаю, що в цьому є певна заслуга.

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