[PPL-devel] PPL ranking functions

Roberto Bagnara bagnara at cs.unipr.it
Wed May 20 21:10:00 CEST 2015


On 05/20/15 19:40, Kafle, Bishoksan (ARC-TI)[SGT, INC] wrote:
> On 05/20/15 08:53, Roberto Bagnara wrote:
>> suppose that ppl_all_affine_ranking_functions_MS_C_Polyhedron(H, RFs)
>> tells you that all functions of the form K*A with K >= 1 are ranking
>> functions for the considered loop.  Let us say that you first check
>> whether 1*A serves your purpose (this is what you would do following
>> Antonio's proposal) and the answer is negative.  What is then the
>> "next" ranking function you would like to try and how would you
>> choose it among the infinitely many that are available?
> 
> This is a good question in fact which I don't have a clear answer of at the moment. 

OK, then I tell you a possible answer, which corresponds to what
we do in one specific context.  In that context, we favor ranking
functions with as many zero coefficients as possible, so we take
the polyhedron returned by the all-affine-ranking-functions-MS
method/predicate/function and we do a backtracking search,
the result of which will be a set of sets of dimensions that
can be zeroed.  We sort the outer set by cardinality of the inner
sets, so that the larger sets come first.  Then we pick up the
first set, we zero all the dimensions in the set and we select
one ranking function in the resulting polyhedron (e.g., with
minimize or maximize method/predicate/function).
In your case, if that ranking function is unsuitable according
to your criteria, you pick up the second set and go on like this.
I hope this helps.
Kind regards,

   Roberto

>> ________________________________________
>> From: Roberto Bagnara [bagnara at cs.unipr.it]
>> Sent: Monday, May 18, 2015 10:15 AM
>> To: Kafle, Bishoksan (ARC-TI)[SGT, INC]
>> Cc: The Parma Polyhedra Library developers' list
>> Subject: Re: [PPL-devel] PPL ranking functions
>>
>> On 05/16/15 15:09, Kafle, Bishoksan (ARC-TI)[SGT, INC] wrote:
>>> I have a question about ranking functions, which hopefully you can clarify me. I am using PPL-ciao prolog interface.
>>>
>>> The predicate *ppl_one_affine_ranking_function_MS_C_Polyhedron(H,RF)* gives a single ranking function if there exists one.
>>>
>>> But I would like to have the possibility of getting more than one ranking functions.
>>>
>>> The predicate *ppl_all_affine_ranking_functions_MS_C_Polyhedron(H,RFs)* gives a polyhedron which represent a space of all affine ranking functions but how can one generate or enumerate them systematically?
>>>
>>> Any help on this would be highly appreciated.
>>
>> Hello Bishoksan.
>>
>> I am not sure I understand the question.  If a linear ranking function
>> exists, then there exist infinitely many ranking functions.
>> What do tou mean to "generate or enumerate them systematically"?
>> Perhaps the answer to your question is at page 27 of this paper:
>>
>>   http://bugseng.com/automatic-synthesis-linear-ranking-functions-complete-unabridged-version
>>
>> Please do not hesitate to come back to use if I have misunderstood
>> your question.
>> Kind regards,
>>
>>   Roberto
>>
>> --
>>      Prof. Roberto Bagnara
>>
>> Applied Formal Methods Laboratory - University of Parma, Italy
>> mailto:bagnara at cs.unipr.it
>>                               BUGSENG srl - http://bugseng.com
>>                               mailto:roberto.bagnara at bugseng.com
>>
>> _______________________________________________
>> PPL-devel mailing list
>> PPL-devel at cs.unipr.it
>> http://www.cs.unipr.it/mailman/listinfo/ppl-devel
>>
> 
> 
> --
>      Prof. Roberto Bagnara
> 
> Applied Formal Methods Laboratory - University of Parma, Italy
> mailto:bagnara at cs.unipr.it
>                               BUGSENG srl - http://bugseng.com
>                               mailto:roberto.bagnara at bugseng.com
> 
> _______________________________________________
> PPL-devel mailing list
> PPL-devel at cs.unipr.it
> http://www.cs.unipr.it/mailman/listinfo/ppl-devel
> 


-- 
     Prof. Roberto Bagnara

Applied Formal Methods Laboratory - University of Parma, Italy
mailto:bagnara at cs.unipr.it
                              BUGSENG srl - http://bugseng.com
                              mailto:roberto.bagnara at bugseng.com



More information about the PPL-devel mailing list