LINUX.ORG.RU — Русская информация об ОС Linux

[#]  
Sun-ch

Международный чемпионат по искусственному интеллекту

Опубликованы результаты международного чемпионата в области AI, организованного в университете Ватерлоо (Канада), при спонсорской поддержке Google. Приятно было увидеть в числе финалистов несколько представителей из России. Удивительным оказался тот факт, что среди победителей, попавших в top10, все 100% использовали язык C++.

>>> Подробности

Метки: ai, чемпионат

Sun-ch # (02.03.2010 12:15:38)
Проверено: boombick (02.03.2010 17:15:26)
Juick

[#] Ответ на: комментарий от psv1967 02.03.2010 21:24:30  
psv1967
[#] Ответ на: комментарий от KRoN73 02.03.2010 18:51:12  
Lothlorien

> LISP, Prolog, Forth, Smalltalk...

Smalltalk откуда?

P.S. Я не специалист по C++, но в своё время Завалишин как-то писал, что на C++ с помощью перегружаемых операторов вполне можно реализовать семантику Prolog.

Lothlorien (03.03.2010 10:15:08)
[#] Ответ на: комментарий от KRoN73 02.03.2010 19:34:02  
Lothlorien

> распознавание образов вообще, в частности - OCR

Статистическую теорию распознавания образов тоже относить к ИИ?

Lothlorien (03.03.2010 10:27:07)
[#] Ответ на: комментарий от dave 03.03.2010 8:09:51  

> Тогда открою еще больший :) Имеют. Там до черта алгебры.

Где, в символьных вычислениях? В Common Lisp то? Приехали...

archimag ** (03.03.2010 11:20:56)
[#] Ответ на: комментарий от Quasar 03.03.2010 8:30:06  

> Не путай символьные и численные вычисления.

Я что-то говорил про численные вычисления?

archimag ** (03.03.2010 11:21:39)
[#] Ответ на: комментарий от siberean 02.03.2010 20:30:30  

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

Знаю хорошо и Лисп и C++, оба языка использую ещё где-то с 91го года. Когда есть возможность выбирать - выбираю Лисп.

anonymous (03.03.2010 11:41:32)
[#] Ответ на: комментарий от archimag 03.03.2010 11:20:56  

Ты про term rewriting systems слышал? Это чистая алгебра. А то же лямбда-исчисление - это всего лишь жалкий частный случай. Символьные вычисления все на rules/strategies строятся, то есть, term rewriting.

anonymous (03.03.2010 11:43:41)
[#] Ответ на: комментарий от anonymous 03.03.2010 2:23:55  

> "наливания - переливания" - это было большей частью много "group by" по многим критериям на многомиллионных базах, где много like и часть - в виде регулярных выражений. Т.е. склоняюсь всё-же к тому, что у него кривые руки. Видимо, он в какой-то другой explain смотрел и не делал аудит (нехорошо).

да, вероятнее всего кривые руки. вот не верю что "group by" на клиенте сделается быстрее чем на сервере даже по многомиллионной базе. Только если like и регулярные выражения настолько сложны, что их реализация на java окупает получение данных из БД и обработку клиентом.

like %some - full scan, a like some% должен подцепить индекс на поле.

VoDA ** (03.03.2010 11:48:29)
[#] Ответ на: комментарий от siberean 02.03.2010 20:31:59  
Sun-ch

>Лисп - это как распечатка всего дерева директорий `tree`. Одна из серьёзнейших проблем - не ошибится - на каком ты уровне (когда распечатка на много экранов).

ИМХО так на лиспе никто не пишет. Обычно это функции не больше 10 строк каждая.

Sun-ch # (03.03.2010 11:55:34)
[#] Ответ на: комментарий от anonymous 03.03.2010 11:43:41  

Первая же строчка из результатов гугля:

>A generalization of term rewrite systems are graph rewrite systems

Так что ваши TRS - всего лишь жалкий частный случай :)

anonymous (03.03.2010 11:58:16)
[#]  

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

skydiver (03.03.2010 12:00:27)
[#] Ответ на: комментарий от anonymous 03.03.2010 11:43:41  

И какое это имеет отношение к символьным вычислениям в Common Lisp?

archimag ** (03.03.2010 12:03:44)
[#] Ответ на: комментарий от Vudod 02.03.2010 21:16:40  
Sun-ch

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

Sun-ch # (03.03.2010 12:04:26)
[#] Ответ на: комментарий от Sun-ch 03.03.2010 12:04:26  

> Лисп и хаскель - дают возножность сильно продвинуться в понимании
> теоретических основ программирования.


Хм, за счёт чего? Ладно, хаскель, там есть какой-то "суровый матан", но лисп то? Что в нём такого есть?

archimag ** (03.03.2010 12:12:06)
[#] Ответ на: комментарий от dave 03.03.2010 8:09:51  
Sun-ch

Не путай т.н. "компьютерную алгебру" с алгеброй как математической дисциплиной.

Sun-ch # (03.03.2010 12:13:11)
[#] Ответ на: комментарий от archimag 03.03.2010 12:12:06  

А ты почитай "Algorithmic Information Theory", G.J.Chaitin, может и поймешь. Полный текст где-то в онлайне был.

anonymous (03.03.2010 12:16:24)
[#] Ответ на: комментарий от archimag 03.03.2010 12:03:44  

Самое непосредственное. Посмотри, как Maxima работает.

anonymous (03.03.2010 12:17:36)
[#] Ответ на: комментарий от anonymous 03.03.2010 12:16:24  

> А ты почитай "Algorithmic Information Theory", G.J.Chaitin,
> может и поймешь. Полный текст где-то в онлайне был.


Ну т.е. сами вы сказать ничего не можете? Или опять идёт отсыл на "суровый матан"?

Я как бы очень широко пользуюсь возможностями символьных вычислений в Common Lisp и не вижу какой-либо связи их с алгеброй, rules/strategies и т.п. А насколько широко используете символьное вычисление вы?

archimag ** (03.03.2010 12:21:05)
[#] Ответ на: комментарий от anonymous 03.03.2010 12:17:36  

> Самое непосредственное. Посмотри, как Maxima работает.

И что я там должен увидеть? Что для реализации символьных алгебраических вычислений используются возможности символьных вычислений Common Lisp? Ну так они вообще имеют очень широкую область применимости...

archimag ** (03.03.2010 12:23:33)
[#] Ответ на: комментарий от archimag 03.03.2010 12:12:06  
Sun-ch

Лямбда исчисление. Формальное описание "лисп-машины" в его терминах позволило создать аппаратные лисп-процессоры. Наверное "С-машину" создать нельзя, в силу отсутствия подходящего формализма.

Sun-ch # (03.03.2010 12:24:11)
[#] Ответ на: комментарий от Sun-ch 03.03.2010 12:24:11  

> Лямбда исчисление. Формальное описание "лисп-машины" в его
> терминах позволило создать аппаратные лисп-процессоры


Это всё было очень давно, никакого лямбда-вычисления в современно Common Lisp нет, только ключевое слово lambda (кое используется просто для создания анонимных функций) и осталось. Вы вообще когда в последний раз интересовались вопросом?

archimag ** (03.03.2010 12:28:25)
[#] Ответ на: комментарий от archimag 03.03.2010 12:21:05  

> Ну т.е. сами вы сказать ничего не можете?

Пришлось бы пересказывать всю книгу.

> Я как бы очень широко пользуюсь возможностями символьных вычислений в Common Lisp и не вижу какой-либо связи их с алгеброй, rules/strategies и т.п. А насколько широко используете символьное вычисление вы?

А ты, похоже, имеешь какое-то своё, альтернативное понимание того, что есть "символьные вычисления". Я то как-то пользуюсь общепринятым определением. И определяются они через term rewriting, да.

И ещё, похоже, ты не понимаешь, что такое алгебра.

anonymous (03.03.2010 12:36:05)
[#] Ответ на: комментарий от archimag 03.03.2010 11:20:56  
dave

> Где, в символьных вычислениях? В Common Lisp то? Приехали...

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

Смешной ты какой-то :)

dave ***** (03.03.2010 12:37:53)
[#] Ответ на: комментарий от Sun-ch 03.03.2010 12:24:11  

> Наверное "С-машину" создать нельзя, в силу отсутствия подходящего формализма.

Саныч, быстро беги читать man "Денотационные семантики" и man "Операционные семантики".

Ничего сложного в формализме для Си нет. Да, сложнее чем для Лиспа, но по сути та же фигня.

anonymous (03.03.2010 12:38:05)
[#] Ответ на: комментарий от dave 03.03.2010 12:37:53  

Ну не понимает он, что Лисп сам по себе алгебра.

anonymous (03.03.2010 12:39:30)
[#] Ответ на: комментарий от anonymous 03.03.2010 12:36:05  

> А ты, похоже, имеешь какое-то своё, альтернативное понимание того,
> что есть "символьные вычисления".


Не я, а вероятно разработчики Common Lisp. Символьные вычисления, насколько я знаю, это обработка данных в символьной форме. В Common Lisp есть специальный тип symbol, для которого предусмотрен весьма мощный и продуманный api. И символьные вычисления в Common Lisp это прежде всего работа с символами Common Lisp. Такое понимание вытекает непосредственно из дизайна языка.

> Я то как-то пользуюсь общепринятым определением.


Можно его таки привести?

archimag ** (03.03.2010 12:41:25)
[#] Ответ на: комментарий от dave 03.03.2010 12:37:53  

> Ты что-нибудь читал по тому, как
> устроены системы компьютерной алгебры?


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

archimag ** (03.03.2010 12:42:51)
[#] Ответ на: комментарий от anonymous 03.03.2010 12:36:05  
dave

> А ты, похоже, имеешь какое-то своё, альтернативное понимание того, что есть "символьные вычисления"

Похоже, что он неправильно понял ;)

dave ***** (03.03.2010 12:43:07)
[#] Ответ на: комментарий от archimag 03.03.2010 12:41:25  

> Символьные вычисления, насколько я знаю, это обработка данных в символьной форме.

Плохо знаешь. Что такое эта твоя "символьная форма"?

> В Common Lisp есть специальный тип symbol, для которого предусмотрен весьма мощный и продуманный api.

Какой на фиг api? Какой на фиг мощный? Для символов определено равенство, этого достаточно.

> И символьные вычисления в Common Lisp это прежде всего работа с символами Common Lisp. Такое понимание вытекает непосредственно из дизайна языка.

Плохо все таки изучать язык, забив совсем на теорию.

> Можно его таки привести?

http://en.wikipedia.org/wiki/Symbolic_computation

anonymous (03.03.2010 12:46:49)
[#] Ответ на: комментарий от archimag 03.03.2010 12:42:51  

Symbolic computation и algebraic computation - синонимы.

anonymous (03.03.2010 12:47:29)
[#] Ответ на: комментарий от archimag 03.03.2010 12:42:51  
dave

> С каких пор символьная алгебра и символьные вычисления стали синонимами?

Ты какие-то странные термины используешь. Напомню, с чего все началось (вторая реплика - твоя):

>>-----Цитата---->>

> Лисп рулил (и до сих пор рулит) в другой связанной с AI областью - > computer algebra systems, то бишь, символьная математика.

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

<<-----Цитата----<<
dave ***** (03.03.2010 12:48:18)
[#] Ответ на: комментарий от archimag 03.03.2010 12:42:51  

Я начинаю догадываться. Ты думаешь, что алгебра - это только про всякие там числа да про искы с игреками?

anonymous (03.03.2010 12:49:26)
[#] Ответ на: комментарий от anonymous 03.03.2010 12:39:30  
dave

> Ну не понимает он, что Лисп сам по себе алгебра.

Интересная мысль. Надо будет подумать над этим. Но я имел ввиду другое. Как-то обидно стало за системы компьютерной алгебры :)

dave ***** (03.03.2010 12:51:34)
[#] Ответ на: комментарий от anonymous 03.03.2010 12:46:49  

> Какой на фиг api? Какой на фиг мощный? Для символов определено
> равенство, этого достаточно


Оказывается вы просто не знаете лисп, зачем о нём рассуждаете?

> Плохо все таки изучать язык, забив совсем на теорию.


Плохо изучать теорию, совершенно оторвавший от практики.

> http://en.wikipedia.org/wiki/Symbolic_computation


Статья г.. автор не в теме, можете приведёте ссылку на более авторитетный источник? Пока из вменяемых мне попадалось только обозначенное выше: "Обработка информации в символьной форме".

archimag ** (03.03.2010 12:54:13)
[#] Ответ на: комментарий от anonymous 03.03.2010 12:47:29  

> Symbolic computation и algebraic computation - синонимы.

Откройте для себя Common Lisp: узнаете что Symbolic computation находят чрезвычайно широкое применения, и не ограничиваются такой узкой областью, как algebraic computation

archimag ** (03.03.2010 13:00:41)
[#] Ответ на: комментарий от archimag 03.03.2010 13:00:41  

несколько раз уже встречал
в ваших топиках упоминание
что вы придаете большое
значение работе с символами в CL

Не могли бы вы сказать для
каких задач их используете?

h1t (03.03.2010 13:05:04)
[#] Ответ на: комментарий от archimag 03.03.2010 13:00:41  

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

anonymous (03.03.2010 13:11:12)
[#] Ответ на: комментарий от archimag 03.03.2010 12:54:13  

> Оказывается вы просто не знаете лисп, зачем о нём рассуждаете?

Ох и смешной же ты. Говорить мне, что я не знаю лисп - это занятно.

Скорее это ты его не знаешь и не понимаешь. Ты не понимаешь, что такое символ в Лиспе, и на фига он нужен.

> Статья г.. автор не в теме,

О да, только ты в теме. Со своими альтернативными взглядами, никем не разделяемыми. Смешной ты, чувачок. Упёртый и смешной.

> "Обработка информации в символьной форме".

Я уже понял, что ты способен воспринимать только "определения" детсадовского уровня. Ничего более формального в твою голову не помещается. Потому и не осознаёшь, что такое алгебра, и что такое term rewriting.

anonymous (03.03.2010 13:13:40)
[#] Ответ на: комментарий от h1t 03.03.2010 13:05:04  

> Не могли бы вы сказать для каких задач их используете?

Для самых разных :) Например, вся информация о структуре веб-приложения на основе RESTAS хранится в свойствах символы, которые распределены по пакетам, и связываются в единое целое опять таки через символы. Кстати, схожую схему можно найти, например, в lift (http://common-lisp.net/project/lift/), где вся информация о тестах хранится символьном виде, что, между прочим, позволило мне полностью автоматически генерить тесты для JS-бэкэнда cl-closure-template на основе ранее написанных тестов для CL-бэкэнда. Структура парсера, используемая у меня в wiki-parser (используется для разбора dokuwiki-формата и в cl-closure-template) тоже хранится в символьном виде, а результатом парсинга является s-выражение, основным элементом которого являются символы.

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

archimag ** (03.03.2010 13:15:28)
[#] Ответ на: комментарий от archimag 03.03.2010 13:00:41  

не тратьте свое время на тролля

lester **** (03.03.2010 13:15:44)
[#] Ответ на: комментарий от Sun-ch 03.03.2010 12:04:26  

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

anonymous (03.03.2010 13:17:08)
[#] Ответ на: комментарий от archimag 03.03.2010 13:00:41  

Контрольный вопрос: интерпретатор произвольного языка, представленного в виде списков Лиспа - это symbolic computation? Это algebraic computation? Это term rewriting?

anonymous (03.03.2010 13:17:17)
[#] Ответ на: комментарий от anonymous 03.03.2010 12:38:05  
Sun-ch

А чего тогда процессор в кремнии не сделали? Наверное в то время считали С неперспективным языком и предпочитали делать совершенно ацких монстров по типу Thinking Machines Corporation?

Sun-ch # (03.03.2010 13:17:17)
[#] Ответ на: комментарий от Sun-ch 03.03.2010 13:17:17  

> А чего тогда процессор в кремнии не сделали?

Как не сделали? Почти любой нынешний процессор - это Си-процессор. Операционная семантика очень близка к Си.

anonymous (03.03.2010 13:18:16)
[#] Ответ на: комментарий от anonymous 03.03.2010 13:13:40  

> Ох и смешной же ты. Говорить мне, что я не знаю лисп - это занятно.

Иначе не говорили бы глупостей, типо того, что "для символов определено равенство и этого достаточно".

> Со своими альтернативными взглядами, никем не разделяемыми.


Привести ссылку на общепринятый взгляд вы по прежнему не в состоянии?

> Потому и не осознаёшь, что такое алгебра, и что такое term rewriting.


Вы же не хотите признаваться, какое это имеет отношение к Common Lisp. Остаётся только гадать, о чём вы всё таки толкуете.

archimag ** (03.03.2010 13:19:47)
[#] Ответ на: комментарий от archimag 03.03.2010 13:15:28  

Всё, что ты перечислил, очень даже попадает под algebraic computation. Ты снова лоханулся, как всегда.

> это ключевой элемент системы символьных вычислений в CL.

Когда же ты осилишь дать своё, альтернативно одарённое определение "символьных вычислений"?

anonymous (03.03.2010 13:20:07)
[#] Ответ на: комментарий от anonymous 03.03.2010 13:17:08  
Sun-ch

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

Sun-ch # (03.03.2010 13:23:10)
[#] Ответ на: комментарий от archimag 03.03.2010 13:19:47  

> Иначе не говорили бы глупостей, типо того, что "для символов определено равенство и этого достаточно".

До сих пор глупости, чушь и херню тут говорил только ты. А на Лиспе я программирую в несколько раз дольше, чем ты.

> Привести ссылку на общепринятый взгляд вы по прежнему не в состоянии?

Я уже привёл. То, что он не совпадает с твоим, не делает его неправильным. Скорее это говорит о твоей неадекватности.

> Вы же не хотите признаваться, какое это имеет отношение к Common Lisp.

Самое непосредственное. Common Lisp - это term rewrite system для термов, составленных из списков и символов, грубо говоря. Весь формализм применим к CL непосредственно. То, что ты его не знаешь и не понимаешь, заставляет тебя писать плохой и громоздкий код.

> Остаётся только гадать, о чём вы всё таки толкуете.

Ну да, темой ты не владеешь, терминологии не понимаешь, вот и гадаешь.

anonymous (03.03.2010 13:23:27)
[#]  

все 100% использовали язык C++

Наверное все дело в организации чемпионата. Для настоящего ИИ лиспу нет равных

anonymous (03.03.2010 13:23:49)
[#] Ответ на: комментарий от archimag 03.03.2010 13:19:47  

Контрольный вопрос N2: что такое, по твоему мнению, алгебра, и что такое "алгебраические вычисления"?

anonymous (03.03.2010 13:25:30)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru