Искусственный Интеллект

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Искусственный Интеллект » Онтологическая проблематика ИИ » Алгоритм решения произвольных задач


Алгоритм решения произвольных задач

Сообщений 1 страница 30 из 110

1

ва самом деле, в этой теме целых три темы...
первая понятна из названия сабжа - что это такое, можно ли запрограммировать произвольный алгоритм,
если нельзя, то почему...
вторая подтема, которая возникает здесь же - а что, если система будет инженерной и открытой? т.е. обладать способностью
обмениваться данными с чем-то вне ее и "знать" о существовании своего материального устройства...
и тут же как финал - а что, если это будет "человеко-машинный" комплекс, но где человеческая часть -
это не программист, а юзер, т.е. система все-таки не перекомпилится, но имеет способности к конфигурированию,
обучению, самообучению и тому подобное...

примерно так...

0

2

Egg написал(а):

"знать" о существовании своего материального устройства

Не понятен поворот. Программа по факту выполняется на устройстве.
Всегда с каким-то API. Почти всегда с файловой системой.
Если малтимедиа какая то есть работа с драйверами.
Зачем еще знать? Как иначе знать?

0

3

Egg написал(а):

первая понятна из названия сабжа - что это такое, можно ли запрограммировать произвольный алгоритм,
если нельзя, то почему...

Ответ зависит от строгости, которая вас устроит. Если подходить нестрого, то нет, нельзя запрограммировать: ведь в таком случае алгоритм должен уметь порождать какие угодно алгоритмы, что в свете сегодняшних знаний и опыта в программировании кажется нереальным. Если вас интересует строго-доказанный ответ, то сперва необходимо указать как минимум 2 вещи: 1) строго-математический критерий отличия алгоритма А от Б и 2) объективный способ оценки критерия (а не то что вот смотрит программист на исходник и говорит - да, А отличается (сложнее, проще, длиннее и т.п.) от Б).

0

4

Орлов написал(а):

Зачем еще знать? Как иначе знать?

если не ошибаюсь, newpoisk на Готаи приводил пример с генератором случайных чисел...
что его нельзя написать...
так вот, на логической МТ его в самом деле нельзя написать, он всегда будет псевдослучайным...
а на реальном компе написать можно, во-первых, есть специальные датчики,
которые генерируют СЧ последовательность,
а во вторых (у меня есть такая программка) можно запустить несколько thread'ов и
на их незасинхронизированности (феноменальной, объективной, внешней)
при исполнении на реальном компе получать СЧ...

0

5

newpoisk написал(а):

Ответ зависит от строгости, которая вас устроит

я бы все-таки называл это - производительностью...
да, я против предположения, что у нас бесконечная производительность,
хотя в теоретических задачах это можно полагать, но тогда желательно
каждый раз отдельно указывать...

newpoisk написал(а):

строго-математический критерий отличия алгоритма

давайте отличать язык, программу на нем и алгоритм...
строгого определения мне бы не хотелось, уходить в дебри теоретических построений МТ,
автоматов и очередей - это как-то пугает...
может остановимся на интуитивно-понятном представлении об алгоритме,
уточняя его в тех местах, где будут проблемы?

и у меня сразу есть возражение -
алгоритм не должен и не может ничего порождать...
а вот его выполнение - может...
и уж если мы убрали из наших построений безконечность, то давайте
понимать, что выполнение алгоритма будет идти в конкретных условиях
моих второй и третьей подтемы,
т.е. по-минимуму данные находятся вовне и все время изменяются...

0

6

Egg написал(а):

а на реальном компе написать можно

Идея понятна. Правда с нормировкой такого алгоритма будут проблемы.
Там будет не СЧ последовательность, а какое-то распределение.

Egg написал(а):

бы все-таки называл это - производительностью

Обезьянки печатают Войну и Мир на машинках?
Главный вопрос - как проверять что алгоритм решает задачу. Главный.
А как возможно избавиться от комбинаторики?
Или Вы предлагаете рамки какие-то?
Что полиномиально - то правильно. Что не полиномиально - то неправильно.

0

7

Орлов написал(а):

а какое-то распределение

такой алгоритм учитывает специфику выполнения программы на реальном компьютере,
поэтому это распределение будет нести след каких-то объективных процессов...
но дело в том, что феноменальный мир вообще этим страдает - "правильный" хаос
довольно редок в нем, обычно случайность проявляется именно как отклонение от какого-то
среднего значения...

Орлов написал(а):

как проверять что алгоритм решает задачу

в общем случае - это будет довольно тяжело... в каких-то конкретных задачах,
как правило, полный перебор + какой-то фитнесс дает нужный результат...
я именно поэтому и связал строгость с производительностью,
поскольку абсолютная строгость достижима только при безконечной производительности...

Орлов написал(а):

А как возможно избавиться от комбинаторики?

никак... терпеливо ждать пока закон Мура не даст нам возможность не думать про нее...
аналитические решения и сложные структуры нужны там, где нам не хватает производительности...
я очень хорошо помню момент, когда стоимость оптимизации путем улучшения алгоритма
сравнялась со стоимостью покупки более хорошей техники...
это было довольно странное ощущение - стало понятно, что в некоторой перспективе
программистский труд будет не нужен -
нужен универсальный комбинаторный алгоритм, хороший постановщик задачи,
который обучен системному, объектному и структурному анализам (на самом деле - это один анализ)
и очень мощный компьютер...

эта "комбинаторика" и есть - произвольный алгоритм... :) :)

0

8

Произвольность относительна, у всего существующего должны быть причины.
Если причины определить слишком сложно то такое удобно считать субъектом.

0

9

NO написал(а):

Произвольность относительна

может быть термин и не очень хорош,
но в данном контексте он означает то, что существует какая-то система,
которая "порождает" любой алгоритм, решающий всякую новую задачу,
возникающую перед этой системой...
при этом, естественно, не происходит доработка системы человеком...

0

10

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

0

11

NO
не уверен, что такое определение алгоритма мне до конца понятно...
мне гораздо ближе точка зрения, что алгоритм - это набор инструкции, какая-то последовательность имен,
которые обозначают операции...
поэтому словосочетания "моделируемая среда" - это довольно неточно...  скорее - исполняющая среда...
но это, безусловно - "семантическая" среда, тут я с тобой на 100% согласен...
в этом как раз ее эффективность... нам нужно только 0, 1 и сдвиг по регистру, чтобы получить
самый универсальный механизм описания описания мира... язык, он же программа, он же данные...
правило двойной ошибки в действии... (в этом месте аплодисменты Тьюрингу...)

но все-таки проблема произвольного алгоритма немножко другая...
это проблема и генерации задачи и проблема проверки правильности ее решения...
т.е., фактически, это проблема интерпретации феноменального мира...
если протокол (алфавит + правила), которым мир можно описать - конечен, тогда задача решаема...

0

12

Egg написал(а):

я именно поэтому и связал строгость с производительностью,
поскольку абсолютная строгость достижима только при безконечной производительности...

А перебирать Вы собираетесь всё со всеми?
Перебирать варианты можно. Но нужна схема.
Подозреваю что какая-то онтология. :)
Пример: Есть два треугольника. Один задан координатами вершин, другой длинами сторон.
Задача: Равны или нет? Покажите решение.
Можно предполагать что производительность бесконечная.
Нельзя использовать онтологии.

0

13

Орлов написал(а):

Нельзя использовать онтологии.

если под онтологией понимать структуру объекта, данные которого представлены
в задаче и постановку самое задачи, то, конечно, без онтологии ни как не обойтись...

Орлов написал(а):

Можно предполагать что производительность бесконечная.

есть у меня сомнения, что подобные предположения в чем-то могут помочь...
перестановка ста свойств это чего-то 10Е157...
если это не безконечность, то что это?
при этом полносвязный граф со ста вершинами - это всего-лишь мегабайт...
если представить себе, что мозг с его параллельным решателем
умеет "сочетать" эти вершины как МТ в эквиваленте 10Е157, то повод
для пессимизма у меня есть... :) :)

0

14

Я алгоритмом считаю любую информацию для которой существует интерпретатор. Ну и если в нем есть состояние "а это вовсе и не алгоритм, а куча мусора", тогда такая информация при выполнении которой он в это состояние не попадает. И т.п.
Остальны определения сильно привязаны к языку или процессору. Последовательно - есть и параллельные машины, инструкций - есть и декларативные языки и т.п.

Произвольный значит кроме условия что в состояние ошибки не попадаем никаких условий нет. Хотя желательно указать что конечной длины, если предположить слишком любой то многие полезные выводы окажутся не верными.

"Произвольный алгоритм" уже получается противоречивой конструкцией, нужно указывать еще условия, либо в ущерб произвольности либо в ущерб интутивному пониманию алгоритма.

0

15

NO написал(а):

Последовательно - есть и параллельные машины, инструкций - есть и декларативные языки и т.п.

у меня ощущение, что ты чуть-чуть мешаешь в кучу сам алгоритм и его исполнение...
сколь бы параллельной не была машина - текст программы это всегда последовательность символов...
каким бы декларативным не был бы язык, любая декларация - это инструкция...
т.е. как хочешь называй и исполняй, суть последовательности инструкций нигде не меняется...

0

16

это только одна из интерпретаций,
для стандартного одноглазого однопалого программиста
есть какой-то двумерный язык, не понмю как называется. В Жизни тоже двумерное поле, иногда даже торо-образное.

А в общем конечно мешаю, если выполнить информацию никак нельзя то это точно не алгоритм, исполнимость самое основное свойство. Хотя может быть и можно найти "произвольный неисполнимый алгоритм". Эти слова тоже программа поиска вот чего написано. Но я боюсь единственный результат будет "фигня какая-то". Ибо неведомую фигню нельзя создать по определению, она может только случится.

0

17

Egg написал(а):

так вот, на логической МТ его в самом деле нельзя написать, он всегда будет псевдослучайным...
а на реальном компе написать можно

Понятно. Как раз это я и хотел от вас услышать. Тогда, когда речь идет уже не о чистом "математическом" алгоритме, а о программно-аппаратной системе:

Egg написал(а):

можно ли запрограммировать произвольный алгоритм,

Можно. Ключевая идея заключается в следующем: поскольку алгоритм базируется на аппаратуре, то изменение аппаратуры меняет и алгоритм. Как в природе: изменение порядка следования молекул в ДНК меняет генетическую программу. Короче говоря, такая цепочка: алгоритм воздействует на окруж. среду, среда откликается на воздействие и меняет аппаратуру на которой работает алгоритм, следовательно и его самого. В целом получается что алгоритм как бы меняет самого себя.

Egg написал(а):

а что, если система будет инженерной и открытой? т.е. обладать способностью
обмениваться данными с чем-то вне ее и "знать" о существовании своего материального устройства...

И это тоже все Ок. Причем обмен данными очень прост и не связан никакими заранее оговоренными протоколами, ибо происходит посредством базовых законов природы (тяготения, Кулона...), корректно "воспринимаемыми" совершенно любой аппаратурой, следовательно - и базирующемся на ней алгоритмом.

Egg написал(а):

а что, если это будет "человеко-машинный" комплекс, но где человеческая часть -
это не программист, а юзер, т.е. система все-таки не перекомпилится, но имеет способности к конфигурированию,
обучению, самообучению и тому подобное...

Аналогично.

0

18

NO написал(а):

это только одна из интерпретаций

ага... тексты вообще не полны, это указатели, а не значения...

newpoisk написал(а):

Тогда, когда речь идет уже не о чистом "математическом" алгоритме, а о программно-аппаратной системе

я не математик, я инженер... всяческие умозрительные тонкости не слишком интересны...
какой смысл говорить об математическом алгоритме, если в реальности мы станем иметь
информационную систему, "исполняемую" на какой-то аппаратной платформе и работать с этой системой
будет человек...

newpoisk написал(а):

поскольку алгоритм базируется на аппаратуре, то изменение аппаратуры меняет и алгоритм.

алгоритм не базируется на аппаратуре, он исполняется на ней...
давайте возьмем музыкальную партитуру в качестве примера... это алгоритм...
мелодия - это идея, онтология, если угодно...
конкретный оркестр - это исполняющее устройство...
можно изменить партии каких-то голосов, можно оставить вообще один голос, перевести на аккорды и так далее...
а есть еще конкретные экземпляры музыкальных иструментов... :-)))
вообщем, аппаратура вообще здесь не причем...

важно, что алгоритм исполняется во времени и в ограниченных ресурсах,
(условно говоря - во времени и пространстве)
важно, что есть приток "свежих" данных,
важно, что система работает с человеком...

0

19

Egg написал(а):

ага... тексты вообще не полны, это указатели, а не значения...

Мне больше нравится слово "абстрактны". Голова в любом случае меньше вселенной и ни на какую полноту претендовать не должна.
В символных вычислениях символы (указатели) являются значениями. http://en.wikipedia.org/wiki/ Combinatory_logic

0

20

NO написал(а):

Голова в любом случае меньше вселенной и ни на какую полноту претендовать не должна.

а вот это как раз вопрос открытый... :)
будет силы и вдохновение - расскажу в Юморе об альтернативной модели вселенной,
где все материальное как раз сосредоточено в Интеллектуальном... :)

NO написал(а):

В символных вычислениях символы (указатели) являются значениями.

Это "циркулярные" объекты, их в языке полно и даже разных типов...
например, слово прилагательное - это в самом деле прилагательное,
а вот глагол - это существительное... :)
В английском языке есть очень удобные THE и А(AN), которые тебе говорят,
когда ты имеешь дело с понятием, а когда с его экземпляром,
русский язык и символьные выражения такую дуальность несут внутри себя,
первый справляется с этим за счет контекста, вторые за счет того,
что символьное слово - это всегда пара - свое понятие и свой экземпляр...

0

21

Это все отмазки.
Про циркулярные в том тексте тоже упомянуто, естесственно. Одна строчка про Y-комбинатор.

0

22

NO написал(а):

Это все отмазки.

как-то тебя на обобщения последнее время тянет...
всё есть интерпретации, это всё отмазки, алгоритм - это любая информация... :) :)
конечно, это никакие не отмазки, а очень конкретная и опредленная вещь,
если текст используется как сообщение (т.е. семантически)
- он является последовательностью указателей, если как данные - он является последовательностью байт...
можно, например, текстом изображения рисовать...
можно из теста буквы делать и есть их...
можно колесики приделать и кататься на них...
чё хочешь делай, но если ты будешь использовать текст как источник сообщения,
слова будут указателями, а не значениями... :)

З.Ы. и на заборе моем много чего написано :)


   солнцекра    ситнежны  мсветомс  теныдрев   негокремля
   солнцекра    ситнежны  мсветомс  тен  ыдре  внегокремл
   сол   нце    кра  сит  неж  ным  све  томс  тен    ыдр
   сол   нце    кра  сит  неж  ным  светомст   ены    дре
   сол   нце    кра  сит  неж  ным  светомс    теныдревне
   сол   нце    краситне  жны  мсв  етомстен   ыдревнегок
   солнцекра    ситнежны  мсв  ето  мст еныдр  евн    его
солнцекраситнрл ежн       ымс  вет  омс  теныд рев    нег
солн      ситл  жны       мсветомс  тен  ыдрев нег    окр
  сол     жод   кра       ситнежны  мсветомс   тен    ыдр

Отредактировано Egg (2009-11-03 23:09:53)

0

23

это все слова

0

24

http://scrambled-egg-s.blogspot.com/200 … -post.html

0

25

вот NO нашел статью, которая отчасти пересекается со взглядами newpoisk
на необходимость реализации алгоритмов в "железе"...

http://www.osp.ru/os/2009/02/7323751/

0

26

Оно еще пересекается и с взглядами Шуклина на ПЛИСы. Конечно правильно, что разные хитрые сущности должны быть хоть как-то реализованы иначе их вообще никак нет. Не понятно только чем символы не подходят. Вроде все легко и быстро и свободы гораздо больше чем в той же физике и электронике, даже с мемристорами и (укажите сами что, до 1Гb текста)

Насколько я знаю историю ИТ первый раз с железом перемудрили вот с этой http://en.wikipedia.org/wiki/ IBM_7030_Stretch

Отредактировано NO (2009-11-04 23:38:00)

0

27

NO написал(а):

Конечно правильно, что разные хитрые сущности должны быть хоть как-то реализованы иначе их вообще никак нет.

не нашел никаких хитрых штук, нашел только оптимизацию вычислений...
в этом и отличие во взглядах от наших гениев-революционеров, что Мид не предлагает менять МТ
на что-то невообразимо-непонятное или утверждает, что конечный автомат - это решение всех проблем
(многие украинские "ученые" не могут понять, что конечный автомат - это МТ и есть... и наоборот...)...
он говорит довольно банальную вещь - любой специальная архитектура работает эффективнее
архитектуры универсальной... если можно программу "компилировать" в кремний, то почему бы не делать этого?

и количество свободы или изменение характера вычислений от этого не меняется...

0

28

Egg написал(а):

не нашел никаких хитрых штук

ничто, бесконечность, противоречие - чем они будут представлены в аналоговых вычислениях?

0

29

NO написал(а):

ничто, бесконечность, противоречие - чем они будут представлены в аналоговых вычислениях?

не знаю... и не могу проассоциировать правильно твой вопрос... сказать чего хочешь этим?
противоречие - это вещь вообще левая... в мозгу она не обрабатывается, если только нет каких-то
явных А!=Б и А==Б...
а ничто и безконечность - это не значения, это образы,
т.е. что-то посередине между понятием и феноменом...

не понял вопроса...

0

30

Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий. (Козьма Прутков)

0


Вы здесь » Искусственный Интеллект » Онтологическая проблематика ИИ » Алгоритм решения произвольных задач


Создать форум. Создать магазин