LINUX.ORG.RU

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

 ,


1

0

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

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



Проверено: boombick ()
Последнее исправление: hibou (всего исправлений: 1)
Ответ на: комментарий от KRoN73

> LISP, Prolog, Forth, Smalltalk...

Smalltalk откуда?

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

Lothlorien ★★★
()
Ответ на: комментарий от KRoN73

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

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

Lothlorien ★★★
()
Ответ на: комментарий от Quasar

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

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

archimag ★★★
()
Ответ на: комментарий от siberean

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

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

anonymous
()
Ответ на: комментарий от archimag

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

anonymous
()
Ответ на: комментарий от anonymous

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

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

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

VoDA ★★
()
Ответ на: комментарий от siberean

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

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

Sun-ch
() автор топика
Ответ на: комментарий от anonymous

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

A generalization of term rewrite systems are graph rewrite systems

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

anonymous
()

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

skydiver
()
Ответ на: комментарий от Vudod

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

Sun-ch
() автор топика
Ответ на: комментарий от Sun-ch

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

теоретических основ программирования.


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

archimag ★★★
()
Ответ на: комментарий от dave

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

Sun-ch
() автор топика
Ответ на: комментарий от archimag

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

anonymous
()
Ответ на: комментарий от anonymous

> А ты почитай «Algorithmic Information Theory», G.J.Chaitin,

может и поймешь. Полный текст где-то в онлайне был.


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

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

archimag ★★★
()
Ответ на: комментарий от anonymous

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

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

archimag ★★★
()
Ответ на: комментарий от archimag

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

Sun-ch
() автор топика
Ответ на: комментарий от Sun-ch

> Лямбда исчисление. Формальное описание «лисп-машины» в его

терминах позволило создать аппаратные лисп-процессоры


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

archimag ★★★
()
Ответ на: комментарий от archimag

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

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

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

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

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

anonymous
()
Ответ на: комментарий от archimag

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

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

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

dave ★★★★★
()
Ответ на: комментарий от Sun-ch

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

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

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

anonymous
()
Ответ на: комментарий от anonymous

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

что есть «символьные вычисления».


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

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


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

archimag ★★★
()
Ответ на: комментарий от dave

> Ты что-нибудь читал по тому, как

устроены системы компьютерной алгебры?


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

archimag ★★★
()
Ответ на: комментарий от anonymous

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

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

dave ★★★★★
()
Ответ на: комментарий от archimag

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

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

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

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

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

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

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

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

anonymous
()
Ответ на: комментарий от archimag

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

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

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

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

dave ★★★★★
()
Ответ на: комментарий от archimag

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

anonymous
()
Ответ на: комментарий от anonymous

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

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

dave ★★★★★
()
Ответ на: комментарий от anonymous

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

равенство, этого достаточно


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

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


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

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


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

archimag ★★★
()
Ответ на: комментарий от anonymous

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

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

archimag ★★★
()
Ответ на: комментарий от archimag

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

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

h1t
()
Ответ на: комментарий от archimag

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

anonymous
()
Ответ на: комментарий от archimag

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

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

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

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

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

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

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

anonymous
()
Ответ на: комментарий от h1t

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

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

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

archimag ★★★
()
Ответ на: комментарий от Sun-ch

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

anonymous
()
Ответ на: комментарий от archimag

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

anonymous
()
Ответ на: комментарий от anonymous

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

Sun-ch
() автор топика
Ответ на: комментарий от Sun-ch

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

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

anonymous
()
Ответ на: комментарий от anonymous

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

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

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


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

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


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

archimag ★★★
()
Ответ на: комментарий от archimag

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

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

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

anonymous
()
Ответ на: комментарий от anonymous

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

Sun-ch
() автор топика
Ответ на: комментарий от archimag

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

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

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

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

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

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

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

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

anonymous
()

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

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

anonymous
()
Ответ на: комментарий от archimag

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.