Гляжу на аватарку Деметрио...
...и вспоминаю анекдот.
Стук в дверь. Хозяин открывает, а на пороге стоит какой-то зверек.
---Ты кто? --- спрашивает мужик.
---Песец.
---А чего такой толстый?
---Я не толстый, я полный.
...и вспоминаю анекдот.
Стук в дверь. Хозяин открывает, а на пороге стоит какой-то зверек.
---Ты кто? --- спрашивает мужик.
---Песец.
---А чего такой толстый?
---Я не толстый, я полный.
Хочу поиметь сабж на reiserfs. Судя по /boot/config-2.6.15-23-386 поддержка ACL вкомпилена. Однако, setfacl говорит, что operation not supported. Где грабли?
В Универе начался предмет "администрирование информационных систем". Истязаем там Linux. Одногруппница попросила у меня какой-нибудь дистрибутив. Дал ей слаку. С нетерпением жду ее реакции:)
При выполнении apt-get update для некоторых репозиториев выдается сообщение об ошибке
Err http://archive.ubuntu.com dapper/multiverse Packages Порождённый процесс gzip вернул код ошибки (1) Не удалось загрузить http://ru.archive.ubuntu.com/ubuntu/dists/dapper/main/source/Sources.gz Порождённый процесс gzip вернул код ошибки (1) Не удалось загрузить http://archive.ubuntu.com/ubuntu/dists/dapper/multiverse/binary-i386/Packages.gz Порождённый процесс gzip вернул код ошибки (1)
Сначала думал, что это проблемы у Убунтовцев. Но это продолжавется уже 2 недели. Где я дурак?
Надо поставить Ubuntu на LVM-раздел. Установщик делать это отказывается, предлагает форматировать винт.
Решение есть?
Забекапиться, отформатировать винт и восстановиться не предлагать, мне бекапиться не на что.
Читаю новость про астрологию. Вот уж не думал, что на ЛОРе может быть столько экспонатов для сообщества science_freaks.
Как думаете, это пройдет?
Я вот в Прагу хочу.
Читали наверное про то, как прострелить себе ногу с помощью разных языков программирования. Предлагаю дополнять.
Начну.
OCaml
Вы параметризуете функтор Нога модулем Пуля.
У тебя есть такая футболочка?
Если ocaml'у скормить такое:
module type REPRESENTATION =
sig
type game
type move
val game_start : unit -> game
val legal_moves: bool -> game -> move list
val play: bool -> move -> game -> game
end;;
module type EVAL =
sig
type game
val evaluate: bool -> game -> int
val moreI : int
val lessI: int
val is_leaf: bool -> game -> bool
val is_stable: bool -> game -> bool
type state = G | P | N | C
val state_of : bool -> game -> state
end;;
module type ALPHABETA = sig
type game
type move
val alphabeta : int -> bool -> game -> move
end;;
module type FALPHABETA = functor (Rep : REPRESENTATION)
-> functor (Eval : EVAL with type game = Rep.game)
-> ALPHABETA with type game = Rep.game
and type move = Rep.move;;
module FAlphabetaO
(Rep : REPRESENTATION) (Eval : EVAL with type game = Rep.game) =
struct
type game = Rep.game
type move = Rep.move
exception AlphaMovement of int
exception BetaMovement of int
let maxmin_iter node minmax_cur beta alpha cp =
let alpha_resu =
max alpha (minmax_cur (Rep.play true cp node) beta alpha)
in if alpha_resu >= beta then raise (BetaMovement alpha_resu)
else alpha_resu
;;
let minmax_iter node maxmin_cur alpha beta cp =
let beta_resu =
min beta (maxmin_cur (Rep.play false cp node) alpha beta)
in if beta_resu <= alpha then raise (AlphaMovement beta_resu)
else beta_resu
;;
let rec maxmin depth node alpha beta =
if (depth < 1 & Eval.is_stable true node)
or Eval.is_leaf true node
then Eval.evaluate true node
else
try let prev = maxmin_iter node (minmax (depth - 1)) beta
in List.fold_left prev alpha (Rep.legal_moves true node)
with BetaMovement a -> a
and minmax depth node beta alpha =
if (depth < 1 & Eval.is_stable false node)
or Eval.is_leaf false node
then Eval.evaluate false node
else
try let prev = minmax_iter node (maxmin (depth - 1)) alpha
in List.fold_left prev beta (Rep.legal_moves false node)
with AlphaMovement b -> b
let rec search a l1 l2 = match (l1,l2) with
(h1 :: q1, h2 :: q2) -> if a = h1 then h2 else search a q1 q2
| ([], [] ) -> failwith ("AB: "^(string_of_int a)^" not found")
| (_ , _) -> failwith "AB: length differs"
(* val alphabeta : int -> bool -> Rep.game -> Rep.move *)
let alphabeta depth player level =
let alpha = ref Eval.lessI and beta = ref Eval.moreI in
let l = ref [] in
let cpl = Rep.legal_moves player level in
let eval =
try
for i = 0 to (List.length cpl) - 1 do
if player then
let b = Rep.play player (List.nth cpl i) level in
let a = minmax (depth-1) b !beta !alpha
in l := a :: !l ;
alpha := max !alpha a ;
(if !alpha >= !beta then raise (BetaMovement !alpha))
else
let a = Rep.play player (List.nth cpl i) level in
let b = maxmin (depth-1) a !alpha !beta
in l := b :: !l ;
beta := min !beta b ;
(if !beta <= !alpha then raise (AlphaMovement !beta))
done ;
if player then !alpha else !beta
with
BetaMovement a -> a
| AlphaMovement b -> b
in
l := List.rev !l ;
search eval !l cpl
end;;
А потом сделать
module FAlphabeta = (FAlphabeta0 : FALPHABETA);;
То интерпретатор ругается:
Unbound module FAlphabeta0
Кто виноват/что делать?Фомин Ю. А., косящий под академика (академик с такими Ф. И. О. реально существует).
Ссылки:
http://www.ras.ru/forum/forum_threads_list.aspx?opened=true&viewpage=1&am...
http://forum.tsure.ru/index.php?s=&showtopic=10827&view=findpost&...
Задача: запустить GUI-приложение на OCaml под оффтопиком без челевеческих либ. Labltk и lablgtk отпадают сразу. От GUI ничего сверхестественного не надо, здесь важнее переносимость. Хотелось бы какую-нибудь в меру убогую чисто OCaml'овскую библиотеку на основе OCaml'евской же Graphics. На Caml hump ничего подходящего не нашел. Есть что-нить?
Цель создания темы: пожаловаться.
Неплохой, ИМХО, язык, но вот ситуация с динамической линковкой просто отвратительная.
23-го дня был. Я в оффлайне сидел, поздравить не мог. Теперь поздравляю Эненргетика с днем энергетика.
Это просто ужас какой-то. Сначала ночи тузегов, теперь день энергетика...
По предмету "методы оптимизации". Примеры заданий: 1.Найти в сети путь минимальной стоимости. 2.Найти оптимальное решение задачи о максимальном потоке. 3.Найти оптимальное решение транспортной задачи. 4.Найти кратчайшие цепи между всеми парами узлов сети по алгоритму Флойда. и т. д.
Но это все мы уже подробно рассмотрели. Не интересно. Мне хочется самому поискать информацию и сделать что-то интересное. Склоняюсь к /alpha - /beta отсечениям для реализации игры Реверси, т. к. с этим нас познакомили поверхностно.
Как перевести на русский tail-recursive?
Подарили принтер Canon BJC-2100. Не могу "завести". Пытаюсь добавить его через веб-интерфейс к CUPS, но когда надо выбирать куда подключен принтер, в списке нет параллельного порта. Пытаюсь добавить из командной строки, выскакивает такая фигня: lpadmin: add-printer (set device) failed: client-error-not-possible. Кто виноват\что делать?
Никто не замечал довольно странного отнлшения xmms/bmp к многозадачности? Дело в том, что если во время воспроизведения музычки что-то другое посильнее загрузит винт, то оба вышеозначенных плеера затыкаются. Я провел эксперемент: dd if=/dev/zero of=file во время воспроизведения. Так вот, bmp заткнулся через пару секунд, mpg321 иногда заикался, а xine плевал с высокой колокольни на этот dd и воспроизводил весе без запинок. В связи с этим прошу посоветовать плеер на xine-lib. Я на сайте XFCE видел какой-то аудио\видео плеер. Кто-нибудь его пробовал?
Перенес / на lvm. Теперь при перезагрузке\выключении выдается сообщение, что не получается деактивировать vg. В принципе, в документации я не нашел слов "ОБЯЗАТЕЛЬНО ДЕАКТИВИРУЙТЕ VG, ИНАЧЕ КРАНТЫ", но не зря же производится деактивация. Эту проблему победить можно?
О двухпроцессорной машине. Или, хотя бы, о двухядерном проце. Как же это тяжко, бекапится и параллельно читать ЛОР!
| ← назад | следующие → |