作者Hseuler (蓝色狸猫)
看板logic
标题Re: [请益] 逻辑自动机
时间Thu Apr 23 18:26:48 2009
※ 引述《aniox (A smile~)》之铭言:
: 标题是随便取的
: 我想问的是 有没有什麽现成的软体 让我们可以输入逻辑化的条件叙述後
: 软体会自动列出符合逻辑限制的可能性组合
: 举学校的教授排课为例
: A教授很随和 他的课被排在星期几的任何时段都可以
: B教授身兼要职 一个礼拜只有礼拜二下午可以排课
: C教授想白天上课 下午做自己的研究 所以希望课排白天 但他也没有非这样不可
: ...
: 将A、B、C...众多教授列的条件 写成软体懂得逻辑格式
: 然後软体就会算出最佳或较佳的排课组合
: 请问有现成的软体吗
: thx
你的意思是说,有没有软体输入逻辑条件(对於任何问题)
然後就自动解出符合条件的解?
一个问题是,你要用什麽逻辑语言描述他?
如果你真的可以用命题逻辑或是述词逻辑的话
下面有两个自动证明器。
http://0rz.tw/XxIsR
http://0rz.tw/7Uvzm
不过他都是证明 |-Ω是一个tautology
似乎对你的问题没有什麽用处。
我觉得你还是要动手写一只程式去run
一,问题看起来不难,只要选定教授排课的优先权就可以。
二,要是这麽好,很多运筹学问题就不用学者辛苦的跑去解决了XDD
举例来说,对於背包问题
我只要给订目标函数和限制函数
n
目标函数Max Σ Profit(i)*Xi 0<=Xi<=1
i=1
n
限制函数Max Σ Weight(i)*Xi<=M 0<=Xi<=1
i=1
然後给那个逻辑程式跑一跑 答案就出来了
但即使做的出来 1.通常都是数值解 2.效率会很差。
像上面那个问题可以带进Mathematica算。
但如果问题是离散且不可穷举的,通常就没有这麽简单。
而且从你那问题看,你还要告诉电脑一个礼拜有星期一到星期日,
一天有多少堂课..如果想要用形式语言来描述还蛮麻烦的。
如果你只是想要解决排课问题,
其实已经有现成的方法了。
http://0rz.tw/hr5Vg 像这个论文就是用基因演算法来找近似最佳解
不过他考虑的比较复杂,不只有教授的授课时段优先顺序。
至於你说的 输入目标条件 然後寻求解
我有到相关的论文
http://0rz.tw/GdICf
是台大资工的项洁教授
用命题逻辑来解决一些计数问题 例如N皇后问题。
不过我没有仔细看 你可以研究一下
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.225.171
※ 编辑: Hseuler 来自: 118.169.225.171 (04/23 18:36)
1F:推 KanoLoa:我想推Prolog ! 04/24 22:16
2F:推 Sinful:N-Queen Problem?! 是谢老大?! XD 04/25 07:11
3F:推 hermitwhite:这主题有趣;我先想知道有没有能够把逻辑化的叙述格式 05/11 08:34
4F:→ hermitwhite:和自然语言互换的软体?我目前需要从自然语言抽出逻辑 05/11 08:36
5F:→ Hseuler:要和自然语言互换很困难吧.. 05/11 11:19