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

[#] Ответ на: комментарий от los_nikos 02.03.2010 20:44:22  
siberean

> Tron не ахти какая интеллектуальная игрушка, во всяком случае вывести ракету на орбиту будет на порядок сложнее. То что накодили всё на C++ говорит о железячной ориентации привлекаемых программистов.

в ватерлоо просто отбор неплохой и случайные люди не поступят. Тем более - призёры олимпиад.

siberean * (02.03.2010 20:54:55)
[#] Ответ на: комментарий от Anonymous 02.03.2010 18:19:56  
www_linux_org_ru

> среднее арифметическое от мест для каждого языка посчитать что-ли...

это будет ерунда, т.к. распределение по местам не симметрично

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

да и вообще -- толпа недоподелок может опустить супервещь.

если уж считать что-то -- так это как-то компенсировать разницу в к-ве: лиспов 10, с++ 250 штук.

www_linux_org_ru **** (02.03.2010 20:57:20)
[#] Ответ на: комментарий от faustus 02.03.2010 20:54:40  
ikm

> Ну это, как бы, без операционной системы, все в железе.

SMT, или что-то похитрее?

ikm ** (02.03.2010 20:59:33)
[#] Ответ на: комментарий от siberean 02.03.2010 20:51:44  

В Лиспе нет совершенно ничего особенного с точки зрения современных языков. Просто Лисп - один из первых high-level языков, и его популярность совпала с популярностью AI.

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

faustus * (02.03.2010 21:00:25)
[#] Ответ на: комментарий от siberean 02.03.2010 20:51:44  
siberean

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

siberean * (02.03.2010 21:00:38)
[#] Ответ на: комментарий от los_nikos 02.03.2010 20:44:22  

>То что накодили всё на C++ говорит о железячной ориентации привлекаемых программистов.

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

anonymous (02.03.2010 21:03:44)
[#] Ответ на: комментарий от ikm 02.03.2010 20:59:33  

> SMT, или что-то похитрее?

Я, если честно, не разбираюсь. :3 Помню, что там 15 тредов можно было одновременно пускать. Вообще, custom процессор - ужасная вещь, даже на обычном C под него не попишешь.

faustus * (02.03.2010 21:03:52)
[#] Ответ на: комментарий от faustus 02.03.2010 21:03:52  
ikm

> Вообще, custom процессор - ужасная вещь, даже на обычном C под него не попишешь.

О да, чем кастомнее архитектура, тем толще партизаны!

ikm ** (02.03.2010 21:06:35)
[#] Ответ на: комментарий от Vudod 02.03.2010 19:48:43  
www_linux_org_ru

> Всё просто объясняется: кроме компилятора C++ другого функционала на тестовом стенде не было.

что не помешало 179 программам на яве получить ело от 2400 до 1200

www_linux_org_ru **** (02.03.2010 21:10:29)
[#]  
mirocumo

Был бы большой и годный призовой фонд, расклад в плане языков программирования был бы другой.

mirocumo (02.03.2010 21:16:24)
[#]  

А еще там есть C#.

Мужик-2, где ты ?

aldayneko * (02.03.2010 21:16:26)
[#]  

А что всех так заело на этот самый Лисп? Я знаю от плохо до хорошо: C, Fortran, (Object/Free)Pascal, Python. Ещё писао на SciLab. Но зачем нужен Lisp, моя не знает. А создаётся ощущение, что кроме крестов и него больше ничего нет.

Vudod ** (02.03.2010 21:16:40)
[#] Ответ на: комментарий от Vudod 02.03.2010 21:16:40  
ikm

> А создаётся ощущение, что кроме крестов и него больше ничего нет.

Больше ЛОР читай. Сейчас придет мужик-2 и создастся совсем иное впечатление.

ikm ** (02.03.2010 21:18:41)
[#] Ответ на: комментарий от Vudod 02.03.2010 21:16:40  
Werehuman

> Но зачем нужен Lisp, моя не знает.

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

Werehuman ** (02.03.2010 21:19:07)
[#] Ответ на: комментарий от Vudod 02.03.2010 21:16:40  

Ну так ты ничего не знаешь. Все языки, которые ты перечислил, одинаковые. Расширяй кругозор.

anonymous (02.03.2010 21:22:08)
[#] Ответ на: комментарий от Anonymous 02.03.2010 18:19:56  
moradan

> среднее арифметическое от мест для каждого языка посчитать что-ли...

Логичнее посчитать среднее набраных баллов. Только кроме средней еще и дисперсию, пожалста.

moradan * (02.03.2010 21:23:08)
[#] Ответ на: комментарий от Vudod 02.03.2010 21:16:40  
Werehuman

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

Werehuman ** (02.03.2010 21:23:21)
[#]  
psv1967

о! так в этой лотерее даже не каждый с каждым сыграл. бугага. это сверхразумное решение организаторов. искусственный интеллект организаторов считаю таки доказанным.

psv1967 ** (02.03.2010 21:24:30)
[#]  

Удивительным оказался тот факт, что среди победителей, попавших в top10, все 100% использовали язык C++.
А что здесь удивительного? Это же чемпионат по исскуственному интеллекту, а не по самым хитрозакрученным скриптам.

WARNING * (02.03.2010 21:25:46)
[#] Ответ на: комментарий от siberean 02.03.2010 20:51:44  

> выходи и покажи мне тёмному - пример больших аппликаций на лиспе.

Maxima, например. Или Axiom. Посмотри на код - всё очень поддерживаемое.

> То что я видел в индистрии

Ты мало чего видел.

> Если на лиспе можно открыть стримы, написать инкрементальный парсер (ну даже пусть наколенночный, без antlr-ов), покусочечно контролируя: что в данный момент в локальных переменных итд?

На Лиспе прекрасно пишутся поточные парсеры. Даже для бинарных форматов.

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

Ты гонишь. Лисп - императивный язык с макрами и некоторыми функциональными возможностями. Главная фича Лиспа - макры. А ты ни хрена не понимаешь, что такое Лисповый стиль.

> Но на основании того что я учил когда-то - это невозможно.

Проверить свою память хотя бы по статье в википедии ты мог бы за меньшее время, чем ты потратил на написание этого бреда. Спрашивается - какого хрена?!?

anonymous (02.03.2010 21:28:29)
[#] Ответ на: комментарий от ikm 02.03.2010 20:51:54  

Ну я и говорю - ты лох. Неграмотный лох.

anonymous (02.03.2010 21:29:01)
[#]  
qWen71n

Прикол, я в U Waterloo собственно работаю, а про события там узнаю с ЛОРа...

qWen71n *** (02.03.2010 21:29:46)
[#] Ответ на: комментарий от faustus 02.03.2010 21:00:25  

> В Лиспе нет совершенно ничего особенного с точки зрения современных языков.

Есть. Прямая работа с AST, без всяких quasiquoting-ов. В других языках такого нет.

> что любой супер-пупер навороченный/lazy/whatnot интерпретатор того же Scheme гораздо легче имплементировать на самой обычной Яве, чем на самом Scheme.

Да ты, бедняжка, бредишь. Попробуй на жабе сделать аналог http://lambda-the-ultimate.org/node/349

Будет раз в пять длиннее и совершенно нечитабельно.

anonymous (02.03.2010 21:31:59)
[#]  
thesis

>Приятно было увидеть в числе финалистов несколько представителей из России.

Разработчики кабинета министров РФ?

thesis ** (02.03.2010 21:34:06)
[#]  
boo32

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

boo32 * (02.03.2010 21:37:45)
[#] Ответ на: комментарий от boo32 02.03.2010 21:37:45  

Экспертные системы на Лиспе - это извращение.

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

anonymous (02.03.2010 21:40:26)
[#] Ответ на: комментарий от anonymous 02.03.2010 21:31:59  

> Есть. Прямая работа с AST, без всяких quasiquoting-ов. В других языках такого нет.

И макросы. И что? Профит от этого при реальном программировании никакой.

> Да ты, бедняжка, бредишь. Попробуй на жабе сделать аналог http://lambda-the-ultimate.org/node/349 > Будет раз в пять длиннее и совершенно нечитабельно.

Ну да, ну да, расскажи мне, как оно на самом деле. Я писал компиляторы и интерпретаторы на Scheme, и интерпретаторы на Яве. На Яве гораздо легче, используя полиморфизм параллельный AST. На Scheme для того же эффекта нужно определять кучу макросов, или писать нечитабельный код.

faustus * (02.03.2010 21:43:04)
[#] Ответ на: комментарий от anonymous 02.03.2010 21:40:26  
boo32

>Экспертные системы на Лиспе - это извращение.

вероятно, ты прав. но я не про эффективность говорил, а про историю.

boo32 * (02.03.2010 21:43:40)
[#] Ответ на: комментарий от faustus 02.03.2010 21:00:25  
dave

> В Лиспе нет совершенно ничего особенного с точки зрения современных языков. Просто Лисп - один из первых high-level языков, и его популярность совпала с популярностью AI.

Не согласен с тобой. Я знаю довольно много языков с разной степенью владения. Лисп отличается и очень сильно. Не только внешне. Во многом благодаря макросам и s-выражениям. Да-да, эти самые скобочки. Они переворачивают все, или почти все. Язык можно подстраивать под себя, выбирая тот уровень абстракции, который тебе нужен. Ничего подобного я пока не встречал в других языках. Не даром, язык создавался математиками. Фундамент в основание языка был заложен мощный. Еще на долго хватит. Без "матана" явно не обошлось :)

Есть, конечно, еще Nemerle из тех, что на слуху, но я с ним пока не знаком. Вот, в F# макросов нет :( Есть quotations, но до лисповских макросов они не дотягивают.

dave ***** (02.03.2010 21:45:56)
[#] Ответ на: комментарий от faustus 02.03.2010 21:43:04  

> И макросы. И что? Профит от этого при реальном программировании никакой.

Не много же ты знаешь про реальное программирование.

> Ну да, ну да, расскажи мне, как оно на самом деле.

Тебе, похоже, рассказывать бесполезно. Ты упёртый.

> Я писал компиляторы и интерпретаторы на Scheme, и интерпретаторы на Яве.

Очевидно же, что херово писал. И то, и другое. Грамотности не хватило.

> На Яве гораздо легче, используя полиморфизм параллельный AST.

Чего-чего? Одно только определение AST на Java будет в до хера строк, на каждый node по классу.

> На Scheme для того же эффекта нужно определять кучу макросов, или писать нечитабельный код.

Что в коде по моей ссылке нечитабельного? И слабо тебе это написать ЛУЧШЕ на жабке?

Да, на нормальном языке с ADT и pattern matching-ом это ещё лучше будет выглядеть (Scala, например). Но жабка тут ни в какие ворота не лезет. Что говорит только о твоей неграмотности.

anonymous (02.03.2010 21:48:19)
[#] Ответ на: комментарий от ikm 02.03.2010 21:18:41  

> Больше ЛОР читай. Сейчас придет мужик-2 и создастся совсем иное впечатление.

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

anonymous (02.03.2010 21:49:38)
[#] Ответ на: комментарий от dave 02.03.2010 21:45:56  

> Есть, конечно, еще Nemerle из тех, что на слуху, но я с ним пока не знаком.

В Nemerle, как и в Template Haskell и MetaOCaml - только quasiquotation есть. И сложный AST. Кроме того, во всех трёх не более одного прохода раскрытия макросов, тогда как в Лиспе число проходов неограниченно.

anonymous (02.03.2010 21:50:10)
[#]  

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

саныч а ты че новость то запостил? про соларис-то здесь не слова? Ты так скоро и про windows постить начнешь

anonymous (02.03.2010 21:55:58)
[#] Ответ на: комментарий от anonymous 02.03.2010 21:28:29  
siberean

> Maxima, например. Или Axiom. Посмотри на код - всё очень поддерживаемое.

это специфические аппликации

> Ты мало чего видел.


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

> Ты гонишь. Лисп - императивный язык с макрами и некоторыми функциональными возможностями. Главная фича Лиспа - макры. А ты ни хрена не понимаешь, что такое Лисповый стиль.


Здесь ты прав оказался. Посмотрел макры и в код - понял, как лисперы борятся со сложностью (про макры я за много лет забыл. Таки склероз. Или не учили).
Да, ещё подумаю - как написать на лиспе. Пока трудно представить, как это возможно. И может вернусь ещё опять к этому топику.

siberean * (02.03.2010 21:59:35)
[#] Ответ на: комментарий от siberean 02.03.2010 21:59:35  

> это специфические аппликации

Да ну и что же там такого "специфического"?!? Ввод/вывод, причем для весьма объёмистых данных - сколько угодно.

> много.

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

> Если ты работаешь в университете

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

> Пока трудно представить, как это возможно.

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

anonymous (02.03.2010 22:06:27)
[#]  

Grammar Nazi негодуэ!

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

>исскуственному

Саныч неграмотнее тупой лоровской белки.

den2 (02.03.2010 22:09:03)
[#] Ответ на: комментарий от dave 02.03.2010 21:45:56  

> Язык можно подстраивать под себя, выбирая тот уровень абстракции, который тебе нужен.

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

> Не даром, язык создавался математиками. Фундамент в основание языка был заложен мощный.

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

faustus * (02.03.2010 22:10:33)
[#] Ответ на: комментарий от anonymous 02.03.2010 21:48:19  

> Чего-чего? Одно только определение AST на Java будет в до хера строк, на каждый node по классу.

В каждом будет одна перегруженная функция в пару строк. Очень удобно.

faustus * (02.03.2010 22:13:16)
[#] Ответ на: комментарий от anonymous 02.03.2010 21:55:58  

> саныч а ты че новость то запостил? про соларис-то здесь не слова? Ты так скоро и про windows постить начнешь

Саныч уже не торт!

faustus * (02.03.2010 22:17:39)
[#] Ответ на: комментарий от faustus 02.03.2010 22:13:16  

> В каждом будет одна перегруженная функция в пару строк. Очень удобно.

Совершенно неудобно. Ты не писал никогда хоть немного серьёзных компиляторов.

Обычно над AST определено более одного преобразования. Так что твой дурацкий visitor pattern применим лишь в самых убогих случаях, да и там он просто отстой рядом с декларативными описаниями без всякого boilerplate.

anonymous (02.03.2010 22:20:59)
[#] Ответ на: комментарий от faustus 02.03.2010 22:10:33  

> каких-либо ярких и годных примеров использования макросов я в ней не узрел.

Почитай "Practical Common Lisp", что ли. Грэм не особо умеет макрами пользоваться.

Посмотри, какие извращения с макрами делают:

http://lambda-the-ultimate.org/node/3281

anonymous (02.03.2010 22:23:15)
[#] Ответ на: комментарий от anonymous 02.03.2010 21:29:01  
ikm

> Ну я и говорю - ты лох. Неграмотный лох.

Саморефлексии замучали? Заладил одно и то же. Если хочешь привнести что-то новое, рассказал бы про этот твой lnmos поподробнее.

ikm ** (02.03.2010 22:23:51)
[#] Ответ на: комментарий от ikm 02.03.2010 22:23:51  

> Если хочешь привнести что-то новое, рассказал бы про этот твой lnmos поподробнее.

В гугле забанили?

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

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

anonymous (02.03.2010 22:25:36)
[#] Ответ на: комментарий от anonymous 02.03.2010 22:20:59  

> Обычно над AST определено более одного преобразования. Так что твой дурацкий visitor pattern применим лишь в самых убогих случаях, да и там он просто отстой рядом с декларативными описаниями без всякого boilerplate.

Во всех книжках, что читал (SICP, например), на каждое преобразование - большой switch, аналогичный набору классов на Яве. И никуда ты от этого свитча не денешься, в той или иной форме.

faustus * (02.03.2010 22:28:27)
[#] Ответ на: комментарий от faustus 02.03.2010 22:28:27  

> Во всех книжках, что читал (SICP, например), на каждое преобразование

Ты не книжки читай, а код.

> большой switch,

Ты не обращал внимания, что в этом "switch" часто используется весьма сложный pattern matching?

> аналогичный набору классов на Яве

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

> И никуда ты от этого свитча не денешься, в той или иной форме.

Только на Лиспе он - несколько строк, а на жабе - сотни строк. Вот и вся разница. Смотри в те примеры, на которые я ссылался.

anonymous (02.03.2010 22:31:33)
[#] Ответ на: комментарий от anonymous 02.03.2010 21:40:26  

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


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

archimag ** (02.03.2010 22:44:13)
[#] Ответ на: комментарий от anonymous 02.03.2010 22:25:36  
ikm

> Так что твой скептицизм оскорбителен.

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

ikm ** (02.03.2010 22:44:57)
[#] Ответ на: комментарий от erfea 02.03.2010 18:07:49  
Waterlaz

>Ничего удивительно, нормальные отдупляющиеся программисты используют С++, что бы не говорили красноглазые лоровцы и жабо/моно-филы с остальными быдлокодерами вместе взятые.

Толсто. Или просто дурак...

Waterlaz ** (02.03.2010 22:51:34)
[#]  
Bioreactor

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

Лугоффского на них нет!

Bioreactor *** (02.03.2010 23:13:36)
[#] Ответ на: комментарий от erfea 02.03.2010 18:07:49  
Bioreactor

Сам erfea-кун чего напейсал полезного? Только "Hello world!" на лабораторном занятии в своем институтишке?

Bioreactor *** (02.03.2010 23:16:09)

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

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