2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 ВЫбор языка
Сообщение05.03.2008, 03:37 


04/03/08
23
ДВС!
Я вообще "лирик" до мозга костей, но и "физика" мне не чужда.
Собсно, интересуют следующие вопросы:
- на каком языке удобнее всего писать программы, которые могли бы писать куски кода и вставлять их в себя;
- -//-, с помощью которых можно было составлять и пользоваться семантическими полями (типа: холодный-бесчувственный-черствый-сухой)
- -//-, в которых можно было бы реализовать не булеву (нечеткую?) логику...
- -//-, которые могли бы писать бесконечно увеличивать свой объем (баз данных и части операторов ?);
Ну, и т.п. вобчим, как я понимаю, это должно быть что-то, связанное с искусственным интеллектом, правильно?
Т.е. на основе чего лучше организовать простейшую модель эволюции (в том же смысле, как у Ч. Дарвина, со случайным выбором и с запоминанием и воспроизведением его результатов)...Вобчим, помогите нубу...

 Профиль  
                  
 
 
Сообщение05.03.2008, 19:28 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
DjordanoBruno писал(а):
- на каком языке удобнее всего писать программы, которые могли бы писать куски кода и вставлять их в себя;

Имхо, на Лиспе. Это вообще очень популярный язык для задач, связанных с искусственным интеллектом.

DjordanoBruno писал(а):
Т.е. на основе чего лучше организовать простейшую модель эволюции (в том же смысле, как у Ч. Дарвина, со случайным выбором и с запоминанием и воспроизведением его результатов)...

Э... то, что Вы пишете, похоже на генетические алгоритмы...

 Профиль  
                  
 
 
Сообщение05.03.2008, 20:30 


04/03/08
23
Цитата:
Имхо, на Лиспе.
Спасибо...
worm2 писал(а):
Э... то, что Вы пишете, похоже на генетические алгоритмы...
Очень даже может быть! :D А что с ними не так?

 Профиль  
                  
 
 
Сообщение05.03.2008, 20:47 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
Я вот сейчас подумал, что обычно то, что называется ГА, применяется к решению классических математических задач (оптимизация). Там случайный выбор, изменчивость и запоминание результатов применяются к структурам данных, конкретно к числовым данным. Т.е. объектом эволюции являются числа (и, кстати, для реализации такого варианта ГА я бы не рекомендовал Лисп).
А Вы, наверное, подразумеваете, что объектом эволюции должны являться сами программы. С такой постановкой задачи я не знаком.
И, возможно, классические ГА - это не то, что Вам нужно.

 Профиль  
                  
 
 
Сообщение05.03.2008, 20:57 
Заслуженный участник
Аватара пользователя


07/03/06
1898
Москва
Кстати, по Лиспу Пауль Грэхем интересную книгу написал
http://www.paulgraham.com/onlisp.html

 Профиль  
                  
 
 
Сообщение05.03.2008, 21:56 


25/01/06
102
На самом деле подойдут любые языки, даже с++: свеже-сгенеренный код можно сваливать в отдельные модули, их компилировать и подгружать как длл, не прерывая выполнения основной программы. Сам участвовал в проекте где это делалось регулярно, то есть видел как это работает своими глазами.

Гораздо более удобные альтернативы: Smalltalk и Python. Там есть:

(1) возможность динамически подменять методы класса на другие, в том числе и только что скомпилированные из строки порожденной из самой программы. Реализуется практически в две-три строки.

(2) реализации Пролога целиком средствами основного языка (Смолтока или Питона, то есть).

(3) Кроме того есть binding для CLIPS в Питоне. CLIPS это оболочка экспертной системы, которая также может динамически подгружать правила и данные в систему.

То есть возможностей - море. Подозреваю все то же самое можно делать и в c#, Руби, Луа и т.д.

Насчет моделирования эволюции примерно понятно, но если можно - не могли бы рассказать поподробнее о задаче?

 Профиль  
                  
 
 
Сообщение06.03.2008, 00:57 


04/03/08
23
worm2 писал(а):
А Вы, наверное, подразумеваете, что объектом эволюции должны являться сами программы. С такой постановкой задачи я не знаком.
И, возможно, классические ГА - это не то, что Вам нужно.

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

Добавлено спустя 2 минуты 54 секунды:

juna писал(а):
Кстати, по Лиспу Пауль Грэхем интересную книгу написал
http://www.paulgraham.com/onlisp.html
Наверно, не осилю так сразу, но попытаюсь в будущем...

Добавлено спустя 58 минут 18 секунд:

Igor Borovikov писал(а):
Насчет моделирования эволюции примерно понятно, но если можно - не могли бы рассказать поподробнее о задаче?

О задаче рассказать не могу, потому как еще сам не очень ясно себе представляю ее, однако, могу дать более-менее ясное представление о проблеме, требующей постановки подобных задач.
Проблема касается искуственного интеллекта.
Дело в том, что я смотрю на подходы к его созданию с точки зрения психиатрии и психологии. И, хотя, с точки зрения математики и кибернетики существующие методы может быть и безупречны, но у меня создается впечатление, что врачи, психиатры и психологи совершенно по-другому представляют себе его функционирование. И существующие сейчас принципы моделирования представляются не только однобокими, но и не имеющими возможности решить поставленную задачу в принципе. Это мое представление. Так ли это - с этим я и пытаюсь разобраться. Сейчас я пытаюсь получить возможность посмотреть на него с позиций информатики.
Вероятнее всего я слишком мало изучал эту проблему, но, например, логический подход к созданию искусственного интеллекта имеет тот изъян, что человек думает движениями и образами. И именно на этой основе его мышление получает возможность движения по законам изучаемым не только формальной логикой, но и использовать, например, логику диалектическую. Т.е. при этом подходе начинают с формальной логики, а заканчивают распознаванием образов, хотя должно быть наоборот...
Возможно эту проблему можно решить с помощью построения структурных аналогов мозга, и, мне кажется, не сложно осуществить технически, например, суммацию возбуждений на нейроне, его латеральное торможение или построить рецепторную зрительную воронку. Но мне кажется, суть мышления все равно не будет схвачена путем копирования структуры. Насколько мне известно, наука не знает, как, почему и на каком именно этапе усложнения головного мозга осуществляется качественный скачок и возникает сознание, поэтому и моделирование того, чего не знаешь, в надежде на то, что оно появится само собой представляется мне малопродуктивным...
Принципы, заложенные в подходе "черного ящика", поэтому более жизненны, потому что мне кажется, структура работающей математической модели мозга скорее всего будет реализована с использованием совершенно других принципов, чем тех, которые были заложены в работу нашего головного мозга. Однако, сам подход "черного ящика", скорее не подход, а методическое указание, напоминание о том, что копирование не самый лучший подход, хотя, конечно, мне кажется, на этом пути можно получить много выгод...
Эволюционный подход - наверное, самый близкий к желаемому, принципы этого подхода, на мой взгляд, почти полностью совпадают с принципами развития нашего мышления. Однако, поставить модель в теже условия для развития, в которых развивался головной мозг - задача довольно трудно выполнимая. И, если, с помощью этого и удасться создать искусственный интеллект, то он вряд ли будет очень уж похож на человеческий. А медицине и психологии нужна модель именно человеческого интеллекта, чтобы моделировать на нем заболевания человека...Хотя, это уже и второстепенная задача, но, я думаю филологи со мной тоже согласятся.
Вот такая вот проблема. Фактически, я хочу создать для себя более прочные связи между различными науками, изучающими мышление.
А начать хочу с понимания трудностей машинного перевода (хотя, возможно, на этом можно будет и закончить, ведь наше мышление - это язык :) ).
Я сталкивался с программами автоматизированного перевода, которые можно разбить на две группы - которые исчерпывающе описывают словарную ячейку каждого слова и которые переводят исходя из структуры целого предложения... Однако, мне кажется, что связи между словами в существующих переводчиках недостаточно проработаны. Как минимум, компьютер должен знать кучу атрибутов каждого слова, он должен знать не столько речевые ситуации, в которых это слово встречается, а обладать не которым подобием понимания. Например, его нужно научить, что слово "рубить" употребляется в связи с такими-то движениями, что стул может стоять, а может лежать и когда он может лежать. Пока я еще не сильно вникал в это, мне кажется, что проблема в основном в огромном массиве информации, который нужно усвоить компьютеру. Ведь человек думает и разговаривает по правилам, которые не очень сложны, однако, для того, чтобы им обучиться, ему нужна информация о свойствах окружающих его вещей. Ему нужно узнать, что теплое, а что мягкое, он научается, что от предметов с такими свойствами можно ожидать в дальнейшем...Компьютер же лишен такой возможности, и это знание придется впихивать в него ручками..
.

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

Добавлено спустя 1 минуту 3 секунды:

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

 Профиль  
                  
 
 
Сообщение06.03.2008, 01:25 
Заслуженный участник


15/05/05
3445
USA
Igor Borovikov писал(а):
На самом деле подойдут любые языки, даже с++...
...
Подозреваю все то же самое можно делать и в c#, ...
Да, CLR.NET поддерживает компиляцию на лету, так что любая программа может компилировать классы, подключать скомпилированные сборки и использовать их. Это можно сделать на C#, VB.NET и на любом другом языке, генерирующем managed code.

 Профиль  
                  
 
 
Сообщение06.03.2008, 01:28 


25/01/06
102
Спасибо, что поделились задачей. Интересно! Наверное, начинать надо сейчас и к моменту, когда наступит понимание, что же надо делать, вычислительные мощности уже будут вполне доступны для решения проблем такого масштаба. Удачи!

 Профиль  
                  
 
 
Сообщение06.03.2008, 02:08 
Заслуженный участник


15/05/05
3445
USA
DjordanoBruno писал(а):
Проблема касается искуственного интеллекта.
Дело в том, что я смотрю на подходы к его созданию с точки зрения психиатрии и психологии. И, хотя, с точки зрения математики и кибернетики существующие методы может быть и безупречны, но у меня создается впечатление, что врачи, психиатры и психологи совершенно по-другому представляют себе его функционирование. И существующие сейчас принципы моделирования представляются не только однобокими, но и не имеющими возможности решить поставленную задачу в принципе.
Это смотря какую задачу решать.

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

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

 Профиль  
                  
 
 
Сообщение06.03.2008, 19:28 


04/03/08
23
Пример с авиацией отлично иллюстрирует недостатки структурного подхода!
Но мы немного не поняли друг-друга, по большей части, я имел в виду моделирование мышления; моделирование работы мозга - задача более узкая и второстепенная и я с этим согласен...
Сейчас, мне кажется, что основными задачами для движения в нужном направлении, является распознавание образов и машинный перевод (как аналог понимания речи).
Решение этих задач может быть или почвой для дальнейшей работы или побочным продуктом - маркером того, что мы на верном пути.
Вобчим, сейчас мне кажется, что такие должны стоять задачи (маркеры)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group